templates/README.md
author Mikael Berthe <mikael@lilotux.net>
Sun, 07 May 2017 22:07:58 +0200
changeset 97 ce979580711a
parent 94 4c0206d283e5
child 98 dd260cff924e
permissions -rw-r--r--
Version 0.6.0
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
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    16
directory.
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
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    18
the directory is the name of the theme).\
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    19
E.g. `$template_directory/themes/ansi/`
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    20
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    21
## Themes
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    22
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    23
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
    24
--output=theme flag is implied):
82
9ac2281c07d7 Add 'template_directory' setting
Mikael Berthe <mikael@lilotux.net>
parents: 23
diff changeset
    25
86
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    26
    madonctl timeline --limit=2 --theme=ansi
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    27
    madonctl accounts statuses --limit 5 --theme ansi
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    28
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    29
    madonctl --theme=ansi accounts notifications --list
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    30
    madonctl --theme=ansi stream
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    31
9e846c5af138 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 82
diff changeset
    32
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
    33
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
    34
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    35
## Templates
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    36
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    37
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
    38
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    39
    madonctl timeline --limit 2 --template-file ansi-status.tmpl
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    40
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    41
### Template development
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    42
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    43
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
    44
- fromunix UNIXTIMESTAMP
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    45
- fromhtml HTMLTEXT
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    46
- wrap TEXT
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    47
- trim TEXT
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    48
- color COLORSPEC
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    49
  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
    50
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    51
  Examples:
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    52
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    53
    {{color "red"}}red text{{color "reset"}}
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    54
    {{color ",red"}}red background{{color "reset"}}
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    55
    {{color "white,,bold"}}bright white text{{color "reset"}}
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    56
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    57
    Message: {{color "blue"}}{{.content | fromhtml | wrap "    " 80 | trim}}{{color "reset"}}
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    58
4c0206d283e5 Update template README
Mikael Berthe <mikael@lilotux.net>
parents: 86
diff changeset
    59
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
    60
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
    61
_fromhtml_ (carriage returns are ignored).