aboutsummaryrefslogtreecommitdiff
path: root/filters
AgeCommit message (Collapse)Author
2026-07-31style: replace hardcoded color codes with css variablesv1.3.1+10Gravatar Saya Andy
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.
2026-07-30ui-ci: let a ci-filter decide whether the tab is shownGravatar Saya Andy
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 <saya.andy@posteo.com>
2021-05-12md2html: use proper formatting for hrGravatar Christian Hesse
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>
2020-12-29md2html: use sane_lists extensionGravatar Jason A. Donenfeld
This allows for cleaner nesting semantics and matches github more closely. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-20global: replace hard coded hash lengthGravatar Christian Hesse
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 <mail@eworm.de>
2019-01-03filters: migrate from luacrypto to luaosslGravatar Jason A. Donenfeld
luaossl has no upstream anymore and doesn't support OpenSSL 1.1, whereas luaossl is quite active. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-28filters: generate anchor links from markdownGravatar Christian Hesse
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>
2018-08-03auth-filters: add simple file-based authentication schemeGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-15auth-filters: use crypt() in simple-authenticationGravatar Jason A. Donenfeld
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 <Jason@zx2c4.com>
2018-07-15auth-filters: generate secret securelyGravatar Jason A. Donenfeld
This is much better than having the user generate it themselves. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-14auth-filters: do not crash on nil usernameGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-14auth-filters: do not use HMAC-SHA1Gravatar Jason A. Donenfeld
Though SHA1 is broken, HMAC-SHA1 is still fine. But let's not push our luck; SHA256 is more sensible anyway. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-01-19ui-blame: Allow syntax highlightingGravatar Jeff Smith
Place file contents into a single block so that syntax highlighting can be applied in the usual fashion. Place the alternating color bars behind the file contents. Force the default syntax highlighting background to transparent. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: John Keeping <john@keeping.me.uk>
2017-10-15global: spelling fixesGravatar Ville Skyttä
Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
2017-01-22syntax-highlighting: replace invalid unicode with ?Gravatar Jason A. Donenfeld
2016-06-17md2html: use utf-8 and flush output bufferGravatar Jason A. Donenfeld
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>
2016-06-07Hosted on HTTPS nowGravatar Jason A. Donenfeld
2016-02-23md2html: Do syntax highlighting tooGravatar Jason A. Donenfeld
2016-01-18syntax-highlighting: always use utf-8 to avoid ascii codec issuesGravatar Jason A. Donenfeld
2015-11-12about-formatting.sh: comment text out of dateGravatar Jason A. Donenfeld
2015-10-12filters: port syntax-highlighting.py to python 3.xGravatar Christian Hesse
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-10-12md2html: the default of stdin works fineGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2015-10-12filters: misc cleanupsGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2015-10-12md2html: use pure pythonGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2015-10-09filters: Simplify convertersGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2015-08-12filters: apply HTML escapingGravatar Lazaros Koromilas
http://www.w3.org/International/questions/qa-escapes#use
2015-03-13filters: Add sample gentoo scriptGravatar Jason A. Donenfeld
2015-03-05simple-authentication.lua: tie secure cookies to field namesGravatar Jason A. Donenfeld
2014-12-23match other common markdown file extensionsGravatar Chris Burroughs
2014-12-23repolist: add owner-filterGravatar Chris Burroughs
This allows custom links to be used for repository owners by configuring a filter to be applied in the "Owner" column in the repository list.
2014-12-13filter: fix libravatar email-filter https issueGravatar Christian Hesse
Serving cgit via https and getting avatar via http gives error messages about untrusted content. This decides whether or not to use https link by looking at the environment variable HTTPS, which is set in CGI.
2014-04-17remove trailing whitespaces from source filesGravatar Christian Hesse
2014-03-13filter: add libravatar email-filter lua scriptGravatar Christian Hesse
2014-01-23simple-authentication: styleGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-17auth: document tweakables in lua scriptGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-16auth: have cgit calculate login addressGravatar Jason A. Donenfeld
This way we're sure to use virtual root, or any other strangeness encountered. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-16auth: lua string comparisons are time invariantGravatar Jason A. Donenfeld
By default, strings are compared by hash, so we can remove this comment. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-16authentication: use hidden form instead of refererGravatar Jason A. Donenfeld
This also gives us some CSRF protection. Note that we make use of the hmac to protect the redirect value. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-16auth: add basic authentication filter frameworkGravatar Jason A. Donenfeld
This leverages the new lua support. See filters/simple-authentication.lua for explaination of how this works. There is also additional documentation in cgitrc.5.txt. Though this is a cookie-based approach, cgit's caching mechanism is preserved for authenticated pages. Very plugable and extendable depending on user needs. The sample script uses an HMAC-SHA1 based cookie to store the currently logged in user, with an expiration date. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-15email-gravatar: fix html syntax issuesGravatar Christian Hesse
an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified
2014-01-14email-gravatar: do not scale icons upGravatar Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14filter: allow returning exit code from filterGravatar Jason A. Donenfeld
Filters can now indicate a status back to cgit by means of the exit code for exec, or the return value from close for Lua. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14email-gravatar: fix html syntax issuesGravatar Christian Hesse
* make ampersand a html entity * add required alt attribute * add required img end tag
2014-01-14email-gravatar.py: fix UTF-8Gravatar Christian Hesse
2014-01-14email-gravatar.lua: fix for lua 5.2Gravatar Christian Hesse
2014-01-14filter: add page source to email filterGravatar Jason A. Donenfeld
Since the email filter is called from lots of places, the script might benefit from knowing the origin. That way it can modify its contents and/or size depending. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14filter: add gravatar scriptsGravatar Jason A. Donenfeld
The lua one is hugely faster than the python one, but both are included for comparison. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-13filters: Improved syntax-highlighting.pyGravatar Stefan Tatschner
- Switched back to python2 according to a problem in pygments with python3. With the next release of pygments this problem should be fixed. Issue see here: https://bitbucket.org/birkenfeld/pygments-main/issue/901/problems-with-python3 - Just read the stdin, decode it to utf-8 and ignore unknown signs. This ensures that even destroyed files do not cause any errors in the filter. - Improved language guessing: -> At first use guess_lexer_for_filename for a better detection of the used programming languages (even mixed cases will be detected, e.g. php + html). -> If nothing was found look if there is a shebang and use guess_lexer. -> As default/fallback choose TextLexer. Signed-off-by: Stefan Tatschner <stefan@sevenbyte.org>
2014-01-08Fix UTF-8 with syntax-highlighting.pyGravatar Přemysl Janouch
Previously the script tried to encode output from Pygments with the ASCII codec, which failed. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08Fix about-formatting.shGravatar Přemysl Janouch
dash failed to parse the script. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>