<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/slcl/page.c, branch libweb-configure</title>
<subtitle>Small and lightweight cloud storage written in C99 and POSIX.1-2008.
</subtitle>
<id>https://gitea.privatedns.org/xavi/slcl/atom?h=libweb-configure</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/slcl/atom?h=libweb-configure'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/'/>
<updated>2025-10-10T13:29:55+00:00</updated>
<entry>
<title>page.c: Align results to center</title>
<updated>2025-10-10T13:29:55+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-10T13:29:55+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=6a3a0f45f65f9be58867f271ff2a027548789bd7'/>
<id>urn:sha1:6a3a0f45f65f9be58867f271ff2a027548789bd7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>page.c: Ensure trailing '/' on dir download URLs</title>
<updated>2025-10-10T09:20:25+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-10T09:20:25+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=4fa8915c8cd42b8bc30df3714e5163c4f4bece89'/>
<id>urn:sha1:4fa8915c8cd42b8bc30df3714e5163c4f4bece89</id>
<content type='text'>
Otherwise, it is not ensured web browsers would translate a relative
directory such as "dir/.." to a URL with a trailing '/'. Therefore, a
POST request to "/user?download=1" would fail because slcl only
considers "/user/" (note the trailing '/') as valid.
</content>
</entry>
<entry>
<title>page.c: Center directory/file and page count</title>
<updated>2025-10-09T08:58:59+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-09T08:53:36+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=57efdf774510c2b3bd114266af81843919421d55'/>
<id>urn:sha1:57efdf774510c2b3bd114266af81843919421d55</id>
<content type='text'>
</content>
</entry>
<entry>
<title>page.c: Switch preview and download</title>
<updated>2025-10-08T00:03:17+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-07T23:48:14+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=9542016d5d820eef0882ed7f4c3da5f238453707'/>
<id>urn:sha1:9542016d5d820eef0882ed7f4c3da5f238453707</id>
<content type='text'>
So far, clicking on a directory name previewed it, whereas clicking on a
file name would download it, and file previews were on a separate
column. This behaviour was found to be confusing, so it has been
simplified.

Now, clicking on a file or directory name would preview it. On the other
hand, the "Preview" column has been replaced with a "Download" column,
so that both files and directories can be downloaded.

Thanks to Avron for the suggestion. [1]

[1]: https://codeberg.org/xavidcr/slcl/issues/2
</content>
</entry>
<entry>
<title>page.c: Move remove checkbox to the right</title>
<updated>2025-10-08T00:03:16+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-07T23:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=9b928c550d53b313f8d138b6929d8b94bd699740'/>
<id>urn:sha1:9b928c550d53b313f8d138b6929d8b94bd699740</id>
<content type='text'>
It feels more intuitive to keep the thumbnail and file name as first
columns. It is assumed removing files and/or directories is not the
main interaction from users.
</content>
</entry>
<entry>
<title>page.c: Remove unused variable</title>
<updated>2025-10-08T00:03:16+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-07T21:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=32c4b34829e3d2d43f405c98f6edff32ae96a74a'/>
<id>urn:sha1:32c4b34829e3d2d43f405c98f6edff32ae96a74a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement directory download as ZIP</title>
<updated>2025-10-08T00:03:05+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-06T21:02:51+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=00dd37604d50cbf3fb27ec0631b4d4b6d2ee893a'/>
<id>urn:sha1:00dd37604d50cbf3fb27ec0631b4d4b6d2ee893a</id>
<content type='text'>
Thanks to the fdzipstream library [1] and zlib [2], it is possible to
generate ZIP files on-the-fly, therefore requiring no extra disk space
usage and only a small amount of memory.

Unfortunately, as of the time of this writing fdzipstream is not
packaged by any distributions yet [3], so it had to be imported as a git
submodule as a workaround.

While libarchive [4] could be an interesting alternative, writing ZIP
files is only supported by very recent versions (&gt;= 3.8.0), which are
still not packaged by many distributions [5], either.

Moreover, libarchive is a package with several dependencies other than
zlib and is significantly larger compared to fdzipstreams, so
fdzipstreams was ultimately considered a better fit for this purpose.

[1]: https://github.com/CTrabant/fdzipstream.git
[2]: http://zlib.net/
[3]: https://repology.org/projects/?search=fdzipstream
[4]: https://www.libarchive.org/
[5]: https://repology.org/project/libarchive/versions
</content>
</entry>
<entry>
<title>page.c: Report logged user name on directory preview</title>
<updated>2025-10-06T19:07:59+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-06T19:07:59+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=11ea1cc36a03cc1b68a57ab66a17ec249cb612a6'/>
<id>urn:sha1:11ea1cc36a03cc1b68a57ab66a17ec249cb612a6</id>
<content type='text'>
Thanks to Avron for the suggestion. [1]

[1]: https://codeberg.org/xavidcr/slcl/issues/2
</content>
</entry>
<entry>
<title>page.c: Add table head for directory preview</title>
<updated>2025-10-06T19:07:06+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-06T19:07:06+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=8e48f19b6ca68d525723ac049e984146f8bc17f1'/>
<id>urn:sha1:8e48f19b6ca68d525723ac049e984146f8bc17f1</id>
<content type='text'>
Thanks to Avron for the suggestion. [1]

[1]: https://codeberg.org/xavidcr/slcl/issues/2
</content>
</entry>
<entry>
<title>Fix wrong function names on failure</title>
<updated>2025-10-02T09:35:29+00:00</updated>
<author>
<name>Xavier Del Campo Romero</name>
<email>xavi92@disroot.org</email>
</author>
<published>2025-10-02T09:35:29+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/slcl/commit/?id=425a2e48c0f8266d5df0a1c2b40e3c176e40b283'/>
<id>urn:sha1:425a2e48c0f8266d5df0a1c2b40e3c176e40b283</id>
<content type='text'>
</content>
</entry>
</feed>
