<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgit.git, branch main</title>
<subtitle>sl0p fork of cgit — readme-on-summary patch</subtitle>
<id>https://git.sl0p.foo/cgit.git/atom/?h=main</id>
<link rel='self' href='https://git.sl0p.foo/cgit.git/atom/?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/'/>
<updated>2026-07-18T20:58:15Z</updated>
<entry>
<title>md2html: auto-link bare repo paths in rendered markdown</title>
<updated>2026-07-18T20:58:15Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-18T20:58:15Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=3f7db81172a25d8fe8637f1e0bca86d32caffe1e'/>
<id>urn:sha1:3f7db81172a25d8fe8637f1e0bca86d32caffe1e</id>
<content type='text'>
Detect path tokens in prose (must contain a "/") and inline &lt;code&gt; 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. &lt;pre&gt; code blocks, existing
&lt;a&gt; links (no nested anchors) and tag attributes are never touched;
tokens resolve relative to the rendered file dir or the repo root.
</content>
</entry>
<entry>
<title>ui-tree: render folder README under the directory listing</title>
<updated>2026-07-18T19:31:00Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-18T19:25:47Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=e207a823d2db8c99f47736c7c2d61709b8ef4cbd'/>
<id>urn:sha1:e207a823d2db8c99f47736c7c2d61709b8ef4cbd</id>
<content type='text'>
When browsing a tree, detect the best README (readme[.md/.markdown/.mkd/
.rst/.txt] or bare, case-insensitive, most-preferred extension wins) among
the directory entries and render it through the about-filter beneath the
file list, GitHub-style. The filter gets the readme path as argv[1] so the
md2html relative-link rewriting resolves against the readme dir.
</content>
</entry>
<entry>
<title>build: fix empty version on tagless clones; mark version -sl0p</title>
<updated>2026-07-18T19:31:00Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-18T19:17:58Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=79054faaadd5d6773f79baf4cdca515b0c73944b'/>
<id>urn:sha1:79054faaadd5d6773f79baf4cdca515b0c73944b</id>
<content type='text'>
gen-version.sh unconditionally overwrote the Makefile-provided version
with `git describe` output, which is empty on a plain clone of the fork
(no tags) — so cgit_version rendered blank in the footer and generator
meta. Only override when describe yields something. Also bump the base
version to v1.3.1-sl0p so the version string itself names the fork.
</content>
</entry>
<entry>
<title>ui-shared: signal the sl0p fork in the footer + generator meta</title>
<updated>2026-07-18T19:31:00Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-18T19:16:06Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=017c14bff28cbf9823a3bd9c63f8d283d64a9c51'/>
<id>urn:sha1:017c14bff28cbf9823a3bd9c63f8d283d64a9c51</id>
<content type='text'>
Append a "sl0p fork" link (to git.sl0p.foo/cgit.git) to the default
footer after the generated-by cgit/git attribution, and tag the
&lt;meta name=generator&gt; as "cgit &lt;ver&gt; (sl0p fork)". Keeps upstream
attribution intact.
</content>
</entry>
<entry>
<title>md2html: do not loosen tight lists with multi-line items</title>
<updated>2026-07-18T19:31:00Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-18T19:13:31Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=b9b2876ba7790b0e92e2c66f516d374ce7d53905'/>
<id>urn:sha1:b9b2876ba7790b0e92e2c66f516d374ce7d53905</id>
<content type='text'>
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-&gt;list transition, so a blank got injected between items
— turning a tight list into a loose one (every &lt;li&gt; wrapped in &lt;p&gt;), 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-&gt;list
interrupt and the "1985." ordered-list guard are unchanged.
</content>
</entry>
<entry>
<title>md2html: render linked .md via the about view, fix relative base</title>
<updated>2026-07-18T19:31:00Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-18T19:07:20Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=e3364e2c4424b373f80ac04d1ab2e3f3d82328e1'/>
<id>urn:sha1:e3364e2c4424b373f80ac04d1ab2e3f3d82328e1</id>
<content type='text'>
Links to markdown files now point at /&lt;repo&gt;/about/&lt;path&gt; (rendered
through the about-filter) instead of /&lt;repo&gt;/tree/&lt;path&gt; (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 -&gt; ./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.
</content>
</entry>
<entry>
<title>md2html: rewrite relative README links to the tree/ blob URL</title>
<updated>2026-07-18T19:31:00Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-18T18:50:31Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=1be367f87b22ae4f43e68dd3ef600e1ee4b30c44'/>
<id>urn:sha1:1be367f87b22ae4f43e68dd3ef600e1ee4b30c44</id>
<content type='text'>
The image-rewrite patch only fixed relative &lt;img src&gt;; relative &lt;a href&gt;
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 &lt;a href&gt; to absolute cgit URLs the same way:
  in-repo path -&gt; /&lt;repo&gt;/tree/&lt;path&gt;?h=&lt;branch&gt;
  ../sibling   -&gt; resolved against the repo URL location (/&lt;sibling&gt;)
Fragments are preserved; anchors, absolute, scheme and query-only URLs
are left untouched.
</content>
</entry>
<entry>
<title>md2html: let bullet/1. lists interrupt paragraphs (GitHub-style)</title>
<updated>2026-07-18T19:31:00Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-16T22:38:46Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=f736dbeb318386b1292bf00d0199bc3771d849f7'/>
<id>urn:sha1:f736dbeb318386b1292bf00d0199bc3771d849f7</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>md2html: rewrite relative image links to the plain/ blob URL</title>
<updated>2026-07-15T14:13:14Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-15T14:13:14Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=d191bab7341da2242c7d0be92fa01465e64757f2'/>
<id>urn:sha1:d191bab7341da2242c7d0be92fa01465e64757f2</id>
<content type='text'>
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
&lt;img src&gt; against the about-page URL, so the image 404s. Rewrite relative
&lt;img src&gt; to an absolute /&lt;repo&gt;/plain/&lt;path&gt;?h=&lt;branch&gt; 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.
</content>
</entry>
<entry>
<title>ui-summary: optionally render the repo readme on the summary page</title>
<updated>2026-07-11T20:19:08Z</updated>
<author>
<name>Jason A. Dönerfield</name>
<email>no-replay@sl0p.foo</email>
</author>
<published>2026-07-11T20:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/cgit.git/commit/?id=f64bb3a19c276303f7502633ffa930a14aa883cc'/>
<id>urn:sha1:f64bb3a19c276303f7502633ffa930a14aa883cc</id>
<content type='text'>
Add enable-summary-readme (global + per-repo repo.enable-summary-readme,
default off). When enabled, the configured readme is rendered inline below the
repository info on the summary page, in addition to the standard about page.

Refactor the readme-rendering core out of cgit_print_repo_readme() into a
static print_readme() helper (no layout wrapper) so the about page and the
summary page share it.
</content>
</entry>
</feed>
