xref: /plugin/combo/action/autofrontmatter.php (revision 7c479386882d4bae439b6a2a93a5e472a77a9162)
1c25e802bSgerardnico<?php
2c25e802bSgerardnico
304fd306cSNickeauuse ComboStrap\ExceptionCompile;
404fd306cSNickeauuse ComboStrap\LogUtility;
504fd306cSNickeauuse ComboStrap\MarkupPath;
6c25e802bSgerardnico
7*7c479386Sgerardnicorequire_once(__DIR__ . '/../vendor/autoload.php');
8*7c479386Sgerardnico
9c25e802bSgerardnico/**
10c25e802bSgerardnico * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved.
11c25e802bSgerardnico *
12c25e802bSgerardnico * This source code is licensed under the GPL license found in the
13c25e802bSgerardnico * COPYING  file in the root directory of this source tree.
14c25e802bSgerardnico *
15c25e802bSgerardnico * @license  GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
16c25e802bSgerardnico * @author   ComboStrap <support@combostrap.com>
17c25e802bSgerardnico *
18c3437056SNickeau *
19c3437056SNickeau * @deprecated - the frontmatter is no more used to enter metadata.
20c25e802bSgerardnico */
21c25e802bSgerardnicoclass action_plugin_combo_autofrontmatter extends DokuWiki_Action_Plugin
22c25e802bSgerardnico{
23c25e802bSgerardnico
24c25e802bSgerardnico
25c25e802bSgerardnico    public function register(Doku_Event_Handler $controller)
26c25e802bSgerardnico    {
27c25e802bSgerardnico        /**
28c25e802bSgerardnico         * Called when new page is created
29c25e802bSgerardnico         * In order to set its content
30c25e802bSgerardnico         * https://www.dokuwiki.org/devel:event:common_pagetpl_load
31c25e802bSgerardnico         */
32c3437056SNickeau        if (false) {
33c25e802bSgerardnico            $controller->register_hook('COMMON_PAGETPL_LOAD', 'BEFORE', $this, 'handle_new_page', array());
34c25e802bSgerardnico        }
35c25e802bSgerardnico    }
36c25e802bSgerardnico
37c25e802bSgerardnico    public function handle_new_page(Doku_Event $event, $param){
38c25e802bSgerardnico
3904fd306cSNickeau        try {
4004fd306cSNickeau            $page = MarkupPath::createPageFromExecutingId();
4104fd306cSNickeau        } catch (ExceptionCompile $e) {
4204fd306cSNickeau            LogUtility::msg("Unable to handle a new page because the global id is unknown");
4304fd306cSNickeau        }
44c3437056SNickeau        $canonical = $page->getCanonicalOrDefault();
45c25e802bSgerardnico        $event->data["tpl"] = <<<EOF
46c25e802bSgerardnico---json
47c25e802bSgerardnico{
48c25e802bSgerardnico    "canonical":"{$canonical}",
49e06795b8Sgerardnico    "title":"A [[https://combostrap.com/frontmatter|frontmatter]] title shown on the Search Engine Result Pages",
50e06795b8Sgerardnico    "description":"A [[https://combostrap.com/frontmatter|frontmatter]] description shown on the Search Engine Result Pages"
51c25e802bSgerardnico}
52c25e802bSgerardnico---
53c25e802bSgerardnicoEOF;
54c25e802bSgerardnico
55c25e802bSgerardnico
56c25e802bSgerardnico    }
57c25e802bSgerardnico}
58c25e802bSgerardnico
59c25e802bSgerardnico
60c25e802bSgerardnico
61