in

NodeJs – Static site generator Release 0.1


mh-ssg is a simple static site generator that allows users to convert text files into HTML files. The tool is written in NodeJs with 4 main features. New features will be added on later. Visit the repo on Github.

  1. Clone the repo
  2. Install Node
  3. Redirect to project directory
  4. Install mh-ssg globally with npm i -g .
  1. Creates HTML files from specified file/directory
  2. Allows users to specify an output folder or use folder dist as default
  3. Allows users to specify a stylesheet
  4. Detects and sets the title of the file into the title and h1 of the HTML file (if any)

To use the tool, users can specify 3 options



-i –input

The tool accepts input as a single text file or or directory. If a directory is specified, the tool will ignore other file types and only process text files.

mh-ssg -i <file.txt>
mh-ssg -i <directory>
Enter fullscreen mode

Exit fullscreen mode



-o –output

Users can specify an output directory where they want to save the HTML files to. If the specified directory is not found, the tool will display an error message and will not process the input file. If no directory is given, the tool will use the default ./dist/

mh-ssg -i <file.txt> -o <directory>
Enter fullscreen mode

Exit fullscreen mode



-s –stylesheet

To use a custom stylesheet, simply pass in the link to the stylesheet to stylesheet option

mh-ssg -i <file.txt> -s <link-to-stylesheet>
Enter fullscreen mode

Exit fullscreen mode

mh-ssg -i file.txt -o folder -s https://cdn.jsdelivr.net/npm/water.css@2/out/water.css
Enter fullscreen mode

Exit fullscreen mode

will convert



./file.txt
Silver Blaze


I am afraid, Watson, that I shall have to go,” said Holmes, as we
sat down together to our breakfast one morning.

“Go! Where to?”

“To Dartmoor; to King’s Pyland.”
Enter fullscreen mode

Exit fullscreen mode

into



./folder/file.html
<!doctype html>
<html lang="en" dir="ltr">
<head>
<title>Silver Blaze</title>
<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">


</head>
<body>
<h1>Silver Blaze</h1>

<p>I am afraid, Watson, that I shall have to go,” said Holmes, as we sat down together to our breakfast one morning.</p>

<p>“Go! Where to?”</p>

<p>“To Dartmoor; to King’s Pyland.”</p>

</body>
</html>
Enter fullscreen mode

Exit fullscreen mode



Source: https://dev.to/minhhang107/nodejs-static-site-generator-release-0-1-oel

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GIPHY App Key not set. Please check settings

React components for Pelcro Elements

The REST API and control panel powering UCC Netsoc's services available to members of the society