Package: biisan
biisanbiisan is a static site generator that can write documents inreStructuredText.FeatureConvert the structure of reStructuredText to the structure of object, and output to html with jinja2 template for eachDirectivesof reStructuredTextThe default template is attached for the directives supported by biisan, but the template to be used can be replaced if the search destination is set in the configurationThe conversion processor from directive to object can also replace any processor by settingThe processing of the directive which is not supported is also possible by the same mechanism as replacement.Easy definition of new directivesThe process of converting the structure of reStructuredText to an object is performed in parallel in multiprocessingquick startInstallationIt can be installed with pip. Since dependent libraries are also installed at the same time, you may want to create and install a virtual environment using venv if you want to be able to erase them cleanly.$ pip install biisanInitializeGenerate the basic structure of biisan and configuration file. There is a folder calledbiisan_dataunder the folder you have run.Answerblog title,base URL,language codeas it is asked. You can change it later in the configuration file.$ python -m biisan.main
? What's your blog title  blog title
? input your blog base url. like https://www.tsuyukimakoto.com  http:localhost
? input your blog language like ja  en

        Always set environment variable BIISAN_SETTINGS_MODULE to biisan_local_settings like bellow.

        $ export BIISAN_SETTINGS_MODULE=biisan_local_settingsFinally, the environment variables required whenever using biisan are output. It is an environment variable that is always required when using biisan.It is a setting framework setting ofglueplate.First EntryLet's check the contents of the generated folder.$ cd biisan_data
$ tree
.
├── data
│   ├── biisan_local_settings.py
│   ├── blog
│   ├── extra
│   │   └── about.rst
│   └── templates
└── outInside thebiisan_datafolder there are two folders,dataandout.databiisan_local_settings.pysetting file. It has been added to or overwritten in theOriginal file settingssettings.blogPut the reStructuredText file in this. It is good to make a folder so that it is easy to organize. The folder structure in the blog folder has nothing to do with the path of the output URL.extraPut the file if you want to create a separate page from the date based entry. about is set by default.
When newly added, add the definition of GLUE_PLATE_PLUS_BEFORE_extra to the setting file (data/biisan_local_settings.py).For example, if you put the file imusing.rst, defineGLUE_PLATE_PLUS_BEFORE_extraindata/biisan_local_settings.pyas follows.# Omitted

settings = _(
    # 省略
    multiprocess = 8,
    GLUE_PLATE_PLUS_BEFORE_extra = [
        'imusing',
    ],
)This is how glueplate works, ['imusing' before theextrasetting in theoriginal file settings file',] Is added.See alsoActual setting.templatesPut the template you want to overwrite. LikeGLUE_PLATE_PLUS_BEFORE_extra,GLUE_PLATE_PLUS_BEFORE_template_dirsis defined in the configuration file, so first we will start looking for template files in this folder.outHtml is output statically in this folder.This is the first entryLet's save asmy_first_entry.rstindata/blogas follows. The file name may be anything before the file extension, as long as the extension is .rst.Is the first entry
=========================================================

:slug: my_first_biisan_entry
:date: 2019-05-05 13:00
:author: Your name

Hello! world!BuildThe operation is done in thedatadirectory (in biisan_data/data).$ python -m biisan.generateIf you get an error like the following, it is because you have not set the environment variable displayed at the time of initialization.Traceback (most recent call last):
(Omitted)
KeyError: 'BIISAN_SETTINGS_MODULE'If you have not set the environment variable, try setting again and executing the command again.$ export BIISAN_SETTINGS_MODULE=biisan_local_settings
$ python -m biisan.generateIf you get the following error, the folder where you are executing the command is wrong. Let's execute it inbiisan_data/data.Traceback (most recent call last):
(Omitted)
ModuleNotFoundError: No module named 'biisan_local_settings'If it works, the output is as follows, so let's open it in a browser.$ python -m biisan.generate
BIISAN 0.3.0
INFO:__main__:Write:(omitted)/biisan_data/out/blog/2019/05/05/my_first_biisan_entry/index.html
INFO:__main__:Write:(omitted)/biisan_data/out/about/index.htmlThe URL is composed ofdateandslugdescribed in the entry. At this point, the data folder and the out folder are as follows..
├── data
│   ├── __pycache__
│   │   └── biisan_local_settings.cpython-37.pyc
│   ├── biisan_local_settings.py
│   ├── blog
│   │   └── my_first_entry.rst
│   ├── extra
│   │   └── about.rst
│   └── templates
└── out
    ├── about
    │   └── index.html
    ├── api
    │   ├── feed
    │   │   └── index.xml
    │   └── google_sitemaps
    │       └── index.xml
    ├── blog
    │   ├── 2019
    │   │   └── 05
    │   │       ├── 05
    │   │       │   └── my_first_biisan_entry
    │   │       │       └── index.html
    │   │       └── index.html
    │   └── index.html
    └── index.htmlAlthough the file name is index.html, it is assumed that it can be omitted by specifying the directory index of the Web server.For example,https://www.tsuyukimakoto.com/about/should be set to return index.html if the file name is omitted.The entry path is created based onsluganddatedescribed in the entry rst file.:slug: my_first_biisan_entry
:date: 2019-05-05 13:00templateA template is provided for each directive. Put templates in the templates folder if you want to change the style etc.Default templateandreal project template.DeployDeploy the contents of out to an appropriate server. Don't forget to specify the directory index.