Compare commits

...

8 commits
v2 ... main

Author SHA1 Message Date
Magnus Åhall
c9ea188e7e Bumped to v5 2023-08-05 08:15:04 +02:00
Magnus Åhall
a9101f02c1 Fixed cache problem for pages 2023-08-05 08:14:49 +02:00
e7b58fdd63 Update README.md 2023-07-26 05:45:53 +00:00
Magnus Åhall
d55f8f4a8f Added screenshots 2023-07-26 07:34:24 +02:00
a354be00bd Update README.md 2023-07-25 14:03:36 +00:00
41292bdbac Update README.md 2023-07-25 13:55:20 +00:00
a68c580f39 Added examples, theme default-shadow. Bumped to v4. 2023-07-25 13:34:38 +00:00
740c0796cd Added support for background images 2023-07-25 13:04:28 +00:00
13 changed files with 443 additions and 7 deletions

114
README.md
View file

@ -0,0 +1,114 @@
# Dashie
Dashie is a simple personal dashboard with themes and multiple pages, generated on the fly from the YAML configuration files.
There is no multiuser support right now.
A shoutout to Dashy, https://dashy.to/, which Dashie is visually heavily inspired by.
## Screenshots
[<img src="./images/screenshots/dashie_default.png" width="20%" height="20%">](https://git.ahall.se/magnus/dashie/raw/branch/main/images/screenshots/dashie_default.png)
[<img src="./images/screenshots/dashie_colorful.png" width="20%" height="20%">](https://git.ahall.se/magnus/dashie/raw/branch/main/images/screenshots/dashie_colorful.png)
[<img src="./images/screenshots/dashie_gruvbox.png" width="20%" height="20%">](https://git.ahall.se/magnus/dashie/raw/branch/main/images/screenshots/dashie_gruvbox.png)
[<img src="./images/screenshots/dashie_subdued.png" width="20%" height="20%">](https://git.ahall.se/magnus/dashie/raw/branch/main/images/screenshots/dashie_subdued.png)
# Installation
Copy examples/*.yaml to the web root (or write `start.yaml` from scratch instead), and put everything on a webserver serving the directory statically.
# YAML files
The YAML configuration files have to be edited by hand right now.
In the future dashie is probably going to get a server written in Go, enabling interactive editing and possibly multiuser support.
## Dashboard YAML files
Icons use the Material Design Icons library, see https://pictogrammers.com/library/mdi/ for a searchable list of icons. To use the abacus icon, type "abacus" in the icon property of the section items.
Version added here was v7.2.96.
```yaml
# Pages to be displayed in the header.
# Pages doesn't have be defined here, the file can still be accessed
# by visiting /?page=filename (without .yaml).
# This could be used to create elaborate site hierarchies.
pages:
- name: start # this has to correspond to the filename.yaml in the web root.
label: Home
- name: foo # this would be <web root>/foo.yaml
label: Foo
page:
theme: default # name of theme when loading the page, corresponding to the same name in <web root>/themes.yaml.
label: Home # doesn't have to be the same as the name or label in the pages array.
sections:
- label: Search
items:
- label: Google
url: https://www.google.com
icon: google
- label: DuckDuckGo
description: '"Privacy, simplified."' # The description field is optional.
url: https://duckduckgo.com
icon: duck
- label: Multimedia
items:
- label: Jellyfin
description: The free software media system
url: https://jellyfin.org
icon: filmstrip
- label: Spotify
url: https://spotify.com
icon: music
```
## Themes
The themes.yaml file in the web root has the following format per theme:
```yaml
gruvbox: # Name of theme.
page:
text: "#bdae93" # Color of the page name.
background: "#282828 url('/images/backgrounds/gruvbox.svg')" # background color/image of the page.
header: "#504945" # Background color of the header section.
footer: # Colors for the footer (The 'Dashie v[x]' line).
show: true # Show or hide the footer.
text: "#a89984"
background: "#504945"
page_select: # Colors for the page boxes.
text: "#bdae93"
background: "#3c3836"
theme_select: # Colors for the theme selector.
text: "#bdae93"
background: "#3c3c36"
border: "#665c54"
section:
background: "#504945"
shadow: "10px 10px 15px 0px rgba(0, 0, 0, 0.25)"
# These colors will be used in a roundrobin fashion when displaying
# sections, if a section is not explicitly using a color index.
# The first is the border color, the second is the section label color.
borders:
- ["#fb4934", "#eee"]
- ["#b8bb26", "#333"]
- ["#fabd2f", "#333"]
- ["#458588", "#eee"]
- ["#fe8019", "#333"]
- ["#689d6a", "#333"]
item:
label: # The label can be left blank to receive the same color as the section border.
background: "#282828"
description: "#d5c4a1"
url: "#a89984"
icon: # Icon can be left blank, same behaviour as label.
hover: brighter # Determines mouse pointer hovering over section background color.
#Can be brighter, darker or anything else to disable behaviour.
```

View file

@ -1 +1 @@
v2
v5

33
examples/foo.yaml Normal file
View file

@ -0,0 +1,33 @@
pages:
- name: start
label: Home
- name: foo
label: Foo
page:
theme: gruvbox
label: "Foo. Bar."
sections:
# Productivity
# ============
- label: Foo
items:
- label: Google
description: No luck
url: https://www.google.se/404
icon: google-downasaur
- label: Foobar
url: https://en.wikipedia.org/wiki/Foobar
icon: wikipedia
# Multimedia
# ==========
- label: Bar
items:
- label: Beer.
description: Served by bartenders.
url: https://en.wikipedia.org/wiki/Beer
icon: wikipedia

55
examples/start.yaml Normal file
View file

@ -0,0 +1,55 @@
pages:
- name: start
label: Home
- name: foo
label: Foo
page:
theme: default
label: Home
sections:
# Productivity
# ============
- label: Search
items:
- label: Google
url: https://www.google.com
icon: google
- label: DuckDuckGo
description: '"Privacy, simplified."'
url: https://duckduckgo.com
icon: duck
# Multimedia
# ==========
- label: Multimedia
items:
- label: Jellyfin
description: The free software media system
url: https://jellyfin.org
icon: filmstrip
- label: Spotify
url: https://spotify.com
icon: music
# Development
# ===========
- label: Development
items:
- label: Gitea
url: https://gitea.com
icon: git
- label: Neovim
description: Great text editor
url: https://neovim.io
icon: text
- label: Go
description: Programming language
url: https://go.dev
icon: language-go

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="257"
height="256"
viewBox="0 0 67.997915 67.733336"
version="1.1"
id="svg8"
inkscape:version="1.2.1 (9c6d41e, 2022-07-14)"
sodipodi:docname="gruvbox.svg"
inkscape:export-filename="gruvbox.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#282828"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="4"
inkscape:cx="92.25"
inkscape:cy="114.25"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2190"
inkscape:window-height="1404"
inkscape:window-x="1463"
inkscape:window-y="16"
inkscape:window-maximized="0"
inkscape:showpageshadow="true"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d6d6d6"
showborder="true" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="color:#000000;overflow:visible;fill:#282828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264584;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000"
id="rect40644"
width="67.733337"
height="67.73333"
x="0"
y="0" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 17.065625,0.1322915 V 67.601042"
id="path37309" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 8.5989583,0.1322915 V 67.601042"
id="path37610" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 25.532292,0.1322915 V 67.601042"
id="path37612" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 33.998959,0.1322915 V 67.601042"
id="path37616" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 42.465625,0.1322915 V 67.601042"
id="path37618" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 50.932292,0.1322915 V 67.601042"
id="path37620" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 59.398959,0.1322915 V 67.601042"
id="path37622" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.26458334;stroke-linecap:round;stroke-dasharray:0.5291667,0.5291667;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 67.865626,0.1322915 V 67.601042"
id="path37626" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,50.932293 H 67.601042"
id="path43996" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,59.39896 H 67.601042"
id="path43998" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,42.465626 H 67.601042"
id="path44000" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,33.998959 H 67.601042"
id="path44002" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,25.532293 H 67.601042"
id="path44004" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,17.065626 H 67.601042"
id="path44006" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,8.598959 H 67.601042"
id="path44008" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,0.132292 H 67.601042"
id="path44010" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,55.165625 H 67.601042"
id="path44772" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,63.632292 H 67.601042"
id="path44774" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,46.698958 H 67.601042"
id="path44776" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,38.232291 H 67.601042"
id="path44778" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,29.765625 H 67.601042"
id="path44780" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,21.298958 H 67.601042"
id="path44782" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,12.832291 H 67.601042"
id="path44784" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 0.1322915,4.365624 H 67.601042"
id="path44786" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 12.832292,0.1322915 V 67.601042"
id="path44813" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 4.3656249,0.1322915 V 67.601042"
id="path44815" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 21.298959,0.1322915 V 67.601042"
id="path44817" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 29.765626,0.1322915 V 67.601042"
id="path44819" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 38.232292,0.1322915 V 67.601042"
id="path44821" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 46.698959,0.1322915 V 67.601042"
id="path44823" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 55.165626,0.1322915 V 67.601042"
id="path44825" />
<path
style="color:#000000;overflow:visible;fill:#ffeeaa;fill-opacity:0.256059;fill-rule:evenodd;stroke:#3c3836;stroke-width:0.264583;stroke-linecap:round;stroke-dasharray:0.52916598,0.52916598;stroke-opacity:1;paint-order:markers stroke fill;stop-color:#000000;stroke-dashoffset:0"
d="M 63.632293,0.1322915 V 67.601042"
id="path44827" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

View file

@ -18,7 +18,7 @@
}
}
</script>
<script type="module" src="js/app.js"></script>
<script type="module" src="js/app.mjs"></script>
</head>
<body>
<header>

View file

@ -33,7 +33,7 @@ class App {
})
}//}}}
retrieveVersion() {//{{{
return fetch('/VERSION')
return fetch('/VERSION', {cache: "no-store"})
.then(res=>{
if(res.ok)
return res.text()
@ -50,7 +50,7 @@ class App {
if(page === null)
page = 'start'
return fetch(`/${page}.yaml`)
return fetch(`/${page}.yaml`, {cache: "no-store"})
.then(res=>{
if(res.ok)
return res.text()
@ -127,7 +127,7 @@ class App {
setTheme(theme) {//{{{
this.theme = theme
document.body.style.color = theme.colors.page.text
document.body.style.backgroundColor = theme.colors.page.background
document.body.style.background = theme.colors.page.background
let sectionClasses = document.getElementById('sections').classList
sectionClasses.remove('theme-brighter')
@ -248,7 +248,7 @@ class Section {
)
return `
<div class="section" style="border: 4px solid ${color[0]}; background: ${theme.colors.section.background}">
<div class="section" style="border: 4px solid ${color[0]}; background: ${theme.colors.section.background}; box-shadow: ${theme.colors.section.shadow}">
<div class="name" style="background: ${color[0]}; color: ${color[1]}">${this.label}</div>
<div class="items" style="background: ${theme.colors.section.background}">
${itemHTML.join('')}

View file

@ -1,3 +1,38 @@
# Default shadow
# ==============
default-shadow:
page:
text: '#fff'
header: '#333'
background: '#fff'
footer:
show: true
text: "#aaa"
background: "#eee"
page_select:
text: "#ccc"
background: "#666"
theme_select:
text: "#ccc"
background: "#333"
border: "#888"
section:
background: '#fff'
shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.15)
borders:
- ['#fff', '#22a511']
item:
label: '#333'
background: '#eaeaea'
description: '#555'
url: '#666'
icon: '#000'
hover: 'darker'
# Colorful
# ========
colorful:
@ -81,7 +116,7 @@ subdued:
gruvbox:
page:
text: "#bdae93"
background: "#282828"
background: "#282828 url('/images/backgrounds/gruvbox.svg')"
header: "#504945"
footer:
show: true
@ -99,6 +134,7 @@ gruvbox:
section:
background: "#504945"
shadow: "10px 10px 15px 0px rgba(0, 0, 0, 0.25)"
borders:
- ["#fb4934", "#eee"]
- ["#b8bb26", "#333"]