GitHub

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 install

The build process does make an Emacs package, so you can also do:

# as above...
make check
make dist

to 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 your PATH
  • EMACSLOADPATH: if you’ve got indie-org installed somehwere on your default load path, you’ll likely want to set this while developing to ensure that Emacs always picks-up indie-org files in your development directories
  • PRECOMMIT_EMACSFLAGS: the pre-commit hook will run package-lint in a clean Emacs; package-lint which 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!

Read the original on github.com ↗