Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
dokuwiki [2025/07/06 12:38] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Корпоративная Википедия на DokuWiki ======
 +~~Title: DokuWiki установка (Nginx + PHP-FPM или Apache), настройка и использование ~~
 +{{htmlmetatags>
 +metatag-keywords=(Настройка DokuWiki) 
 +metatag-description=(Тонкая настройка DokuWiki для SEO продвижения, robots.txt, описание плагинов и шаблонов тем. Подключение Google Tag Manager и рекламы AdSense.)
 +}}
 +
 +{{ ::dokuwiki-logo-01.png?nolink |}}
 +
 +[[https://www.splitbrain.org/projects/dokuwiki|DokuWiki «Докувики»]] — это простая в использовании вики совместимая со стандартами и лёгкая в использовании, предназначена в первую очередь для создания разного рода документации. Докувики ориентирована на команды разработчиков, рабочие группы и небольшие компании. Все данные хранятся в простых текстовых файлах, поэтому для работы не требуется система база данных ([[СУБД|СУБД]]). Простой, но мощный синтаксис облегчает создание структурированных текстов и позволяет при необходимости читать файлы данных даже за пределами Wiki. Автор проекта — Андреас Гор (Andreas Gohr).
 +
 +На основе DokuWiki, немецкой компанией, создана ICKEwiki (существует Free версия)  - корпоративная вики для малого и среднего бизнеса. Если вы только выбираете себе движок Вики под свой проект, обратите внимание на ресурс [[https://www.wikimatrix.org|WikiMatrix]], где в удобной форме можно сравнить возможности всех популярных WIKI.
 +
 +===== Хостинг для DokuWiki =====
 +Выбор подходящего хостинга для DokuWiki — это важный шаг для тех, кто планирует развернуть мощную и простую в управлении вики-систему. DokuWiki отличается легкостью в установке и низкими требованиями к серверу, так как работает на PHP без использования баз данных. Однако для стабильной работы рекомендуется [[https://dieg.info/vps-hosting/|выбрать хостинг]], предлагающий хорошую производительность PHP, поддержку регулярных резервных копий.
 +====== Как установить DokuWiki на веб-сервер Nginx и php-fpm ======
 +В этом руководстве по установке DokuWiki на веб-сервер Nginx ([[fastcgi|php-fpm]]), подразумевается, что [[Nginx|Nginx]] уже установлен, если нет изучите статью [[lemp]]. В этом примере я не использую [[paneli_upravlenija_xostingom|панель управления хостингом]], все делаем руками.
 +
 +Системной окружение, в котором будем устанавливать DokuWiki:
 +<file bash>
 +# nginx -v
 +nginx version: nginx/1.20.2
 +</file>
 +<file bash>
 +# php -v
 +PHP 7.4.29 (cli) (built: Apr 12 2022 10:55:38) ( NTS )
 +Copyright (c) The PHP Group
 +Zend Engine v3.4.0, Copyright (c) Zend Technologies
 +    with Zend OPcache v7.4.29, Copyright (c), by Zend Technologies
 +</file>
 +
 +  * Загрузите [[https://download.dokuwiki.org|последнюю версию]] «ДокуВики», рекомендую выбрать стабильную версию
 +<file>
 +wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
 +</file>
 +  * Распаковка скачанного архива и создание корневого каталога (/var/www/dokuwiki) для файлов сайта:
 +<file bash>
 +tar xzf dokuwiki-stable.tgz -C /var/www/dokuwiki
 +cp -Ra dokuwiki-2020-07-29/* /var/www/dokuwiki
 +</file>
 +  * Изменить владельца, в моем случае все процессы веб-сервера запущены от пользователя с именем nginx
 +<file bash>
 +chown -R nginx:nginx /var/www/dokuwiki
 +</file>
 +Приступим к настройки виртуального хоста в Nginx. Придумывать велосипед не надо, а скачиваем уже [[https://www.nginx.com/resources/wiki/start/topics/recipes/dokuwiki/|готовый конфигурационный файл (раздел Full working config)]] с официального сайта Nginx для нашего вики-движка DokuWiki.
 +
 +Мой виртуальный хост будет описан в файле /etc/nginx/sites-enabled/wiki.darkfire.cf.conf, вставляем в него скопированный конфиг. Я изменял такие параметры:
 +  - server_name на название нашего сайта, в моем случае буду использовать домен  wiki.darkfire.cf;
 +  - путь к логам access_log error_log (можете эти директивы удалить или закоментировать);
 +  - root указываем путь к файлам сайта
 +  - fastcgi_pass меняем на настройки вашей системы
 +
 +Сохраняем, проверяем синтаксис и перегружаем nginx.
 +<file>
 +# nginx -t
 +nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 +
 +# systemctl reload nginx && systemctl status php-fpm
 +</file>
 +  * Установим бесплатный SLL [[let_s_encrypt|Let’s Encrypt]], также certbot настроит автоматический [[url_redirection|301 редирект]] с http на https.
 +<file>
 +certbot -d wiki.darkfire.cf
 +</file>
 +Ниже рабочий конфиг, с настройкой редиректа и SSL сертификатами. Вы можете его просто скопировать, поменяв значения выше, и после этого выпустите или замените пути к SSL сертификату. Также в этом файле включена поддержка http2.
 +<file bash>
 +server {
 +  server_name wiki.darkfire.cf;
 +  root /var/www/dokuwiki;
 +  autoindex off;
 +  client_max_body_size 15M;
 +  client_body_buffer_size 128k;
 +  index index.html index.htm index.php doku.php;
 +  access_log  /var/log/nginx/wiki.access.log;
 +  error_log  /var/log/nginx/wiki.error.log;
 +
 +add_header X-Frame-Options "DENY" always;
 +add_header X-Content-Type-Options "nosniff" always;
 +
 +  location / {
 +    try_files $uri $uri/ @dokuwiki;
 +  }
 +
 +  location ~ ^/lib.*\.(gif|png|ico|jpg)$ {
 +    expires 30d;
 +  }
 +
 +  location = /robots.txt  { access_log off; log_not_found off; }
 +  location = /favicon.ico { access_log off; log_not_found off; }
 +  location ~ /\.          { access_log off; log_not_found off; deny all; }
 +  location ~ ~$           { access_log off; log_not_found off; deny all; }
 +  # Sitemap
 +  rewrite ^/sitemap\.xml\.gz$ /doku.php?do=sitemap permanent;
 +
 +  location @dokuwiki {
 +    rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
 +    rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
 +    rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
 +    rewrite ^/(.*) /doku.php?id=$1 last;
 +  }
 +
 +  location ~ \.php$ {
 +    try_files $uri =404;
 +    fastcgi_pass  127.0.0.1:9003;
 +    fastcgi_index  index.php;
 +    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
 +    include /etc/nginx/fastcgi_params;
 +    fastcgi_param  QUERY_STRING     $query_string;
 +    fastcgi_param  REQUEST_METHOD   $request_method;
 +    fastcgi_param  CONTENT_TYPE     $content_type;
 +    fastcgi_param  CONTENT_LENGTH   $content_length;
 +    fastcgi_intercept_errors        on;
 +    fastcgi_ignore_client_abort     off;
 +    fastcgi_connect_timeout 60;
 +    fastcgi_send_timeout 180;
 +    fastcgi_read_timeout 180;
 +    fastcgi_buffer_size 128k;
 +    fastcgi_buffers 4 256k;
 +    fastcgi_busy_buffers_size 256k;
 +    fastcgi_temp_file_write_size 256k;
 +  }
 +
 +  location ~ /(data|conf|bin|inc)/ {
 +    deny all;
 +  }
 +
 +  location ~ /\.ht {
 +    deny  all;
 +  }
 +
 +
 +    listen 443 ssl http2; # managed by Certbot
 +    ssl_certificate /etc/letsencrypt/live/wiki.darkfire.cf/fullchain.pem; # managed by Certbot
 +    ssl_certificate_key /etc/letsencrypt/live/wiki.darkfire.cf/privkey.pem; # managed by Certbot
 +    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
 +    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
 +
 +}
 +server {
 +    if ($host = wiki.darkfire.cf) {
 +        return 301 https://$host$request_uri;
 +    } # managed by Certbot
 +
 +  server_name wiki.darkfire.cf;
 +  listen 80;
 +    return 404; # managed by Certbot
 +
 +}
 +</file>
 +  * И только теперь переходим к инсталлятору DokuWiki по адресу https://[ваш_домен]/install.php. Заполняем поля инсталлятора:
 +  - **Wiki Name**. Задаёт опцию title вики. Это имя будет выводиться в верхнем правом углу шаблона по умолчанию (default).
 +  - Enable ACL. Остальные опции будут доступны, только если используется список контроля доступа (ACL). «ДокуВики» не требует ACL, но его использование рекомендовано, потому что без него доступ к интерфейсу администрирования будет закрыт.
 +  - Superuser. В этом поле указывается имя будущей учётной записи администратора. В имени требуется использовать только ASCII-символы в нижнем регистре. Использование пробелов не разрешается.
 +  - Full Name. Реальное имя администратора.
 +  - E-Mail. Электронный почтовый адрес администратора. Расширенная проверка введённого адреса не проводится (проверяется только наличие сивола «@»), тем не менее здесь требуется указать действительный адрес.
 +  - Password и Once Again. Дважды вводим пароль администратора.
 +  - Initial ACL policy. Установщик позволяет вам настроить начальный набор правил ACL. Выбор конкретного варианта зависит прежде всего от того, как вы собираетесь использовать Wiki. Это только начальный этап установки, в дальнейшем вы сможете изменить правила ACL.
 +  - Allow users to register themselves. Если флажок не установлен, пользователи не могут зарегистрироваться. Но если вести Вики будет один человек, а не команда, то флажок устанавливать не надо.
 +  - Please choose the license you want to put your content under (Выберите лицензию, под которой вы хотите поместить свой контент). Информация о лицензии будет видна в футере вашей Вики.
 +  - Once a month, send anonymous usage data to the DokuWiki developers (Раз в месяц отправлять анонимные данные об использовании разработчикам «ДокуВики»). По умолчанию включена, можете выключить.
 +Жмем Save. Установка DokuWiki закончена. Не забудьте удалить install.php!
 +===== Безопасность DokuWiki в Nginx  =====
 +Используете веб-сервер, который не использует [[htaccess|.htaccess-файлы]], вы должны вручную защитить свою установку. Следующие папки не должны быть доступны из сети: bin, conf, data, inc. Чтобы проверить, должны ли вы настроить права доступа попытайтесь получить доступ к http://yourserver.com/dokuwiki/data/pages/wiki/dokuwiki.txt. Вы не должны получить доступ к файлу по этому пути. Если вы видите исходный код - у вас проблема с безопасностью сервера.
 +
 +Эти настройки должны присутствовать в конфигурационном файле вашего виртуального хоста в Nginx:
 +<file php>
 +  location ~ /(data|conf|bin|inc)/ {
 +    deny all;
 +  }
 +
 +  location ~ /\.ht {
 +    deny  all;
 +  }
 +</file>
 +===== Как установить DokuWiki на Apache (mod_php)  =====
 +Я посчитал излишним описывать эту процедуру, так как она подробно расписана на [[https://www.dokuwiki.org/start?id=ru:install|официальном сайте]]. В установке DokuWiki под Apache (mod_php) нет никаких подводных камней, в отличии от установки в Nginx. Тем более если вы используете какую-либо панель управления хостингом, просто скопируйте архив с DokuWiki, распакуйте в директорию сайта и запустите инсталлятор.
 +
 +====== Настройки DokuWiki после установки ======
 +
 +  * Транслитерация в именах страниц: полная транслитерация
 +  * Удобочитаемые адреса (URL): [[htaccess|.htaccess]]
 +  * Задержку индексирования, измененной страницы, устанавливаем в 1 день, вместо 5 по умолчанию (Значение по умолчанию: 60*60*24*5 (60 сек. × 60 мин. × 24 ч. × 5 дн. — т. е. пять дней)). indexdelay:60*60*24*1 Для выключения отложенного индексирования установить её в «0».
 +  * sitemap:5 - тем самым мы включаем создание файла sitemap.xml (подробнее смотрите ниже)
 +
 +===== Файлы конфигурации Dokuwiki =====
 +Все файлы конфигурации хранятся в директории ./conf или в /etc/dokuwiki при установке из Debian-пакета.
 +
 +«Основные» файлы обычно поставляются вместе с «ДокуВики», в то время как «локальные» файлы обычно создаются администратором вики.
 +
 +Если какие-то настройки позволено сделать в локальном файле, то лучше сделать именно там, а не в основном файле. Это позволит избежать проблем при обновлении, т. к. основные файлы при нём меняются, а локальные — нет.
 +
 +^«Основной» файл     ^«Локальный» файл          ^Тип настроек              ^ Краткое описание   ^
 +|''dokuwiki.php''    |''local.php''\\ ''local.protected.php''|см. ниже     | основные настройки вики |
 +|''acronyms.conf''   |''acronyms.local.conf''   |[[https://www.dokuwiki.org/ru:abbreviations|abbreviations]]         | автоматические подсказки аббревиатур |
 +|''entities.conf''   |''entities.local.conf''   |[[https://www.dokuwiki.org/ru:entities|entities]]              | автоматические подстановки текста  |
 +|''interwiki.conf''  |''interwiki.local.conf''  |[[https://www.dokuwiki.org/ru:interwiki|interwiki]]             | сокращения ссылок интервики  |
 +|''mime.conf''       |''mime.local.conf''       |[[mime]]                  | настройки mime-типов для загрузки на сервер |
 +|''smileys.conf''    |''smileys.local.conf''    |[[https://www.dokuwiki.org/ru:smileys|smileys]]               | подстановки графических смайлов |
 +|                    |''acl.auth.php''          |см. acl               | настройки листов доступа |
 +|                    |''users.auth.php''        |см. acl               | имена пользователей и пароли |
 +|''license.php''     |''license.local.php''     |license      | перечень доступных лицензий |
 +|''scheme.conf''     |''scheme.local.conf''     |urlschemes            | ключевые слова URL-ссылок |
 +|''mediameta.php''                            |exif                  | возможные метаданные для изображений |
 +|''wordblock.conf''  |''wordblock.local.conf''  |blacklist             | спамерские чёрные списки |
 +|                    |''userscript.js''         |[[javascript|javascript]]    | Пользовательские JavaScript-улучшения |
 +|                    |''userstyle.css''         |[[css|css]]           | Пользовательские CSS-улучшения |
 +
 +Согласно мануалу, для безопасного добавления дополнительного [[HTML5|HTML]] или [[PHP|PHP]] к шаблону и чтобы при обновлении движка DokuWiki ваш код не затирался, создайте ваш файл в любом каталоге шаблонов (lib/tpl/dokuwiki/) или ваш conf/ каталоге. Файлы которые подключаются автоматически:
 +
 +^ Название файла               ^ Позиция вашего HTML                                                ^
 +| ''meta.html''          | Внутри HTML <head>, для добавления дополнительных [[css|CSS]] стилей или [[seo#meta_tags|мета-заголовков]]|
 +| ''sidebarheader.html'' | В верху сайдбара, перед текстом (если существует) |
 +| ''sidebarfooter.html'' | В низу сайдбара, после текста (если существует) |
 +| ''pageheader.html''    | На странице статьи, выше текстового контента |
 +| ''pagefooter.html''    | На странице статьи, ниже текстового контента |
 +| ''header.html''        | Шапка сайта, выше logo и wiki title |
 +| ''footer.html''        | Подвал сайта, после любого контента на странице |
 +| ''social.html''        | Ниже header.html используйте его, чтобы добавить кнопки социальных сетей (например, [[Facebook|Facebook]], Twitter, LinkedIn и т.д.). |
 +| ''topheader.html''        | В самом верху страницы сразу после тега <body> |
 +
 +===== Карта сайта DokuWiki sitemap.xml =====
 +
 +Карта сайта ([[sitemaps|sitemaps]]) создаётся, если включена опция «sitemap» в панели управления DokuWiki. По умолчанию, значении 0, чтобы включить sitemap поставить значение, например 5 (то есть данные в sitemap.xml будут обновляться один раз в 5 дней). 
 +
 +Файл карты находится во вложенном каталоге «cache» вашей установки «ДокуВики». Он будет доступен по ссылке: http://your_domain/dokuwiki/?do=sitemap. В зависимости от наличия поддержки gzip в вашем PHP, файл будет именоваться «sitemap.xml.gz» (если gzip доступен) или «sitemap.xml» (если gzip недоступен). Почти во всех современных установках PHP поддержка gzip включена, поэтому файл будет называться скорее всего «sitemap.xml.gz».
 +
 +<note>Карта сайта будет содержать только ссылки на страницы, которые доступны без авторизации на сайте.</note>
 +
 +<note tip>Чтобы карта сайта была пересоздана, попробуйте временно установить для опции «sitemap» большое отрицательное значение.</note>
 +
 +Dokuwiki sitemap.xml и настройка Яндекс. Мой настройки для Яндекс Вебмастера, чтобы он корректно увидел sitemap.xml. Добавляем директивы Host и Sitemap в файл [[robots|robotx.txt]].
 +
 +<file bash robotx.txt>
 +User-agent: *
 +Disallow: /bin/
 +Disallow: /conf/
 +Disallow: /inc/
 +Disallow: /lib/
 +Disallow: /vendor/
 +Host: wiki.dieg.info
 +Sitemap: https://wiki.dieg.info/sitemap.xml.gz
 +</file>
 +Для Apache в файл .htaccess добавляем строку
 +<file bash>
 +RewriteRule ^sitemap\.xml\.gz$        doku.php?do=sitemap [L]
 +</file>
 +Для Nginx, в раздел server добавляем строку редиректа:
 +<file bash>
 +rewrite ^/sitemap\.xml\.gz$ /doku.php?do=sitemap permanent;
 +</file>
 +<note tip>Так же sitemap.xml.gz можно добавить в Google Search Console, у меня до этих изменений Google видел его в виде **/?do=sitemap**</note>
 +
 +===== 2 способа добавит Google Tag Manager в Dokuwiki =====
 +
 +Чтобы не вставлять напрямую на сайт коды Яндекс Метрики и Google Analytics правильно всего использовать [[gtm|GTM]]. Регистрируем наш сайт в Google Tag Manager ([[https://tagmanager.google.com]])
 +
 +**1 способ:**
 +  - Устанавливаем компонент https://www.dokuwiki.org/plugin:googletagmanager
 +  - В меню "Настройки вики"=>"Googletagmanager" задаем ID нашего сайта из кода выданного GTM.
 +
 +После установки Google Tag Manager прекрасно работает, но на сайте появляются 2 критические ошибки [[https://validator.w3.org|Валидатор Nu Html Checker W3]].
 +{{ ::validator_errors.jpg?nolink&400 |}}
 +Подобных ошибок, да и всех остальных, рекомендую избегать, особенно для информационных сайтов!
 +
 +
 +**2 способ:** Ручками добавляем код в файлы шаблона
 +  - Создаем файл lib/tpl/dokuwiki/meta.html и в него добавляем основной код. Это безопасное добавление, после обновления движка, это код не затрется.
 +  - lib/tpl/dokuwiki/main.php добавляем вторую часть код, после body<file php>
 +</head>
 +<body>
 +<!-- Google Tag Manager (noscript) -->
 +</file>Здесь будьте осторожны, код может быть затерт при обновлении Dokuwiki. Наслаждайтесь работой без ошибок!!
 +===== Добавление кода Adsense в DokuWiki шаблон и sidebar =====
 +
 +Все найденные плагин для подключения Google AdSense показались мне старыми: [[https://github.com/dmeziere/dokuwiki-adsense-plugin|adsense-plugin]]. Потому принял решение код вставить ручками в шаблон DokuWiki. 
 +
 +
 +
 +**Включение рекламы AdSense на правом сайдбаре:**
 +  - Шаблон должен поддерживать сайдбар, [[https://www.dokuwiki.org/template:dokuwiki#changing_the_width_and_other_styles|DokuWiki шаблон по умолчанию]] его поддерживает.
 +  - Включить в настройках: "Параметры «Докувики»"->Основные параметры->sidebar  Значение по умолчанию:sidebar
 +  - Перейдите по адресу http://your-wiki.com/doku.php?id=sidebar, нажмите кнопку «Создать страницу», отредактируйте эту страницу, сохраните, и боковая панель готова. Это всё, сохраненные изменения будут отображаться на боковой панели. Страница не должна быть пустой, я поставил только знак точки.
 +  - В lib/tpl/dokuwiki создадим sidebarheader.html в который добавим код AdSense
 +
 +Наслаждаемся рекламой на своем сайте!:))
 +
 +==== Как добавить кода Adsense в DokuWiki после H1? ====
 +
 +Для добавления кода Adsense после первого H1, нужно отредактировать  функцию header в файле  <dokuwiki installation directory>/inc/parser/xhtml.php. 
 +
 +Находим строку <file php>
 +$this->doc .= "</h$level>".DOKU_LF;
 +</file> и заменяем ее на код<file php>
 +        $this->doc .= "</h$level>";
 +        if ($level == 1) {
 +            $this->doc .= '
 +<!--noindex-->
 +
 +КОД из AdSense
 +
 +<!--/noindex-->
 +<br />';
 +        }
 +
 +        $this->doc .= DOKU_LF;
 +</file>
 +
 +====== Плагины и шаблоны DokuWiki ======
 +  * [[http://www.dokuwiki.org/plugin%3Anote|Плагин note]] - данные плагин позволяет выделить текст в виде заметки. http://dokuwiki.ru/plaginy?do=show
 +  * [[http://www.dokuwiki.org/plugin%3Acacherevisionseraser|СacheRevisionsEraser]] - очищает кэш и удаляет старые версии документов.
 +  * [[http://www.dokuwiki.org/plugin:codebutton|codebutton]] - добавляет кнопку позволяющую вставлять код, например<file>
 +Insert Code
 +</file>
 +  * [[http://www.dokuwiki.org/template:navigation|Navigation Issues]] - шаблон
 +  * [[http://www.dokuwiki.org/plugin%3Aboxes|plugin:boxes]]- позволяет оформлять «боксы» в самых различных цветовых комбинациях.
 +  * [[https://www.dokuwiki.org/plugin:wrap|Wrap Plugin]]
 +  * [[https://www.dokuwiki.org/plugin:translation|Translation Plugin]]
 +  * Для вставки видео с youtube я использую плагин [[https://www.dokuwiki.org/plugin:vshare|Video Share Plugin]], синтаксис: <file>
 +{{youtube>LWM8YxwqEU}}
 +</file>В следующем примера расположить видео по центру, большого размера.<file>
 +{{ youtube>LWM8YxwqEU?large }}
 +</file>
 +
 +Необычное применение движка DokuWiki как landing page для товарных офферов. Устанавливаем дополнения через админку dokuwiki:
 +  * [[https://www.dokuwiki.org/template:twentyfifteen|Twenty Fifteen Template]]
 +  * [[https://www.dokuwiki.org/plugin:bureaucracy|Bureaucracy Plugin]] HTML-формы для сбора данных
 +  * [[dokuwiki#dobavlenie_koda_adsense_v_dokuwiki_shablon_i_sidebar|Включение/выключение sidebar]]: перейдите по адресу http://your-wiki.com/doku.php?id=sidebar, нажмите кнопку «Создать страницу», отредактируйте эту страницу, сохраните, и боковая панель готова.
 +  * Как вставлять видео на лендинг: [[https://www.dokuwiki.org/plugin:vshare|Video Share Plugin]]. Пример вставки большого видео по центру страницы<file>
 +{{ youtube>8zqrLLIwte0?large }}
 +</file>
 +  * Как вставить галереи изображений: [[https://www.dokuwiki.org/plugin:gallery|Gallery Plugin]]. Пример загрузки изображений со стороннего сайта:<file>
 +{{gallery>https://wow2.top/wp-content/uploads/2022/04/windows-klavishi-win-tab-pereklyuchenie-virtualnyh-rabochih-stolov.jpg}}
 +</file>Одно изображение<file>
 +{{gallery>:1200px-sqlite370.svg.png}}
 +</file>
 +
 +
 +===== Шаблон Bootstrap3 и плагин подключение Bootstrap Wrapper Plugin =====
 +Для подключения [[Bootstrap|Bootstrap]] возможностей к DokuWiki используют плагин [[http://lotar.altervista.org/wiki/wiki/plugin/bootswrapper|Bootstrap Wrapper Plugin]]. Установите плагин, используя диспетчер плагинов (Plugin Manager).
 +{{ :undefined:bootstrap_wrapper_plugin.jpg?nolink&600 |}}
 +
 +Чтобы плагин работал у вас должна быть установлен шаблон с поддержкой Bootstrap, например [[https://www.dokuwiki.org/template:bootstrap3|Bootstrap3 Template]].
 +
 +Этот плагин добавляет в вашу «ДокуВики» несколько компонентов Bootstrap. Значения иконок для них можно брать например здесь https://getbootstrap.com/docs/3.3/components/, подробнее о поддерживаемых плагином иконках [[out>http://lotar.altervista.org/wiki/wiki/plugin/icons|здесь]].
 +  * Jumbotron
 +  * [[bootstrap#buttons_bootstrap|Buttons]]
 +  * [[out>http://lotar.altervista.org/wiki/wiki/plugin/bootswrapper/alert|Alerts]]
 +  * Text
 +  * Tooltips
 +  * [[bootstrap#grid_system_pristavki_klassa|Grids]]
 +  * Thumbnails
 +  * [[out>http://lotar.altervista.org/wiki/wiki/plugin/bootswrapper/panel|Panels]]
 +  * Wells
 +  * Labels
 +  * Nav & Tabs (with dropdown)
 +  * Page heading
 +  * Lead
 +  * [[bootstrap#ispolzovanie_badges_bootstrap|Badges]]
 +  * List Group
 +  * Progress Bars
 +  * Affix
 +  * Carousel
 +  * Accordion
 +  * [[out>http://lotar.altervista.org/wiki/wiki/plugin/bootswrapper/callout|Callouts]].
 +
 +<callout type="danger" title="Пример Callouts" icon="glyphicon glyphicon-alert">Так выглядит Callouts danger</callout>
 +  * Modal (with remote attribute)
 +  * Popover
 +===== 4 SEO плагина для DokuWiki =====
 + 
 +  * [[https://www.dokuwiki.org/plugin:htmlmetatags|HtmlMetaTags Plugin]] SEO плагин, позволяет задавать open graph, description и т.д.
 +Для использования вписываем в страницу в таком виде<file javascript>
 +{{htmlmetatags>metatag-robots=() 
 +metatag-keywords=(apfel,bananne,birne) 
 +metatag-description=(Allgemeiner Obstbauer)
 +metatag-media-og:image=(:wiki:image.jpg)
 +metatag-og:description=(anything else)
 +metatag-og:any=(anything else 2)
 +}}
 +</file>Результат
 +<file html>
 +<meta name="robots" content="noindex,nofollow"/>
 +<meta name="keywords" content="apfel,bananne,birne"/>
 +<meta name="description" content="Allgemeiner Obstbauer"/>
 +<meta property="og:image" content="http://localhost/lib/exe/fetch.php?media=wiki:image.jpg"/>
 +<meta property="og:description" content="anything else"/>
 +<meta property="og:any" content="anything else 2"/>
 +</file>
 +  * [[https://www.dokuwiki.org/plugin:meta|Meta Plugin]]
 +  * [[https://www.dokuwiki.org/plugin:tag|Tag Plugin]]
 +  * [[https://www.dokuwiki.org/plugin:pagetitle|PageTitle Plugin]] - задать тег title для страницы <file bash>
 +~~Title: Page Title plugin for DokuWiki ~~
 +</file>
 +
 +===== DokuWiki print.css вывод на печать =====
 +Если возникла надобность при выводе на принтер удалить какие-то объекты или изменить шрифт, можно дополнить/изменит файл lib/tpl/dokuwiki/css/print.css. Это изменит тип [[css#css_-_vyvod_na_pechat|media CSS]]. Например, скроем при печати :<file css print.css>
 +#footer2d,
 +#dokuwiki__header,
 +#dokuwiki__footer {
 +    display: none;
 +}
 +</file>
 +===== DokuWiki добавить CSS файл =====
 +
 +В DokuWiki предусмотрено добавление пользовательских стилей изначально. Для этого требуется создать файл conf/userstyle.css, в который и нужно вписывать CSS правила. Например, для картинок, окруженных div c классом начинающимся на iam_img, задать круглые углы:<file css>
 +div[class^="iam_img"] img {
 +    border-radius: 10px;
 +}
 +</file>Другие варианты добавления CSS смотрите по ссылке: [[https://www.dokuwiki.org/devel:css|DokuWiki CSS Stylesheets]]
 +===== DokuWiki загрузка своего javascript кода =====
 +
 +Подробно: [[https://www.dokuwiki.org/ru:devel:javascript|Загрузка JavaScript]]
 +
 +  * Для внешней ссылки удалить атрибут rel="[[nofollow]]", чтобы разрешить поисковым системам следовать по ней (передача веса). Создадим файл conf/userscript.js Он автоматически загрузится
 +<file javascript>
 +function doFollow1(){
 + jQuery("a[href^='https://example.com']").removeAttr("rel");
 +}
 +
 +jQuery(function () {
 +    jQuery(document).click(doFollow1);
 +});
 +</file>
 +
 +===== DokuWiki заменить значок неупорядоченного списка ul =====
 +
 +**1 вариант:**
 +  - Подготавливаем картинку 16х16 пикселей.
 +  - Заливаем её lib/tpl/dokuwiki/images/tambourine_16x16.png
 +  - В файле lib/tpl/dokuwiki/css/basic.less исправить определение<file сss>
 +ul { list-style: square outside; }
 +</file>на<file сss>
 +ul { list-style-image: url('images/tambourine_16x16.png'); } /* your image */
 +</file>
 +
 +В оглавлении страницы заменить файл /lib/tpl/dokuwiki/images/toc-bullet.png
 +
 +**2 вариант:**
 +В файле lib/tpl/dokuwiki/css/_links.css добавляем css код list-style: lower-greek;:
 +<file css>
 +.dokuwiki .page ul li, .dokuwiki .aside ul li {
 +        /*list-style: hangul-consonant;*/
 +        list-style: lower-greek;
 +}
 +</file>
 +
 +===== DokuWiki настройка кастомной 404 страницы =====
 +В DokuWiki нельзя настраивать 404 страницы, для этого нужно использовать плагины.
 +
 +Плагины DokuWiki для настройки 404 страницы:
 +  - [[https://www.dokuwiki.org/plugin:redirect|Redirect Plugin]] Andreas Gohr [[URL redirection|Перенаправляет запросы]] к страницам на другие страницы или внешние сайты с помощью центрального файла конфигурации.
 +  - notfound Plugin  Andreas Gohr - отображать настраиваемую страницу, когда страница не существует
 +  - Page Redirect Plugin  Elan Ruusamäe, David Lorentsen [[URL redirection|301 редирект]] страницы вики на другую страницу вики
 +
 +===== DokuWiki вывод данных из MySQL =====
 +Каким образом мне в текстовый файл (т.е. страницу wiki) подгрузить или сделать include из php файла?
 +
 +Ответ: datatables и SQL query plugin
 +  * [[https://www.dokuwiki.org/ru:plugin:database2|Плагин DataBase2]] не поддерживается 2014-11-25
 +  * Плагин [[https://www.dokuwiki.org/plugin:sqlquery|SQL Query Plugin]] и используется в связке с [[https://www.dokuwiki.org/plugin:datatables|DataTables Plugin]] для сортировки и поиска
 +  * [[http://lotar.altervista.org/wiki/wiki/plugin/datatables|Подробно о DataTables Plugin]]
 +
 +После установки, плагин SQL Query Plugin настраивается через Configuration Manager.
 +
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!