Skip to main content

Uses python to generate static html files from a single txt or folder of txt files

Project description

Python Static Site Generator (SSG)

Uses python to generate static html files from a single txt or folder of txt files.

Download as a package

Simply run pip install ssg-a-rokay then import into your project like so:

from ssg import ssg

ssg.main(["-i", "Sherlock Holmes Selected Stories"])

Prerequisites

  • Python3
  • Python-Markdown pip install markdown
  • Pygments pip install pygments

Features

  • Supports stylesheets. Pass the url of the stylesheet to -s or --stylesheet (See usage).
  • Supports titles. If the first line is followed by two blank lines, it will be encased in an <h1> tag and set in <head>.
  • A blank line in the input file constitutes the end of a paragraph.
  • Full Markdown support

Example

example.txt
Custom title


This is a short paragraph.

This is a longer example
of a paragraph.

Becomes:

./dist/example.html
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Custom title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>Custom title</h1>


<p>This is a short paragraph.</p>

<p>This is a longer example
of a paragraph.</p>
</body>
</html>

Usage

  1. Passing a single text file:
ssg.py -i text.txt
  1. Passing a folder. Only txt files will be parsed:
ssg.py -i folder
  1. Passing a folder and providing a stylesheet:
ssg.py -i folder -s https://example.com/with/css.css
  1. Passing a language:
ssg.py -i folder -l pt-BR
  1. Passing a Config file:
ssg.py -c example.json

Help

usage: ssg.py [-h] [-v] -i INPUT [-s STYLESHEET]

Static site generator

optional arguments:
  -h, --help                                Show this help message and exit
  -v, --version                             Show program's version number and exit
  -i INPUT, --input INPUT                   Pass a file or folder of files
  -s STYLESHEET, --stylesheet STYLESHEET    URL to a stylesheet
  -l LANG, --lang LANG                      Language to be set in root html tag
--help/-h

Displays a list of arguments and what they do (above).

--version/-v

Displays the program name and version.

--input/-i

Required argument. Used to provide an input folder or file. Only txt files will be parsed in folders. See usage #1 and #2.

--stylesheet/-s

Optional argument. Pass a url to a stylesheet. See usage #3.

--lang/-l

Optional argument. Pass a language to root html tag. See usage #4.

--config/-c

Optional argument. Pass a configuration JSON file that contains commands. This would allow for users to simplify the command line to a simple -c command.

Contributing

Before contributing, please review CONTRIBUTING.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssg-a-rokay-1.0.4.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

ssg_a_rokay-1.0.4-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page