Skip to main content

html2mallard / mkdocs-mallard

Extremely crude HTML to mallard help conversion. Specifically for output from mkdocs with RTD or Material theme.

It's a very basic regex extraction (→I'm looking forward to your letters!) and filtering process. It only retains some structural elements (headlines, paragraphs, tables, lists, notes). Doesn't even attempt to gather any topic relation/structure from the navigation list.

  • Really just intended for one-time/initial conversion.
  • Requires some editing to get pages to validate. (Though they probably "work" in yelp as is).
  • Links and image references certainly require manual cleanup. Nested lists or tables are likely to cause issues.
  • And API docs are least convertible (only tested mkdocstrings, source dump is omitted, and there's obviously no syntax colorization in yelp; alternatively try mkgendocs).
  • Primarily designed for mkdocs´ HTML output. But also contains some cleanup rules for fossil wiki pages (with github skin), and yelp-builds` html.
  • Conversion doesn't work well for sphinx output (not consistent enough).

html2mallard

Simple command line tool to convert a single .html file:

html2mallard site/index.html > help/index.page

Add a -d/--debug flag after the filename for details on the shortening process.

html2mallard in.html --debug | xmllint - --recover > out.page

With xmllint to fix some unmatched tags.

  • Now also supports http:// urls for conversion:

     html2mallard http://wiki/index.html > index.page
    
  • And directly converting from markdown:

     html2mallard index.md > index.page
    

mkdocs-mallard

Converts a list of mkdocs output files to *.page files.

mkdocs-mallard

Requires an extra mallard_dir in the mkdocs.yml config:

site_name: logfmt1
docs_dir: docs
site_dir: html
mallard_dir: mallard
use_directory_urls: false
nav:
  - Intro: index.md
theme:
  name: readthedocs
  highlightjs: false
repo_url: https://...
markdown_extensions:
  - admonition
  - codehilite
  - attr_list
  - def_list
  - tables
  - markdown.extensions.codehilite:
      guess_lang: true
plugins:
  - mkdocstrings

Also depends on use_directory_urls: false, since the script only glob()s one level of *.html files.

Ensure the index.page contains a section like:

<section id="nav" style="2column">
 <subtitle>Topics</subtitle>
</section>

But not the recursive self-reference <link type="guide" xref="index#nav"/>.

Adaption

The first two rewrite rules likely require changes for other HTML sources or templates. Specifically "^.+?</nav>" should strip the initial boilerplate, else might need expansion. (Either in the GENERAL HTML or a new rewrite collection.)

from project import meta

meta info
depends -
compat Python ≥3.6, mkdocs 1.x
compliancy !pep8, mallard, manpage, !doap, !xdg
system usage -
paths -
testing -
docs -
activity abandoned
state alpha
support -
contrib -
announce -

Metadata

Release files for html2mallard 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for html2mallard 0.2.2
File Interpreter ABI Platform
html2mallard-0.2.2-py3-none-any.whl Python 3 none any Details

Release files / html2mallard-0.2.2-py3-none-any.whl

Download URL html2mallard-0.2.2-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22c0ab99dc466799a0cde46dac5858c654d68d945bf041879ab7e7c8a56929e8
BLAKE2b-256 checksum
How to use checksums
216ddd9f7b4119af829a06809410825c06498b4db45efcd6e58ebc3270560262
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.9

1 release file

0.1.5

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page