Skip to main content

Miyadaiku - Flexible static site generator for Jinja2 artists

Project description

Miyadaiku is a flexible static site generator for Jinja2 artists.

  • Contents are written in reStructuredText, Markdown, HTML, Jupyter Notebook and YAML.

  • Jinja2 templates to create HTML pages.

  • Jinja2 tags can be used in your contents too. Miyadaiku provides ReST/Markdown extensions to write Jinja2 in content files.

  • Hierarchical contents property. Each directory can have default property values for documents. These property values are also applied to contents of their sub-directories.

  • Theme system to share templates, CSS, Javascript, Image or any other contents files.

  • Themes are managed as Python package. You can install themes from PyPI with pip.

  • Generate index pages and Atom/RSS feeds for Blog sites.



Miydaiku requires Python 3.7 or later.


Use pip to install miyadaiku.

$ pip3 install miyadaiku



  • Support target markup in ipynb files


  • Support recent python-markdown.


  • strip_directory_index property specifies a file name to be striped from the page URL.


  • Support new version of tzlocal module.


  • <meta http-equiv=”refresh” …> element is emitted if refresh_to property is path to the target page.

  • search argument of context.link_to() is not regular expression but plain text.


  • updated property is used as updated element of feed if specified.

  • search argument of context.link_to() is not regular expression but plain text.


  • abstract_html property specifies static abstract text of content in HTML.


  • Fix bug in jinja tag extraction.

  • short_header_id to generate short header id.


  • Support Python 3.9.0

  • nbconvert themes can be installed in nb_templates directory.


  • Add bases to the jinja variable.

  • Add ipynb_export_options config for nbexport option. Default to

    {"TagRemovePreprocessor": {
        "remove_cell_tags": ["remove_cell"],
        "remove_all_outputs_tags": ["remove_output"],
        "remove_input_tags": ["remove_input"]
  • Support nbconvert >= 6.0.

  • Improve file cache.

  • Add content.loader property.


  • :jinja:`` tag can be used in Jupyter markdown cell.

  • Generates sitemap


  • Removed div and a elements around headers.


  • Add context.get_url().

  • Deprecate ContentPropxy.url property.


  • Add directories property to index and feed.

  • Update samile contents created by miyadaiku-start command.

  • Rebuild if YAML files in the project contents directory are updated.

  • Escape :jinja:`` notation in markdown.


  • Support .txt file type.

  • Wrong tzinfo was picked to apply default timezone.

  • File name with extension ‘.j2’ is treated as HTML.

  • Ignore Yaml declarations which does not return dict.

  • New property: updated.


  • Build title from abstract if title_fallback is title and header element not found in the content.

  • Preserve newline in content.abstract.

  • Add .anchor-link style for .ipynb file.

  • YAML can be used in HTML content.

  • Add setattr/getattr to jinja variables.

  • Modified convention of anchor name generation.

  • Add search option to link()/link_to().

Upgrading to Miyadaiku 1.0.0

Miyadaiku 1.0.0 has some incompatible changes.

To upgrade from older version of Miyadaiku, please read following notes.

  1. Package name of external themes are changed.

    • miyadaiku.themes.bootstrap4 -> miyadaiku_theme_bootstrap4

    • miyadaiku.themes.jquery -> miyadaiku_theme_jquery

    • miyadaiku.themes.tether -> miyadaiku_theme_tether

    • miyadaiku.themes.fontawesome-> miyadaiku_theme_fontawesome

    • miyadaiku.themes.popper_js -> miyadaiku_theme_popper_js

  2. Argument names of some method of Miydaiku objects are changed.

    • value argument of path(), path_to(), link(), link_to() methods are renamed to group_value.

    • group_values jinja variable is renamed to group_value.

Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

miyadaiku-1.25.0-py3-none-any.whl (90.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page