<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgitext.git/filters, branch master</title>
<subtitle>cgitext – CGI for Git extension</subtitle>
<id>https://sayag.it/cgitext.git/atom/filters?h=master</id>
<link rel='self' href='https://sayag.it/cgitext.git/atom/filters?h=master'/>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/'/>
<updated>2026-07-31T04:56:31Z</updated>
<entry>
<title>style: replace hardcoded color codes with css variables</title>
<updated>2026-07-31T04:56:31Z</updated>
<author>
<name>Saya Andy</name>
<email>saya.andy@posteo.com</email>
</author>
<published>2026-07-31T04:56:31Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=793860dbd6df42d5bbf05542f2292a1c6d30fc76'/>
<id>urn:sha1:793860dbd6df42d5bbf05542f2292a1c6d30fc76</id>
<content type='text'>
In order to: a) do custom theme simpler by just replacing necessary
vars, b) apply this theme to filters as well; the main cgit.css file now
defines CSS vars and uses them in color parameters.
</content>
</entry>
<entry>
<title>ui-ci: let a ci-filter decide whether the tab is shown</title>
<updated>2026-07-30T05:27:31Z</updated>
<author>
<name>Saya Andy</name>
<email>saya.andy@posteo.com</email>
</author>
<published>2026-07-30T05:27:31Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=7162aef3344a4f4f2d7edd2f214d805bd744c20c'/>
<id>urn:sha1:7162aef3344a4f4f2d7edd2f214d805bd744c20c</id>
<content type='text'>
cgit cannot know whether the ref being viewed actually has a pipeline, so
the "ci" tab is offered for every ref and only reveals a missing one once
followed. Probing the ci system from cgit is not an option: the tab is
part of the page header, so it would mean a blocking request for every
page of every repository, cgit links no http client, and job pages are
usually not readable anonymously.

Add a ci filter instead, which receives the ref, whether it is a branch or
a tag, and the expanded url, and answers with its exit status. This keeps
credentials, timeouts and caching in a script, where they belong;
filters/ci-jenkins.sh demonstrates all three against Jenkins' REST API.

The verdict is memoized, so the filter runs once per request rather than
once for the tab and again for the redirect, and it governs the page as
well as the tab, so a hidden tab cannot be reached by typing the url.

Signed-off-by: Saya Andy &lt;saya.andy@posteo.com&gt;
</content>
</entry>
<entry>
<title>md2html: use proper formatting for hr</title>
<updated>2021-05-12T13:32:50Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2020-03-31T12:53:42Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=62eb8db4527e6803df4a26056db8ab9eaf5a79ba'/>
<id>urn:sha1:62eb8db4527e6803df4a26056db8ab9eaf5a79ba</id>
<content type='text'>
This addressed a non-existent background image and made the element
invisible. Drop the style and use something sane.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>md2html: use sane_lists extension</title>
<updated>2020-12-29T11:33:48Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2020-12-04T12:13:23Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=f69626c68eb64e1a2f6b4ba055409d7205e72757'/>
<id>urn:sha1:f69626c68eb64e1a2f6b4ba055409d7205e72757</id>
<content type='text'>
This allows for cleaner nesting semantics and matches github more
closely.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>global: replace hard coded hash length</title>
<updated>2020-10-20T21:57:12Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2020-10-20T21:46:09Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=a4de0e810b69710c3b32f6d253d80d16dec09f36'/>
<id>urn:sha1:a4de0e810b69710c3b32f6d253d80d16dec09f36</id>
<content type='text'>
With sha1 we had a guaranteed length of 40 hex chars. This changes now
that we have to support sha256 with 64 hex chars... Support both.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>filters: migrate from luacrypto to luaossl</title>
<updated>2019-01-03T01:12:16Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2019-01-03T01:11:14Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=7d87cd3a215976a480b3c71b017a191597e5cb44'/>
<id>urn:sha1:7d87cd3a215976a480b3c71b017a191597e5cb44</id>
<content type='text'>
luaossl has no upstream anymore and doesn't support OpenSSL 1.1,
whereas luaossl is quite active.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>filters: generate anchor links from markdown</title>
<updated>2018-08-28T12:37:19Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2018-07-13T19:44:50Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=b0fc647fe61c19338aec65ffcab513cc84599b18'/>
<id>urn:sha1:b0fc647fe61c19338aec65ffcab513cc84599b18</id>
<content type='text'>
This makes the markdown filter generate anchor links for headings.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
Tested-by: jean-christophe manciot &lt;actionmystique@gmail.com&gt;
</content>
</entry>
<entry>
<title>auth-filters: add simple file-based authentication scheme</title>
<updated>2018-08-03T14:12:21Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-07-15T02:45:11Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=77b6f833441dda1dd50f5a51a81036b1fde815d5'/>
<id>urn:sha1:77b6f833441dda1dd50f5a51a81036b1fde815d5</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>auth-filters: use crypt() in simple-authentication</title>
<updated>2018-07-15T02:18:03Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-07-15T02:18:03Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=82856923bffaac3ac88a90a797ddb33dcee8635a'/>
<id>urn:sha1:82856923bffaac3ac88a90a797ddb33dcee8635a</id>
<content type='text'>
There's no use in giving a silly example to folks who will just copy it,
so instead try to do something slightly better.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>auth-filters: generate secret securely</title>
<updated>2018-07-15T01:30:57Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-07-15T01:22:12Z</published>
<link rel='alternate' type='text/html' href='https://sayag.it/cgitext.git/commit/?id=b73df8098f261ecbd4bc5ba689f9766a1a75f9a0'/>
<id>urn:sha1:b73df8098f261ecbd4bc5ba689f9766a1a75f9a0</id>
<content type='text'>
This is much better than having the user generate it themselves.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
</feed>
