Skip to content

Tool to generate html web site from txt input

License

Notifications You must be signed in to change notification settings

ritikbheda/cli-ssg

 
 

Repository files navigation

cli-ssg

stage badge stage badge

Tool to generate html web site from txt input

Installation

npm i
npm i -g .
npm link

Usage

cli-ssg -i "sample_file.txt"

This processes text from sample_file.txt and generates sample_file.html

cli-ssg -i "sample_file.txt" -s "./stylesheet.css"

Same as above, however sample_file.html now uses ./stylesheet.css

cli-ssg -i "sample_dir" -o "output_dir"

This processes all the .txt files in sample_dir and generates .html files for each of them. It also creates an index.html with relative links to each page, storing all these files in output_dir.

Options

  -h, --help        Show help                                          [boolean]
  -v, --version     Show version number                                [boolean]
  -i, --input       Input file/folder to be processed        [string] [required]
  -o, --output      Output directory                [string] [default: "./dist"]
  -s, --stylesheet  CSS Stylesheet for the website                      [string]

Features

✅ Parse title from the input files
✅ Ability to provide a custom output directory
✅ Ability to provide stylesheet URL
✅ Recursively parses input nested directories and files
✅ Automatically generates index.html if multiple txt files are present in input directory

Examples

Simple Example:

cli-ssg -i ".\sample_input.txt" -o "custom_dir" -s "https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.8.0/tufte.min.css"

sample_input.txt:

Sample title                   //<---first line followed by 2 empty lines treated as title


This is the first paragraph.
                               //<--- blank spaces treated as paragraph limits
This is the second paragraph.

This is the third paragraph

custom_dir\sample_output.html:

<!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Sample title</title>
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link href="https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.8.0/tufte.min.css" rel="stylesheet">
    </head>
    <body>
      <h1>Sample title</h1>
      <p>This is the first paragraph.</p><p>This is the second paragraph.</p>
    </body>
    </html>

Complex Example:

Using multiple text files in the input directory, the following website was created with an auto-generated index.html having links to each individual page:

https://cli-ssg.vercel.app/

License

MIT

About

Tool to generate html web site from txt input

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%