Daniel Rudolf
1b3ef7516d
Drop the "index" part of URLs
...
Closes #347 . Thanks @Robby-
9 years ago
Daniel Rudolf
a119122497
Fix coding standard violation
9 years ago
Daniel Rudolf
b133f6dae5
Add Pico::VERSION_ID (like PHP_VERSION_ID)
9 years ago
Daniel Rudolf
8dfb1b14c7
Improve HTTPS detection with proxies
...
Fixes #344 . Thanks @Robby-
Implementation details taken from Symfony 3.0.4, method \Symfony\Component\HttpFoundation\Request::isSecure(), see https://github.com/symfony/symfony/blob/v3.0.4/src/Symfony/Component/HttpFoundation/Request.php#L1169-L1192
9 years ago
Daniel Rudolf
bbd8ef8847
Fix Date meta header parsing with ISO-8601 datetime strings
...
Symfony YAML interprets ISO-8601 datetime strings and returns timestamps instead of the string. This behavior conforms to the YAML standard, i.e. this is no bug of Symfony YAML.
Fixes #336 . Thanks @csholmq for reporting this.
9 years ago
Daniel Rudolf
0a4e7443d2
Fix class doc typos
9 years ago
Daniel Rudolf
3d11b8a979
Replace is_a() function calls with instanceof operator
9 years ago
Daniel Rudolf
dc621b24cd
Improve class docs of Pico::loadConfig()
9 years ago
Daniel Rudolf
988a23fd02
Modular config: Load config from any config/*.config.php
...
Resolves #330
After loading the `config/config.php`, Pico proceeds with any existing `config/*.config.php` in alphabetical order. The file order is crucial: Config values which has been set already, cannot be overwritten by a succeeding file. This is also true for arrays, i.e. when specifying `$config['test'] = array('foo' => 'bar')` in `config/a.config.php` and `$config['test'] = array('baz' => 42)` in `config/b.config.php`, `$config['test']['baz']` will be undefined
9 years ago
Daniel Rudolf
cd74b681f5
Fix scope isolated config includes
9 years ago
Daniel Rudolf
75d5081bfb
Use scope isolated includes for plugins & config
9 years ago
Daniel Rudolf
5bb1c325ff
Add onSinglePageLoading event; allow skipping pages in onSinglePageLoaded
9 years ago
Daniel Rudolf
245cd15770
Refactor Pico::prepareFileContent() for better performance
9 years ago
Daniel Rudolf
479926eeb4
Add Pico::VERSION constant
9 years ago
Daniel Rudolf
43705d0f76
Minor code refactoring
9 years ago
Daniel Rudolf
8426a53f63
Allow Pico::$requestFile to point to somewhere outside content_dir
...
Bugfix; Refactoring Pico::load404Content() and Pico::discoverCurrentPage()
9 years ago
Daniel Rudolf
2a3e2fa576
Fix typos in class docs/exception messages
9 years ago
Daniel Rudolf
5a9c02f7bf
Allow plugins to trigger events
...
You MUST NOT trigger events of Pico's core through a plugin!
9 years ago
Daniel Rudolf
56b2ed6c7d
Allow manual plugin loading
9 years ago
Daniel Rudolf
d8be108c5b
Suppress PHP warning when using date_default_timezone_get()
...
Thanks to @nem25 for reporting this
10 years ago
Daniel Rudolf
1c2f6a1b23
Update class docs
10 years ago
Daniel Rudolf
73078a3dc3
Fix code formatting + class docs
10 years ago
Daniel Rudolf
c760205d70
Pico::triggerEvent(): Fix method docs typo
10 years ago
Daniel Rudolf
070da6d73f
Improve "404.md not found" exception message
10 years ago
Daniel Rudolf
5be2f8e597
Fix path handling on Windows
...
Fixes #307 ; thank you @bpgs for reporting!
10 years ago
Daniel Rudolf
43f953b67a
Pico::readPages(): Call Pico::parseFileMeta() again when a exception is thrown
10 years ago
Daniel Rudolf
3798cbe478
Remove page title fallback
10 years ago
Daniel Rudolf
329049bd18
Fix empty meta header
10 years ago
Daniel Rudolf
dc6ac516a8
Fix Pico::getPageUrl()
10 years ago
Daniel Rudolf
a138d23daf
Throw LogicException instead of RuntimeException in Pico::setConfig()
10 years ago
Daniel Rudolf
0c85d70820
Adding $queryData parameter to Pico::getPageUrl() method
...
This allows developers to easily add custom query data to an page URL without the need to check enabled URL rewriting on their own. Since Twigs `link` filter is just an alias for Pico::getPageUrl(), theme designers can do the same with e.g. `{{ "index"|link("foo=bar&baz=42") }}`.
Theme designers, heads up! Don't forget that the result of the `link` filter is never escaped, so the result could contain unescaped ampersands when passing custom query data. You should pass the result to Twigs `escape` filter when using custom query data.
10 years ago
Daniel Rudolf
93f7aaad8b
Class docs: Use default markdown table format
10 years ago
Daniel Rudolf
9aaab5de1a
Refactor Pico::parseFileMeta()
10 years ago
Daniel Rudolf
5ea94d06e6
Catch YAML parse errors
10 years ago
Daniel Rudolf
2d9b5aa1a2
Fix operators
10 years ago
Daniel Rudolf
698a249d45
Force Pico::$requestUrl to have no leading/trailing slash
...
Fixes #291
10 years ago
Daniel Rudolf
2761f8b751
Refactor Pico::isUrlRewritingEnabled()
10 years ago
Daniel Rudolf
86d1f713f2
Move PHP version check to index.php
10 years ago
Daniel Rudolf
81821e7811
Improve Pico::getBaseUrl() code styling
10 years ago
theshka
1fae7ab3df
* [New] added PHP_VERSION check to Pico::run()
10 years ago
Daniel Rudolf
840d41bca5
Improve type hinting
10 years ago
Daniel Rudolf
c34afad4af
Fix typo
10 years ago
Daniel Rudolf
d252df4b98
Throw RuntimeException on invalid content dirs
10 years ago
Daniel Rudolf
f5006c036a
Prevent double slashes in base_url when installed to document root
...
Fixes #274
10 years ago
Daniel Rudolf
c72ea0ecec
PicoDeprecated: Sanitize content_dir and base_url options when reading config.php in Picos root dir
10 years ago
Daniel Rudolf
10de8efa11
Move markdown filter to PicoTwigExtension
10 years ago
Daniel Rudolf
f19adc64b9
Add PicoTwigExtension with map and sort_by filters
10 years ago
Daniel Rudolf
78ceabe878
Various improvements
...
- Reuse ParsedownExtra object
- Add new markdown Twig filter
- Improve class docs in general
- Document plugin number prefix usage
10 years ago
Daniel Rudolf
f9e9642c22
Fix Pico::getPageUrl()
...
With enabled URL rewriting we must call rawurlencode() on the file path parts rather the whole path
10 years ago
Daniel Rudolf
2ca711ad59
Add missing rawurlencode() to Pico::getPageUrl()
...
Replace urldecode() in Pico::evaluateRequestUrl() with rawurldecode()
See #272 for details, thanks @smcdougall for spotting!
10 years ago