c_simple_http/Changelog.md
Stephen Seo 2d485a3824
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 3s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 20s
Build for Releases / push-build-x86_64 (push) Successful in 6s
Build for Releases / push-build-aarch64 (push) Successful in 17s
Build for Releases / push-build-x86_64_debian (push) Successful in 36s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m29s
Version 1.4
2024-11-21 14:14:09 +09:00

2.1 KiB

Changelog

Upcoming Changes

Version 1.4

Implemented "IF", "ELSEIF", "ELSE", "ENDIF", and "INDEX" for templates.

IF is used like: {{{!IF Variable==SomeString}}}.
ELSEIF is used like: {{{!ELSEIF Variable==AnotherString}}}.
ELSE is used like: {{{!ELSE}}}.
ENDIF is used like: {{{!ENDIF}}}.
INDEX is used like: {{{!INDEX ArrayVar[2]}}}.

Implemented "FOREACH" and "ENDFOREACH" for templates.

FOREACH is used like:

PATH=/
HTML='''
    {{{!FOREACH ArrayVar}}}
        {{{ArrayVar}}}
    {{{!ENDFOREACH}}}'''
ArrayVar=FirstValue
ArrayVar=SecondValue
ArrayVar=ThirdValue

For multiple variables to expand in FOREACH:

PATH=/
HTML='''
    {{{!FOREACH ArrayVar!ArrayVarSecond!ArrayVarThird}}}
        {{{ArrayVar}}}
        {{{ArrayVarSecond}}}
        {{{ArrayVarThird}}}
    {{{!ENDFOREACH}}}'''
ArrayVar=FirstVarOnce
ArrayVar=FirstVarTwice
ArrayVarSecond=SecondVarOnce
ArrayVarSecond=SecondVarTwice
ArrayVarThird=ThirdVarOnce
ArrayVarThird=ThirdVarTwice

Implemented nestable "IF" and "FOREACH" expressions in templates. In other words, there can be {{{!IF}}} inside other IF/FOREACH blocks, and vice versa.

Version 1.3

Fix internal erronous buffer declaration.

Fix internal missing NULL check.

Version 1.2

Add the --generate-dir=<DIR> option, which will generate all html into the given directory. This requires --config=<CONFIG_FILE>. --generate-enable-overwrite is required to overwrite existing files when using --generate-dir=<DIR>.

If --enable-static-dir=<DIR> is also specified with generate, then the files in the given directory will be copied into the directory specified with --generate-dir=<DIR>.

Version 1.1

Some refactoring of code handling parsing the config file.

Remove buffer-size-limit on config file entries.

Version 1.0

First release.

Features:

  • Serve templated html files via a config.
  • Reload configuration on SIGUSR1 or by listening (enabled by cmd parameter).
  • Cache served html (enabled by cmd parameter).
  • Serve static files from "static-dir" (enabled by cmd parameter).