<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ciigo/server.go, branch main</title>
<subtitle>Static web server with AsciiDoc and Markdown.</subtitle>
<id>http://git.kilabit.info/ciigo/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/ciigo/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/'/>
<updated>2026-02-11T15:50:53Z</updated>
<entry>
<title>cmd/ciigo: add option to set base path and shutdown idle duration</title>
<updated>2026-02-11T15:50:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-11T15:50:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=00dfc937cec1b7eb9ebb1024fae5228ebf9f0341'/>
<id>urn:sha1:00dfc937cec1b7eb9ebb1024fae5228ebf9f0341</id>
<content type='text'>
The `-base-path` option set the URL prefix for serving HTTP request.
This allow serving the content under the prefix other than "/".

The `-shutdown-idle` option set the duration when server will stop
accepting new connections and shutting down.
This option can be helpful to reduce the resources on local environment.
</content>
</entry>
<entry>
<title>all: embed struct [lib/http.ServerOptions] directly to [ServeOptions]</title>
<updated>2026-02-07T09:03:19Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-07T09:03:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=3714f15bf29cfb79c3623784e391a7a4854f6815'/>
<id>urn:sha1:3714f15bf29cfb79c3623784e391a7a4854f6815</id>
<content type='text'>
At this point, all of the fields in the struct ServeOptions is the
same with [lib/http.ServerOptions] except IsDevelopment and
ConvertOptions.

For field IsDevelopment we keep in the struct.
For field ConvertOptions we remove it and let the caller pass it on
Serve function or InitHTTPServer method.
</content>
</entry>
<entry>
<title>server: enable ServerOptions HandleFS by default</title>
<updated>2026-02-04T23:22:10Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-04T23:22:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=759c9b8e542d2ce159228e35c6d4138fbaef25de'/>
<id>urn:sha1:759c9b8e542d2ce159228e35c6d4138fbaef25de</id>
<content type='text'>
This allow request for .adoc/.md get redirected to .html in production
environment, as we have in https://golang-id.org/proposal/ .
</content>
</entry>
<entry>
<title>all: redirect request for .adoc or .md to the HTML file</title>
<updated>2026-02-04T20:40:34Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-04T17:00:23Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=aba22ce712d13b0b99b56a860f57c9142d9440e3'/>
<id>urn:sha1:aba22ce712d13b0b99b56a860f57c9142d9440e3</id>
<content type='text'>
During serve, onGet method, if the node does not exist and the request
path end with .adoc or .md, redirect the client to the .html location
with status 303 (StatusSeeOther).
</content>
</entry>
<entry>
<title>all: add field Listener to ServeOptions</title>
<updated>2026-02-02T09:40:16Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-02T09:31:34Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=5c30c1f5d0435791c164b89f98891ae27dda4dec'/>
<id>urn:sha1:5c30c1f5d0435791c164b89f98891ae27dda4dec</id>
<content type='text'>
The field Listener allow passing [net.Listener] instance for accepting
HTTP connection.

One of the use case is to activate the ciigo serve using systemd.socket(5).
</content>
</entry>
<entry>
<title>all: embed CSS and index HTML template using memfs</title>
<updated>2026-01-24T00:11:24Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-23T08:33:13Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=62c2e03409e8f7bc6f3f20df36603344afaf2b3a'/>
<id>urn:sha1:62c2e03409e8f7bc6f3f20df36603344afaf2b3a</id>
<content type='text'>
Previously, with direct embed, every time we change the CSS or index
template, we need to restart the "ciigo serve" command.

Using memfs make us easy to update and see the changes directly, without
restarting the server.
</content>
</entry>
<entry>
<title>go.mod: update pakakeh.go to v0.60.3-0.20260115103415-806359d5462f</title>
<updated>2026-01-15T20:04:33Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-15T20:04:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=3f824c2f1c3b86cac390e1541037d50ae5f9cc0b'/>
<id>urn:sha1:3f824c2f1c3b86cac390e1541037d50ae5f9cc0b</id>
<content type='text'>
This update have changes on [lib/http.FSHandler] that return second
parameter, status code.
</content>
</entry>
<entry>
<title>server: fix log prefix on InitHTTPServer method</title>
<updated>2025-02-03T12:05:41Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-02-03T12:05:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=88a73230e53273325bfcebfb103e2af58f354909'/>
<id>urn:sha1:88a73230e53273325bfcebfb103e2af58f354909</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: auto convert markup when HTTP client request GET to HTML file</title>
<updated>2025-01-06T17:13:55Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-05T19:54:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=85ae94f62b75372943a8ffdd705ce932a7849a8d'/>
<id>urn:sha1:85ae94f62b75372943a8ffdd705ce932a7849a8d</id>
<content type='text'>
In development mode, where [ServeOptions.IsDevelopment] is set to true
or when running "ciigo serve", the ciigo HTTP server will check if the
new markup file is newer than HTML file when user press refresh or
reload on the browser.
If its newer, it will convert the markup file and return the new content
of HTML file.
</content>
</entry>
<entry>
<title>all: introduce new type Ciigo</title>
<updated>2024-09-28T16:01:36Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-09-28T16:01:36Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=ef126797ffd6e3ea873bcad18b90a03c4c9071b8'/>
<id>urn:sha1:ef126797ffd6e3ea873bcad18b90a03c4c9071b8</id>
<content type='text'>
The Ciigo type provides customizable and reusable instance of ciigo for
embedding, converting, and/or serving HTTP server.
This type is introduced so one can add HTTP handler or endpoint along with
serving the files.
</content>
</entry>
</feed>
