diff --git a/lib/Pico.php b/lib/Pico.php index 74e7f30..d95a6ff 100644 --- a/lib/Pico.php +++ b/lib/Pico.php @@ -1378,6 +1378,9 @@ class Pico if ($file !== $this->requestFile) { $rawContent = $this->loadFileContent($file); + // trigger onSinglePageContent event + $this->triggerEvent('onSinglePageContent', array($id, &$rawContent)); + $headers = $this->getMetaHeaders(); try { $meta = $this->parseFileMeta($rawContent, $headers); diff --git a/plugins/DummyPlugin.php b/plugins/DummyPlugin.php index 928ae2a..cecd632 100644 --- a/plugins/DummyPlugin.php +++ b/plugins/DummyPlugin.php @@ -232,6 +232,7 @@ class DummyPlugin extends AbstractPicoPlugin * * @see Pico::readPages() * @see DummyPlugin::onSinglePageLoading() + * @see DummyPlugin::onSinglePageContent() * @see DummyPlugin::onSinglePageLoaded() * @see DummyPlugin::onPagesDiscovered() * @see DummyPlugin::onPagesLoaded() @@ -247,6 +248,7 @@ class DummyPlugin extends AbstractPicoPlugin * * Set `$id` to `null` to remove this page from the pages array. * + * @see DummyPlugin::onSinglePageContent() * @see DummyPlugin::onSinglePageLoaded() * @see DummyPlugin::onPagesDiscovered() * @see DummyPlugin::onPagesLoaded() @@ -258,6 +260,25 @@ class DummyPlugin extends AbstractPicoPlugin // your code } + /** + * Triggered when Pico loads the raw contents of a single page + * + * Please note that this event isn't triggered when the currently processed + * page is the requested page. The reason for this exception is that the + * raw contents of this page were loaded already. + * + * @see DummyPlugin::onSinglePageLoaded() + * @see DummyPlugin::onPagesDiscovered() + * @see DummyPlugin::onPagesLoaded() + * @param string $id relative path to the content file + * @param string &$rawContent raw file contents + * @return void + */ + public function onSinglePageContent($id, &$rawContent) + { + // your code + } + /** * Triggered when Pico loads a single page *