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:
If you want to install all supported 3rd party libraries, run pip like this:
List of optional features
|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|