Releases: Demonstrandum/seam
v0.4.2: %date and %timestamp date parsing and formatting (conversion)
New/improved macros:
%date
– now can convert from epoch timestamps and understands timezones.%timestamp
%sort
%reverse
%glob
– now can sort by: file type, name, creation time, or modification time.
v0.4.0: %markdown, %yaml, %json and %toml macros.
Full Markdown (%markdown ...
) support with front matter metadata via YAML or TOML evaluating to seam %define
s is supported.
The %yaml
, %json
and %toml
macros also parse these config languages in the same way.
release: v0.3: new macros, pattern matching, performance.
All user macros now do pattern matching on argument, including:
- named optional argument that may appear out of order.
- matching rigid required values.
- variadic arguments with
&rest
syntax - match against lists containing named arguments (essentially hashmaps)
and nested variadic&
-syntax.
Added new macros:
%apply
%lambda
%list
%splat
%strip
%join
%filter
%map
%embed
%namespace
%raw
%string
Fixed a memory leak with unfreed macro subcontexts.
Subcontext for macro expansion contexts would build up indefinitely, which would have memory impacts for larger projects with lots of macros.
Rewrite – Better Unicode support, better performance, better whitespace support, more macros.
The awful old lexer which did not handle unicode correctly, and did not handle whitespace sensibly... is gone!
Also, the old code's complete lack of good memory management (with clones everywhere) is rewritten the Rust way, with carful consideration of lifetimes, ownership, borrowing, &c.
We also get some more macros, notably
(%format ...)
for Rust-style string formatting.(%os/env ...)
for accessing environment variables.
With lots more low-hanging fruit to come. :)
Allow reading from STDIN.
Read from STDIN when no file is given.
v0.1.2 -- Date macro.
Added (%date "...")
strftime macro.
Macros, Cross-code generation, Better errors.
%include
macro added.HTML
can generate validCSS
through<style>
tags.- Error messages finally display the actual filename.
First Pre-Release
SEAM is still incomplete, but it is good to use for basic websites.