DokuWiki предоставляется со своим языком разметки. Как и любой другой язык wiki-разметки, этот пытается содержать исходный текст страниц в виде наиболее читаемом для автора. Что получилось судите сами – эта страница в непринужденном виде демонстрирует все поддерживаемые движком конструкции. И нет, «чтоб жизнь медом не казалась» не было целью. Просто так получилось Не стреляйте в пианиста, он играет как умеет.
Как обычно, для хардкорщиков кнопка [ Править страницу ] внизу1). На поиграться, простенькие конструкции доступны через быстрокнопки2) (ессно, для функционирования нужен javascript).
Для экспериментов – песочница.
Собсно, понеслась. Дізнайся на що спроможний із бйорн.
Думаю, мое понимание CC-BY/NC/SA верно, настоящим заявляю, это перевод с говно-английского на луркспик; ну и были добавлены мерзкие каменты. Переводилось отсюда
DokuWiki поддерживает жирный3), курсив, подчеркнутый, и моноширинный
.
По желанию можно все
это
смешивать
, и даже в любом
порядке
.
DokuWiki поддерживает **жирный**, //курсив//, __подчеркнутый__, и ''моноширинный''.
По **__желанию__** __//можно//__ //''все''// ''//это//'' **__//''смешивать''//__**.
Вот так делается надстрочный и подстрочный текст.
Вот так делается <sub>надстрочный</sub> и <sup>подстрочный</sup> текст.
А вот так делается всеми любимый зачеркнутый.
(Интересно, остался кто-нибудь кто бы зачеркнутым обозначал именно «удаленное»?)
А вот так делается всеми любимый <del>зачеркнутый</del>.
Абзацы окружаются пустыми строками.
Разрыв строки делается двумя обратными косыми чертами в конце строки
или последующим пробелом
на выбор автора.
Иначе, будут \\две косых обратных.
**Абзацы** окружаются пустыми строками. Разрыв строки делается двумя обратными косыми чертами в конце строки\\ или последующим пробелом\\ на выбор автора. Иначе, будут \\две косых обратных.
Однако, прежде чем использовать разрыв строки, следует хорошенько подумать. И припомнить, что HTML4) это не пишущая машинка, тут есть другие инструменты.
DokuWiki предоставляет несколько способов оформления «гипертекстовых переходов» (не пора ли писать это слитно?)
Внешние сцылки можно никак не оформлять, а просто щедро разбрасывать по тексту. Например вот так: https://distributed.org.ua/ 5). Что бы урл был предъявлен читателю с какой-нибудь мозгоразрывающей надписью, то придется постараться. Что-то вроде такого: тыц. По неизвестным пока причинам, приделано также распознавание e-мылов (nobody@example.com).
Например вот так: http://distributed.org.ua/ .
Что-то вроде такого: [[http://distributed.org.ua/wiki/|тыц]].
По неизвестным пока причинам приделано также распознавание e-мылов (<nobody@example.com>).
Внутренние сцылки делаются точно также (ВНЕЗАПНО, никакой автомагии). Окружив квадратными скобками получаем сцылку на pagename с тем же названием. Конечно, так гораздо лучше.
Окружив квадратными скобками получаем сцылку на [[pagename]] с тем же названием.
Конечно, [[pagename|так гораздо лучше]].
Названия страниц преобразуются в нижний регистр автоматически, спецсимволы не допускаются.
Для игр с пространствами имен нужно использовать двоеточие, вот так: namespaces
Для игр с пространствами имен нужно использовать двоеточие, вот так: [[some:namespaces]]
Подробнее об этих играх тут.
Сцылки на внутристраничные фрагменты делются интуитивно. Например: этот фрагмент.6)
Например: [[.:syntax#Внутренние|этот фрагмент]]
Еще немного об автомагии:
DokuWiki умеет междувикиевые сцылки (кто бы сомневался). Вот на материнскую, а вот на наиглавнейшую всех времен и народов7)8).
[[doku>dokuwiki|Вот на материнскую]], а вот на [[wp>Wiki|наиглавнейшую всех времен и народов]].
Выяснилось, [[wp>]]
тупо редиректит на en.wikipedia.org. Если нужна сцылко на ru.wikipedia.org, то надо делать ручками и вондербуквицы W уже не будет.
Поскипано за ненадобностью. Пожалуйста, не надо бросаться на защиту справедливости. Справедливости не существует. Сцылки на виндовые шары тут все равно работать не будут.
Собсно разметка пикч описана здесь.
ЧСХ, если описание сцылки оформить как пикчу, то получится примерно вот так: .
[[http://distributed.org.ua|{{http://distributed.org.ua/images/all/ua-distributed.png|рекурсия}}]]
В оформлении сцылок разметка пикч единственное что понимает движок. Все остальное — текст. В то же время, пикч-разметка в оформлении сцылок поддерживается в полном объеме.
Примечания создаются двойными круглыми скобками9).
Примечания создаются двойными круглыми скобками((Реквестирую срач в примечаниях.)).
Все что сказано про сцылки на разделы, к примечаниям применяется в полном объеме.
Движок понимает до пяти уровней разделов.
Если текст страницы содержит более трех разделов, то будет добавлено содержание.
Эта автомагия может быть отключена добавлением чита ~~NOTOC~~
где угодно в тексте.
Сие унылое поделие наглядно демонстрирует — никакого форматирования в заголовках.
==== Заголовок третьего уровня ==== === Заголовок четвертого уровня === == Заголовок пятого уровня ==
Горизонтальная отбивка задается четырьмя и более дефисами.
----
Пикчи (внешние и внутренние) обозначаются фигурными скобками. По необходимости, можно навязать размер. Если заданы ширина и высота и они не соответствуют исходным пропорциям, то лишнее будет отрезано до массштабирования10). Проще показать, чем объяснить.
сервер меня не пускает, какие-нибудь релевантные пикчи в библиотеке есть?
Реальный размер: {{wiki:dokuwiki-128.png}} Выбрана ширина: {{wiki:dokuwiki-128.png?50}} Выбраны ширина и высота: {{wiki:dokuwiki-128.png?200x50}} Внешний ресурс: {{http://distributed.org.ua/images/all/fah_colorstr.png?200x100}}
Теперь добавляем сдвиг на странице:
{{http://distributed.org.ua/images/all/fah_colorstr.png }} {{ http://distributed.org.ua/images/all/fah_colorstr.png}} {{ http://distributed.org.ua/images/all/fah_colorstr.png }}
Не стесняемся, добавляем текст описания:
{{ http://distributed.org.ua/images/all/fah_colorstr.png |вот и заголовок}}
Что есть пикча определяется суффиксом.
С потрясающими результатами: если файл не gif
, jpeg
11), или png
то получается сцылко.
Ну примерно так:
Как любой уважающий себя язык разметки, DokuWiki может делать спискоту.
Она бывают двух типов: упорядоченная и неупорядоченная
(понятнее: нумерованная и ненумерованная).
В любом случае, что бы сделать спискоту нужно в каждой строчке сделать отступ в *два* пробела;
для следующего уровня увеличиваем отступ на еще два пробела.
Упорядоченная заказываются -
(минус, или если хотите дефис),
неупорядоченная — *
(звездочка или, специально для англофагов, asterisk).
- первый уровень, первая строка - первый уровень, вторая строка - второй уровень, первая строка - первый уровень, третья строка * первый уровень, первая строка * первый уровень, вторая строка * второй уровень, первая строка * первый уровень, третья строка
Сразу видно (ну не совсем сразу, надо сначала кнопку [Править]
нажать), что если упустить -
или *
, то получиться «пример».
Вплоть до того, что строка со списко-маркером это и есть абзац;
Следующая строка — это уже другой абзац.
Пустая строка — это уже следующая спискота.
Здесь для того что бы сделать пример использовались теги <code>
.
А вот здесь (на оффсайте) еще что-то про списки.
Dokuwiki может на лету пре-форматировать некоторые символы или строки в хитрый и не очень текст и ХТМЛ. По моему, правильнее называть это «макрос»; ну по крайней мере в моем детстве это так нызвалось.
Очень хитрый текст это когда получаются разные смайлики. Не очень хитрый текст это примитивный ХТМЛ. Ну а не примитивный ХТМЛ он и в Африке ХТМЛ.
Здесь все вертится вокруг смайликов. Это преобразование конфигурируется (а значит, настраивается). Вот обзор того что искаропки:
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() |
|||
![]() | ![]() |
Этот отдельно12) — ^_^
Что бы было понятно, ХТМЛ он дико правильный.
Когда нужно показать читателю ÷
13), следует его показывать вот так: ÷ (или, если хочется еще больше запутать: ÷ ).
Но это же столько всего надо помнить, поэтому Dokuwiki умеет преобразовывать (и опять же, на лету) и спецсимволы тоже;
и они тоже конфигуриются.
Вот, например:
→ -> | ⇒ => | – -- |
← <- | ⇐ <= | — --- |
↔ <-> | ⇔ <=> | 640×480 640x480 |
« << | » >> | |
© (c) | ® (r) | ™ (tm) |
«Але треба наѓадати: 'зв'язок це головне',14) принаймне для розрахунків»15) |
||
"Але треба наѓадати: 'зв'язок це головне', принаймне для розрахунків" |
В этом списке, некоторые макросы особенные. Умножение (640×480) 'одиночные' и «двойные» кавычки вшиты в Dokuwiki. Этих троих можно только выключить.
Иногда возникает необходимость изобразить материал в виде плодотворной дискусии. Синтаксис этой конструкции содран с обычая тысячилетней давности из мира NNTP16). В процессе сдирания была добавлена толика оригинальности. А именно, каждый новый уровень квотирования *увеличивает* глубину дискуссии. В общем, мозгоразрывающая конструкия. Собственно пример:
Для привлечения рекрутов в команду
Каких «рекрутов»? Кто их видел?Ну назовем их «штыками». Такой язык ты понимаешь?
вижу два пути: ходить по квартирам самим
Ага, щаз, все свои дела брошу и пойду с тобой по квартирам.Ну вот и договорились. Я иду по четным под лозунгом «сами мы не местные». А ты идешь по нечетным под лейблом «мы представители канадской дистрибьюторской компании».А вы за какой проект будете агитировать?Если за WCG агитировать не будете, я не пойду.
или нанять кого-нибудь. Но что бы нанять кого-то нужны гроши.
а я знаю кого можно за гроши нанять.
Поручик, молчать!
Что-бы были гроши нужно либо продать что-нибудь не нужное, либо запилить донат.
Зачем так категорично? Можно запилить донат, а потом его продать.Этот опрос сосет.
Для привлечения рекрутов в команду > Каких "рекрутов"? Кто их видел? >> Ну назовем их "штыками". Такой язык ты понимаешь? вижу два пути: ходить по квартирам самим > Ага, щаз, все свои дела брошу и пойду с тобой по квартирам. >> Ну вот и договорились. Я иду по четным под лозунгом "сами мы не местные". А ты идешь по нечетным под лейблом "мы представители канадской дистрибьюторской компании". >>> А вы за какой проект будете агитировать? >>>> Если за WCG агитировать не будете, я не пойду. или нанять кого-нибудь. Но что бы нанять кого-то нужны гроши. > 8-O а я знаю кого можно за гроши нанять. >> Поручик, молчать! Что-бы были гроши нужно либо продать что-нибудь не нужное, либо запилить донат. > Зачем так категорично? Можно запилить донат, а потом его продать. >> Этот опрос сосет.
DokuWiki таблицы рисовать тоже умеет. Для этого нужно эту таблицу нарисовать самому.
Заголовок 1 | Заголовок 2 | Заголоовк 3 |
---|---|---|
Р1xК1 | Р1xК2 | Р1xК3 |
Р2xК1 | Р2xК2+Р2xК3 | |
Р3xК1+Р3xК2+Р3xК3 | ||
Р4xК1 | Р4xК2 | Р4xК3 |
^ Заголовок 1 ^ Заголовок 2 ^ Заголоовк 3 ^ | Р1xК1 | Р1xК2 | Р1xК3 | | Р2xК1 | Р2xК2+Р2xК3 || | Р3xК1+Р3xК2+Р3xК3 ||| | Р4xК1 | Р4xК2 | Р4xК3 |
Каждая строка должна начинаться и заканчиваться разделителем.
Разделитель для обычных строк — |
, для заголовков —- ^
.
Если ячейчка сделана пустой (||
), то получится объединенная по горизонтали двойная ячейка.
Главное: количество разделителей (любого типа) должно быть во всех строках одинаковым.
И точно так же как для спискоты, пустая строка, начинает новую таблицу.
Вертикальные заголовки делаются вот так (секрет в том, что использованный разделительопределяет тип ячейки):
Заголовок 1 | Заголоовк 2 | |
---|---|---|
Заголовок 3 | Р1xК2 | Р1xК3 |
Заголовок 4 | Р2xК2 | |
Р3xК1+Р3xК2+Р3xК3 | ||
Заголовок 5 | Р4xК2 | Р4xК3 |
| ^ Заголовок 1 ^ Заголоовк 2 ^ ^ Заголовок 3 | Р1xК2 | Р1xК3 | ^ Заголовок 4 | Р2xК2 | | | Р3xК1+Р3xК2+Р3xК3 ||| ^ Заголовок 5 | Р4xК2 | Р4xК3 |
Чтобы сделать вертикальное объединение, надо забить :::
в следующую (по вертикали) ячейку.
Естественно, кроме этого забоя ничего другого там быть не должно.
Заголовок 1 | Заголовок 2 | Заголоовк 3 |
---|---|---|
Р1xК1 | Р1xК2 | Р1xК3+Р2xК3+Р3xК3 |
Р2xК1 | Р2xК2+Р3xК2 | |
Р3xК1 | ||
Р4xК1 | Р4xК2 | Р4xК3 |
^ Заголовок 1 ^ Заголовок 2 ^ Заголоовк 3 ^ | Р1xК1 | Р1xК2 | Р1xК3+Р2xК3+Р3xК3 | | Р2xК1 | Р2xК2+Р3xК2 | ::: | | Р3xК1 | ::: | ::: | | Р4xК1 | Р4xК2 | Р4xК3 |
Материал в ячейках можно выравнивать по горизонатали! Для этого надо добавить не менее двух пробелов с нужной или обоих сторон. (Облом: выровнять по вертикали нельзя.)
— админы, ну посмотрите на это безобразие; во второй и третьей колонке текст всегда выравнен влево; а ответ прост — какая-то гидота, намутила с классами
col1
и col2
; надо машину почистить.
Таблица с выравниванием | |||
---|---|---|---|
вправо | по центру | влево | влево |
по центру | влево | вправо | по центру |
влево | вправо | по центру | вправо |
xxxxxxxxxxx | xxxxxxxxxxx | xxxxxxxxxxx | xxxxxxxxxxx |
^ Таблица с выравниванием ^^^^ | вправо| по центру |влево |влево | | по центру |влево | вправо| по центру | |влево | вправо| по центру | вправо| | xxxxxxxxxxx | xxxxxxxxxxx | xxxxxxxxxxx | xxxxxxxxxxx |
Иногда (в основном, на этой странице) необходимо указать DokuWiki, что форматировать какой-то фрагмент текста не нужно.
Для этого есть тэг <nowiki>
и литерал %%
.
Первый можно использовать как для абзацев так и для текста.
Может второй тоже можно.
Например:
В этом тексте есть урл http://distributed.org.ua и **звезды**.
А здесь → __какой-то__ //мусор// ;-).
<nowiki> В этом тексте есть урл http://distributed.org.ua и **звезды**. </nowiki> А здесь -> %%__какой-то__ //мусор// ;-)%%.
Код (любой, читай дальше) показывают отступом в два пробела и более или тэгом <code>
.
Если использовать тэг <file>
, то получается тот же самый код, только теперь это код в файле.
Очень смешно.
Это блок кода. Он сделан отступом в два пробела.
Это тоже блок кода. И даже все пробелы на месте <-
Это опять блок кода. Только теперь он в файле
<code> Это тоже блок кода. И даже все пробелы на месте <- </code> <file> Это опять блок кода. Только теперь он в файле </file>
DokuWiki также умеет кульную багофичу множества редакторовЪ – расцвечивание кода.
Собсно расцвечивание делается с помощью GeSHi --- Generic Syntax Highlighter (Универсальный Раскрашиватель Синтаксиса).
Так что, можно выбрать любой синтаксис который знает GeSHi.
Чтобы это сработало, надо об этом намекнуть.
Делается это следующим образом — <code syntaxname>
или <file syntaxname>
.
<!-- вот так навязываем немедленный update --> <cc_config> <options> <report_results_immediately>1</report_results_immediately> </options> </cc_config>
Известные GeSHi языки (в алфавитном порядке): 4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, ecmascript, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, plsql, postgresql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro17), visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, z80
Любой блок кода (или файл, я в них запутался) можно предложить читателю для загрузки.
Для этого надо назначить ему имя, вот таким образом: <code syntaxname filename>
или <file syntaxname filename>
.
Если нужен только файл без расцветки, то на месте syntaxname надо указать дефис (-
).
Есть у мнея шестерка слуг проворных, удалых. И все, что вижу я вокруг все знаю я от них. Они по зову моему явлются в нужде. Зовут их: Кто, Что, Почему, Зачем, Когда и Где.
Если кому-то интересно заниматься этим XSS, то читайте в оригинале. Ко всему прочему, по дефолту — забанено в конфиге.
DokuWiki умеет агрегировать внешние RSS или ATOM ленты новостей™. Для этого безобразия используется SimplePie. Все что может SimplePie DokuWiki может агрегировать. Оформление регулируется параметрами (через пробелы, спасибо):
Параметр | Описание |
---|---|
любое число | сколько записей показывать, по дефолту 8 |
reverse | показывать в обратном порядке |
author | показывать имена авторов |
date | показывать даты записей |
description | показывать описание, если ХТМЛ выключен, то все теги будут просмешены |
n[dhm] | частота обновления, n — число, [dhm] — единица измерения (Days, Hours, Minutes); По дефолту — 4h; Меньше 10m — нет пути |
В основном, DokuWiki отдает кешированные результаты.
С серъезным бизнесом, каковым являются ленты новостей™, так поступать нельзя.
Поэтому, DokuWiki будет дропить устаревший кэш, и, соответственно, регенрировать по необходимости.
Необходимость наступит не раньше n[dhm]
.
{{rss>http://distributed.org.ua/rss.php 5 author date 1d }}
Читы, это такие специальные маркеры. По идее, они не должны генерировать текста. Но, видимо18), некоторые еще и недокументированные. Собсно:
Чит | Описание |
---|---|
~~NOTOC~~ | Запрещает генерацию содержания |
~~NOCACHE~~ | Запрещает кеширование. В особенности полезно (а может и необходимо, черт его знает), когда используется внедрение™ <php>. |
Синтаксис, который DokuWiki понимает, может быть покращен плагинами. Сами плагины здесь не документированы. И не потому что серъезный бизнес, а потому что DokuWiki искаропки не умеет втягивать код других страниц. Собсно:
jpg
не считается. По моему, в консерватории что-то надо поправить.