Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
**Note:** This changelog only provides basic information about the enormous changes introduced with Pico 1.0.0-beta.1. Please refer to the UGPRADE section of the docs for details. ``` * [Security] (9e2604a) Prevent content_dir breakouts using malicious URLs * [New] Pico is on its way to its first stable release! * [New] Provide pre-bundled releases * [New] Heavily expanded documentation (inline code docs, user docs, dev docs) * [New] New routing system using the QUERY_STRING method; Pico now works out-of-the-box with any webserver and without URL rewriting; use `%base_url%?sub/page` in markdown files and `{{ "sub/page"|link }}` in Twig templates to declare internal links * [New] Brand new plugin system with dependencies (see `PicoPluginInterface` and `AbstractPicoPlugin`); if you're plugin dev, you really should take a look at the UPGRADE section of the docs! * [New] Introducing the `PicoDeprecated` plugin to maintain full backward compatibility with Pico 0.9 and Pico 0.8 * [New] Support YAML-style meta header comments (`---`) * [New] Various new placeholders to use in content files (e.g. `%site_title%`) * [New] Provide access to all meta headers in content files (`%meta.*%`) * [New] Provide access to meta headers in `$page` arrays (`$page['meta']`) * [New] The file extension of content files is now configurable * [New] Add `Pico::setConfig()` method to predefine config variables * [New] Supporting per-directory `404.md` files * [New] #103: Providing access to `sub.md` even when the `sub` directory exists, provided that there is no `sub/index.md` * [New] #249: Support the `.twig` file extension for templates * [New] #268, 269: Now using Travis CI; performing basic code tests and implementing an automatic release process * [Changed] Complete code refactoring * [Changed] Source code now follows PSR code styling * [Changed] Replacing constants (e.g. `ROOT_DIR`) with constructor parameters * [Changed] Paths (e.g. `content_dir`) are now relative to Pico's root dir * [Changed] Adding `Pico::run()` method that performs Pico's processing and returns the rendered contents * [Changed] Renaming all plugin events; adding some new events * [Changed] `Pico_Plugin` is now the fully documented `DummyPlugin` * [Changed] Meta data must start on the first line of the file now * [Changed] Dropping the need to register meta headers for the convenience of users and pure (!) theme devs; plugin devs are still REQUIRED to register their meta headers during `onMetaHeaders` * [Changed] Exclude inaccessible files from pages list * [Changed] With alphabetical order, index files (e.g. `sub/index.md`) are now always placed before their sub pages (e.g. `sub/foo.md`) * [Changed] Pico requires PHP >= 5.3.6 (due to `erusev/parsedown-extra`) * [Changed] Pico now implicitly uses a existing `content` directory without the need to configure this in the `config/config.php` explicitly * [Changed] Composer: Require a v0.7 release of `erusev/parsedown-extra` * [Changed] #93, #158: Pico doesn't parse all content files anymore; moved to `PicoParsePagesContent` plugin, but still impacts performance; Note: This means `$page['content']` isn't available anymore, but usually the new `$page['raw_content']` is suitable as replacement. * [Changed] #116: Parse meta headers using the Symfony YAML component * [Changed] #244: Replace opendir() with scandir() * [Changed] #246: Move `config.php` to `config/` directory * [Changed] #253: Assume HTTPS if page is requested through port 443 * [Changed] A vast number of small improvements and changes... * [Fixed] Sorting by date now uses timestamps and works as expected * [Fixed] Fixing `$currentPage`, `$nextPage` and `$previousPage` * [Fixed] #99: Support content filenames with spaces * [Fixed] #140, #241: Use file paths as page identifiers rather than titles * [Fixed] #248: Always set a timezone; adding `$config['timezone']` option * [Fixed] A vast number of small bugs... * [Removed] Removing the default Twig cache dir * [Removed] Removing various empty `index.html` files * [Removed] Moving Pico's excerpt feature to `PicoExcerpt` plugin ```
- Loading branch information