Содержание

Интегрируйте «ДокуВики» на свой сайт

Что?

Как?

Как работает «ДокуВики»: разметка вики читается парсером, который возвращает инструкции. Эти инструкции обрабатываются средством рендеринга для создания HTML- кода.

Для справки, инструкция выглядит так:

Array
(
    [0] => internallink
    [1] => Array
        (
            [0] => java:spring:hello_world
            [1] => Hello World
        )
 
    [2] => 150
)

Вместо того, чтобы повторять один и тот же процесс по каждому запросу пользователя, «ДокуВики» имеет мощную систему многоуровневого кэширования. Используя его, мы можем просто получить кэшированные инструкции и обработать их с помощью специального средства визуализации для создания собственного HTML- кода (со ссылками на наши страницы PHP, а не с URL-адресами DokuWiki).

Пример

Загрузите его здесь.

Иерархия файлов

Индексная страница содержит несколько ссылок на doc.phpфайлы данных из dokuwikiпапки (стандартная установка «Докувики»). DokuWikiRendererXHTML.php — это пользовательский рендерер (переопределяет некоторые методы стандартного HTML- рендерера DokuWiki ).

Как заставить пример работать

Подробности

Мы переопределили средство визуализации «Докувики» только для того, чтобы внутренние ссылки вели на страницы нашего веб-сайта, а не на соответствующие страницы установки «Докувики». «ДокуВики» использует URL-адреса для файлов кэша, поэтому вам необходимо сначала просмотреть страницу в «ДокуВики», прежде чем вы сможете увидеть ее через свой собственный PHP-код. Вы заметите это, только если скопируете/переместите установку «ДокуВики» куда-нибудь еще и попытаетесь просмотреть ее страницы с помощью собственного PHP-кода. Незащищено: можно просмотреть любую страницу из вашей установки «ДокуВики». если вам не нужно «Оглавление» в сгенерированном HTML , добавьте его в doc.php разделе init renderer: <code php>$renderer→notoc();</code>

$renderer->notoc();