UP | HOME

Self-publishing

Although typography and publishing are vast subjects, the principle-guided approach would help there.

The main principle is that a text prepared for publishing has lots of nested structure and specialized sub-languages or DSLs.

There are multiple layers in every published document, and each layer has its own nested structure.

The main principle is that the org-mode format is the most general (or generalized), while Markdown is more specialized (or specific), and LaTeX is even “low level” (closer to typograhy level).

This means that one has to write in the most general strucures and then specialize for publishing (without loss of any strucutre, it is actually augmenting or annotating an existing document structure).

Org-mode

The org-mode of GNU Emacs supports all the required nesting and block definitions and tagging, along with the basic export (into commonly used formats) functionality.

The org-mode structured text file format is an ideal source format, which can be exported or converted into other formats using pandoc.

Notably, an org-mode file could be exported out of box into pdf and djvu formats, as well as plain html.

Pandoc

The Pandoc converter does the right thing – it parses the source format (of a structured text) into a generalized AST first, and then from that AST it generates an output (the target format).

This is how one gets, say, Markdown or rst, from an org-mode file. Again, the main principle is that there is a common structure and tagging, and both are preserved (losslessly transformed) between various formats.

Emacs

The GNU Emacs is a software implementation of a Lisp Machine, which happen to have an editor within it. It could compile and run all your code blocks, pretty-print all your mathematics and check your spelling and your code.

There is objectively nothing better, provided you know how to use it and lots of external packages.

The Web

Export to static HTML (and CSS) for a static web-site (just a directory) is the most basic option. It is, however, powerful-enough to render high-quality and aesthetically pleasant content.

The mdbook of the Rust project is the tool of choice for self-published technical and programming books.

Hugo

Static site generators, such as Hugo, is an “advanced” option. It supports third-party themes and basic SEO, so a proper delegation (of mundane tasks) is going on.

Fortunately, there is the ox-hugo package for GNU Emacs.

Github Pages

It seems that the only remained censorship-resistant (or at least tolerable) free hosting is the Github Pages facility. It was originally designed for Jekill, but can host basically any static html directory.

This is where to publish your stuff.

Author: <schiptsov@gmail.com>

Email: lngnmn2@yahoo.com

Created: 2023-08-08 Tue 18:41

Emacs 29.1.50 (Org mode 9.7-pre)