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.

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-0.0.2.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ssg_a_rokay-0.0.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file ssg-a-rokay-0.0.2.tar.gz.

File metadata

  • Download URL: ssg-a-rokay-0.0.2.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for ssg-a-rokay-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6eb08a44811f10640f2af66e45201ee2fa87fdeb4daaaea64824efea541e238e
MD5 2f94113d4c38b2978f978b201f0b0d32
BLAKE2b-256 e4585e8f1c4c45b18eed3f2883f35f83ba4c1b52f213070707ff63c5d2abdb93

See more details on using hashes here.

File details

Details for the file ssg_a_rokay-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: ssg_a_rokay-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for ssg_a_rokay-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 df05006a96d73d37ddea74c9de6274e49567dafc48d5ab5741e0684b7ff8be01
MD5 6107eab490dc81c1423f2ace5e6432c4
BLAKE2b-256 9f7bb4bf23c8a2959cd642dd41e3af52f31c0631d464748e576053119f3644d0

See more details on using hashes here.

Supported by

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