diff options
-rw-r--r-- | README.md | 29 | ||||
-rw-r--r-- | docker-compose.yml | 14 | ||||
-rw-r--r-- | docs/configuration.md | 5 | ||||
-rw-r--r-- | docs/tips-and-tricks.md | 4 | ||||
-rw-r--r-- | src/App.vue | 14 | ||||
-rw-r--r-- | src/components/Navbar.vue | 3 |
6 files changed, 64 insertions, 5 deletions
@@ -70,12 +70,41 @@ See [documentation](docs/configuration.md) for information about the configurati | |||
70 | 70 | ||
71 | ### Using docker | 71 | ### Using docker |
72 | 72 | ||
73 | To launch container : | ||
74 | |||
73 | ```sh | 75 | ```sh |
74 | docker run -p 8080:8080 -v /your/local/assets/:/www/assets b4bz/homer:latest | 76 | docker run -p 8080:8080 -v /your/local/assets/:/www/assets b4bz/homer:latest |
75 | ``` | 77 | ``` |
76 | 78 | ||
77 | Default assets will be automatically installed in the `/www/assets` directory. Use `UID` and/or `GID` env var to change the assets owner (`docker run -e "UID=1000" -e "GID=1000" [...]`). | 79 | Default assets will be automatically installed in the `/www/assets` directory. Use `UID` and/or `GID` env var to change the assets owner (`docker run -e "UID=1000" -e "GID=1000" [...]`). |
78 | 80 | ||
81 | ### Using docker-compose | ||
82 | |||
83 | The `docker-compose.yml` file must be edited to match your needs. | ||
84 | Set the port and volume (equivalent to -p and -v arguments) : | ||
85 | |||
86 | ```yaml | ||
87 | volumes: | ||
88 | - /your/local/assets/:/www/assets | ||
89 | ports: | ||
90 | - 8080:8080 | ||
91 | ``` | ||
92 | |||
93 | To launch container : | ||
94 | |||
95 | ```sh | ||
96 | cd /path/to/docker-compose.yml | ||
97 | docker-compose up -d | ||
98 | ``` | ||
99 | |||
100 | Default assets will be automatically installed in the `/www/assets` directory. Use `UID` and/or `GID` env var to change the assets owner, also in `docker-compose.yml` : | ||
101 | |||
102 | ```yaml | ||
103 | environment: | ||
104 | - UID=1000 | ||
105 | - GID=1000 | ||
106 | ``` | ||
107 | |||
79 | ### Using the release tarball (prebuilt, ready to use) | 108 | ### Using the release tarball (prebuilt, ready to use) |
80 | 109 | ||
81 | Download and extract the latest the latest release (`homer.zip`) from the [release page](https://github.com/bastienwirtz/homer/releases), rename the `assets/config.yml.dist` file to `assets/config.yml`, and put it behind a webserver. | 110 | Download and extract the latest the latest release (`homer.zip`) from the [release page](https://github.com/bastienwirtz/homer/releases), rename the `assets/config.yml.dist` file to `assets/config.yml`, and put it behind a webserver. |
diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..85e9156 --- /dev/null +++ b/docker-compose.yml | |||
@@ -0,0 +1,14 @@ | |||
1 | --- | ||
2 | version: "2" | ||
3 | services: | ||
4 | homer: | ||
5 | image: b4bz/homer | ||
6 | container_name: homer | ||
7 | volumes: | ||
8 | - /your/local/assets/:/www/assets | ||
9 | ports: | ||
10 | - 8080:8080 | ||
11 | #environment: | ||
12 | # - UID=1000 | ||
13 | # - GID=1000 | ||
14 | restart: unless-stopped | ||
diff --git a/docs/configuration.md b/docs/configuration.md index 9790751..a8c0619 100644 --- a/docs/configuration.md +++ b/docs/configuration.md | |||
@@ -26,6 +26,11 @@ connectivityCheck: true # whether you want to display a message when the apps ar | |||
26 | # Optional theming | 26 | # Optional theming |
27 | theme: default # 'default' or one of the theme available in 'src/assets/themes'. | 27 | theme: default # 'default' or one of the theme available in 'src/assets/themes'. |
28 | 28 | ||
29 | # Optional custom stylesheet | ||
30 | # Will load custom CSS files. Especially useful for custom icon sets. | ||
31 | # stylesheet: | ||
32 | # - "assets/custom.css" | ||
33 | |||
29 | # Here is the exaustive list of customization parameters | 34 | # Here is the exaustive list of customization parameters |
30 | # However all value are optional and will fallback to default if not set. | 35 | # However all value are optional and will fallback to default if not set. |
31 | # if you want to change only some of the colors, feel free to remove all unused key. | 36 | # if you want to change only some of the colors, feel free to remove all unused key. |
diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md index fda670d..175c271 100644 --- a/docs/tips-and-tricks.md +++ b/docs/tips-and-tricks.md | |||
@@ -5,9 +5,9 @@ Here is a collection of neat tips and tricks that Homer users have come up with! | |||
5 | ## Use Homer as a custom "new tab" page | 5 | ## Use Homer as a custom "new tab" page |
6 | #### `by @vosdev` | 6 | #### `by @vosdev` |
7 | 7 | ||
8 | This [extension](https://addons.mozilla.org/firefox/addon/custom-new-tab-page) allows you to have your homer dashboard in your new tab page, while leaving focus on the address bar meaning you can still type right away if you want to search or go to a page that is not on your homer dash. | 8 | These extensions for [Firefox](https://addons.mozilla.org/firefox/addon/custom-new-tab-page) and [Chrome & Friends](https://chrome.google.com/webstore/detail/new-tab-changer/occbjkhimchkolibngmcefpjlbknggfh) allow you to have your homer dashboard in your new tab page, while leaving focus on the address bar meaning you can still type right away if you want to search or go to a page that is not on your homer dash. |
9 | 9 | ||
10 | The extension loads Homer in an iframe on your new tab page, meaning you have to add `target: '_top'` to each of your items. | 10 | The firefox extension loads Homer in an iframe on your new tab page, meaning you have to add `target: '_top'` to each of your items. |
11 | 11 | ||
12 | ```yaml | 12 | ```yaml |
13 | - name: "Reddit" | 13 | - name: "Reddit" |
diff --git a/src/App.vue b/src/App.vue index d7054a7..03760fd 100644 --- a/src/App.vue +++ b/src/App.vue | |||
@@ -14,7 +14,7 @@ | |||
14 | <div v-cloak class="container"> | 14 | <div v-cloak class="container"> |
15 | <div class="logo"> | 15 | <div class="logo"> |
16 | <img v-if="config.logo" :src="config.logo" alt="dashboard logo" /> | 16 | <img v-if="config.logo" :src="config.logo" alt="dashboard logo" /> |
17 | <i v-if="config.icon" :class="['fa-fw', config.icon]"></i> | 17 | <i v-if="config.icon" :class="config.icon"></i> |
18 | </div> | 18 | </div> |
19 | <div class="dashboard-title"> | 19 | <div class="dashboard-title"> |
20 | <span class="headline">{{ config.subtitle }}</span> | 20 | <span class="headline">{{ config.subtitle }}</span> |
@@ -160,6 +160,13 @@ export default { | |||
160 | this.config = merge(defaults, config); | 160 | this.config = merge(defaults, config); |
161 | this.services = this.config.services; | 161 | this.services = this.config.services; |
162 | document.title = `${this.config.title} | ${this.config.subtitle}`; | 162 | document.title = `${this.config.title} | ${this.config.subtitle}`; |
163 | if (this.config.stylesheet) { | ||
164 | let stylesheet = ''; | ||
165 | for (const file of this.config.stylesheet) { | ||
166 | stylesheet += `@import "${file}";`; | ||
167 | } | ||
168 | this.createStylesheet(stylesheet); | ||
169 | } | ||
163 | }, | 170 | }, |
164 | methods: { | 171 | methods: { |
165 | getConfig: function (path = "assets/config.yml") { | 172 | getConfig: function (path = "assets/config.yml") { |
@@ -235,6 +242,11 @@ export default { | |||
235 | }, | 242 | }, |
236 | }; | 243 | }; |
237 | }, | 244 | }, |
245 | createStylesheet: function(css) { | ||
246 | let style = document.createElement('style'); | ||
247 | style.appendChild(document.createTextNode(css)); | ||
248 | document.head.appendChild(style); | ||
249 | }, | ||
238 | }, | 250 | }, |
239 | }; | 251 | }; |
240 | </script> | 252 | </script> |
diff --git a/src/components/Navbar.vue b/src/components/Navbar.vue index c688a3a..ae84166 100644 --- a/src/components/Navbar.vue +++ b/src/components/Navbar.vue | |||
@@ -28,8 +28,7 @@ | |||
28 | > | 28 | > |
29 | <i | 29 | <i |
30 | v-if="link.icon" | 30 | v-if="link.icon" |
31 | style="margin-right: 6px;" | 31 | :class="['fa-fw', link.icon, { 'mr-2': link.name }]" |
32 | :class="['fa-fw', link.icon]" | ||
33 | ></i> | 32 | ></i> |
34 | {{ link.name }} | 33 | {{ link.name }} |
35 | </a> | 34 | </a> |