Skip to main content

Static site generator for webcomics

Project description

Springheel

A static site generator for webcomics (in beta)

Springheel is a static site generator for webcomics.

Whether it's static site generators or Wordpress plugins, most existing software is geared towards blogs, not comics. Adapting them to work with comics is kludgey and fragile, and unnecessarily exposes you to security problems. But why force a square peg into a round hole when round pegs are easy enough to make? With that in mind I created Springheel. (The name comes from Spring-heel Jack, for the "English monster" naming scheme that many static generators keep to.)

Springheel is built with Python >= 3.7, Feedgenerator, python-slugify, and tdqm.

Keep in mind that I'm self-taught (obligatory xkcd) and maybe don't look too closely at the actual code.

Features

  • Easy to use. Updating is a matter of putting a couple of files in a folder and running a single script. Building hundreds of pages takes less than a minute even on a slowish computer.
  • Lots of customization. Use your site as a hub for multiple comics or just one; select any of dozens of (responsive) default themes or roll your own; fiddle with almost any aspect of the finished site you can think of. Not to mention that the generated HTML is clean and easy to modify. It's all up to you!
  • Small and secure. Keep hosting costs down, and never worry about updating Wordpress again (and again and again...) because of yet another gaping security flaw.
  • Relatively accessible. Generated sites use semantic HTML5 with alt text, skip links, and link rel navigation. They're designed to include plaintext transcripts too. The default themes are large and easy to read, and their color schemes comply with WCAG AAA.
  • Everything a comic (not a blog) needs. Making a characters page is so quick, you'll never have an out-of-date one again! Sections for creator commentaries are included by default too.
  • Bring back creator-run syndication. Springheel generates RSS feeds and even JSON Feeds, so no one has to miss a strip due to fickle corporate social media algorithms.
  • Easy reading. If your comic is divided into chapters, Springheel generates easily navigable "chapter pages" that display all of each chapter's strips at once.
  • Freely licensed. Springheel is GPLv3+ software that anyone can fork and contribute to. (Releasing Springheeled comics under a Free Culture license is encouraged but not required.)
  • Cute mascot!

Installing

Springheel requires at least Python 3.7.

If you want to build from the git source, you'll need the following dependencies:

Then navigate to the springheel directory, and run setup.py install. You may need to start a virtual environment, or run this with su -c or --user, depending on the type of Python install you have.

Important: If you're on Windows and get an error about Visual C++ while installing dependencies (lxml especially), do not panic! Just use PyPI to install that specific library directly, then try to install springheel again.

Also important: Multiple different Python libraries call themselves "slugify" and collide with each other, so bad things happen if you have e.g. both python-slugify and unicode-slugify installed. To ensure that this software works as intended, you will need to either install Springheel in a clean virtual environment, or completely remove all "slugify" libraries but python-slugify.

License

Copyright 2017-2021 garrick. Some rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

To the extent possible under the law of the United States, the image files included in themes/ and arrows/ are released into the public domain.

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

springheel-7.0.1.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

springheel-7.0.1-py3.9.egg (1.4 MB view details)

Uploaded Source

springheel-7.0.1-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file springheel-7.0.1.tar.gz.

File metadata

  • Download URL: springheel-7.0.1.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.5

File hashes

Hashes for springheel-7.0.1.tar.gz
Algorithm Hash digest
SHA256 1d331e7788703700d0fcdc79ece403d32dc7423cc41289cbd1164681bb8340d9
MD5 cdb409c96a76501b1bec7728165d85a4
BLAKE2b-256 cc1cf0ecc7c2a35c9b5e67e18fc441566f50cd7c27781c1ede6594d7af5ccf89

See more details on using hashes here.

File details

Details for the file springheel-7.0.1-py3.9.egg.

File metadata

  • Download URL: springheel-7.0.1-py3.9.egg
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.5

File hashes

Hashes for springheel-7.0.1-py3.9.egg
Algorithm Hash digest
SHA256 5a95d178e6ab82522af75e4d139db33108b7a4f872f896562d4a6562d5b2e7d0
MD5 7bea7bf23d225f8d27cb99ee45ed11d9
BLAKE2b-256 bf72f397202c3929dd8259b46767ddf79844eedda284a9d965749eab9425c4c2

See more details on using hashes here.

File details

Details for the file springheel-7.0.1-py3-none-any.whl.

File metadata

  • Download URL: springheel-7.0.1-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.5

File hashes

Hashes for springheel-7.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 01e9feaf42ae2a8c604aac89d9d4a99c7ce2f3615aac9e6d121025618b2c837c
MD5 fe00b509f4e6861d08595636a92c830b
BLAKE2b-256 8192801efa3985f624175517fb5e427b1726dff3295d578fb1c9ad28e6afbd79

See more details on using hashes here.

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