render_readme

Crates.iorender_readme
lib.rsrender_readme
version0.12.0
sourcesrc
created_at2022-09-03 16:21:28.147166
updated_at2024-08-16 23:33:31.497298
descriptionRender Markdown or reStructuredText with syntax highlighting and image filtering similar to GitHub's
homepage
repositoryhttps://gitlab.com/lib.rs/render_readme
max_upload_size
id657953
size1,048,232
Kornel (kornelski)

documentation

README

Render README files the same way(ish) as GitHub et al.

Readme to HTML conversion for lib.rs. It's mostly internal,

Supports:

  • Markdown (natively in Rust) and
  • reStructuredText (via rst2html),
  • Supports syntax highlighting using Sublime Text syntax definitions.
  • Has twreaks and hacks for Rust language and Rust crates, so e.g. falls back to Rust syntax if it can't detect the language used.

Installation

Install docutils package, so that rst2html command is available (in PATH).

It needs to write a file to system's temp directory for rst2html. If you clear temp while the program is running, rst support may fail.

Making a theme

It generates HTML <span> class names based on scope names from Sublime Syntax files, but:

  • words used in the scopes are abbreviated. See highlight.rs for the list of abbreviations.
  • Only scopes with 2 and 3 levels are added (more specific scopes are truncated to the first 3 words).

Adding more languages

All languages are precompiled from syntaxes/ submodule.

tmLanguage definitions need to be converted first.

Commit count: 166

cargo fmt