Skip to content

Version 0.1.1 "Eccentric Wallaby"

Compare
Choose a tag to compare
@allejo allejo released this 29 Apr 07:24
· 410 commits to develop since this release
a7a1f44

Here's a minor release with bug fixes, new features, and an improved watch command (it's still experimental and needs to be refined).

New

  • Introduced new import keyword, which allows you to import other configuration files for different dev environments (#42)
  • Introduce new --use-drafts option to the build command, which looks for draft: true in the FrontMatter of ContentItems. Any "draft" will not have a file written to the build folder and will not appear in the collections array in Twig (#45)
  • The watch function now supports more external tools in addition to polling the file system
    • watchmedo (Cross platform pything shell utility)
    • fswatch (Cross-platform file change monitor with multiple backends)
    • inotifywait (Linux shell utility)
    • inotify (Php PECL extension)
  • Add new --profile option to show stats on time spent on each Twig template
  • Two new default FrontMatter keys have been added to all FrontMatter documents
    • filename - the full name of the file
    • basename - the name of the file without the extension
  • All data is now housed in DataItem objects that can be used for more information about the data file (#48)
  • Dynamic PageViews now support a new dataset FrontMatter key that will allow you to use DataItems in a DataSet the same way as ContentItems in a Collection (#48)
  • Introduce new select() Twig filter that will extract the values from the respective keys of an array of elements and flatten the items in addition to removing duplicate values
  • In addition to DataItem folders, ContentItem and PageView folders can now use the .example extension (#33)

Changes

  • The name on Packagist has been changed to stakx/stakx. Since there wasn't any usage, the previous stakx-io/stakx package has been deleted.
  • JailObject have been renamed to JailedDocument
  • Generic Twig runtime errors have been improved to provide more user-friendly information

Fixes

  • Permalinks with several periods or FrontMatter variables containing periods would fail to build
  • stakx now sets exit values greater than 0 when a website fails to build
  • Using watch will now compile changes to parent templates now
  • Line numbers shown in Twig errors have been corrected to be accurate
  • Assets are now copied correctly during the watch process; a notice of an undefined index of 'prefix' has been silenced
  • PageViews accessing either data or collections directly are now recompiled when the respective content is updated (#16)

Development

  • Restructured the project to be PSR-4 complaint
  • Change visibility of tracking class functions
  • Always use realpath() in FileExplorer
  • The menu Twig variable is now handled by its own class
  • All file writing has been moved to a dedicated Compiler class
  • PageManager class has been refactored to solely handle PageViews and nothing else
  • Explicit file locks aren't used for writing files anymore
  • A lot of namespaces for internal classes have been changed
  • Build settings have begun to be moved to Service singleton for global access to settings