diff --git a/lib/Pico.php b/lib/Pico.php index 34ce43d..3eab8df 100644 --- a/lib/Pico.php +++ b/lib/Pico.php @@ -401,11 +401,8 @@ class Pico $this->triggerEvent('onContentLoaded', array(&$this->rawContent)); // parse file meta - $this->metaHeaders = $this->getMetaHeaders(); - $this->triggerEvent('onMetaHeaders', array(&$this->metaHeaders)); - - $this->triggerEvent('onMetaParsing', array(&$this->rawContent, &$this->metaHeaders)); - $this->meta = $this->parseFileMeta($this->rawContent, $this->metaHeaders); + $this->triggerEvent('onMetaParsing', array(&$this->rawContent)); + $this->meta = $this->parseFileMeta($this->rawContent, $this->getMetaHeaders()); $this->triggerEvent('onMetaParsed', array(&$this->meta)); // parse file content @@ -1091,24 +1088,29 @@ class Pico /** * Returns known meta headers * + * This method triggers the `onMetaHeaders` event when the known meta + * headers weren't assembled yet. + * * @return string[] known meta headers; the array value specifies the * YAML key to search for, the array key is later used to access the * found value */ public function getMetaHeaders() { - if ($this->metaHeaders !== null) { - return $this->metaHeaders; + if ($this->metaHeaders === null) { + $this->metaHeaders = array( + 'title' => 'Title', + 'description' => 'Description', + 'author' => 'Author', + 'date' => 'Date', + 'robots' => 'Robots', + 'template' => 'Template' + ); + + $this->triggerEvent('onMetaHeaders', array(&$this->metaHeaders)); } - return array( - 'title' => 'Title', - 'description' => 'Description', - 'author' => 'Author', - 'date' => 'Date', - 'robots' => 'Robots', - 'template' => 'Template' - ); + return $this->metaHeaders; } /** diff --git a/plugins/DummyPlugin.php b/plugins/DummyPlugin.php index d06d17f..928ae2a 100644 --- a/plugins/DummyPlugin.php +++ b/plugins/DummyPlugin.php @@ -162,20 +162,6 @@ class DummyPlugin extends AbstractPicoPlugin // your code } - /** - * Triggered when Pico reads its known meta header fields - * - * @see Pico::getMetaHeaders() - * @param string[] &$headers list of known meta header - * fields; the array value specifies the YAML key to search for, the - * array key is later used to access the found value - * @return void - */ - public function onMetaHeaders(array &$headers) - { - // your code - } - /** * Triggered before Pico parses the meta header * @@ -387,6 +373,20 @@ class DummyPlugin extends AbstractPicoPlugin // your code } + /** + * Triggered when Pico reads its known meta header fields + * + * @see Pico::getMetaHeaders() + * @param string[] &$headers list of known meta header + * fields; the array value specifies the YAML key to search for, the + * array key is later used to access the found value + * @return void + */ + public function onMetaHeaders(array &$headers) + { + // your code + } + /** * Triggered when Pico registers the YAML parser *