distribusi/README.md

100 lines
2.4 KiB
Markdown
Raw Normal View History

# Distribusi CMS
2018-02-10 19:15:57 +01:00
`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.
2018-02-10 19:15:57 +01:00
## Requirements
2018-02-10 19:15:57 +01:00
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:
2018-02-10 19:15:57 +01:00
2018-12-01 00:16:05 +01:00
* [github.com/threatstack/libmagic](https://github.com/threatstack/libmagic)
* [pillow.readthedocs.io](https://pillow.readthedocs.io/en/5.3.x/installation.html#external-libraries)
2018-02-10 19:15:57 +01:00
## Installation
2018-02-10 19:15:57 +01:00
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
```
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:
```bash
$ distribusi --help
```
2018-02-10 19:15:57 +01:00
Make a distribusi of your home folder:
```bash
$ distribusi -d ~/
```
2018-02-10 19:15:57 +01:00
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
```
2018-06-06 12:22:08 +02:00
Make an index of the archive page:
```
$ distribusi -d /var/www/archive/my_event -t -v
```
# ✌
## Change It
2019-07-08 20:00:32 +02:00
You'll need to get a copy of the repository and then do an [editable] install:
2019-07-08 20:00:32 +02:00
[editable]: https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode
2019-07-08 20:00:32 +02:00
```bash
$ git clone https://git.vvvvvvaria.org/varia/distribusi.git && cd distribusi
$ python3 -m venv .venv && source .venv/bin/activate
$ pip install -e .
```
2019-07-08 20:00:32 +02:00
You're then ready to make your changes and experiment with them.
## Release It
2018-06-06 12:22:08 +02:00
2018-12-01 00:16:43 +01:00
You'll need a [PyPi](https://pypi.org/) account and to be added as a maintainer.
2018-12-01 00:16:09 +01:00
```
$ make publish
```