README
Introduction
indie-org is an Emacs package for getting statically-generated web sites published with Org-mode’s HTML Export facility onto the Indieweb. The project is nascent, but I am running my sites on it. I may publish it to MELPA at some point, so I’m trying to respect both the GNU and MELPA coding conventions.
User documentation may be found here. I’ve started a demonstration site here.
License
This code is released under the GPL version 3.
Prerequisites
indie-org requires Emacs 26.1 and Org-mode 9.5.3.
Installation
At present indie-org is only available as source:
git clone git@github.com:sp1ff/indie-org.git
cd indie-org
./bootstrap
./configure
make
make check
sudo make installThe build process does make an Emacs package, so you can also do:
# as above...
make check
make distto produce an Emacs package file (indie-org-0.6.0.tar) which you can install with package-install-file in your Emacs.
Hacking
Environment Variables
You’ll probably want to setup the following environment variables:
EMACS: set this to the full path to your Emacs executable, if it’s not on yourPATHEMACSLOADPATH: if you’ve gotindie-orginstalled somehwere on your default load path, you’ll likely want to set this while developing to ensure that Emacs always picks-upindie-orgfiles in your development directoriesPRECOMMIT_EMACSFLAGS: the pre-commit hook will runpackage-lintin a clean Emacs;package-lintwhich isn’t built-in so use this variable to tell Emacs where to find it
The author wraps all this up in a file that he sources into his shell for development work:
#!/usr/bin/sh export EMACS=/opt/emacsen/current/bin/emacs export PRECOMMIT_EMACSFLAGS="-L ~/.emacs.d/elpa/package-lint-20221003.1636" export EMACSLOADPATH=$HOME/code/projects/indie-org:\ $HOME/code/projects/indie-org/test:\ /opt/emacsen/current/share/emacs/30.0.50/lisp
Status & Roadmap
It’s early days, and I’ve tried to indicate that with the version number (0.x). In order to use it successfully, you’re going to need to be familiar with the Org Export facility and comfortable with Emacs Lisp. That said, it’s not just an experiment: I’m using it today with my personal site.
The code base grew organically (one might say like a weed) in the first few releases, but the 0.3 series was a significant re-write in view of the lessons learned during the first iteration. The 0.5 series & later include proper documentation.
I gave a talk on one small part of this at EmacsConf. I host the documentation on my personal site. I’ve published the source to the demonstration site on Github. Bugs, feature requests and so on welcome!