--- title: Quickstart --- # Quickstart [TOC] ## Installation options ### Via pip from PyPI Just run: ```bash pip install Peji ``` ### Via setup.py You should already have the Python `setuptools` package installed. Clone repo: ```bash git clone https://gitea.gch.icu/ge/peji.git cd peji/ ``` Run: ```bash pip install . ``` pip automatically runs `setup.py` and install all dependencies. ## Command line interface Pēji provides small command line interface. App supports only two commands: `create SITE` : Create new site in directory SITE. For example: ``` peji create mysite ``` In `mysite/` dir will be created standard file structure. See [Site structure](#site-structure) below. `build` : Render HTML pages and place it with other static content into `mysite/build/` directory. You can choose specific directory instead of `build/` if pass `-d` (or `--dir`) option. For example, build site into `my_static_site/`: ``` peji build -d my_static_site/ ``` ## Site structure After creating site you have this site structure: ``` mysite/ ├── config.yaml ├── layouts │ ├── base.j2 │ └── index.j2 ├── pages └── themes └── default ├── css │ └── main.css ├── images └── js ``` There is: config.yaml : Site configuration file. See more [here](/configuration.html). layouts/ : This folder contains Jinja2 templates. By default `base.j2` and `index.j2` is used. pages/ : Place your markdown files here. themes/ : Contains CSS, JS and images that need for page design. build/ : Generated HTML files. Creates after running `peji build`. ## Pages ### Page metadata. Like many other static site generators and flat-file CMS, in Pēji metadata is required for Markdown files. Metadata must be appended to the beginning of the markdown file and is surrounded by a triple minus sign at the beginning and end. Data are presented in YAML format. Example: ```yaml --- title: My page title layout: index.j2 theme: my_theme --- # Your markdown text here ``` At the moment the application only supports these three properties. Consider each: title : Page title. Is appended in HTML `