<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ciigo, branch v0.15.0</title>
<subtitle>Static web server with AsciiDoc and Markdown.</subtitle>
<id>http://git.kilabit.info/ciigo/atom?h=v0.15.0</id>
<link rel='self' href='http://git.kilabit.info/ciigo/atom?h=v0.15.0'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/'/>
<updated>2025-01-07T17:02:27Z</updated>
<entry>
<title>Release ciigo v0.15.0 (2025-01-08)</title>
<updated>2025-01-07T17:02:27Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-07T17:02:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=9130f2350eff5710b14ec6aeda7ddccd944c643c'/>
<id>urn:sha1:9130f2350eff5710b14ec6aeda7ddccd944c643c</id>
<content type='text'>
This is the first major release of ciigo on the new year of 2025.
We bring many enhancements and update on the documentation.

[ENHANCEMENT]
The first changes is refactoring to use watchfs/v2. The [watchfs/v2]
bring new enhancements by watching only single file instead of all
markup files for changes. This minimize number of goroutine calling
[os.Stat] on each markup files.

[BUG FIX]
When listing the file markups, if the node is symlink (either file or
directory) and target its not exist, continue to the next node instead
of returning error. The same is true for directory that cannot be
opened, probably due to broken symlink or permission.

[ENHANCEMENT]
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.

This allow quick preview without waiting for watcher to complete.

[ENHANCEMENT]
The README has been revamped to include section on how to install ciigo
as program, how to running ciigo convert and serve, how to write content
and view it live on browser, and how to deploy it.

On the section "ciigo as library" we point the user the sample code at
"internal/cmd/ciigo-example" instead of writing long code at the front.

[BUG FIX]
This release also fix Exclude option does not get processed when calling
GoEmbed, or running "ciigo embed".
</content>
</entry>
<entry>
<title>all: update README simplify section "ciigo as library"</title>
<updated>2025-01-07T16:48:24Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-07T16:48:24Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=50b8bb50987d8fc8b848c05e07f16730a9883daf'/>
<id>urn:sha1:50b8bb50987d8fc8b848c05e07f16730a9883daf</id>
<content type='text'>
Instead of writing the code manually, show the where to look for
example, which is at "internal/cmd/ciigo-example".
</content>
</entry>
<entry>
<title>all: fix GoEmbed that does not excludes options from ConvertOptions</title>
<updated>2025-01-07T16:19:47Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-07T16:19:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=67a080cd6d2b08a192ad4b6977358645616ddb65'/>
<id>urn:sha1:67a080cd6d2b08a192ad4b6977358645616ddb65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: move example for ciigo as library to internal/cmd/ciigo-example</title>
<updated>2025-01-07T16:19:25Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-07T16:19:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=9a03cfb3c4289b9af54246950c957265ee83ecc5'/>
<id>urn:sha1:9a03cfb3c4289b9af54246950c957265ee83ecc5</id>
<content type='text'>
While at it, update the example index by removing unnecessary
external image, and update links to open in new tab/window.
</content>
</entry>
<entry>
<title>all: update README for running ciigo as CLI</title>
<updated>2025-01-06T17:53:09Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-06T14:35:21Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=028580508facc0924cab1666e8aeacdc72e280a1'/>
<id>urn:sha1:028580508facc0924cab1666e8aeacdc72e280a1</id>
<content type='text'>
In the README we add list of ciigo features, describe how to install
ciigo, reformat the Usage, add an example of running ciigo convert
and serve, how to write content and view it live on browser, and
how to deploy it using rsync.
</content>
</entry>
<entry>
<title>file_markup: convert extension to lowercase on markupKind only</title>
<updated>2025-01-06T17:13:55Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-06T16:32:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=51ac42c62f8b1bd0c1669c01fa445cb1ed76d02e'/>
<id>urn:sha1:51ac42c62f8b1bd0c1669c01fa445cb1ed76d02e</id>
<content type='text'>
Converting extension to lowercase before trimming it may not remove
the extension itself since the string has changes.
</content>
</entry>
<entry>
<title>all: change the "serve-doc" and default address to prevent conflicts</title>
<updated>2025-01-06T17:13:55Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-06T14:34:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=d420aa693773f5793138589745bf02ea4eea3cf7'/>
<id>urn:sha1:d420aa693773f5793138589745bf02ea4eea3cf7</id>
<content type='text'>
Using port 8080 as the default address for "serve" is too common and may
conflict with other services in user local environment.

While at it, also change the "serve-doc" with other random ports to
allow us test running "ciigo serve" and viewing doc at the same time.
</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: run task "test" after "lint" and "build"</title>
<updated>2025-01-06T17:13:55Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-06T11:13:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=6593f4d2069790c73595f14b3312a8d83e61760e'/>
<id>urn:sha1:6593f4d2069790c73595f14b3312a8d83e61760e</id>
<content type='text'>
Task for "lint" and "build" is much more faster than "test".
So if we lint or build failed, we did not waste too much times waiting
for all tests to pass.

While at it, remove linter "revive" we will use the standard linters
from Go tools itself.
</content>
</entry>
<entry>
<title>all: ignore error when scanning for file markups</title>
<updated>2025-01-06T17:13:55Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-05T19:51:20Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/ciigo/commit/?id=4a4ed2dce4ea4d9448d5aa03ea4040af202d2520'/>
<id>urn:sha1:4a4ed2dce4ea4d9448d5aa03ea4040af202d2520</id>
<content type='text'>
When listing the file markups, if the node is symlink (either file or
directory) and target its not exist, continue to the next node instead
of returning error.
The same is true for directory that cannot be opened, probably due to
broken symlink or permission.
</content>
</entry>
</feed>
