Elektronická publikácia #

Vytvorenie a kompilácia kníh pomocou MyST a Sphinx.

  • MyST je podpora pre jazyk Markdown

  • Sphinx je kompilátor pre konverziu Markdown do rôznych formátov, primárne určný pre tvorbu dokumentácie pre Python. Obsahuje dokumentované template pre generovanie statického www.

Inštalácia #

sudo apt-get install nodejs
sudo apt install npm

pip install -U sphinx --break-system-packages
pip install -U sphinx-subfigure --break-system-packages

pip install mystmd --break-system-packages 
pip install myst-parser --break-system-packages
pip install myst-nb --break-system-packages

Kontrola inštalácie

myst -version

Vytvorenie podkladov a kompilácia#

Vygenerovanie template

sphinx-quickstart <proj-name>

Vytvorí adresárovú štruktúru

.
+--- Makefile
+--- make.bat
|
+--- source
|      +-- conf.py
|      +-- index.rst
|
+--- build
  • Všetky md súbory sú v adresári source

  • Súbor index.rst zmazať, namiesto neho vytvoriť index.md, ktorý bude titulnou stranou knihy

      # Titulna stranka
      
      text titulnej stranky
      
      konfiguracia obsahu knihy - tak ako bude na www
    
      ```{toctree}
      0010_uvod.md
      0090_zaklady.md
      ```
    

Kompilácia #

make clean
make html

Konfigurácia predlohy #

Inštalácia template pre knihy

pip install sphinx-book-theme  --break-system-packages

Konfigurácia knihy je v súbore conf.py, doplniť

    extensions = ["myst_parser"] <---- NIE
    extensions = ["myst_nb", "sphinx_copybutton"]    <----- TAKTO    
    
    templates_path = ['_templates']
    exclude_patterns = []
            
    # -- Options for HTML output -------------------------------------------------
    
    html_theme = 'sphinx_book_theme'
    html_static_path = ['_static']
    html_logo = "logo_411.png"

Dokumentácia k téme Book je na

https://sphinx-book-theme.readthedocs.io/en/latest/index.html

Odkazy #

    https://www.lucasshen.com/notes/sphinx-md2html/sphinx-md2html
    https://myst-nb.readthedocs.io/en/v0.13.2/index.html
    https://sphinx-extensions.readthedocs.io/en/latest/