Over the years I have tinkered with the idea of using ASCIIDoctor documents as the basis for a blog service. The Blog would be statically delivered and as damn simple as possible.
A PDF version of this document is available at this Link
I use ASCIIDoctor to do the majority of my documentation and have gotten good at it with special editor extension and snippets.
I have looked at a number of Open source solutions and most of them are either too complex or difficult to implement.
-
Hugo - Based on
Go
and a defined file structure that doesn’t allow the article to exist in a directory atomically. -
Gatsby - Difficult to install and is geared more towards document repository
-
Antora.org - Requires GIT repositories to create a document site generator, too many unneeded features
-
Vue based - Flexible but used GraphQL for access to even the filesystem, ASCIIDoc not mentioned
These are the requirements for a basic utility to manage ASCIIDoctor files specifically and generate a blog automatically
-
Use Blog articles as separate directories
-
Use ASCIIDoctor as the primary files for articles
-
Use the content of the ASCIIDoctor file to drive the indexing
-
The (=) title becomes the tile of the article
-
The preamble (The first paragraph of the document)
-
Date from the date line of the header
-
-
index.html generated from index.adoc to all for template of index to be changed
-
Blog order article is determined by a single text file in roo
order.txt
with a list of the directory name in the order they should appear in the blog-
Delete an article by (*) it in the
'order.txt
-
-
Use a FTPSync command to help move (New/Updated) generated content into web server
-
Auto generate HTML & PDF if the coersponding ADOC is more than 1 day old
-
Auto generate (Optional) the
order.txt
file of the sub-folder of the blog
-
Definition of Blog article file naming
-
readme.adoc for main document
-
readme.png (Optional) for Blog article image
-
ALl sub-directories in Blog article directory will be transferred except for
.exclude
folder
-
-
Node FTPSync - To manage transfer of generated updates
This is a simple text file with the names of the Blog Article folders to be included in the generated Blog Article web site.
Folders not listed here will NOT be in the generated web site.
Folders staring with an * will be hidden and will NOT be in the generated web site.
In this example New dog grooming methods
will not be in the generated web site
-
'order.txt' file must exist, fatal if it doesn’t
-
Directory listed in
order.txt
is missing -
Missing
readme.adoc
file in the directory being processed - Warning directory skipped -
Missing title line (= title) warning, use directory name
-
Missing date (v2.1,07/21/2019:type) warning, use todays date
-
Standard NPM Init
-
Other NPM Libraries
-
Chalk - Color display in terminal window
-
Figlet - Large ASCII characters
-
Clear - Clear the terminal screen
-