<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgit, branch jd/zx2c4-deployment</title>
<subtitle>A hyperfast web frontend for git repositories written in C 
</subtitle>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/'/>
<entry>
<title>css: Support for dark mode</title>
<updated>2023-02-08T16:50:05+00:00</updated>
<author>
<name>Samuel Lidén Borell</name>
<email>samuel@kodafritt.se</email>
</author>
<published>2023-01-29T16:55:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=8ed1bef90f631989c0cadc326a163b874a64e02d'/>
<id>8ed1bef90f631989c0cadc326a163b874a64e02d</id>
<content type='text'>
Modern browsers have a "dark mode" preference, which enables alternate
styles on web sites that support this.

This patch adds a dark color scheme, that is automatically activated
via a CSS @media query.

Older browsers that do not support color schemes will simply show the
light scheme, but possibly without syntax highlighting.

Note that filters that use color (such as source highlighters) and
logotypes may need to be updated to work with a black background!
See the updated files in the filters/ directory.

Signed-off-by: Samuel Lidén Borell &lt;samuel@kodafritt.se&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Modern browsers have a "dark mode" preference, which enables alternate
styles on web sites that support this.

This patch adds a dark color scheme, that is automatically activated
via a CSS @media query.

Older browsers that do not support color schemes will simply show the
light scheme, but possibly without syntax highlighting.

Note that filters that use color (such as source highlighters) and
logotypes may need to be updated to work with a black background!
See the updated files in the filters/ directory.

Signed-off-by: Samuel Lidén Borell &lt;samuel@kodafritt.se&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>html: double escape literal + in URLs</title>
<updated>2023-01-11T20:51:17+00:00</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-12-22T01:38:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=f37dd0dd3a8e48eb0ee59ba6fe53b6ebf92566b1'/>
<id>f37dd0dd3a8e48eb0ee59ba6fe53b6ebf92566b1</id>
<content type='text'>
It's unclear whether this is correct or whether my server is double
decoding.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's unclear whether this is correct or whether my server is double
decoding.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>css: switch monospace fonts</title>
<updated>2023-01-11T20:51:17+00:00</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2016-08-02T02:15:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=6a29695be1b5f7746048d170917a031e190f7287'/>
<id>6a29695be1b5f7746048d170917a031e190f7287</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Steal kernel.org's libravatar lua.</title>
<updated>2023-01-11T20:51:17+00:00</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2014-03-19T08:58:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=0c27ce4aefe14a70a823739d5670604bca9581c4'/>
<id>0c27ce4aefe14a70a823739d5670604bca9581c4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZX2C4 specific patches.</title>
<updated>2023-01-11T20:51:17+00:00</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2012-07-10T17:26:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=8a0eaa5204a7360d96c82e6b938424438dddb617'/>
<id>8a0eaa5204a7360d96c82e6b938424438dddb617</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>config: make empty js= omit script tag</title>
<updated>2023-01-10T16:52:54+00:00</updated>
<author>
<name>Samuel Lidén Borell</name>
<email>samuel@kodafritt.se</email>
</author>
<published>2023-01-07T09:32:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=00ecfaadea2c40cc62b7a43e246384329e6ddb98'/>
<id>00ecfaadea2c40cc62b7a43e246384329e6ddb98</id>
<content type='text'>
According to the cgitrc man page, an empty js= value should cause the
script tag to be omitted. But instead, a script tag with an empty URL
is emitted. The same applies to css. So, skip emitting a tag if the
specified string is empty.

Signed-off-by: Samuel Lidén Borell &lt;samuel@kodafritt.se&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to the cgitrc man page, an empty js= value should cause the
script tag to be omitted. But instead, a script tag with an empty URL
is emitted. The same applies to css. So, skip emitting a tag if the
specified string is empty.

Signed-off-by: Samuel Lidén Borell &lt;samuel@kodafritt.se&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>js: add dynamic age update</title>
<updated>2022-12-19T15:50:23+00:00</updated>
<author>
<name>Andy Green</name>
<email>andy@warmcat.com</email>
</author>
<published>2018-06-24T07:05:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=907134b7a29177cb45aa461c549c004b1ae875af'/>
<id>907134b7a29177cb45aa461c549c004b1ae875af</id>
<content type='text'>
This patch updates the emitted "ages" dynamically on the client side.

After updating on completion of the document load, it sets a timer
to update according to the smallest age it found.  If there are any
ages listed in minutes, then it will update again in 10s.  When the
most recent age is in hours, it updates every 5m.  If days, then
every 30m and so on.

