1. 22
  1.  

  2. 5

    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.

    1. 3

      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.

    2. 4

      What about python, pandoc, flask, and so on is lightweight? Has the world gone mad?

      1. 3
        1. 2

          Holy…

          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.

        2. 2

          The MathML output looks broken on the demo site here. I’m on Chrome on MacOS.

          1. 5

            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.)

            1. 2

              That’s a damn shame!

          2. 2

            This reminds me of Pelican. What’s the main difference?

            1. 2

              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.

            2. 2

              Does static mean something different than what I think it does? Why does a static blog need flask?

              1. 1

                Installation is a bit too complex for a minimal blog generator. Maybe create a Homebrew formula for it?

                1. 3

                  While I’d argue it isn’t that complex, you’re generally right – I plan to automate the installation and customization process.

                  1. 2

                    nix / nixos could probably solve this problem quite nicely.

                  2. 1

                    I really like this, I recently saw https://write.as/ but was disappointed it was more for writing, and not for blogs.

                    1. 1

                      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.
                      
                      Code: https://github.com/apas/athena
                      Demo: https://apas.github.io/athena
                      
                      * Requirements
                      As of 2019-03-08:
                      - Python 3
                      - pandoc
                      - pandoc-citeproc
                      - pandoc-crossref
                      - pandoc-sidenote
                      
                      * Installing on Fedora 29
                      
                      ** Python 3
                      Already installed, but you need these too:
                      #+BEGIN_SRC bash
                      sudo dnf install python3-virtualenv python3-frozen-flask python3-pypandoc
                      pip3 install --user flask_flatpages
                      #+END_SRC
                      
                      ** pandoc and pandoc-citeproc
                      Fedora 29 has Pandoc 2.1.2 in the repo:
                      #+BEGIN_SRC bash
                      sudo dnf install pandoc pandoc-citeproc
                      #+END_SRC
                      
                      ** pandoc-crossref
                      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.
                      
                      ** pandoc-sidenote
                      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.
                      #+BEGIN_SRC bash
                      curl -sSL https://get.haskellstack.org/ | sh
                      git clone https://github.com/jez/pandoc-sidenote
                      cd pandoc-sidenote
                      # This will take a long time. It builds pandoc 2.1.2.
                      stack build
                      stack install
                      #+END_SRC
                      
                      * Install Athena project
                      #+BEGIN_SRC bash
                      git clone https://github.com/apas/athena.git
                      cd athena
                      export PATH=$PATH:~/Development/pandoc-crossref
                      alias pip=pip3
                      alias python=python3
                      python install.py
                      #+END_SRC
                      
                      * Running Athena
                      #+BEGIN_SRC bash
                      python athena.py
                      #+END_SRC
                      This starts the Python flask at http://127.0.0.1:5000/
                      
                      1. 1

                        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?

                        1. 1

                          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.