Add HTML widget
This commit is contained in:
parent
e8043be107
commit
75079a981b
3 changed files with 36 additions and 0 deletions
|
@ -26,6 +26,7 @@
|
|||
- [Twitch Channels](#twitch-channels)
|
||||
- [Twitch Top Games](#twitch-top-games)
|
||||
- [iframe](#iframe)
|
||||
- [HTML](#html)
|
||||
|
||||
## Intro
|
||||
Configuration is done via a single YAML file and a server restart is required in order for any changes to take effect. Trying to start the server with an invalid config file will result in an error.
|
||||
|
@ -1412,3 +1413,16 @@ The source of the iframe.
|
|||
|
||||
##### `height`
|
||||
The height of the iframe. The minimum allowed height is 50.
|
||||
|
||||
### HTML
|
||||
Embed any HTML.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
- type: html
|
||||
source: |
|
||||
<p>Hello, <span class="color-primary">World</span>!</p>
|
||||
```
|
||||
|
||||
Note the use of `|` after `source:`, this allows you to insert a multi-line string.
|
||||
|
|
20
internal/widget/html.go
Normal file
20
internal/widget/html.go
Normal file
|
@ -0,0 +1,20 @@
|
|||
package widget
|
||||
|
||||
import (
|
||||
"html/template"
|
||||
)
|
||||
|
||||
type HTML struct {
|
||||
widgetBase `yaml:",inline"`
|
||||
Source template.HTML `yaml:"source"`
|
||||
}
|
||||
|
||||
func (widget *HTML) Initialize() error {
|
||||
widget.withTitle("").withError(nil)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (widget *HTML) Render() template.HTML {
|
||||
return widget.Source
|
||||
}
|
|
@ -27,6 +27,8 @@ func New(widgetType string) (Widget, error) {
|
|||
return &Bookmarks{}, nil
|
||||
case "iframe":
|
||||
return &IFrame{}, nil
|
||||
case "html":
|
||||
return &HTML{}, nil
|
||||
case "hacker-news":
|
||||
return &HackerNews{}, nil
|
||||
case "releases":
|
||||
|
|
Loading…
Add table
Reference in a new issue