DEV Community

Neil An
Neil An

Posted on

Creating my static site generator

Hi everyone,

This week, I created my own SSG (static site generator) called nan1-ssg using JavaScript and node.js. My SSG will generate .html files from .txt files as specified by the user.

Some features of nan1-ssg are:

  • Generating valid HTML5 files from .txt files and placed in the dist directory
  • An index.html file is created which contain relative links to the generated HTML files
  • Each HTML file uses a default stylesheet to improve beauty and readability

Usage

To use my SSG, node.js is required. After node.js is installed follow these steps to use the tool:

To use this tool:

  1. Clone or download and extract the repo to a location on your computer.

  2. Open a terminal/command window and navigate to the location where the tool is.

  3. Run the npm install command:

npm install
Enter fullscreen mode Exit fullscreen mode
  1. Run the npm link command:
npm link
Enter fullscreen mode Exit fullscreen mode
  1. Start using the tool! For example:
nan1-ssg [-option]
Enter fullscreen mode Exit fullscreen mode

A list of options:

Option Details
-v, --version Will display the name and version of the tool.
-h, --help Will display a help message, showing options and usage.
-i , --input Gives the tool a filename to generate HTML files with. The filename can be a file or a directory.

Examples

For a text file:

node main -i hello.txt
Enter fullscreen mode Exit fullscreen mode

For a directory:

node main -i Sherlock-Holmes-Selected-Stories
Enter fullscreen mode Exit fullscreen mode

Files that are nested:

nan1-ssg -i "./Sherlock-Holmes-Selected-Stories/Silver Blaze.txt"
Enter fullscreen mode Exit fullscreen mode

Files containing spaces:

node main -i "file with spaces.txt"
Enter fullscreen mode Exit fullscreen mode

Link to repo: nan1-ssg

Example of generated static site: https://neilan99.github.io/

Top comments (0)