# md2gemtext [image: builds.sr.ht status] => https://builds.sr.ht/~boringcactus/md2gemtext.svg [image: builds.sr.ht status] => https://builds.sr.ht/~boringcactus/md2gemtext? builds.sr.ht status for converting Markdown into gemtext. => https://gemini.circumlunar.space/docs/specification.html gemtext ## standalone usage ``` cargo install md2gemtext md2gemtext /path/to/some/file.md /path/to/some/file.gmi ``` ## library usage ``` let gemtext = md2gemtext::convert("some markdown")?; ``` ## translation rules * "thematic breaks" (hr tags) are translated to `-----` on a line by itself * headings turn into headings, levels beyond 3 get capped at 3 * code blocks get turned into code blocks (info strings are discarded) * something happens to HTML, i forget what * paragraphs get empty lines between them, because i think that looks better * block quotes get turned into quotes (multi-paragraph contiguous block quotes break though) * lists get turned into lists ("loose lists" probably misbehave, nested lists _definitely_ misbehave, numbering is not preserved) * ``markdown code spans`` retain their backticks * `_italics_` are surrounded by single underscores * `**bold**` is surrounded by double asterisks * `a [link](a://url) with context` turns into `a link with context` followed by `=> a://url link` * `an ![inline](a://url) image` turns into `an [image: inline] image` followed by `=> a://url [image: inline]` * if a link or image is its own paragraph, it becomes just the gemtext link, to not be redundant