All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.18.1 - 2021-04-26
0.18.0 - 2021-04-24
- A second argument to
lume()
function to configure the default plugins #45. - Support for more image formats in server live reload #67
- API changes in
search
helper #69:~=
renamed to*=
.- Added
<
,>
,<=
and>=
operators. - Allows to use
OR
operator with pipes. For example:tag1|tag2
ortitle=value1|value2
. - Added support for numeric values.
- Added support for date and datetime values.
- Use
Z
instead of+00:00
indate("ATOM")
filter #64 - Removed
hljs
class from blocks of unhighlighted code #71 - Datetime values in filenames can omit the seconds. For example
2021-04-24-18-00_post.md
.
- User options are overrided by default options in markdown plugin.
- Changed some file names to align with Deno style guide #73
- Updated deps #63, #70, #72, #76, #79
- Improved CLI help output #77
0.17.1 - 2021-04-14
- New option
-o | --open
to open a browser automatically on serve #62.
- The extensions
.html.js
and.html.ts
introduced in 0.17.0. The reason is it can be confused due not all files must generate html pages, so.tmpl.js
/.tmpl.ts
is more agnostic and fit all cases.
- Updated
postcss
version to fix a bug related with source maps. - Updated
postcss_import
version to fix a bug related with@charset
at-rule.
0.17.0 - 2021-04-11
- Show the local IP address on serve #55
- Allow empty front matter #54
- The extensions
.html.js
and.html.ts
are processed as pages (in order to replace to.tmpl.js
and.tmpl.ts
that will be removed in the future). - Added ability to change sort direction in
search
#57
- Deprecated
permalink
variable. Useurl
instead #46 - Removed
permalink
variable inpaginate
helper that use sprintf. Now it accepts only theurl
option that must be a function.
- Improved slugifier including a better support for unicode #50, #56
- Update mime types used in the server #51
- Updated some dependencies #59
0.16.6 - 2021-04-04
- New option
slugifyUrls
to disable slugifier introduced in 0.16.0 #44.
0.16.5 - 2021-03-29
- Undo the change "only rebuild the site if it's needed" due regression issues.
0.16.4 - 2021-03-28
- Allow to define a function as a
permalink
to generate it dynamically. - The
permalink
value can be a relative path (must starts with./
or../
), that will be resolved to the directory name. - The
url
filter allows urls starting with~
to reference to source files that will be automatically resolved to the final url.
- On reload files in
lume --serve
, some ignored files were not correctly filtered. - Improved
lume --serve
: only rebuild the site if it's needed. - Several changes for windows compatibility
0.16.3 - 2021-03-21
- SVGO dependency fails SVG plugin #43
0.16.2 - 2021-03-20
- New (experimental and unstable) plugin
image
to resize images automatically.
- On merge options, arrays are converted to objects.
0.16.1 - 2021-03-14
- Version number
0.16.0 - 2021-03-14
- New variable
renderOrder
to control the rendering order of the pages. - New cli alias
-s
for--serve
.
- Apply a slugifier to the path of all generated pages, to replace tildes and other conflictive characters and convert them to lowercase.
- Changed the way to generate multiple pages for more flexibility
- Ensure autogenerated pages aren't saved if they don't change (in
--serve
).
0.15.4 - 2021-03-08
- The
date
plugin accepts strings or integer arguments (they will be converted toDate
withnew Date(value)
constructor).
- Updated dependencies
0.15.3 - 2021-03-06
- Some issues related with paths in Windows #41
0.15.2 - 2021-02-22
- Version number
0.15.1 - 2021-02-21
- Added a second argument to the default exported function of
cli.js
to set a site directly.
- Pug templates loaded with
extends
were cached indefinitely #39. - Allow relative paths in
--root
option.
0.15.0 - 2021-02-05
- New advanced search features:
- You can filter by any field at any level. For example
search.pages("header.categories=my-category")
- You can sort by any field at any level. For example
search.pages("header.categories=my-category", "my.custom.order.field")
- New method
search.data()
to return the data assigned to any page or directory.
- You can filter by any field at any level. For example
- Restore the ability to return the proper exit code on
lume --run
. - Show more info on error.
- Removed the argument to ignore tags in
search.tags()
. Replaced by a filter like insearch.pages()
- The method
search.directory()
to return a directory instance. Usesearch.data()
. - The option
file
to sort results insearch.pages()
. Useurl
instead.
- Cache is not correctly refreshed when using different versions of plugins #35
- Updated dependencies
- Ensure the processors are executed in the same order they where declared
inline
plugin when the site location is in a subdirectory.
0.14.0 - 2021-02-02
- API changes in the
Page
class:- Tags are stored as
Array
inpage.data.tags
(previously they are aSet
inpage.tags
). - Removed
page.fullData
property,page.data
contains the merged data.
- Tags are stored as
- CLI changes #33, #34:
- Moved some options (arguments starting with
--
) to commands:lume --upgrade
tolume upgrade
lume --update
tolume update
lume --init
tolume init
lume --run=<script>
tolume run <script>
- Added command specific help info. For example:
lume run --help
- Changed the way to specify a different cwd. Instead
lume path/to/site
, uselume --root=path/to/site
- Moved some options (arguments starting with
- Link to docs in
--help
#32
0.13.2 - 2021-01-23
- Wrong default configuration in yaml plugin
0.13.1 - 2021-01-23
- Bug makes that postcss plugin doesn't process the css files
0.13.0 - 2021-01-20
- Normalize options across some plugins
- Minimum required Deno version is
1.7.0
- Temporary,
lume --run
doesn't return the proper exit code until this bug in Deno is resolved
0.12.1 - 2021-01-16
- New command
lume --update
to update the lume version used by any_config.js
file to the same installed globally in cli.
- Cache in
search
helper that returns the original array instead a clone, so it can be modified outside. - Uncaught exception in the built-in server due a Broken Pipe
0.12.0 - 2021-01-15
- New filter
njk
registered by thenunjucks
plugin - Moved
url
filter to a plugin that also created an additional filterhtmlUrl
to search and fix urls in html code - New plugin
date
to manage date and time values using the library date-fns - The order option of
search.pages()
accepts any value key (in addition todate
andfile
)
- Moved
attributes
andclassname
to the newattributes
plugin and enable it by default.
- Url filter with
null
values - Improved performance of
search.pages()
by implementing a cache system. - Improved performance of data and tags merging by implementing a cache system.
0.11.0 - 2021-01-12
- Renamed the plugin
css
topostcss
and some of its options:map
was renamed tosourceMap
postcssPlugins
was renamed toplugins
- Some files (like layouts) were loaded multiple times. Implemented a cache system to ensure that every file is read only once.
0.10.8 - 2021-01-03
- Sometimes, live reload doesn't reload the page, even if the changes are sent to the browser. #20
0.10.7 - 2021-01-02
- Support for async filters #22
- The events
beforeUpdate
andafterUpdate
have the propertyfiles
with the names of all changed files. - Allow to configure the css plugins with the following options
postcssPlugins
: array with the PostCSS plugins #26map
: settrue
to generate source map
- Ability to add/remove dynamically pages from processors
- Websocket sends update messages twice
paginate
helper doesn't return always the latest page- Dispatch events that contains scripts should return false if the script fails
0.10.6 - 2020-12-27
- Multipage generation workflow
- Websocket random errors on reload changes
0.10.5 - 2020-12-25
- Unknown option
--location
0.10.4 - 2020-12-24
- Ensure page tags are always converted to strings
- The template cache is not always updated
0.10.3 - 2020-12-21
- TypeError in the server reload script
- Removed extra space on parse the frontmatter
- Improved
Pug
plugin. Fixed Typescript errors due conflicts with Eta #18, added cache for the compiled templates and improved filters. - Added hot reloading for modules (ts, js) and fixed some issues.
- Undocumented
data
filter is disabled by default.
0.10.2 - 2020-12-17
- Do not add
.html
extension to files with a subextension. For examplescripts.js.njk
should be saved toscripts.js
insteadscripts.js.html
#13. - Refresh Deno cache with
lume --upgrade
0.10.1 - 2020-12-16
- Markdown error handling
<pre>
elements
0.10.0 - 2020-12-16
- New plugin to use
Pug
as a template engine #10 - New functions
search.previousPage()
andsearch.nextPage()
- Support for definition lists (
<dl>
) in markdown - Improved default
404
error page. Now it displays a list of files and subfolders - New option
templateEngine
to configure the template engine used for every page #11
- Live reload didn't work always with html
- HTTP server timeout on missing
/index.html
- Nunjucks cache doesn't detect changes in included templates
- Fixed version display on upgrade #9
url
filter in markdownurl
filter handling hashes and queries (for example#hashid
and?query=value
)
0.9.12 - 2020-12-07
- css plugin use only import and nesting plugins because the other plugins fails in Deno.
0.9.11 - 2020-12-06
- Fixed
lume --upgrade
error
0.9.10 - 2020-12-06
- Updated dependencies
0.9.9 - 2020-12-01
- Asyncronous scripts runner: Don't exit before all promises are resolved #7.
- Improved
--upgrade
command.
0.9.8 - 2020-12-01
- Removed failing dependency
0.9.7 - 2020-12-01
- Support for executing javascript functions in
deno.script()
instead only cli command - New cli arguments
--src
,--dest
to change dinamically the src and dest options. - New property
site.flags
that save all arguments after--
. For example:lume --serve -- flag1 flag2
.
- Fixed multi-commands scripts in linux #7
- Replaced
dev.jspm.io
dependencies withjspm.dev
. - Replaced
denopkg.com
dependencies withcdn.jsdelivr.net
#8. - Updated
highlight.js
to 10.x
0.9.6 - 2020-11-28
- Fixed multipage with generators and add support for async generators
- Updated dependencies
- Simplify the code generated by
lume --init
- Fixed multi-commands with
&&
and&
#7
0.9.5 - 2020-11-25
- Predefined values to
attr
filter. - New option
server
to configure the local server:port
andpage404
.
- Removed documentation from the main repository
- Version number returned by
lume -v
.
0.9.4 - 2020-11-20
- BrokenPipe errors in the server
0.9.3 - 2020-11-13
- Version number returned by
lume -v
.
0.9.2 - 2020-11-13
--upgrade
command.
- Renamed the shortcut for
--version
,-V
to-v
.
denjunks
installation bug #6
0.9.1 - 2020-11-06
@import
css of thecss()
plugin, using_includes
as fallback
0.9.0 - 2020-11-04
- New method
script()
to execute scripts like a task manager - Allow to run scripts in events
- Autodiscover
404.html
file in the built-in server for 404 responses
- Ignore
node_modules
folder by default - Show an error if the cwd is not a folder
- Enable
attr
filter by default
0.8.1 - 2020-10-28
- New method
ignore()
to ignore files and folders
- Version number on
lume --version
0.8.0 - 2020-10-27
- New
loadAssets()
to register assets loaders - New argument in CLI to build the site in a different directory and even choose a different _config.js file.
- Renamed
load()
toloadPages()
and removed theasset
argument. - Renamed
data()
toloadData()
- Renamed
helper()
todata()
- Updating files (in a watch process) dispatches the events
beforeUpdate
andafterUpdate
(insteadbeforeBuild
andafterBuild
)
0.7.3 - 2020-10-17
- Removed the version of the import in the
_config.js
file generated with--init
- Support for special characters in the url to the HTTP server
- Rebuild inside a try/catch to prevent die on error.
0.7.2 - 2020-10-10
- Updated version in cli
0.7.1 - 2020-10-10
- Permalinks does not respect the
prettyUrls
configuration #1 - Improved docs to update version
0.7.0 - 2020-10-09
- Added events:
beforeBuild
andafterBuild
- Added helper
paginate()
site.process()
function- New option
prettyUrls
. By default istrue
.
site.beforeRender()
andsite.afterRender()
transformers. Usesite.process()
instead, that is the equivalent toafterRender
.
- Improved performance executing some operations in parallel
- Fixed page duplications
- Fixed url filter with non-string values
0.6.0 - 2020-09-28
- New argument to
search.pages()
to sort pages alphabetically - Added new argument
--help
and aliases-h
and-V
to cli - Added
eta
plugin, to supportEta
template engine - New function
helper
to assign global helpers that can be used in the templates
- Arguments
path
andrecursive
insearch.pages()
url
filter with relative urls- postcss incompatibility with deno
0.5.1 - 2020-09-25
version
variable
0.5.0 - 2020-09-24
- Ability to generate multiple pages using generators
- Replaced
pathPrefix
andurl
withlocation
url
filter bugs
0.4.0 - 2020-09-22
- Ability to include the date in the filename
- New function
search.folder()
- New option
--dev
to run in development mode
- Front matter detection
- Site rebuild after creating or removing directories and files
- Improved url filter
- Use content hash to detect real file changes
- Tags propagation
- Ensure beforeRender transformers are executed only once.
0.3.1 - 2020-09-19
- Use temporarily a fork of denjunks because loading bugs
0.3.0 - 2020-09-19
- New plugin
svg
to optimize svg files - New plugin
dom
to manipulate html using the DOM api - New filter
classname
to manipulate css classes - New filter
attributes
to manipulate html attributes - First tests
explorer
was renamed tosearch
- Refactored source load and reload
- Explorer returns wrong results
- Live-reload bugs
0.2.3 - 2020-09-14
- Moved websocket script to server.js to avoid reading problems
0.2.2 - 2020-09-13
- New command
lumen --version
- CLI installation
0.2.1 - 2020-09-13
- Module loader executed from remote (http://deno.land/x/lume)
- Use fixed versions for dependencies
0.2.0 - 2020-09-13
- New command
lume --init
to create a_config.js
file.
- Merged
postcss
andstylecow
plugins in the newcss
plugin.
- JSX engine
First version