Run `motd -h` to view all options. `motd` will look for a `$HOME/.motdrc`, `$XDG_CONFIG_HOME/.motdrc`, or `$XDG_CONFIG_HOME/motd/motdrc` file and use the settings there as defaults when running `motd` with no flags. If somehow `motd` is configured in a way that would result in an empty word list, it will fallback to the built in defaults.
Lines beginning with a `!` are actively removed from their respective word pool.\
Lines beginning with a `#` are ignored as comments.
Lines with the format `$()` can be `bash` expressions which are evaluated at runtime.\
Example: `nouns` file
```
# I'm really scared of these
!ocean
ocean
# The previous ocean will still not be added to the word pool
$(date +%H:%M)
```
Now running `motd` will remove 'ocean' from the noun word pool, while also adding the possibilty of running `date +%H:%M` when replacing a template's noun, which will give the current time of day.
```
motd -r # -r is to force the added nouns to be used, for this example
When the moon rises, the mighty 19:58 shines in the misty valley.
```
Word files don't have to live in your configuration directory, you can pass `motd` a custom `--configdir/-c`.
### Templates
Templates are separated by line. They can have as many or as few word types as you'd like.
*`{noun}` or `{n}`
*`{adjective}` or `{a}`
*`{verb}` or `{v}`
*`{adverb}` or `{d}`
*`{location}` or `{l}`
Bash expressions (`$()` form) in the `templates` file are evaluate at runtime.
`-C`: Specify a max amount of characters the message can be.
`motd` exits with `1` when it is unable to generate a valid message. Either the template pool is too diluted, or you create a valid template within the confines you want.