Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
light-wait
is a blogging platform to produce light (as in features), minimal wait (as in fast to download) web content from markdown.
Light-wait produces the bare minimum blog content from markdown files:
Here is an example screen-shot of blog content:
Usage: lightwait [OPTIONS] COMMAND [ARGS]...
Options:
--debug / --no-debug
--help Show this message and exit.
Commands:
export Export markdown of content to given TARGET_DIR
generate Create html and rss content within given DOCROOT
post Create a blog post using FILE The initial lines in the FILE...
post-all Create a blog post for each file in SRC_DIR The initial lines...
Install with pip
$ pip install lightwait
Use light-wait to generate blog content from existing markdown. Create a blog post from a single markdown file, providing optional name, description and tags, or point to a directory of markdown files and create posts from each file.
In this example, a post is created from a markdown file about opensource, and it is tagged 'software':
$ lightwait post example/opensource.md -n opensourced -d 'How Light-wait was open-sourced' -t software
In this example, a post is created for each markdown file in the given directory mydir
.
$ lightwait post-all mydir/
Light-wait creates the static site content at the configured docroot
directory, which by default
is at /usr/local/var/www/
.
A python web server can be used to verify the content:
$ cd /usr/local/var/www/
$ python3 -m http.server
Each post is assigned the following metadata, either derived from the markdown file or overridden by command line arguments:
general
Additionally, a markdown file may contain this metadata as a comment at the start of the file:
[//]: # (tags:['general'])
Light-wait is designed with customization in mind. When Light-wait is first run, a directory
is created under the user home directory. This is called .lightwait
and it will hold
configuration, CSS, templates and imported markdown and metadata:
$ cd ~/.lightwait
$ ls
lightwait.ini markdown metadata template www
$
These files will only be copied if this initial set does not exist- you can freely modify them, or if you wish to start over, remove them for Light-wait to re-initialize.
The most important user-defined configurations are held in the lightwait.ini
file.
This file contains the following properties, used to customize your static site:
url = http://localhost:8080/
blogTitle = title
blogSubTitle = subtitle
blogTagLine = tagLine
blogAuthor = author
blogAuthorEmail = author@example.com
blogLang = en
copyright = © name date
docroot = /usr/local/var/www/
lightwait.ini
is a python INI file (see configparser), containing a default configuration section and the
possibility to have multiple overriding configuration sections. Light-wait uses the lw
section and inherits all
defaults. You can configure the defaults for your site and override specific properties based on how
you wish to deploy your static content.
An example of using an override property is to be able to test locally but deploy remotely:
[DEFAULT]
url = http://localhost:8080/
[lw]
url = http://some.domain/
Refer to the example
directory for a fully configured INI.
Feel free to further customize the static content output by changing the templates (jinja2 format) or css. These can be found here:
~/.lightwait/template/base.index # Common including footer
~/.lightwait/template/main.index # for main index.html
~/.lightwait/template/tag.index # for tag-SOMETAG.html
~/.lightwait/template/post.index # for each post
~/.lightwait/www/css/main.css
The static site content can be re-generated from the posts at any time using the generate
command.
This has an optional docroot argument, allowing you to override the configuration setting:
$ lightwait generate
The following is an example of running lighttpd, a fast and lightweight web server, and generating web content from markdown files, using Light-wait.
To install lighttpd on MacOS using homebrew
$ brew update
$ brew install lighttpd
$ brew services start lighttpd
This installs a default configuration file /usr/local/etc/lighttpd/lighttpd.conf
and a docroot at /usr/local/var/www
Then open a browser to http://localhost:8080/
You can export all of your markdown content to a directory using the export
command. This additionally
will add post metadata, such as any description or tags, as markdown comments at the top of each file.
Here is an example of exporting all markdown data to the directory exportdir
:
$ lightwait export ./exportdir
The following frameworks and tools enable Light-wait:
Details are provided under the example
markdown
$ git checkout https://github.com/mechregard/light-wait -b name_for_new_branch
.pytest
and tox
(for testing on different versions of python)This is free, open-source software.
Image credit goes to: https://dauntlessfightclub.net/
FAQs
Light-wait produces the bare minimum blog content from markdown files
We found that lightwait demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.