Tin - a static website application written in Go
Accept the location of a configuration file from an environment variable.- Render and serve markdown files from a directory specified in the configuration file.
- Provide TLS encryption support with automatic cert updates from LetsEncrypt.
- Define URL navigation structure via config file, offering specific posts (filtered by characteristics) from different URL schemes.
- Keep an internal cache of posts and post characteristics, and render from memory as possible. No database requirement.
- Provide for templatized rendering per URL scheme.
- Monitor source directories for changes and update internal cache as appropriate.
- Provide a mechanism for a web hook to execute pre-configured commands (to pull updates from an external repo, for example).
- Offer a mountable, access-restricted editing interface that can be used to make updates to the local copy.
- Performance per page load should be sub-50ms.