insight
is a web server allowing you to edit markdown articles and host the rendered result publicly.
- customizable homepage (it's an article as well)
- anonymous and email-protected articles (sending emails requires easy DKIM/SPF configuration)
- CSS queries-based light/dark theme selection
- on-disk JSON database → easy backups
- easily dockerized
- email templates
- automatic deletion of anonymous posts after configurable duration
- Install the Rust toolchain
- Get insight:
$ cargo install insight
- Create
config.json
:
{
"domain-name": "i.l0.pm",
"dkim-private-key-path": "dkim.pem",
"dkim-selector": "insight2022",
"articles-dir": "articles",
"mail-dir": "mail",
"mail-username": "insight",
"listen-address": "127.0.0.1:9090",
"new-article": "new",
"manage": "manage",
"home": "home",
"allow-creation": true
}
- Create required directories:
$ mkdir articles mail
- Start the server:
$ insight -c config.json
This will accept requests from all IP addresses
- Access the server from a web browser to generate the home page: http://localhost:9090/
- Edit your home page
- Save the home page edition link (which is secret) to be able to edit it again later
- Go to http://localhost:9090/new to create other posts.
HTML tags are currently stripped from posts at render-time to prevent cross-site scripting vulnerabilities.
We rely on the pulldown_cmark
crate to detect these tags.
If you manage to get any JS code to execute in the post viewer via markdown, please file an issue because it shouldn't happen.