~shulhan/ciigo

v0.15.0 9 days ago .tar.gz browse log

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".

v0.14.0 3 months ago .tar.gz browse log

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.

v0.13.2 4 months ago .tar.gz browse log

Release ciigo v0.13.2 (2024-09-07)

Update on asciidoctor-go bring new features and enhancements,

* Support document attribute "leveloffset".

  The ":leveloffset:" on document attribute allow increment or decrement
  the heading level on included files.

  Reference: https://docs.asciidoctor.org/asciidoc/latest/directives/include-with-leveloffset/

* Use strict document header format.

  Previously, an empty line before Document Title cause the parser
  stop parsing the document header, now an empty lines are skipped.
  Also document attribute can be place anywhere, either before or after
  title, and in between attributes; now it can be only placed after
  revision or author or title.

v0.13.1 5 months ago .tar.gz browse log

Release ciigo v0.13.1 (2024-08-04)

=== Bug fixes

* Fix "serve" not detecting new files::

  If there is new files on the root of directory it will not detected
  automatically. This release now fix this issue.

=== Others

* all: remove Limitations and update Links

  The asciidoc-go library now support scanning symlink inside Root
  directory. The Links sections merge the previous contents from old
  index.adoc.

* all: update the CLI usage in the README

  There are three places for command usage: one in main Go doc, one in
  the program usage, and one in README.
  If we changes the flags we need to update three of them, and sometimes
  we forgot.
  To simplify, we remove the one in the Go doc main program.

v0.13.0 8 months ago .tar.gz browse log

Release ciigo v0.13.0 (2024-05-12)

=== New features

* cmd/ciigo: add flag to set package and variable name for "embed"

  The flag "-package-name" can be used to changes the default package
  name inside the Go embed file. The flag "-var-name" can be used to
  changes the default memfs variable name inside the Go embed file.

=== Enhancements

* all: fix HTML files always generated when HTMLTemplate is not set

  If the path to HTMLTemplate option is not set, GoEmbed should convert
  to HTML only if markup file is newer than HTML file or when HTML file
  not exist.

* all: initialize memfs using New

  When memfs not initialized using New, the [memfs.MemFS.PathNodes]
  will be nil. This cause any Get on new file will return 404.

v0.12.0 9 months ago .tar.gz browse log

Release ciigo v0.12.0 (2024-04-04)

=== New features

* all: add server option to automatically generate index HTML

  If the requested path is directory and no "index.html" file exist in
  that directory, ciigo server will render list of files as "index.html"
  automatically.

=== Chores

* all: replace module "share" with "pakakeh.go"

  The "share" module has been moved to new repository with new name at
  "https://sr.ht/~shulhan/pakakeh.go".

v0.11.0 1 year, 1 month ago .tar.gz browse log

Release ciigo v0.11.0 (2023-12-14)

=== Breaking changes

* Field [ConvertOptions.HtmlTemplate] become
  [ConvertOptions.HTMLTemplate]

* Method [Converter.SetHtmlTemplateFile] become
  [Converter.SetHTMLTemplateFile]

* Method [Converter.ToHtmlFile] become [Converter.ToHTMLFile]

===  Bug fix

* asciidoc: fix custom ID on the first section not applied correctly

v0.10.1 1 year, 2 months ago .tar.gz browse log

Release ciigo v0.10.1 (2023-11-07)

In this release, update on asciidoctor-go add new features to parse
unordered list with '-' and some bug fixes related to rendering list.

The update on share module fix for permission error when scanning using
memfs and HTTP redirect for request to directory that does not end with
slash.

=== Bug fixes

all: ignore error permission when listing file markups::

    Instead of returning the error, ignore it and continue processing
    other files in the list.

===  Enhancements

all: print log message with log package::

    This is to provide the timestamp to each log output.

cmd/ciigo: set default IP address to loopback on serve command::

    Previously, the default IP address is 0.0.0.0 which listen on all
    network interfaces. Listening to all network interface should be
    explicit by user.

all: use modification time to force HTML conversion::

    In this changes, we derive the decision based on modification time
    of HTML template and markup file. If the HTML template or markup
    file is newer that HTML file then the new HTML file will be generated.

v0.10.0 1 year, 8 months ago .tar.gz browse log

Release ciigo v0.10.0 (2023-05-14)

=== New features

* all: bring back support for Markdown

  I use two remote repositories: GitHub and SourceHut.
  GitHub support rendering README using asciidoc while SourceHut not.
  This cause the repository that use README.adoc rendered as text in
  SourceHut which make the repository page less readable.

  Also, the pkg.go.dev now render README but only support Markdown.

  Since we cannot control the SourceHut and go.dev, the only option is
  to support converting Markdown in ciigo so I can write README using
  Markdown and the rest of documentation using Asciidoc.

v0.9.3 1 year, 10 months ago .tar.gz browse log

Release ciigo v0.9.3 (2022-03-03)

Changes on the asciidoctor-go v0.4.1,

=== Bug fixes

* all: fix empty line printed on ToHTMLBody or ToHTMLEmbedded
* all: ignore parsing block image in paragraph

=== Enhancements

* all: handle empty preamble
1 / 3