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", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ebf9fa", LinkForeground: "#588084", LinkVisitedForeground: "#3c5457", NavForeground: "#000000", NavBackground: "#95e0e8", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c2edf1", MenuSelectedBackground: "#95e0e8", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#102629", LinkForeground: "#73989d", LinkVisitedForeground: "#a1babd", NavForeground: "#ffffff", NavBackground: "#005961", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#10373b", MenuSelectedBackground: "#005961", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Blue-Violet", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ebe5fb", LinkForeground: "#574c84", LinkVisitedForeground: "#3b3456", NavForeground: "#000000", NavBackground: "#9380e7", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c1b1f1", MenuSelectedBackground: "#9380e7", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#2b2546", LinkForeground: "#a596d4", LinkVisitedForeground: "#c3b8e3", NavForeground: "#ffffff", NavBackground: "#6456b7", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#3e356a", MenuSelectedBackground: "#6456b7", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Blush", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#fcdde3", LinkForeground: "#7e3348", LinkVisitedForeground: "#542531", NavForeground: "#000000", NavBackground: "#db5079", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f09aac", MenuSelectedBackground: "#db5079", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#340f16", LinkForeground: "#b67079", LinkVisitedForeground: "#d09ea4", NavForeground: "#ffffff", NavBackground: "#7a002d", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#4a0f1e", MenuSelectedBackground: "#7a002d", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Cerulean Blue", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#dceaf5", LinkForeground: "#285a75", LinkVisitedForeground: "#203c4d", NavForeground: "#000000", NavBackground: "#339acc", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#94c1e1", MenuSelectedBackground: "#339acc", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#101d2d", LinkForeground: "#7387a5", LinkVisitedForeground: "#a1aec2", NavForeground: "#ffffff", NavBackground: "#00416c", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#102941", MenuSelectedBackground: "#00416c", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Cornflower", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ebf5fb", LinkForeground: "#577585", LinkVisitedForeground: "#3b4d57", NavForeground: "#000000", NavBackground: "#93ccea", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c0e0f2", MenuSelectedBackground: "#93ccea", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#11232c", LinkForeground: "#7492a3", LinkVisitedForeground: "#a1b5c1", NavForeground: "#ffffff", NavBackground: "#03516b", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#113240", MenuSelectedBackground: "#03516b", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Granny Smith Apple", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ecf9e9", LinkForeground: "#5c8056", LinkVisitedForeground: "#3e543a", NavForeground: "#000000", NavBackground: "#9de093", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c6edbe", MenuSelectedBackground: "#9de093", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#122710", LinkForeground: "#759a6f", LinkVisitedForeground: "#a2bb9d", NavForeground: "#ffffff", NavBackground: "#155b18", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#153713", MenuSelectedBackground: "#155b18", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Indigo", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#e9eaff", LinkForeground: "#50598f", LinkVisitedForeground: "#373c5d", NavForeground: "#000000", NavBackground: "#8698fc", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#bbc0fe", MenuSelectedBackground: "#8698fc", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#262b4b", LinkForeground: "#9ca2de", LinkVisitedForeground: "#bec0e9", NavForeground: "#ffffff", NavBackground: "#4f69c6", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#343f72", MenuSelectedBackground: "#4f69c6", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Maximum Purple", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ebdcec", LinkForeground: "#58345f", LinkVisitedForeground: "#3c253f", NavForeground: "#000000", NavBackground: "#9654a3", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c197c7", MenuSelectedBackground: "#9654a3", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#301a34", LinkForeground: "#ab82b2", LinkVisitedForeground: "#c7abcb", NavForeground: "#ffffff", NavBackground: "#733380", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#45224c", MenuSelectedBackground: "#733380", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Medium Chrome Green", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#e1ede4", LinkForeground: "#416049", LinkVisitedForeground: "#2d4032", NavForeground: "#000000", NavBackground: "#6ca67c", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#a6c9af", MenuSelectedBackground: "#6ca67c", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#0e2013", LinkForeground: "#6b8c73", LinkVisitedForeground: "#9bb1a0", NavForeground: "#ffffff", NavBackground: "#074623", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#0e2c18", MenuSelectedBackground: "#074623", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Melon", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#fff1ee", LinkForeground: "#906b64", LinkVisitedForeground: "#5e4743", NavForeground: "#000000", NavBackground: "#febaad", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#ffd6cd", MenuSelectedBackground: "#febaad", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#301d19", LinkForeground: "#ad867f", LinkVisitedForeground: "#c9ada8", NavForeground: "#ffffff", NavBackground: "#743d34", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#462722", MenuSelectedBackground: "#743d34", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Middle Yellow Red", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#feeee3", LinkForeground: "#876446", LinkVisitedForeground: "#594230", NavForeground: "#000000", NavBackground: "#ecac76", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#f7cdac", MenuSelectedBackground: "#ecac76", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#2e1c08", LinkForeground: "#aa8465", LinkVisitedForeground: "#c8ab96", NavForeground: "#ffffff", NavBackground: "#6b3b08", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#41260a", MenuSelectedBackground: "#6b3b08", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Navy Blue", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#e4e8ff", LinkForeground: "#3c5591", LinkVisitedForeground: "#2b395e", NavForeground: "#000000", NavBackground: "#5b92ff", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#a9bcff", MenuSelectedBackground: "#5b92ff", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#1a2a4d", LinkForeground: "#8b9fe1", LinkVisitedForeground: "#b4beec", NavForeground: "#ffffff", NavBackground: "#0066cc", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#1c3d75", MenuSelectedBackground: "#0066cc", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Periwinkle", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#f3f5fa", LinkForeground: "#707683", LinkVisitedForeground: "#4a4d56", NavForeground: "#000000", NavBackground: "#c3cde6", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#dbe1f0", MenuSelectedBackground: "#c3cde6", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#1f2229", LinkForeground: "#8b909e", LinkVisitedForeground: "#b0b4bd", NavForeground: "#ffffff", NavBackground: "#444e63", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#2b303c", MenuSelectedBackground: "#444e63", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Piggy Pink", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#fff7fa", LinkForeground: "#907b82", LinkVisitedForeground: "#5e5155", NavForeground: "#000000", NavBackground: "#fdd7e4", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#fee7ef", MenuSelectedBackground: "#fdd7e4", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#2c2125", LinkForeground: "#a48f96", LinkVisitedForeground: "#c2b3b8", NavForeground: "#ffffff", NavBackground: "#6b4b57", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#402f35", MenuSelectedBackground: "#6b4b57", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Plum", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#f2ddeb", LinkForeground: "#6a375d", LinkVisitedForeground: "#47273e", NavForeground: "#000000", NavBackground: "#b7589f", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#d69bc5", MenuSelectedBackground: "#b7589f", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#391a31", LinkForeground: "#bd84ad", LinkVisitedForeground: "#d4acc8", NavForeground: "#ffffff", NavBackground: "#8e3179", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#542248", MenuSelectedBackground: "#8e3179", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Robin's Egg Blue", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ddf5f5", LinkForeground: "#1f7575", LinkVisitedForeground: "#1d4d4d", NavForeground: "#000000", NavBackground: "#00cccc", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#92e1e0", MenuSelectedBackground: "#00cccc", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#0f2526", LinkForeground: "#719697", LinkVisitedForeground: "#9fb8b8", NavForeground: "#ffffff", NavBackground: "#005558", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#0f3436", MenuSelectedBackground: "#005558", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Royal Purple", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#eadff4", LinkForeground: "#563c73", LinkVisitedForeground: "#3b2a4c", NavForeground: "#000000", NavBackground: "#9263c8", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c0a0df", MenuSelectedBackground: "#9263c8", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#2d1e3f", LinkForeground: "#a889c6", LinkVisitedForeground: "#c5afd9", NavForeground: "#ffffff", NavBackground: "#6b3fa0", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#41285d", MenuSelectedBackground: "#6b3fa0", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Salmon", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ffe9ec", LinkForeground: "#91555f", LinkVisitedForeground: "#5f3a40", NavForeground: "#000000", NavBackground: "#ff91a4", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#ffbec7", MenuSelectedBackground: "#ff91a4", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#35141b", LinkForeground: "#b87882", LinkVisitedForeground: "#d1a4aa", NavForeground: "#ffffff", NavBackground: "#801e39", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#4d1824", MenuSelectedBackground: "#801e39", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Sky Blue", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#e7f7fb", LinkForeground: "#487b85", LinkVisitedForeground: "#325157", NavForeground: "#000000", NavBackground: "#76d7ea", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#b3e7f2", MenuSelectedBackground: "#76d7ea", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#11252b", LinkForeground: "#7497a2", LinkVisitedForeground: "#a1b8c0", NavForeground: "#ffffff", NavBackground: "#005768", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#11353f", MenuSelectedBackground: "#005768", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Teal Blue", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#dff0ef", LinkForeground: "#346867", LinkVisitedForeground: "#264545", NavForeground: "#000000", NavBackground: "#50b3b3", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#9cd2d1", MenuSelectedBackground: "#50b3b3", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#143433", LinkForeground: "#7db2b1", LinkVisitedForeground: "#a9cbca", NavForeground: "#ffffff", NavBackground: "#008080", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#154c4c", MenuSelectedBackground: "#008080", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Tropical Rain Forest", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#dbede6", LinkForeground: "#2e5f51", LinkVisitedForeground: "#224037", NavForeground: "#000000", NavBackground: "#44a38a", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#94c8b7", MenuSelectedBackground: "#44a38a", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#123028", LinkForeground: "#78ab9b", LinkVisitedForeground: "#a5c7bb", NavForeground: "#ffffff", NavBackground: "#00755e", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#134639", MenuSelectedBackground: "#00755e", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Wild Blue Yonder", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#e4e6f1", LinkForeground: "#49516a", LinkVisitedForeground: "#323647", NavForeground: "#000000", NavBackground: "#7a89b8", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#afb6d4", MenuSelectedBackground: "#7a89b8", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#151a28", LinkForeground: "#78809c", LinkVisitedForeground: "#a4a8bc", NavForeground: "#ffffff", NavBackground: "#22365e", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#1a2339", MenuSelectedBackground: "#22365e", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Wisteria", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#f5ecf8", LinkForeground: "#745d7e", LinkVisitedForeground: "#4c3e53", NavForeground: "#000000", NavBackground: "#c9a0dc", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#dfc6ea", MenuSelectedBackground: "#c9a0dc", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#261a2c", LinkForeground: "#9981a3", LinkVisitedForeground: "#baa9c1", NavForeground: "#ffffff", NavBackground: "#58356a", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#36233f", MenuSelectedBackground: "#58356a", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, &Theme{ Key: "Yellow-Orange", Light: &Colors{Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#777777", Background: "#ffffff", BackgroundMuted: "#ffeed9", LinkForeground: "#92652b", LinkVisitedForeground: "#604320", NavForeground: "#000000", NavBackground: "#ffae42", MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#ffce8f", MenuSelectedBackground: "#ffae42", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000"}, Dark: &Colors{Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#777777", Background: "#121212", BackgroundMuted: "#321b05", LinkForeground: "#b18462", LinkVisitedForeground: "#cdab94", NavForeground: "#ffffff", NavBackground: "#743a00", MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#472506", MenuSelectedBackground: "#743a00", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000"}, }, }
View Source
var Default = func() *Theme { nbl := "#8eb6bd" if o := util.GetEnv("app_nav_color_light"); o != "" { nbl = o } nbd := "#495f64" if o := util.GetEnv("app_nav_color_dark"); o != "" { nbd = o } return &Theme{ Key: "default", Light: &Colors{ Border: "1px solid #dddddd", LinkDecoration: "none", Foreground: "#000000", ForegroundMuted: "#999999", Background: "#ffffff", BackgroundMuted: "#eeeeee", LinkForeground: "#2d414e", LinkVisitedForeground: "#406379", NavForeground: "#000000", NavBackground: nbl, MenuForeground: "#000000", MenuSelectedForeground: "#000000", MenuBackground: "#c1e3e8", MenuSelectedBackground: "#8eb6bd", ModalBackdrop: "rgba(77, 77, 77, .7)", Success: "#008000", Error: "#ff0000", }, Dark: &Colors{ Border: "1px solid #666666", LinkDecoration: "none", Foreground: "#ffffff", ForegroundMuted: "#999999", Background: "#121212", BackgroundMuted: "#333333", LinkForeground: "#2d414e", LinkVisitedForeground: "#aaaaaa", NavForeground: "#ffffff", NavBackground: nbd, MenuForeground: "#eeeeee", MenuSelectedForeground: "#ffffff", MenuBackground: "#171f24", MenuSelectedBackground: "#333333", ModalBackdrop: "rgba(33, 33, 33, .7)", Success: "#008000", Error: "#ff0000", }, } }()
Functions ¶
func TextColorFor ¶ added in v0.4.4
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.2.12
type Theme ¶
type Themes ¶
type Themes []*Theme
func PaletteRandomThemes ¶ added in v0.2.12
func PaletteThemes ¶ added in v0.2.12
Click to show internal directories.
Click to hide internal directories.