You would like to write a blog or whatever, which is a bunch of notebooks on your hard disk which gets rendered to a normal web page on a server somewhere. You would like to not have to spend energy on maintaining some bit of fancy software.
Companion piece to academic blogging workflow, wherein I will mention plain text blogging choices, but I do not worry so much about certain constraints which are important mostly to academics, i.e. e.g. the need to support mathematical equations, graphs, citations…
TODO: AFAICT there is not much to choose between the various site generators I mention below as far as the base functions go (taking some text files and making them look acceptable on the internet).
There are some advanced features which would be distinguishing, if I had treated them more thoroughly:
- Good graphical preview in an editor.
- Intuitive handling of images and diagrams and so on.
There are many alternatives here. See the About page to see which ones I am (currently) using for this site.
A.k.a. the static site generator. The core bit. The software that takes your plain text files and turns them into friendly websites.
There are lots of tools to do this. There are hundreds — maybe thousands — of static site generators, stemming from the primordial (and no longer active) static site generators such as the venerable bloxsom.
Some interesting ones ones:
- Jekyll (ruby) which is the default for github, although I personally could never make it work for me.
- Hugo (go) is a popular system. Its R companion, blogdown, is probably ascendant for academics.
- Pelican (python)
- Hakyll is a haskell one with good pandoc integration.
- Neuron (haskell) is noteworthy because it puts Zettelkasten online, which is nice if that is your thing.
- There are some extra ones, below, that integrate specialised editor apps, a.k.a. CMSs, which are mentioned below.
One can find many more.
There are all generic. Academic blogs have special needs, so I review some academic options on their own page.
hugo are opinionated and provide a featureful setup per
Others, like lettersmith
take a DIY route where they provide the libraries to build something minimal.
Try JAMstackthemes for a smörgåsbord of themes for various software.
Ultimately the content still has to be visible online, so I need to get a web-host. This turns out to be a competitive, changing field.
- github incidentally hosts sites as part of their
- Zeit Now offers many sophisticated tweaks to static content hosting based on their “vervel engine”. These folks seem to specialise in integrating with third parties. See Simon Willison’s case study.
- Various other generic hosts such as Hostinger or Vindo
If your static site system comes with some kind of app that will edit that site it is called a CMS, for content management system. There is a continuum between that and an editor with integrated static site generator capabilities. Also there there is no sharp distinction truly between online and offline editors, for all that I have tried to make one below for the sake of simplicity. Sometimes the local CMS can run on the internet, sometimes that would be unwise or inconvenient.
If you use markdown, which is the de facto standard markup for plain text blogging it might be a good start to simply preview that in the old code editor. If you are using some other weirder specialised markup, good on you but I will not cover that here since presumably if you know enough to do that, you know the consequences.
For a combination blogging tool and encrypted markdown edition note storage you might want to use something like standard notes, which costs some money when you use the bells and whistles, although might be worth it if your notes include confidential ones.
Preview tools, that show you plain text as rendered web-style HTML, make it all nicer.
publii is a desktop-based CMS with integrated site generator for Windows, Mac and Linux. Seems to be based on Electron/node.js.
RStudio has sophisticated integration with blogdown blogs.
NetlifyCMS is Netlify’s generic CMS client for various static site backends offering a friendly, integrated CMS workflow.
A blogging platform with no interface
Why a blogging platform with no interface? So you can blog with your favorite tools. Blot turns a folder into a blog. Drag-and-drop ﬁles inside to publish. Images, text ﬁles, Word Documents, Markdown and more become blog posts automatically.
cactus, below, features a GUI app too.
Hokus is one just for Hugo sites.
marked is cheap macOS markdown editor/previewer…
restview is a previewer for an alternative markup called ReST
mou is cheap and looks nice.
and (free! open source! mou-like design): Macdown
livereload turns any browser into a preview tool.
Experts can run a localhost dev server which will host a minature wersion of the website
Websites that edit your website for you.
forestry seems popular?
gitbook is a markdown website GUI and publishing toolchain.
classeur attempts to be friendly for more than nerds.
“Prose provides a beautifully simple content authoring environment for CMS-free websites. It’s a web-based interface for managing content on GitHub. Use it to create, edit, and delete files, and save your changes directly to GitHub. Host your website on GitHub Pages for free, or set up your own GitHub webhook server.”
Draft is another popular frontend with many features of varying usefulness (“ask an editor” function?)
Gitit is a wiki backed by a git, darcs, or mercurial filestore. Pages and uploaded files can be modified either directly via the VCS’s command-line tools or through the wiki’s web interface. Pandoc is used for markup processing, so pages may be written in (extended) markdown, reStructuredText, LaTeX, HTML, or literate Haskell, and exported in ten different formats, including LaTeX, ConTeXt, DocBook, RTF, OpenOffice ODT, and MediaWiki markup.