]>
Commit | Line | Data |
---|---|---|
1bc75494 BW |
1 | ## Configuration |
2 | ||
2662b170 | 3 | Title, icons, links, colors, and services can be configured in the `config.yml` file (located in `/assets` directory once built, or in the `public/assets` directory in development mode), using [yaml](http://yaml.org/) format. |
1bc75494 BW |
4 | |
5 | ```yaml | |
6 | --- | |
7 | # Homepage configuration | |
8 | # See https://fontawesome.com/icons for icons options | |
9 | ||
10 | # Optional: Use external configuration file. | |
11 | # Using this will ignore remaining config in this file | |
12 | # externalConfig: https://example.com/server-luci/config.yaml | |
13 | ||
14 | title: "App dashboard" | |
15 | subtitle: "Homer" | |
a02961b7 | 16 | # documentTitle: "Welcome" # Customize the browser tab text |
ffe3404a | 17 | logo: "assets/logo.png" |
1bc75494 BW |
18 | # Alternatively a fa icon can be provided: |
19 | # icon: "fas fa-skull-crossbones" | |
20 | ||
21 | header: true # Set to false to hide the header | |
22 | footer: '<p>Created with <span class="has-text-danger">❤️</span> with <a href="https://bulma.io/">bulma</a>, <a href="https://vuejs.org/">vuejs</a> & <a href="https://fontawesome.com/">font awesome</a> // Fork me on <a href="https://github.com/bastienwirtz/homer"><i class="fab fa-github-alt"></i></a></p>' # set false if you want to hide it. | |
23 | ||
24 | columns: "3" # "auto" or number (must be a factor of 12: 1, 2, 3, 4, 6, 12) | |
25 | connectivityCheck: true # whether you want to display a message when the apps are not accessible anymore (VPN disconnected for example) | |
26 | ||
27 | # Optional theming | |
86f4680a | 28 | theme: default # 'default' or one of the themes available in 'src/assets/themes'. |
1bc75494 | 29 | |
71cf63eb | 30 | # Optional custom stylesheet |
8e5ee54a GC |
31 | # Will load custom CSS files. Especially useful for custom icon sets. |
32 | # stylesheet: | |
33 | # - "assets/custom.css" | |
71cf63eb | 34 | |
86f4680a | 35 | # Here is the exhaustive list of customization parameters |
1bc75494 BW |
36 | # However all value are optional and will fallback to default if not set. |
37 | # if you want to change only some of the colors, feel free to remove all unused key. | |
38 | colors: | |
39 | light: | |
40 | highlight-primary: "#3367d6" | |
41 | highlight-secondary: "#4285f4" | |
42 | highlight-hover: "#5a95f5" | |
43 | background: "#f5f5f5" | |
44 | card-background: "#ffffff" | |
45 | text: "#363636" | |
46 | text-header: "#424242" | |
47 | text-title: "#303030" | |
48 | text-subtitle: "#424242" | |
49 | card-shadow: rgba(0, 0, 0, 0.1) | |
50 | link-hover: "#363636" | |
154e6efe | 51 | background-image: "assets/your/light/bg.png" |
1bc75494 BW |
52 | dark: |
53 | highlight-primary: "#3367d6" | |
54 | highlight-secondary: "#4285f4" | |
55 | highlight-hover: "#5a95f5" | |
56 | background: "#131313" | |
57 | card-background: "#2b2b2b" | |
58 | text: "#eaeaea" | |
59 | text-header: "#ffffff" | |
60 | text-title: "#fafafa" | |
61 | text-subtitle: "#f5f5f5" | |
62 | card-shadow: rgba(0, 0, 0, 0.4) | |
63 | link-hover: "#ffdd57" | |
154e6efe | 64 | background-image: "assets/your/dark/bg.png" |
1bc75494 BW |
65 | |
66 | # Optional message | |
67 | message: | |
68 | # url: "https://<my-api-endpoint>" # Can fetch information from an endpoint to override value below. | |
69 | style: "is-warning" | |
70 | title: "Optional message!" | |
0e045b4c | 71 | icon: "fa fa-exclamation-triangle" |
1bc75494 BW |
72 | content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit." |
73 | ||
74 | # Optional navbar | |
75 | # links: [] # Allows for navbar (dark mode, layout, and search) without any links | |
76 | links: | |
77 | - name: "Link 1" | |
78 | icon: "fab fa-github" | |
79 | url: "https://github.com/bastienwirtz/homer" | |
80 | target: "_blank" # optional html tag target attribute | |
81 | - name: "link 2" | |
82 | icon: "fas fa-book" | |
83 | url: "https://github.com/bastienwirtz/homer" | |
e3bd2ecc | 84 | # this will link to a second homer page that will load config from page2.yml and keep default config values as in config.yml file |
85 | # see url field and assets/page.yml used in this example: | |
86 | - name: "Second Page" | |
87 | icon: "fas fa-file-alt" | |
88 | url: "/page2" | |
1bc75494 BW |
89 | |
90 | # Services | |
86f4680a | 91 | # First level array represents a group. |
1bc75494 BW |
92 | # Leave only a "items" key if not using group (group name, icon & tagstyle are optional, section separation will not be displayed). |
93 | services: | |
94 | - name: "Application" | |
62ec6fa0 | 95 | icon: "fas fa-code-branch" |
1bc75494 BW |
96 | items: |
97 | - name: "Awesome app" | |
98 | logo: "assets/tools/sample.png" | |
99 | # Alternatively a fa icon can be provided: | |
100 | # icon: "fab fa-jenkins" | |
101 | subtitle: "Bookmark example" | |
102 | tag: "app" | |
103 | url: "https://www.reddit.com/r/selfhosted/" | |
104 | target: "_blank" # optional html tag target attribute | |
105 | - name: "Another one" | |
106 | logo: "assets/tools/sample2.png" | |
107 | subtitle: "Another application" | |
108 | tag: "app" | |
109 | # Optional tagstyle | |
110 | tagstyle: "is-success" | |
111 | url: "#" | |
112 | - name: "Other group" | |
113 | icon: "fas fa-heartbeat" | |
114 | items: | |
9a14de00 | 115 | - name: "Pi-hole" |
1bc75494 | 116 | logo: "assets/tools/sample.png" |
c5eab80d | 117 | # subtitle: "Network-wide Ad Blocking" # optional, if no subtitle is defined, PiHole statistics will be shown |
1bc75494 | 118 | tag: "other" |
9a14de00 BW |
119 | url: "http://192.168.0.151/admin" |
120 | type: "PiHole" # optional, loads a specific component that provides extra features. MUST MATCH a file name (without file extension) available in `src/components/services` | |
e9afa4d7 TP |
121 | target: "_blank" # optional html a tag target attribute |
122 | # class: "green" # optional custom CSS class for card, useful with custom stylesheet | |
be308259 | 123 | # background: red # optional color for card to set color directly without custom stylesheet |
1bc75494 BW |
124 | ``` |
125 | ||
126 | If you choose to fetch message information from an endpoint, the output format should be: | |
127 | ||
128 | ```json | |
129 | { | |
130 | "style": null, | |
131 | "title": "Lorem ipsum 42", | |
132 | "content": "LA LA LA Lorem ipsum dolor sit amet, ....." | |
133 | } | |
134 | ``` | |
135 | ||
136 | `null` value or missing keys will be ignored and value from the `config.yml` will be used if available. | |
137 | Empty values (either in `config.yml` or the endpoint data) will hide the element (ex: set `"title": ""` to hide the title bar). | |
138 | ||
139 | ### Style Options | |
140 | ||
141 | Homer uses [bulma CSS](https://bulma.io/), which provides a [modifiers syntax](https://bulma.io/documentation/modifiers/syntax/). You'll notice in the config there is a `tagstyle` option. It can be set to any of the bulma modifiers. You'll probably want to use one of these 4 main colors: | |
142 | ||
143 | - `is-info` (blue) | |
144 | - `is-success` (green) | |
145 | - `is-warning` (yellow) | |
146 | - `is-danger` (red) | |
147 | ||
148 | You can read the [bulma modifiers page](https://bulma.io/documentation/modifiers/syntax/) for other options regarding size, style, or state. | |
d1b9dea2 BW |
149 | |
150 | ### PWA Icons | |
151 | ||
152 | In order to easily generate all required icon preset for the PWA to work, a tool like [vue-pwa-asset-generator](https://www.npmjs.com/package/vue-pwa-asset-generator) can be used: | |
153 | ||
154 | ```bash | |
155 | npx vue-pwa-asset-generator -a {your_512x512_source_png} -o {your_output_folder} | |
156 | ``` |