Skip to content

foliant-docs/foliantcontrib.init

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Initializer for Foliant

This CLI extension add init command that lets you create Foliant projects from templates.

Installation

$ pip install foliantcontrib.init

Usage

You can create a project from the default base template or from a custom template

Base template

Create project from the default base template:

$ foliant init
Enter the project name: Awesome Docs
✔ Generating Foliant project
─────────────────────
Project "Awesome Docs" created in awesome-docs

Custom template

You can load a custom template from a local path or from a git repo

Custom template from a local path

$ foliant init --template /path/to/custom/template
Enter the project name: Awesome Customized Docs
✔ Generating Foliant project
─────────────────────
Project "Awesome Customized Docs" created in awesome-customized-docs

Custom template from a git repository

$ foliant init --template https://github.com/path/to/custom/template
Enter the project name: Awesome Docs from git
────────────────────
Project "Awesome Docs from git" created in awesome-docs-from-git

Other options

You can provide the project name without user prompt:

$ foliant init --name Awesome Docs
✔ Generating Foliant project
─────────────────────
Project "Awesome Docs" created in awesome-docs

Another useful option is --quiet, which hides all output except for the path to the generated project:

$ foliant init --name Awesome Docs --quiet
awesome-docs

To see all available options, run foliant init --help:

$ foliant init --help
usage: foliant init [-h] [-n NAME] [-t NAME, PATH or git-repo] [-q] [-d]

Generate a new Foliant project.

optional arguments:
  -h, --help            show this help message and exit
  -n NAME, --name NAME  Name of the Foliant project.
  -t NAME, PATH or git-repo, --template NAME, PATH or git-repo
                        Name of a built-in project template or path to custom one.
  -q, --quiet           Hide all output accept for the result. Useful for piping.
  -d, --debug           Log all events during project creation. If not set, only warnings and errors are logged.

Project Templates

A project template is a regular Foliant project but maybe containing placeholders in files. When the project is generated, the placeholders are replaced with the values you provide. Currently, there are two placeholders: $title and $slug.

There is a built-in template called base. It's used by default if no template is specified.