templates/README.md
author Mikael Berthe <mikael@lilotux.net>
Sun, 07 May 2017 23:22:28 +0200
changeset 98 dd260cff924e
parent 94 4c0206d283e5
child 120 54b6f2a4098b
permissions -rw-r--r--
Minor documentation updates
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
94
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
     1
# Themes and Templates
23
2ba1ea451669 Add template samples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
2ba1ea451669 Add template samples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
This folder contains sample templates to customize madonctl output.
2ba1ea451669 Add template samples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     4
86
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
     5
Feel free to contribute if you have nice templates or if you want to work on themes as well!
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
     6
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
     7
## Configuration
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
     8
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
     9
The template prefix directory can be set in the configuration file with the
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    10
'template_directory' setting, or with the `MADONCTL_TEMPLATE_DIRECTORY`
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    11
environment variable.\
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    12
If set, template files are looked up relatively from this repository first
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    13
(unless they are absolute paths or start with "./" or "../").
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    14
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    15
The themes are located in the `themes` directory, inside the base template
98
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    16
directory (e.g. `$template_directory/themes/ansi/`).
86
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    17
A theme is a collection of templates grouped in a theme directory (the name of
98
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    18
the directory is the name of the theme).
86
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    19
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    20
## Themes
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    21
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    22
To use a theme, simply specify the theme name with the --theme flag (the
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    23
--output=theme flag is implied):
82
9ac2281c07d7 Add 'template_directory' setting
Mikael Berthe <mikael@lilotux.net>
parents: 23
diff changeset
    24
86
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    25
    madonctl timeline --limit=2 --theme=ansi
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    26
    madonctl accounts statuses --limit 5 --theme ansi
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    27
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    28
    madonctl --theme=ansi accounts notifications --list
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    29
    madonctl --theme=ansi stream
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    30
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    31
Currently, if a template is missing, madonctl will fall back to the _plain_
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    32
output format.  (In the future it might just fail with an error message.)
94
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    33
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    34
## Templates
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    35
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    36
Here's an example using a template with ANSI color escape codes (for UNIX/Linux):
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    37
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    38
    madonctl timeline --limit 2 --template-file ansi-status.tmpl
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    39
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    40
### Template development
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    41
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    42
Here's a list of available commands (please check the Go template documentation for the built-in functions):
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    43
- fromunix UNIXTIMESTAMP
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    44
- fromhtml HTMLTEXT
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    45
- wrap TEXT
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    46
- trim TEXT
98
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    47
- color COLORSPEC\
94
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    48
  COLORSPEC is a string with the following format: `[FGCOLOR][,BGCOLOR[,STYLE]]` or `reset`.
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    49
98
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    50
Examples:
94
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    51
98
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    52
```
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    53
  {{color "red"}}red text{{color "reset"}}
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    54
  {{color ",red"}}red background{{color "reset"}}
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    55
  {{color "white,,bold"}}bright white text{{color "reset"}}
94
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    56
98
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    57
  Message: {{color "blue"}}{{.content | fromhtml | wrap "    " 80 | trim}}{{color "reset"}}
dd260cff924e Minor documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 94
diff changeset
    58
```
94
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    59
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    60
Note that the _wrap_ implementation might change in the future; currently it is
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    61
paragraph-based, not line-based, and the result can be surprising after
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    62
_fromhtml_ (carriage returns are ignored).