AgeCommit message (Collapse)AuthorLines
Say why an oversized readme leaves about emptyBryce Kwon-2/+8
A readme past max-blob-size is never read, which left the about page with an empty block and no word of why.
Hand the about filter the tree url its links needBryce Kwon-1/+9
With nothing below the about page, a readme's relative links have to be written against the tree, and only cgit knows how this site spells the url of a tree page and which ref the readme was read from. Both reach the filter already escaped for a url, built by the same writer as cgit's own links.
Answer 404 for any path below the about pageBryce Kwon-90/+3
The about page served every file beside the readme as a page of its own, through the about filter, and answered 200 for directories and missing files alike. Images it passed through came from the root of the default branch whatever the readme's own directory and ref. A readme on disk exposed its whole directory this way.
Send a charset only with a text typeBryce Kwon-1/+0
Archives, packs and the HEAD file went out as octet-stream or gzip with a UTF-8 charset on the end, since only the blob page cleared it. The headers now decide from the type itself, so the two places that cleared the charset by hand no longer need to.
Add stable markup hooks for site themesBryce Kwon-10/+10
Align with spaces instead of tabsBryce Kwon-2/+2
Harden the page renderersBryce Kwon-4/+13
Clean up the whole treeBryce Kwon-10/+5
Trim the comments and dead code across the treeBryce Kwon-8/+5
Point clone rows at a url a browser can followBryce Kwon-7/+1
Replace `nbsp` spacing with CSSBryce Kwon-4/+4
Tidy the structure of the generated markupBryce Kwon-2/+2
Remove the obsolete summary attributesBryce Kwon-3/+3
Let the listings wrap and the diff tables scrollBryce Kwon-2/+2
Restyle the sources and fix the audit's findingsBryce Kwon-60/+83
Settle the names, types and layout of the sourcesBryce Kwon-2/+2
Replace the browser markdown renderer with a filterBryce Kwon-30/+4
The readme is now escaped plain text unless `about-filter` points at the new `about-render.lua`, which renders markdown, man pages and plain text server-side. `enable-markdown` goes away with the renderer.
Keep line structure in plaintext readmesBryce Kwon-1/+4
Point the fork's links and credits at itselfBryce Kwon-1/+1
AUTHORS now records the upstream developers as the project's history rather than as maintainers of the fork.
Require a boundary in the about-path prefix checkBryce Kwon-1/+7
The about subpath was confined to the readme directory with a plain byte-prefix match, so a sibling directory sharing the base name as a prefix passed the check and its files were served.
Escape non-markdown readmes without a filterBryce Kwon-2/+16
A readme that is not markdown was written to the about page as raw HTML when no about-filter was configured, so an untrusted repository could inject script.
Render README markdown in the browserBryce Kwon-9/+39
cgit had no markdown support of its own, so a readme was rendered through an external python filter or not at all. Escaping the source and formatting it in cgit.js keeps the work in the browser like the blob highlighter, and the page stays readable as plain text without scripting.
Reorganize into source, assets and librariesBryce Kwon-0/+148
The C sources move to source/, the served files to assets/, the bundled Git submodule to libraries/git and the filter scripts to extensions/. Everything the build generates now lands in build/, so a clean is a single remove and the tree stays clean.