Metadata-Version: 2.1
Name: distribusi
Version: 0.0.1
Summary: distribusi is a content management system for the web that produces static pages based on the file system.
Home-page: https://git.vvvvvvaria.org/rra/distribusi
Author: rra
License: GPLv3
Platform: any
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Description-Content-Type: text/markdown
Requires-Dist: pillow
Requires-Dist: python-magic

# 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:

* https://github.com/threatstack/libmagic
* https://pillow.readthedocs.io/en/5.3.x/installation.html#external-libraries

## Installation

Using [--user] or [a virtual environment] is recommended:

[--user]: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
[a virtual environment]: https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments


```bash
$ pip install --user distribusi
```

## Usage

Get help with:

```bash
$ distribusi --help
```

Make a distribusi of your home folder:

```bash
$ 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]: https://pipenv.readthedocs.io/en/latest/install/#installing-pipenv

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


## Release It

```
$ make publish
```


