Release ciigo v0.15.1 (2025-02-01) [BUG FIX] Fix section detected as paragraph after list and comment. Previously, given the following markup, ---- * Sub list + Sub list content. //}}} //{{{ == Sub 2 //}} ---- The section "Sub 2" will be parsed as paragraph instead of new section. [CHORE] In the linter, we replace the fieldalignment and shadow using our internal gocheck command. This linters actually have an API that can be combined into a program, which provided by package "pakakeh.go/lib/goanalysis".
make: derive GOBIN using "go env GOBIN" The environment variable GOBIN may not set by user explicitly.
all: replace external linters with internal linter The fieldalignment and shadow is linter from golang.org/x/tools. This linters actually have an API that can be combined into a program, which provided by package "pakakeh.go/lib/goanalysis".
go.mod: update asciidoctor-go The latest release fix parsing section that is not detected after list items.
Release ciigo v0.15.0 (2025-01-08) 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".
all: update README simplify section "ciigo as library" Instead of writing the code manually, show the where to look for example, which is at "internal/cmd/ciigo-example".
all: fix GoEmbed that does not excludes options from ConvertOptions
all: move example for ciigo as library to internal/cmd/ciigo-example While at it, update the example index by removing unnecessary external image, and update links to open in new tab/window.
all: update README for running ciigo as CLI 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.
file_markup: convert extension to lowercase on markupKind only Converting extension to lowercase before trimming it may not remove the extension itself since the string has changes.
all: change the "serve-doc" and default address to prevent conflicts 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.
all: auto convert markup when HTTP client request GET to HTML file 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.
all: run task "test" after "lint" and "build" 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.
all: ignore error when scanning for file markups 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.
all: refactoring to use [watchfs/v2] The [watchfs/v2] bring new enhancements that watching only single file instead of all markup files for changes. This minimize number of goroutine calling os.Stat on each markup files being watched on directory.
go.mod: update all dependencies
Release ciigo v0.14.0 (2024-10-06) === Breaking changes * all: refactoring functions to accept non pointer struct option The function that accept struct XxxOptions should only received the copy of struct, not pointer. === New features * all: introduce new type Ciigo 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. === Enhancements * all: set margin on sectlevel3, sectlevel4, sectlevel5 Using default margin (1.25rem) cause the TOC for level 3 until 5 have wide gap in between them.
go.mod: update all dependencies
all: refactoring functions to accept non pointer struct option The function that accept struct XxxOptions should only received the copy of struct, not pointer.
all: introduce new type Ciigo 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.