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.
- PR #438 upgrades the michelf/php-markdown library to version 1.9, fixing some deprecated syntax notices under PHP 7.4
- Issues #432 and #434 have been fixed. When processing content types,
such as entries in
source/_posts/*
, Sculpin will now skip certain files.- "hidden" files (beginning with a
.
) will be skipped silently.- This helps suppress files like
.DS_Store
.
- This helps suppress files like
- files which aren't recognized by any registered Formatter will be
skipped with a "Skipped ..." message.
- This helps combat strange behaviour for files with no extension.
- "hidden" files (beginning with a
- Thanks to Rami Jumaah and Christian Riesen, Pages can now refer to
their own relative pathname and filename using
page.relative_pathname
andpage.filename
. This can be useful for implementing an "Edit This Page" link directly to a GitLab or GitHub VCS URL.
- Boilerplate is now generated by default when using
content:create
- Use
--dry-run
/-d
to suppress the creation of these files - Note that the YAML content type definition still needs to be added
by hand to your
app/config/sculpin_kernel.yml
file - Taxonomy-related boiler plate files now default to using the default layout instead of no layout at all. This should result in prettier output.
- Use
- ProxySourceCollection now uses the StableSort algorithm from Martijn
van der Lee to ensure stable sorting results, which will eliminate
some of the issues reported in bug #308 that were causing
generate
to constantly repeat in watch mode.
- New
--output-dir
flag allows users to override the default output directory (output_dev
,output_prod
) with their own custom target.- Also works with
SCULPIN_OUTPUT_DIR
environment variable.
- Also works with
- New
--source-dir
flag allows users to override the default source directory (source
) with their own custom target.- Also works with
SCULPIN_SOURCE_DIR
environment variable.
- Also works with
- New
content:create
command allows users to quickly and easily create new content types. It will generate appropriate templates, including pagination. - New
init
command allows users to spin up an EXTREMELY bare-bones Sculpin site, automatically creating YAML configuration files and some placeholdersource/
files.- Note that "posts" are disabled in this bare-bones configuration. If you would like to create a traditional Blog site, definitely use an existing skeleton project such as: https://github.com/sculpin/sculpin-blog-skeleton
- BC BREAK: Many classes have been made final to reduce complexity. If there is a valid use case to extend one of the classes, please do a pull request to remove the final keyword and explain why you need to extend the class.
- BC BREAK: #367 moved to PHP 7.2 as the new minimum PHP version for Sculpin.
- BC BREAK: #392 changed
the signature of the
getAdditionalSculpinBundles()
method to specify anarray
return type. If you have a customSculpinKernel.php
file you will need to - #385 bumped minimum
Symfony packages version to 4.1
- See the "Fixed" section for a BC Break related to the Symfony YAML component.
- Nothing.
- #332 dropped php 5 support.
- #335 removed embedded composer and related commands: install, update, self-update and dump-autoload
- BC BREAK: Pagination file names can now use the ".twig" extension, and
when using this mode, "Page 2" will render as "blog/page/2/index.html"
instead of "blog/page/2.html"
- To preserve search engine indexes and/or bookmarks, consider creating redirect mappings to send visitors to the new destinations.
- BC BREAK: Upgrading the Symfony YAML component has resulted in some
changes to YAML Front Matter processing.
- Most notably, values with a colon, such as page titles, now
require quoting. E.g.,
title: My Journey: Back From Whence I Came
must now betitle: "My Journey: Back From Whence I Came"
- These instances should be clearly called out the first time you call the generate command, so it should require minimal effort to locate and fix.
- Most notably, values with a colon, such as page titles, now
require quoting. E.g.,
- Nothing.
- Nothing.
- Nothing.
- #343 slugs are used literally and not escaped again.