diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/configuration.md | 20 | ||||
-rw-r--r-- | docs/customservices.md | 53 | ||||
-rw-r--r-- | docs/tips-and-tricks.md | 58 |
3 files changed, 130 insertions, 1 deletions
diff --git a/docs/configuration.md b/docs/configuration.md index a43d7f1..a472b41 100644 --- a/docs/configuration.md +++ b/docs/configuration.md | |||
@@ -66,6 +66,17 @@ colors: | |||
66 | # Optional message | 66 | # Optional message |
67 | message: | 67 | message: |
68 | # url: "https://<my-api-endpoint>" # Can fetch information from an endpoint to override value below. | 68 | # url: "https://<my-api-endpoint>" # Can fetch information from an endpoint to override value below. |
69 | # mapping: # allows to map fields from the remote format to the one expected by Homer | ||
70 | # title: 'id' # use value from field 'id' as title | ||
71 | # content: 'value' # value from field 'value' as content | ||
72 | # refreshInterval: 10000 # Optional: time interval to refresh message | ||
73 | # | ||
74 | # Real example using chucknorris.io for showing Chuck Norris facts as messages: | ||
75 | # url: https://api.chucknorris.io/jokes/random | ||
76 | # mapping: | ||
77 | # title: 'id' | ||
78 | # content: 'value' | ||
79 | # refreshInterval: 10000 | ||
69 | style: "is-warning" | 80 | style: "is-warning" |
70 | title: "Optional message!" | 81 | title: "Optional message!" |
71 | icon: "fa fa-exclamation-triangle" | 82 | icon: "fa fa-exclamation-triangle" |
@@ -81,6 +92,11 @@ links: | |||
81 | - name: "link 2" | 92 | - name: "link 2" |
82 | icon: "fas fa-book" | 93 | icon: "fas fa-book" |
83 | url: "https://github.com/bastienwirtz/homer" | 94 | url: "https://github.com/bastienwirtz/homer" |
95 | # 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 | ||
96 | # see url field and assets/page.yml used in this example: | ||
97 | - name: "Second Page" | ||
98 | icon: "fas fa-file-alt" | ||
99 | url: "#page2" | ||
84 | 100 | ||
85 | # Services | 101 | # Services |
86 | # First level array represents a group. | 102 | # First level array represents a group. |
@@ -88,6 +104,8 @@ links: | |||
88 | services: | 104 | services: |
89 | - name: "Application" | 105 | - name: "Application" |
90 | icon: "fas fa-code-branch" | 106 | icon: "fas fa-code-branch" |
107 | # A path to an image can also be provided. Note that icon take precedence if both icon and logo are set. | ||
108 | # logo: "path/to/logo" | ||
91 | items: | 109 | items: |
92 | - name: "Awesome app" | 110 | - name: "Awesome app" |
93 | logo: "assets/tools/sample.png" | 111 | logo: "assets/tools/sample.png" |
@@ -118,7 +136,7 @@ services: | |||
118 | # background: red # optional color for card to set color directly without custom stylesheet | 136 | # background: red # optional color for card to set color directly without custom stylesheet |
119 | ``` | 137 | ``` |
120 | 138 | ||
121 | If you choose to fetch message information from an endpoint, the output format should be: | 139 | If you choose to fetch message information from an endpoint, the output format should be as follows (or you can [custom map fields as shown in tips-and-tricks](./tips-and-tricks.md#mapping-fields)): |
122 | 140 | ||
123 | ```json | 141 | ```json |
124 | { | 142 | { |
diff --git a/docs/customservices.md b/docs/customservices.md new file mode 100644 index 0000000..43f45f4 --- /dev/null +++ b/docs/customservices.md | |||
@@ -0,0 +1,53 @@ | |||
1 | # Custom Services | ||
2 | |||
3 | Some service can use a specific a component that provides some extra features by adding a `type` key to the service yaml | ||
4 | configuration. Available services are in `src/components/`. Here is an overview of all custom services that are available | ||
5 | within Homer. | ||
6 | |||
7 | ## PiHole | ||
8 | |||
9 | Using the PiHole service you can display info about your local PiHole instance right on your Homer dashboard. | ||
10 | |||
11 | The following configuration is available for the PiHole service. | ||
12 | |||
13 | ``` | ||
14 | items: | ||
15 | - name: "Pi-hole" | ||
16 | logo: "assets/tools/sample.png" | ||
17 | # subtitle: "Network-wide Ad Blocking" # optional, if no subtitle is defined, PiHole statistics will be shown | ||
18 | url: "http://192.168.0.151/admin" | ||
19 | type: "PiHole" | ||
20 | ``` | ||
21 | |||
22 | ## Medusa | ||
23 | |||
24 | This service displays News (grey), Warning (orange) or Error (red) notifications bubbles from the Medusa application. | ||
25 | Two lines are needed in the config.yml : | ||
26 | ``` | ||
27 | type: "Medusa" | ||
28 | apikey: "01234deb70424befb1f4ef6a23456789" | ||
29 | ``` | ||
30 | The url must be the root url of Medusa application. | ||
31 | The Medusa API key can be found in General configuration > Interface. It is needed to access Medusa API. | ||
32 | |||
33 | |||
34 | ## Sonarr/Radarr | ||
35 | |||
36 | This service displays Activity (blue), Warning (orange) or Error (red) notifications bubbles from the Radarr/Sonarr application. | ||
37 | Two lines are needed in the config.yml : | ||
38 | ``` | ||
39 | type: "Radarr" or "Sonarr" | ||
40 | apikey: "01234deb70424befb1f4ef6a23456789" | ||
41 | ``` | ||
42 | The url must be the root url of Radarr/Sonarr application. | ||
43 | The Radarr/Sonarr API key can be found in Settings > General. It is needed to access the API. | ||
44 | |||
45 | |||
46 | ## PaperlessNG | ||
47 | |||
48 | For Paperless you need an API-Key which you have to store at the item in the field `apikey`. | ||
49 | |||
50 | |||
51 | ## Ping | ||
52 | |||
53 | For Paperless you need an API-Key which you have to store at the item in the field `apikey`. | ||
diff --git a/docs/tips-and-tricks.md b/docs/tips-and-tricks.md index 2719fc5..94167fb 100644 --- a/docs/tips-and-tricks.md +++ b/docs/tips-and-tricks.md | |||
@@ -113,6 +113,64 @@ docker create \ | |||
113 | 113 | ||
114 | 114 | ||
115 | ## Get the news headlines in Homer | 115 | ## Get the news headlines in Homer |
116 | |||
117 | ### Mapping Fields | ||
118 | Most times, the url you're getting headlines from follows a different schema than the one expected by Homer. | ||
119 | |||
120 | For example, if you would like to show jokes from ChuckNorris.io, you'll find that the url https://api.chucknorris.io/jokes/random is giving you info like this: | ||
121 | |||
122 | ```json | ||
123 | { | ||
124 | "categories": [], | ||
125 | "created_at": "2020-01-05 13:42:22.089095", | ||
126 | "icon_url": "https://assets.chucknorris.host/img/avatar/chuck-norris.png", | ||
127 | "id": "MR2-BnMBR667xSpQBIleUg", | ||
128 | "updated_at": "2020-01-05 13:42:22.089095", | ||
129 | "url": "https://api.chucknorris.io/jokes/MR2-BnMBR667xSpQBIleUg", | ||
130 | "value": "Chuck Norris can quitely sneak up on himself" | ||
131 | } | ||
132 | ``` | ||
133 | |||
134 | but... you need that info to be transformed to something like this: | ||
135 | |||
136 | ```json | ||
137 | { | ||
138 | "title": "MR2-BnMBR667xSpQBIleUg", | ||
139 | "content": "Chuck Norris can quitely sneak up on himself" | ||
140 | } | ||
141 | ``` | ||
142 | |||
143 | Now, you can do that using the `mapping` field in your `message` configuration. This example would be something like this: | ||
144 | |||
145 | ```yml | ||
146 | message: | ||
147 | url: https://api.chucknorris.io/jokes/random | ||
148 | mapping: | ||
149 | title: 'id' | ||
150 | content: 'value' | ||
151 | ``` | ||
152 | |||
153 | As you would see, using the ID as a title doesn't seem nice, that's why when a field is empty it would keep the default values, like this: | ||
154 | |||
155 | ```yml | ||
156 | message: | ||
157 | url: https://api.chucknorris.io/jokes/random | ||
158 | mapping: | ||
159 | content: 'value' | ||
160 | title: "Chuck Norris Facts!" | ||
161 | ``` | ||
162 | |||
163 | and even an error message in case the `url` didn't respond or threw an error: | ||
164 | |||
165 | ```yml | ||
166 | message: | ||
167 | url: https://api.chucknorris.io/jokes/random | ||
168 | mapping: | ||
169 | content: 'value' | ||
170 | title: "Chuck Norris Facts!" | ||
171 | content: "Message could not be loaded" | ||
172 | ``` | ||
173 | |||
116 | #### `by @JamiePhonic` | 174 | #### `by @JamiePhonic` |
117 | 175 | ||
118 | Homer allows you to set a "message" that will appear at the top of the page, however, you can also supply a `url:`. | 176 | Homer allows you to set a "message" that will appear at the top of the page, however, you can also supply a `url:`. |