Documentation
¶
Index ¶
- Constants
- Variables
- func ParseHexColor(s string) (color.RGBA, error)
- func TextColorFor(clr string) string
- type Colors
- type Service
- func (s *Service) All(logger util.Logger) Themes
- func (s *Service) Clear()
- func (s *Service) FileExists(key string) bool
- func (s *Service) Get(theme string, logger util.Logger) *Theme
- func (s *Service) Remove(key string, logger util.Logger) error
- func (s *Service) Save(t *Theme, originalKey string, logger util.Logger) error
- type Theme
- type Themes
Constants ¶
View Source
const KeyNew = "new"
Variables ¶
View Source
var CatalogThemes = Themes{ &Theme{ Key: "Aquamarine", Base: "#95e0e8", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#2f494c", Background: "#ffffff", BackgroundMuted: "#eaf4f5", LinkForeground: "#0d2a2d", LinkVisitedForeground: "#0d2a2d", NavForeground: "#2a2a2a", NavBackground: "#94c7cc", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d5e8eb", MenuSelectedBackground: "#aad2d6", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#95abae", Background: "#121212", BackgroundMuted: "#0e2124", LinkForeground: "#d5e8eb", LinkVisitedForeground: "#94c7cc", NavForeground: "#f8f9fa", NavBackground: "#0b3338", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0d2a2d", MenuSelectedBackground: "#52767c", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Blue-Violet", Base: "#9380e7", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#332c50", Background: "#ffffff", BackgroundMuted: "#ece7f7", LinkForeground: "#191543", LinkVisitedForeground: "#191543", NavForeground: "#2a2a2a", NavBackground: "#9d8dd6", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d8d0ef", MenuSelectedBackground: "#b1a3df", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#a297c3", Background: "#121212", BackgroundMuted: "#161233", LinkForeground: "#d8d0ef", LinkVisitedForeground: "#9d8dd6", NavForeground: "#f8f9fa", NavBackground: "#1b1853", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#191543", MenuSelectedBackground: "#65579c", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Blush", Base: "#db5079", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#4e1d2a", Background: "#ffffff", BackgroundMuted: "#f9e3e6", LinkForeground: "#3f0d17", LinkVisitedForeground: "#3f0d17", NavForeground: "#2a2a2a", NavBackground: "#d47189", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f1c6ce", MenuSelectedBackground: "#df8e9f", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#c59598", Background: "#121212", BackgroundMuted: "#310d12", LinkForeground: "#f1c6ce", LinkVisitedForeground: "#d47189", NavForeground: "#f8f9fa", NavBackground: "#4d0b1a", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#3f0d17", MenuSelectedBackground: "#9a5159", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Cerulean Blue", Base: "#339acc", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#183547", Background: "#ffffff", BackgroundMuted: "#e2ebf3", LinkForeground: "#0e2036", LinkVisitedForeground: "#0e2036", NavForeground: "#2a2a2a", NavBackground: "#6a9fc3", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c5d7e7", MenuSelectedBackground: "#8ab1cf", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#97a1b7", Background: "#121212", BackgroundMuted: "#0f1a2a", LinkForeground: "#c5d7e7", LinkVisitedForeground: "#6a9fc3", NavForeground: "#f8f9fa", NavBackground: "#0d2643", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0e2036", MenuSelectedBackground: "#546889", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Cornflower", Base: "#93ccea", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#2f434d", Background: "#ffffff", BackgroundMuted: "#eaf1f6", LinkForeground: "#0e2633", LinkVisitedForeground: "#0e2633", NavForeground: "#2a2a2a", NavBackground: "#95bbd0", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d5e3ec", MenuSelectedBackground: "#aac8d9", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#96a7b4", Background: "#121212", BackgroundMuted: "#0e1e28", LinkForeground: "#d5e3ec", LinkVisitedForeground: "#95bbd0", NavForeground: "#f8f9fa", NavBackground: "#0c2e3f", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0e2633", MenuSelectedBackground: "#537184", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Granny Smith Apple", Base: "#9de093", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#32492e", Background: "#ffffff", BackgroundMuted: "#ebf4e9", LinkForeground: "#0e2a07", LinkVisitedForeground: "#0e2a07", NavForeground: "#2a2a2a", NavBackground: "#9ac892", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d7e9d2", MenuSelectedBackground: "#aed3a7", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#94ac8d", Background: "#121212", BackgroundMuted: "#0e2206", LinkForeground: "#d7e9d2", LinkVisitedForeground: "#9ac892", NavForeground: "#f8f9fa", NavBackground: "#0b3406", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0e2a07", MenuSelectedBackground: "#507847", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Indigo", Base: "#8698fc", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#2e3357", Background: "#ffffff", BackgroundMuted: "#eaeafa", LinkForeground: "#131b47", LinkVisitedForeground: "#131b47", NavForeground: "#2a2a2a", NavBackground: "#939be3", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d5d6f4", MenuSelectedBackground: "#aaaee9", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#9f9dc7", Background: "#121212", BackgroundMuted: "#131736", LinkForeground: "#d5d6f4", LinkVisitedForeground: "#939be3", NavForeground: "#f8f9fa", NavBackground: "#122158", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#131b47", MenuSelectedBackground: "#5f61a2", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Maximum Purple", Base: "#9654a3", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#361f3b", Background: "#ffffff", BackgroundMuted: "#ede2ee", LinkForeground: "#290a30", LinkVisitedForeground: "#290a30", NavForeground: "#2a2a2a", NavBackground: "#a373ab", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#dac5dd", MenuSelectedBackground: "#b58ebb", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#ad8fb1", Background: "#121212", BackgroundMuted: "#210a25", LinkForeground: "#dac5dd", LinkVisitedForeground: "#a373ab", NavForeground: "#f8f9fa", NavBackground: "#31083a", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#290a30", MenuSelectedBackground: "#774a7f", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Medium Chrome Green", Base: "#6ca67c", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#24392a", Background: "#ffffff", BackgroundMuted: "#e5ede6", LinkForeground: "#0a2210", LinkVisitedForeground: "#0a2210", NavForeground: "#2a2a2a", NavBackground: "#7ea788", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#cadbce", MenuSelectedBackground: "#97b89f", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#8fa492", Background: "#121212", BackgroundMuted: "#091c0c", LinkForeground: "#cadbce", LinkVisitedForeground: "#7ea788", NavForeground: "#f8f9fa", NavBackground: "#082912", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0a2210", MenuSelectedBackground: "#496c50", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Melon", Base: "#febaad", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#543c38", Background: "#ffffff", BackgroundMuted: "#f9eeec", LinkForeground: "#381c17", LinkVisitedForeground: "#381c17", NavForeground: "#2a2a2a", NavBackground: "#deaea4", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f3deda", MenuSelectedBackground: "#e6beb6", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#bb9e99", Background: "#121212", BackgroundMuted: "#2c1713", LinkForeground: "#f3deda", LinkVisitedForeground: "#deaea4", NavForeground: "#f8f9fa", NavBackground: "#44211b", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#381c17", MenuSelectedBackground: "#8e625a", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Middle Yellow Red", Base: "#ecac76", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#4f3825", Background: "#ffffff", BackgroundMuted: "#f8ede5", LinkForeground: "#351b02", LinkVisitedForeground: "#351b02", NavForeground: "#2a2a2a", NavBackground: "#d5a680", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f0dbcb", MenuSelectedBackground: "#dfb798", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#ba9d8a", Background: "#121212", BackgroundMuted: "#2a1602", LinkForeground: "#f0dbcb", LinkVisitedForeground: "#d5a680", NavForeground: "#f8f9fa", NavBackground: "#402002", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#351b02", MenuSelectedBackground: "#8a6144", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Navy Blue", Base: "#5b92ff", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#213259", Background: "#ffffff", BackgroundMuted: "#e7e9fa", LinkForeground: "#151c4c", LinkVisitedForeground: "#151c4c", NavForeground: "#2a2a2a", NavBackground: "#7d98e6", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#ced4f6", MenuSelectedBackground: "#9aacec", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#a19ecb", Background: "#121212", BackgroundMuted: "#14173a", LinkForeground: "#ced4f6", LinkVisitedForeground: "#7d98e6", NavForeground: "#f8f9fa", NavBackground: "#13225f", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#151c4c", MenuSelectedBackground: "#6262a9", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Periwinkle", Base: "#c3cde6", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#3f434b", Background: "#ffffff", BackgroundMuted: "#f0f1f5", LinkForeground: "#1f242f", LinkVisitedForeground: "#1f242f", NavForeground: "#2a2a2a", NavBackground: "#b4bacc", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#e0e3ea", MenuSelectedBackground: "#c2c8d6", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#a1a5af", Background: "#121212", BackgroundMuted: "#191d24", LinkForeground: "#e0e3ea", LinkVisitedForeground: "#b4bacc", NavForeground: "#f8f9fa", NavBackground: "#252b39", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#1f242f", MenuSelectedBackground: "#676e7d", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Piggy Pink", Base: "#fdd7e4", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#524549", Background: "#ffffff", BackgroundMuted: "#f8f2f4", LinkForeground: "#322228", LinkVisitedForeground: "#322228", NavForeground: "#2a2a2a", NavBackground: "#d9bfc8", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f0e5e9", MenuSelectedBackground: "#e1cbd3", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#b3a4a9", Background: "#121212", BackgroundMuted: "#271b1f", LinkForeground: "#f0e5e9", LinkVisitedForeground: "#d9bfc8", NavForeground: "#f8f9fa", NavBackground: "#3d2930", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#322228", MenuSelectedBackground: "#836b73", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Plum", Base: "#b7589f", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#412038", Background: "#ffffff", BackgroundMuted: "#f2e3ed", LinkForeground: "#330b29", LinkVisitedForeground: "#330b29", NavForeground: "#2a2a2a", NavBackground: "#b975a6", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#e4c7db", MenuSelectedBackground: "#c890b7", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#b792ab", Background: "#121212", BackgroundMuted: "#280c21", LinkForeground: "#e4c7db", LinkVisitedForeground: "#b975a6", NavForeground: "#f8f9fa", NavBackground: "#3e0932", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#330b29", MenuSelectedBackground: "#864e76", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Robin's Egg Blue", Base: "#00cccc", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#194444", Background: "#ffffff", BackgroundMuted: "#e3f2f1", LinkForeground: "#0d282a", LinkVisitedForeground: "#0d282a", NavForeground: "#2a2a2a", NavBackground: "#6ebdbd", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c7e5e4", MenuSelectedBackground: "#8dcaca", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#94aaab", Background: "#121212", BackgroundMuted: "#0d2021", LinkForeground: "#c7e5e4", LinkVisitedForeground: "#6ebdbd", NavForeground: "#f8f9fa", NavBackground: "#0b3133", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0d282a", MenuSelectedBackground: "#507577", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Royal Purple", Base: "#9263c8", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#342347", Background: "#ffffff", BackgroundMuted: "#ece4f3", LinkForeground: "#220e3c", LinkVisitedForeground: "#220e3c", NavForeground: "#2a2a2a", NavBackground: "#9f7bc4", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d9c9e8", MenuSelectedBackground: "#b395d0", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#a892bd", Background: "#121212", BackgroundMuted: "#1c0c2f", LinkForeground: "#d9c9e8", LinkVisitedForeground: "#9f7bc4", NavForeground: "#f8f9fa", NavBackground: "#280e4b", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#220e3c", MenuSelectedBackground: "#6f4e93", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Salmon", Base: "#ff91a4", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#573036", Background: "#ffffff", BackgroundMuted: "#fbeaec", LinkForeground: "#3f0e1b", LinkVisitedForeground: "#3f0e1b", NavForeground: "#2a2a2a", NavBackground: "#e495a1", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f6d5d9", MenuSelectedBackground: "#ebaab3", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#c5969c", Background: "#121212", BackgroundMuted: "#310e16", LinkForeground: "#f6d5d9", LinkVisitedForeground: "#e495a1", NavForeground: "#f8f9fa", NavBackground: "#4e0d20", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#3f0e1b", MenuSelectedBackground: "#9a535f", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Sky Blue", Base: "#76d7ea", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#25464d", Background: "#ffffff", BackgroundMuted: "#e7f3f5", LinkForeground: "#0e2931", LinkVisitedForeground: "#0e2931", NavForeground: "#2a2a2a", NavBackground: "#83c2cf", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#cfe7ec", MenuSelectedBackground: "#9dced9", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#96aab2", Background: "#121212", BackgroundMuted: "#0e2027", LinkForeground: "#cfe7ec", LinkVisitedForeground: "#83c2cf", NavForeground: "#f8f9fa", NavBackground: "#0c323d", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0e2931", MenuSelectedBackground: "#537582", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Teal Blue", Base: "#50b3b3", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#1b3c3c", Background: "#ffffff", BackgroundMuted: "#e2efee", LinkForeground: "#0b2425", LinkVisitedForeground: "#0b2425", NavForeground: "#2a2a2a", NavBackground: "#6eaeae", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c6dede", MenuSelectedBackground: "#8cbebe", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#91a6a6", Background: "#121212", BackgroundMuted: "#0c1d1e", LinkForeground: "#c6dede", LinkVisitedForeground: "#6eaeae", NavForeground: "#f8f9fa", NavBackground: "#092c2d", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0b2425", MenuSelectedBackground: "#4d6e6f", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Tropical Rain Forest", Base: "#44a38a", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#569381", Background: "#ffffff", BackgroundMuted: "#edf9f5", LinkForeground: "#2c5a4d", LinkVisitedForeground: "#2c5a4d", NavForeground: "#f8f9fa", NavBackground: "#a2e2ce", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#dbf4eb", MenuSelectedBackground: "#b5e8d8", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#b2d8cb", Background: "#121212", BackgroundMuted: "#23443a", LinkForeground: "#dbf4eb", LinkVisitedForeground: "#a2e2ce", NavForeground: "#f8f9fa", NavBackground: "#347261", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#2c5a4d", MenuSelectedBackground: "#7ebdaa", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Wild Blue Yonder", Base: "#7a89b8", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#2a2f40", Background: "#ffffff", BackgroundMuted: "#e7e9f0", LinkForeground: "#121b2f", LinkVisitedForeground: "#121b2f", NavForeground: "#2a2a2a", NavBackground: "#8a93b5", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d0d3e1", MenuSelectedBackground: "#a1a8c4", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#979cb1", Background: "#121212", BackgroundMuted: "#101625", LinkForeground: "#d0d3e1", LinkVisitedForeground: "#8a93b5", NavForeground: "#f8f9fa", NavBackground: "#13203a", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#121b2f", MenuSelectedBackground: "#56607f", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Wisteria", Base: "#c9a0dc", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#43354a", Background: "#ffffff", BackgroundMuted: "#f2ebf4", LinkForeground: "#2b1934", LinkVisitedForeground: "#2b1934", NavForeground: "#2a2a2a", NavBackground: "#bc9fc9", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#e4d8e9", MenuSelectedBackground: "#cab2d4", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#ad9bb4", Background: "#121212", BackgroundMuted: "#221528", LinkForeground: "#e4d8e9", LinkVisitedForeground: "#bc9fc9", NavForeground: "#f8f9fa", NavBackground: "#341d3f", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#2b1934", MenuSelectedBackground: "#795e85", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, &Theme{ Key: "Yellow-Orange", Base: "#ffae42", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#563913", Background: "#ffffff", BackgroundMuted: "#fdedde", LinkForeground: "#3a1b02", LinkVisitedForeground: "#3a1b02", NavForeground: "#2a2a2a", NavBackground: "#e4a75e", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f9dbbd", MenuSelectedBackground: "#ecb87d", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#bf9d8a", Background: "#121212", BackgroundMuted: "#2e1602", LinkForeground: "#f9dbbd", LinkVisitedForeground: "#e4a75e", NavForeground: "#f8f9fa", NavBackground: "#461f02", MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#3a1b02", MenuSelectedBackground: "#916044", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, }, }
View Source
var Default = func() *Theme { nbl := "#83a2b9" if o := util.GetEnv("app_nav_color_light"); o != "" { nbl = o } nbd := "#0a2638" if o := util.GetEnv("app_nav_color_dark"); o != "" { nbd = o } return &Theme{ Key: "default", Light: &Colors{ Border: "1px solid #cccccc", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#263642", Background: "#ffffff", BackgroundMuted: "#e6ecf1", LinkForeground: "#0c202e", LinkVisitedForeground: "#0c202e", NavForeground: "#2a2a2a", NavBackground: nbl, MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#cdd9e3", MenuSelectedBackground: "#9cb4c7", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #444444", LinkDecoration: "none", Foreground: "#dddddd", ForegroundMuted: "#93a1af", Background: "#121212", BackgroundMuted: "#0d1a24", LinkForeground: "#cdd9e3", LinkVisitedForeground: "#83a2b9", NavForeground: "#f8f9fa", NavBackground: nbd, MenuForeground: "#eeeeee", MenuSelectedForeground: "#dddddd", MenuBackground: "#0c202e", MenuSelectedBackground: "#50677d", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, } }()
Functions ¶
func TextColorFor ¶ added in v1.2.18
Types ¶
type Colors ¶
type Colors struct { Border string `json:"brd"` LinkDecoration string `json:"ld"` Foreground string `json:"fg"` ForegroundMuted string `json:"fgm"` Background string `json:"bg"` BackgroundMuted string `json:"bgm"` LinkForeground string `json:"lf"` LinkVisitedForeground string `json:"lvf"` MenuForeground string `json:"mf"` MenuSelectedForeground string `json:"msf"` MenuBackground string `json:"mb"` MenuSelectedBackground string `json:"msb"` ModalBackdrop string `json:"mbd"` Success string `json:"ok"` Error string `json:"err"` }
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(files filesystem.FileLoader) *Service
func (*Service) FileExists ¶ added in v0.10.14
type Theme ¶
Click to show internal directories.
Click to hide internal directories.