I like this idea a lot and have been working on my own static site lately. I wonder if there will be a set of themes that cascade (theme file->user override) similar to other static site builders like Hugo. I think it’s really appealing for folks to take their content and try it out with several themes to decide on a starting point that nails down the basics for them. Plus you can build a gallery of themes, which is great marketing!
The demo pages do have some broken bits BTW. For example on this page I get a 404 for an image and the equation is not being rendered correctly.
Author / OP here. That’s an interesting idea and I have discussed it in the past with a friend of mine to build such a gallery and further automate the theme / layout selection. Re: image 404, permalinks – fixed.
What about python, pandoc, flask, and so on is lightweight? Has the world gone mad?
There are a remarkable number of static blog generators ….
My first blog was a bash script that served up raw html. I moved via MT to WP and finally to Blosxom that’s been running statically for years now.
The real enabler here is stuff like markdown.
Edit to clarify - for me personally it makes more sense to have my textual content in a “normal” filesystem than stuck in a CMS database.
Markdown is an ideal markup language for me, it’s very easy to write prose with just occasional elements mixed it, it scales well by interpreting HTML, and it’s almost universal at this point.
The MathML output looks broken on the demo site here. I’m on Chrome on MacOS.
Author / OP here. Chrome ditched MathML for MathJax a little while ago [link] and I have not found a way yet to support both. (Relevant.)
That’s a damn shame!
This reminds me of Pelican. What’s the main difference?
As far as I’m aware, pelican doesn’t support Pandoc out of the box (the most crucial tool in my writing infrastructure outside of athena;) one would need to download and install a plugin. athena started as a pet project to scratch my own itch and in the process I thought of releasing it publicly as well since it’s a great playground to experiment with ET’s ideas and SSGs while incorporating my personal Pandoc (academic and casual) publishing workflow. My main goal was to create one workflow to write plain text docs and be able to publish to PDF via LaTeX (Tufte layout or not,) HTML (same,) slides, letters, &c without (or with minimal) changes in document structure. athena is responsible for the HTML and blog in my setup. Moreover, athena tries to be as minimal with as few dependencies and options as possible.
Does static mean something different than what I think it does? Why does a static blog need flask?
Installation is a bit too complex for a minimal blog generator. Maybe create a Homebrew formula for it?
While I’d argue it isn’t that complex, you’re generally right – I plan to automate the installation and customization process.
nix / nixos could probably solve this problem quite nicely.
I really like this, I recently saw https://write.as/ but was disappointed it was more for writing, and not for blogs.
After a quick pass in Firefox and Orca, it seems Athena is quite accessible, too.
I got Athena running under Fedora 29 today. Here are my notes to help anyone else who might be interested in doing something similar. At some point, I hope to translate this into a snap, and/or get a post up on my own Athena blog. For now, these are my raw notes from Org mode:
#+TITLE: Athena static site generator
A beautiful static blog generator.
As of 2019-03-08:
- Python 3
* Installing on Fedora 29
** Python 3
Already installed, but you need these too:
sudo dnf install python3-virtualenv python3-frozen-flask python3-pypandoc
pip3 install --user flask_flatpages
** pandoc and pandoc-citeproc
Fedora 29 has Pandoc 2.1.2 in the repo:
sudo dnf install pandoc pandoc-citeproc
Project page: https://github.com/lierdakil/pandoc-crossref
Each build corresponds to a specific version of Pandoc. Pandoc 2.1.2 is in the Fedora repositories, so use: https://github.com/lierdakil/pandoc-crossref/releases/tag/v0.3.0.2
The archive contains a binary and library.
Project page: https://github.com/jez/pandoc-sidenote
Note: there's a Haskell build tool named cabal available in the Fedora package repository named =cabal-install=. However, the build command =cabal install pandoc-sidenote= failed, and I was unable to find a way to fix it.
*** Using Haskell Stack
Used the script at https://docs.haskellstack.org/en/stable/install_and_upgrade/#linux to install Haskell Stack.
curl -sSL https://get.haskellstack.org/ | sh
git clone https://github.com/jez/pandoc-sidenote
# This will take a long time. It builds pandoc 2.1.2.
* Install Athena project
git clone https://github.com/apas/athena.git
* Running Athena
This starts the Python flask at http://127.0.0.1:5000/
I’m curious about athena’s supported for ET styled PDF and LaTeX output. Can you give a PDF example of one of these essays in the demo site?
athena doesn’t support PDF output; it only converts to HTML. My personal Pandoc Markdown to PDF via LaTeX script produces documents like this (.md source) when I export to an ET template.