This keeps the cost of the dynamic updates at worst once per 10s.
The updates are done entirely on the client side without contact
with the server.

To make this work reliably, since parsing datetimes is unreliable in
browser js, the unix time is added as an attribute to all age spans.

To make that reliable cross-platform, the unix time is treated as a
uint64_t when it is formatted for printing.

The rules for display conversion of the age is aligned with the
existing server-side rules in ui-shared.h.

If the client or server-side time are not synchronized by ntpd etc,
ages shown on the client will not relate to the original ages computed
at the server.  The client updates the ages immediately when the
DOM has finished loading, so in the case the times at the server and
client are not aligned, this patch changes what the user sees on the
page to reflect patch age compared to client time.

If the server and client clocks are aligned, this patch makes no
difference to what is seen on the page.

Signed-off-by: Andy Green &lt;andy@warmcat.com&gt;
Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch updates the emitted "ages" dynamically on the client side.

After updating on completion of the document load, it sets a timer
to update according to the smallest age it found.  If there are any
ages listed in minutes, then it will update again in 10s.  When the
most recent age is in hours, it updates every 5m.  If days, then
every 30m and so on.

This keeps the cost of the dynamic updates at worst once per 10s.
The updates are done entirely on the client side without contact
with the server.

To make this work reliably, since parsing datetimes is unreliable in
browser js, the unix time is added as an attribute to all age spans.

To make that reliable cross-platform, the unix time is treated as a
uint64_t when it is formatted for printing.

The rules for display conversion of the age is aligned with the
existing server-side rules in ui-shared.h.

If the client or server-side time are not synchronized by ntpd etc,
ages shown on the client will not relate to the original ages computed
at the server.  The client updates the ages immediately when the
DOM has finished loading, so in the case the times at the server and
client are not aligned, this patch changes what the user sees on the
page to reflect patch age compared to client time.

If the server and client clocks are aligned, this patch makes no
difference to what is seen on the page.

Signed-off-by: Andy Green &lt;andy@warmcat.com&gt;
Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>config: add js</title>
<updated>2022-12-19T15:50:21+00:00</updated>
<author>
<name>Andy Green</name>
<email>andy@warmcat.com</email>
</author>
<published>2018-06-23T10:25:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=aee39b4e9a45e1ba507c0017de50bb9dbbae7af8'/>
<id>aee39b4e9a45e1ba507c0017de50bb9dbbae7af8</id>
<content type='text'>
Just like the config allows setting css URL path, add a config for
setting the js URL path

Signed-off-by: Andy Green &lt;andy@warmcat.com&gt;
Reviewed-by: John Keeping &lt;john@keeping.me.uk&gt;
Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just like the config allows setting css URL path, add a config for
setting the js URL path

Signed-off-by: Andy Green &lt;andy@warmcat.com&gt;
Reviewed-by: John Keeping &lt;john@keeping.me.uk&gt;
Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>css: change to be a list</title>
<updated>2022-12-19T15:49:09+00:00</updated>
<author>
<name>Andy Green</name>
<email>andy@warmcat.com</email>
</author>
<published>2018-07-03T03:33:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=093ac9697068833a15cae2dbbd5ffbc0203741c0'/>
<id>093ac9697068833a15cae2dbbd5ffbc0203741c0</id>
<content type='text'>
Without changing the default behaviour of including
/cgit.css if nothing declared, allow the "css" config
to be given multiple times listing one or more
alternative URL paths to be included in the document
head area.

Signed-off-by: Andy Green &lt;andy@warmcat.com&gt;
Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without changing the default behaviour of including
/cgit.css if nothing declared, allow the "css" config
to be given multiple times listing one or more
alternative URL paths to be included in the document
head area.

Signed-off-by: Andy Green &lt;andy@warmcat.com&gt;
Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cgitrc: handle value "0" for max-repo-count</title>
<updated>2022-12-19T15:22:26+00:00</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2018-07-16T14:27:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.joursoir.net/cgit/commit/?id=91f25909b9572ebdf3a0fed8224bf03d0d9bf3db'/>
<id>91f25909b9572ebdf3a0fed8224bf03d0d9bf3db</id>
<content type='text'>
Setting max-repo-count to "0" makes cgit loop forever generating page
links. Make this a special value to show all repositories.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Setting max-repo-count to "0" makes cgit loop forever generating page
links. Make this a special value to show all repositories.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
