Skip to content

Command-line utility to split a Markdown file into linked static web pages.

License

Notifications You must be signed in to change notification settings

wmelvin/marksplitz

Repository files navigation

marksplitz

Command-line utility to split a Markdown file into linked static web pages.

Development work in progress.

Directive Comments

The following HTML comments can be placed in the source Markdown document to alter the generated HTML.

<!-- title: new-title -->

  • Replace the default HTML title for the page.

<!-- class: class-1 class-2 -->

  • Add one or more classes to the content div.
  • Use to apply additional styles via a custom.css file.

<!-- code-file: filename.ext -->

  • Place before a fenced code block to write the code to a file with the given filename.ext.
  • Requires that the --code-subdir option is used to specify the destination.

<!-- no-pub -->

  • Do not publish the page - exclude it from the HTML output.

Command-line Usage


usage: marksplitz [-h] [-o OUTPUT_DIR] [-n OUTPUT_NAME] [-i IMAGES_SUBDIR]
                  [-d CODE_SUBDIR] [--img-delay IMG_DELAY] [-c CSS_FILE]
                  markdown_file

Split a Markdown file into linked HTML pages.

positional arguments:
  markdown_file         Path to the Markdown file to split.

options:
  -h, --help            show this help message and exit

  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Path to the output directory.

  -n OUTPUT_NAME, --output-name OUTPUT_NAME
                        Base name for the output HTML files.

  -i IMAGES_SUBDIR, --images-subdir IMAGES_SUBDIR
                        Subdirectory for images. Expected to be in the
                        directory containing the Markdown file. Contents are
                        copied to a subdirectory by the same name in the
                        output directory.

  -d CODE_SUBDIR, --code-subdir CODE_SUBDIR
                        Subdirectory for code files. Expected to be in the
                        directory containing the Markdown file. Fenced code
                        blocks, marked with a code-file directive, are written
                        to this directory.

  --img-delay IMG_DELAY
                        Delay in seconds to wait for a code-file image to be
                        created.

  -c CSS_FILE, --css-file CSS_FILE
                        Optional name of a CSS file to include in the same
                        location as the HTML output. If a CSS file is not
                        specified, a default style is embedded in the HTML
                        output. If a CSS file is specified, the default style
                        is not included.If the specified CSS file does not
                        exist, it is created with the default style.

Reference

CSS

Customizing the generated HTML output requires using CSS.

Packages Used

Project Tools

  • uv - Environment management (in place of pip)
  • Ruff - Linter and code formatter
  • pytest - Testing framework
  • build - Python packaging build frontend
  • twine - Utility for publishing Python packages
  • Just - Command runner

About

Command-line utility to split a Markdown file into linked static web pages.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published