2015-04-07 3 views
2

У меня есть документация разработчика на сайте dokuwiki. Существует несколько версий программного обеспечения (например, v1, v2 ...). Я хотел бы иметь возможность динамически изменять видимое содержимое страницы на основе версии программного обеспечения.Dokuwiki - как изменить видимое содержимое страницы динамически

Например, возможно, на странице есть выпадающее меню, которое позволяет читателю выбрать «v1, v2 и т. Д.». Когда v2 выбран, только некоторые части страницы меняются, чтобы отразить часть v2 этого.

Вот пример некоторых содержимого вики страниц:

To build the foobar project, first download the code: 
    cd ~ 
    git clone https://foo.example.com/bar.git 
    git checkout v1.0 

    ... 

Если человек изменил выбранный пункт в выпадающем списке, чтобы v2 было бы изменить на следующее:

To build the foobar project, first download the code: 
    cd ~ 
    git clone https://foo.example.com/bar.git 
    git checkout v2.0 

    ... 

Кто-нибудь знает плагин, который может делать такие вещи в Dokuwiki?

ответ

1

Некоторое время назад я написал variants plugin, это доказательство концепции плагина, позволяющего предоставлять варианты частей страницы в зависимости от параметров, предоставленных пользователем. Он работает, но набор функций очень ограничен, т. Е. Вы можете указать только определенный параметр в URL-адресе, а затем в зависимости от этого параметра вы можете иметь if-else-blocks в тексте. Должен быть установлен этот параметр из выпадающего списка, но плагин не предоставляет выпадающего списка. Если вы хотите расширить его, не стесняйтесь делать это и, пожалуйста, отправьте запрос на исправление или потяните.

Другой подход используется page4release plugin, который был создан для описанной вами цели, но использует совершенно разные страницы для разных версий программного обеспечения. Вы также можете использовать комбинацию этого плагина и include plugin, если ваши страницы имеют общие общие части, которые вы могли бы включить с одной общей страницы (отказ от ответственности: я являюсь автором плагина include).

Смежные вопросы