aboutsummaryrefslogtreecommitdiffstats
path: root/filters/html-converters/md2html (follow)
Commit message (Collapse)AuthorAgeFilesLines
* md2html: auto-link bare repo paths in rendered markdownHEADmainJason A. Dönerfield3 days1-1/+100
| | | | | | | | | | Detect path tokens in prose (must contain a "/") and inline <code> spans (matched verbatim, so bare Makefile/README link too) and turn them into links to the tree/ (or about/ for *.md) view — but ONLY when the token resolves to a path that actually exists in the repo, which we learn from `git ls-tree -r -t` at the default branch. <pre> code blocks, existing <a> links (no nested anchors) and tag attributes are never touched; tokens resolve relative to the rendered file dir or the repo root.
* md2html: do not loosen tight lists with multi-line itemsJason A. Dönerfield3 days1-2/+25
| | | | | | | | | | | | | | The list-interrupt preprocessor inserted a blank line before any bullet that followed a non-item, non-4-space-indented line. When a list item wrapped onto a 2-space-indented continuation line, the *next* item looked like a paragraph->list transition, so a blank got injected between items — turning a tight list into a loose one (every <li> wrapped in <p>), as seen in docs/internals.md "Writing programs in C". Track list state and only interrupt an actual paragraph: a bullet that continues an already-open list (or its indented continuation lines) no longer triggers a blank-line insert. The original paragraph->list interrupt and the "1985." ordered-list guard are unchanged.
* md2html: render linked .md via the about view, fix relative baseJason A. Dönerfield3 days1-25/+44
| | | | | | | | | | | | | | Links to markdown files now point at /<repo>/about/<path> (rendered through the about-filter) instead of /<repo>/tree/<path> (raw blob), so clicking a README link to another .md shows rendered markdown. Also resolve relative links against the rendered file's own directory: about-formatting.sh now forwards the filename cgit passes ($1) to md2html as argv[1], and md2html uses dirname(argv[1]) as the base. This makes links *inside* a rendered subpage (docs/foo.md -> ./bar.md, ../README.md, images) resolve correctly. Non-markdown files and directories still go to tree/; images to plain/; about/ links carry no ?h= since the about view renders against the configured readme ref.
* md2html: rewrite relative README links to the tree/ blob URLJason A. Dönerfield3 days1-11/+60
| | | | | | | | | | | | The image-rewrite patch only fixed relative <img src>; relative <a href> links (e.g. [docs/x.md](docs/x.md)) were still resolved by the browser against the about/summary page URL, not the repo root, so they 404d. Rewrite relative <a href> to absolute cgit URLs the same way: in-repo path -> /<repo>/tree/<path>?h=<branch> ../sibling -> resolved against the repo URL location (/<sibling>) Fragments are preserved; anchors, absolute, scheme and query-only URLs are left untouched.
* md2html: let bullet/1. lists interrupt paragraphs (GitHub-style)Jason A. Dönerfield3 days1-0/+55
| | | | | | | | | | | | | | | | Python-Markdown, unlike CommonMark/GitHub, refuses to start a list that immediately follows a paragraph line without an intervening blank line, so a very common README shape renders as one run-on paragraph: Passing: - foo - bar Add a preprocessor that inserts the blank line when a bullet (- * +) or a 1./1) ordered marker follows a paragraph line, restoring GitHub behavior. Only '1' interrupts for ordered lists (matching CommonMark) so prose like '... the year\n1985. was ...' is not turned into a list. Fenced/indented code and lines already inside a list are left untouched.
* md2html: rewrite relative image links to the plain/ blob URLJason A. Dönerfield6 days1-3/+28
| | | | | | | | | A README's relative image paths (screenshots/foo.png) are repo blobs that cgit only serves via its plain command, but a browser resolves a relative <img src> against the about-page URL, so the image 404s. Rewrite relative <img src> to an absolute /<repo>/plain/<path>?h=<branch> URL using the CGIT_REPO_URL / CGIT_REPO_DEFBRANCH environment cgit gives the about-filter. Absolute so it also works with ui-summary readme rendering.
* md2html: use proper formatting for hrChristian Hesse2021-05-121-5/+1
| | | | | | | This addressed a non-existent background image and made the element invisible. Drop the style and use something sane. Signed-off-by: Christian Hesse <mail@eworm.de>
* md2html: use sane_lists extensionJason A. Donenfeld2020-12-291-0/+1
| | | | | | | This allows for cleaner nesting semantics and matches github more closely. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filters: generate anchor links from markdownChristian Hesse2018-08-281-2/+15
| | | | | | | This makes the markdown filter generate anchor links for headings. Signed-off-by: Christian Hesse <mail@eworm.de> Tested-by: jean-christophe manciot <actionmystique@gmail.com>
* md2html: use utf-8 and flush output bufferJason A. Donenfeld2016-06-171-6/+11
| | | | | | | | | Otherwise we get the classic Python UTF-8 errors, and the text is all out of order. While we're at it, switch to python3 so we only have to support one set of oddball semantics. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Suggested-by: Daniel Campbell <dlcampbell@gmx.com>
* md2html: Do syntax highlighting tooJason A. Donenfeld2016-02-231-1/+5
|
* md2html: the default of stdin works fineJason A. Donenfeld2015-10-121-2/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* md2html: use pure pythonJason A. Donenfeld2015-10-121-6/+9
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filters: Simplify convertersJason A. Donenfeld2015-10-091-1/+282
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filters: import more modern scriptsJason A. Donenfeld2013-05-271-0/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>