|
|
4 years ago | |
|---|---|---|
| .. | ||
| flavors | 4 years ago | |
| static | 4 years ago | |
| templates | 4 years ago | |
| .env | 7 years ago | |
| Dockerfile | 4 years ago | |
| README.md | 7 years ago | |
| docker-compose.yml | 7 years ago | |
| main.py | 8 years ago | |
| requirements.txt | 7 years ago | |
| server.py | 5 years ago | |
README.md
Adding more flavors/steps
(Everything will go under setup/ directory - using Kubernetes flavor as example)
Until this point, the app is working as it follows:
- when accesing the setup page it will display the flavors selection step (
templates/steps/flavor.html) - after you choose your desired flavor it will iterare over the files in the flavor directory and building the page
(
templates/steps/config.html is general for all flavors) - when you complete all required fields and press "Setup Mailu" button it will redirect you to the setup page (
flavors/choosen-flavor/setup.html)
To add a new flavor you need to create a directory under templates/steps/ in which you are adding actual steps.
Eg: Adding a WIP step we'll create templates/steps/kubernetes/wip.html
Note that wizard.html is iterating over files in this directory and building the page. Files are prefixed with a number for sorting purposes.
wip.html will start with
{% call macros.panel("info", "Step X - Work in progress") %}
and end with
{% endcall %}
You store variable from front-page using the name attribute inside tag.
In the example below the string entered in the input field is stored in the variable named var_test
<input type="text" name="var_test">
In order to user the variable furter you use it like {{ var_test }}
In the setup page (flavors/kubernetes/setup.html) you cand add steps by importing macros
{% import "macros.html" as macros %}
and start and end every step with
{% call macros.panel("info", "Step X - Title") %}
-------------------
{% endcall %}
Generating a file
Create the file template in flavors/kubernetes/ (eg. file.txt) in which you save your variables
ROOT = {{ root }}
MY_VAR = {{ var_test }}
When you submit to Setup Mailu the file will be generated. In order to get the file add the following command to setup.html
<p>curl {{ url_for('.file', uid=uid, filepath='file.txt', _external=True) }} > file.txt</p>