Getting Started
Installation
First of all flamingo needs a proper python3.5+ environment.
# apt install build-essential python3-dev python3-venv python3-pip
The recommended way to install flamingo is using pip.
pip install flamingo
Start a new flamingo project
The simplest way to bootstrap a flamingo project is to use flamingo init. Flamingo does not enforce a specific project structure but comes with a number of project templates.
A list of available project templates, their descriptions and variables is available by running flamingo init -l.
$ flamingo init wobsite project_name="Wobsite"
$ cd wobsite/
$ make html
The content of wobsite will look like this:
wobsite/
├── content/ # flamingo will search for content here recursively
├── Makefile
├── overlay/ # here you can place files like a robots.txt or a
│ favicon.ico
├── plugins/ # place your plugins here
├── README.rst
├── REQUIREMENTS.txt # list of all python dependencies
├── settings.py # all settings are stored here
└── theme/ # root of all HTML templates, CSS- and JS files
The new project comes with a gnu make file, that handles flamingo dependencies in a python virtualenv, setting the right python version and holds command line options for building.
To build the project run make html.
Flamingo comes with a interactive webserver for writing content and debugging. Run make server and go to localhost:8080 with your browser. Let server and browser run while writing your content. Flamingo tracks file operations in content/, rebuilds updated files and refreshes the browser tab if needed.
Read more about flamingo Live-Server.
Optional external dependencies
Flamingo supports setuptools optional features for having support for 3rd party libraries without defining hard dependencies.
For example: If you want to install flamingo with markdown support you have to change your REQUIREMENTS.txt like this:
flamingo[live-server,markdown]
If you want to install all supported 3rd party libraries, run pip like this:
flamingo[full]
List of optional features
Name | Description |
---|---|
live-server | Required for flamingo server. Installs aiohttp, aiohttp-json-rpc and IPython |
ipython | Required for flamingo shell. Installs IPython |
chardet | Adds support for chardet. Needed for settings.USE_CHARDET |
pygments | Adds support for pygments |
thumbnails | Adds support for image scaling. Installs pillow |
markdown | Adds support for markdown using python-markdown |
coloredlogs | Adds support for coloredlogs |