- super simple 😊
- one binary + config file
- no user accounts
- pages are stored as plain markdown files
- page versioning
- github theme (thanks to https://github.com/sindresorhus/github-markdown-css)
- Echo used as underlying http framework (https://echo.labstack.com/)
- using golang 1.16 (because of embed feature)
- inspired by go-bwiki
Every update will create new version of the page.
You can then view and restore any version you want.
Deleted pages are moved to the trash. You can view them or restore them if you need.
screenshots made using: https://www.screely.com
go build .
Application loads config.yml
on start up.
host: localhost
port: 8080
storage: .storage
host
&port
- web server configurationstorage
is directory where pages going to be stored
[Unit]
Description=mdwiki
After=network.target
Wants=network-online.target
[Service]
Restart=always
Type=simple
WorkingDirectory=/opt
ExecStart=/opt/mdwiki
[Install]
WantedBy=multi-user.target
- update
ExecStart
andWorkingDirectory
based on installation path - working directory needs to be set because
mdwiki
expectsconfig.yml
to be in the same directory as executable - place file in
/etc/systemd/system/mdwiki.service
- start service:
systemctl start mdwiki
- stop service:
systemctl stop mdwiki
- service status:
systemctl status mdwiki
- enable service:
systemctl enable mdwiki
(enable
will hook the specified unit into relevant places, so that it will automatically start on boot)
Made using https://excalidraw.com