Version 0.1.1 "Eccentric Wallaby"
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 fordraft: true
in the FrontMatter of ContentItems. Any "draft" will not have a file written to the build folder and will not appear in thecollections
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 filebasename
- 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 previousstakx-io/stakx
package has been deleted. JailObject
have been renamed toJailedDocument
- 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
orcollections
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