| Age | Commit message (Collapse) | Author | Lines |
|
A repeat's count was keyed on the bare text, so a heading whose text
already ended in that count took the same anchor, as "Twice 1" did
after two of "Twice", and "About 1" after "About". A link to either
then landed on the first. The count now goes on up past any anchor
already handed out, the way GitHub's slugger does.
|
|
Without one a repository has no about tab and its about url redirects
to the summary, so a site that sets only about-filter never sees the
renderer run.
|
|
Debian, Ubuntu, Fedora and Alpine package luaossl, luaposix and lpeg
for the Lua versions they ship, which leaves LuaRocks for the rest.
Scintillua comes as a release zip whose lexers directory is what the
filter looks for, so its steps say where to put that.
|
|
|
|
|
|
lpeg's constant, query and numbered captures already do what the token
helpers did, and nothing ever read the tokens of an escape that draws
nothing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Without lpeg both renderers stay nil, and the handler lookup already
falls back to plain text for a format it has no renderer for.
|
|
Everything that can raise already runs inside the parse and emit pcalls,
so the outer one in filter_close could only ever have sent the page a
second time.
|
|
|
|
A table capture of a pattern repeated zero or more times matches every
string, the empty one included, so the inline grammars never return nil.
|
|
Nothing in assets/ or in README's list of hooks reads a fenced block's
data-lang or the manpage class on a man page's wrapper.
|
|
DocBook, pod2man and hand written pages leaked roff onto the page. Font
escapes inside no fill blocks, comments, layout escapes such as \% and
\c, the colours and half line moves around DocBook's links, and the
requests and macro definitions their preambles open with all showed
through. Those now draw nothing, the common named characters and strings
render, .EX and pod2man's .Vb read as code, a .TP tag takes a line of
its own and the alternating font macros switch fonts between their
arguments. Anything rarer still falls back to its text.
|
|
A line of equals signs or dashes under a paragraph now makes a heading
of it, as on GitHub, instead of running into its text, and any other
rule ends the paragraph. Four spaces or a tab start a code block, and an
escaped pipe stays in its table cell. A link opening with two slashes
or backslashes in any mix leads to another site, so it renders as text
like the plain scheme relative one already did.
|
|
cgit takes filter output through a C string sink that stops at the
first NUL, so a readme holding one lost everything after it. Each NUL
now shows as U+FFFD, as a browser would show it.
|
|
luaossl from release 20260910 and luaposix load under Lua 5.5, and cgit
renders the same pages under it as under LuaJIT. Running the suites
there already caught a write to a for loop's control variable, which
5.5 makes read-only.
|
|
A line holding a pipe is never blank.
|
|
A readme's links to its own sections, as in a table of contents, had
nothing on the page to land on.
|
|
|
|
Decoding them here instead would mean carrying every named reference
HTML defines, while the browser already knows them all.
|
|
|
|
|
|
The item's second line became a paragraph of its own and the items
after it a new list, so an ordered list started counting again.
|
|
A table written right under a line of text came out as more of the
paragraph, pipes and all.
|
|
GitHub shows a single newline in a markdown file as a space, and roff
fills the lines of a man page the same way, so text wrapped in the
source came out ragged on the about page.
|
|
A relative image loaded from below the about page, which answers 404
now, and a remote one had every visitor's browser call a third party.
A badge also came out as a link to its own image, wrapped in stray
brackets.
|
|
A browser resolved them against the about page, where nothing lives
now that the page answers 404 below itself. They resolve the way
GitHub resolves a readme's links instead, from the readme's directory
and on the branch it was read from.
|
|
The heading pattern backtracked over a run of spaces in cubic time and
the cell trim in quadratic time, so one crafted line in a readme could
hold a request for half an hour, well inside the size cap. The heading
rule now also keeps a sharp that ends a word, as in "# C#".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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. The enable-markdown setting goes away with the renderer.
|