Commit graph

12 commits

Author SHA1 Message Date
Vincent Ambo
3253e4c4fb chore(elblog): Prepare for depot merge 2019-12-21 00:56:13 +00:00
Vincent Ambo
05bdeba853 feat(blog): Let users extend/customize elblog routes
The default elblog route (/{article-name}) can now be extended with
user-supplied routes by overriding the elblog-additional-routes
customize variable.

This variable takes the same format as the alist supplied to
elnode-hostpath-dispatcher.

The prefix `/en` has been dropped from the default handler because
that only existed to be compatible with my old blog, which is no
longer required as it can now be handled with a custom legacy route in
my personal blog configuration.
2017-11-13 22:45:30 +01:00
Vincent Ambo
2ba11f5c03 feat(blog): Register blog articles in hash-table
* adds a hash-table stored in a variable called `elblog-articles` that
  defines a map of article names (used as URI fragments) to file names
  of org-mode files
* adds a custom variable `elblog-article-directory` which must be set
  to the base path of the org-mode files representing elblog articles
* refactors the article-rendering functions to look up articles in the
  articles hash-table and renders them from there

After this change elblog is almost functional as a blog software, only
missing index generation.
2017-11-13 18:40:59 +01:00
Vincent Ambo
5065f5395b feat: Make blog-title configurable in preamble 2017-11-13 16:49:41 +01:00
Vincent Ambo
3e37d3990d refactor: Load preamble from an HTML file, too. 2017-11-13 16:42:45 +01:00
Vincent Ambo
07583c2b19 style: Allow for slightly wider page bodies 2017-11-13 16:42:09 +01:00
Vincent Ambo
040c348780 feat(blog): Configure org-mode's HTML export to match blog theme
This gets elblog close, but not quite there, to my previous blog
theme.

Comparison screenshot: http://i.imgur.com/UK49Fhi.png
2017-11-13 00:57:20 +01:00
Vincent Ambo
b4dad1526d feat(blog): Add customization group for configuring elblog settings
Adds a customization group which can currently be used to configure
the host and port that elblog should run on.
2017-11-13 00:16:26 +01:00
Vincent Ambo
ba01528a77 docs: Add initial README 2017-11-12 23:57:51 +01:00
Vincent Ambo
4902e9c26c feat(blog): Add interactive start/stop functions 2017-11-12 23:56:27 +01:00
Vincent Ambo
3d4aba1803 feat(blog): Add initial elblog implementation
Implements a (very) simple "blogging" software in Emacs Lisp using
org-mode and elnode.

Once loaded and started, elblog will serve individual blog posts at
`localhost:8010/en/$post-name`, where "post-name" can be any string.

Elblog will attempt to find a buffer called "$post-name.org" and
render it to HTML.

An index of blog posts is currently not implemented and everything is
completely unthemed, but for a language this old this is ridiculously
productive given the amount of code.
2017-11-12 23:48:21 +01:00
Vincent Ambo
e2c4755426 chore: Initial commit 2017-11-12 23:48:12 +01:00