Distribusi is a content management system for the web that produces static pages based on the file system.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2.2 KiB

Distribusi CMS

distribusi is a content management system for the web that produces static index pages based on folders in the filesystem. It is inspired by the automatic index functions featured in several web servers. It works by traversing the file system and directory hierarchy to automatically list all the files in the directory and providing them with html classes and tags for easy styling.

Requirements

While a Pip install will pull in Python dependencies, you might need system dependencies. This package requires two underlying packages. Those are python-magic, and pillow. Here are the installation documentation for those packages:

Installation

Using --user or a virtual environment is recommended:

$ pip install --user distribusi

Note: check if the path of your local bin is added to your shell path (otherwise you cannot run distribusi from the shell directly).

To check where distribusi is installed:

$ find * | grep distribusi 

Add local bin to the $PATH variable:

$ PATH=$PATH:/home/USERNAME/.local/bin/

Usage

Get help with:

$ distribusi --help

Make a distribusi of your home folder:

$ distribusi -d ~/

You will find that you now have an index.html in every folder.

Create a quick gallery for the web:

$ distribusi -d /path/to/my/photos -t

This creates an index.html with base64 encoded thumbnails.

Generate verbose output:

$ distribusi -v

Make an index of the archive page:

$ distribusi -d /var/www/archive/my_event -t -v

Change It

Install Pipenv and then run:

$ pipenv install --dev
$ pipenv run pip install -e .
$ pipenv run distribusi --help

Release It

You'll need a PyPi account and to be added as a maintainer.

$ make publish