Readme
insight
insight
is a web server allowing you to edit markdown articles and host the rendered result publicly.
Features
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
To-do
email templates
automatic deletion of anonymous posts after configurable duration
Setup
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.
Security considerations
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.
License: MIT