emanote
Spiritual successor to neuron, based on Ema.
Create beautiful websites -- such as personal webpage, blog, wiki, Zettelkasten, notebook, knowledge-base, documentation, etc. from future-proof plain-text notes and arbitrary data -- with live preview that updates in real-time.
Project Status: In beta phase, but is nearly 1.0.
Installing and using
# Install (`cachix use srid` for cached binaries)
nix-env -if https://github.com/srid/emanote/archive/refs/heads/master.tar.gz
# Or, from the Git repo: nix-env -if ./default.nix
# Run live server (PORT is optional)
cd /path/to/notebook
PORT=8001 emanote
# Generate static files
mkdir /tmp/output
emanote -L /path/to/notebook gen /tmp/output
For other installation methods, see here.
Examples
Emanote is suitable for creating ...
- ... project sites, such as: ema.srid.ca (view source).
- ... wiki sites, such as: Unofficial r/TheMotte Wiki (view source)
- ... personal website/blogs, such as: www.srid.ca (view source)
- ... Zettelkasten sites (Neuron-like), such as: woke.zettel.page (view source)
Developing
Emanote is written in Haskell. Thanks to Nix, this repository is pre-configured to provide a delightful development experience with full IDE support in Visual Studio Code. Follow these steps:
- Install Nix & enable Flakes
- Run
nix-shell --run haskell-language-server
to sanity check your environment (Expect it to download and build a bunch of things the first time) - Open the repository as single-folder workspace in Visual Studio Code
- Install the workspace recommended extensions
- Ctrl+Shift+P to run command "Nix-Env: Select Environment" and select
shell.nix
. The extension will ask you to reload VSCode at the end.
- Press Ctrl+Shift+B in VSCode, or run
bin/run
(bin/run-via-tmux
if you have tmux installed) in terminal, to launch the dev version Emanote on./docs
, then navigate to http://localhost:9010/- Changing the Haskell sources will recompile and reload this instance automatically.
All but the final step need to be done only once. See architecture.md for a high-level overview of the codebase.
Discussion
To discuss the emanote project, join Matrix or post in GitHub Discussions.