Syntax Map Синтаксис для режима редактирования: общая объединяющая страница

Внесите сюда то, что считаете наиболее важным для вашего проекта!

Основы Разметки - Правила разметки текста - Документация

Таблицы: Простые - Директивы

Параграфы: параграфы разделяются пустыми строками; -> для отступа, -< для выступа

Перевод строки: \\ или [[<<]]

Списки: * — маркированый, # — нумерованый, :термин:определение — список определений

Объединение строк: \

Выделения: ''курсив'', '''жирно''', '''''жирный курсив''''', @@курьер@@ (моноширинно)
Ссылки: [[другая страница]], [[http://www.example.com]], [[другая страница | имя ссылки]], [[#якорь]]
Группы: [[Group/Page]] видно Page, [[Group.Page]] видно Group.Page, [[Group(.Page)]] видно Group

не разбирать: [==]

Разделители: !!, !!! заглавия, ---- горизонтальная линия

оформлено: [@@]

Другое: [+крупно+], [++крупнее++], [-мелко-], [--мельче--], '^верхний индекс^', '_нижний индекс_', {+вставлено+}, {-удалено-}

Todo:PublicRelease : возможно, стоит это переделать? Надо советоваться.


Таблицы, исходный код, FAQ

Официальная документация: PmWiki:Tables | PmWiki:TableDirectives

Создание простых таблиц
|| 
||! Заголовок простой таблицы !||
||!ЗагЛев ||! ЗагЦент ||! ЗагПрав||
||cell 1  ||  cell 2 ||  cell 3||
Заголовок простой таблицы
ЗагЛевЗагЦентЗагПрав
cell 1cell 2cell 3

Модифицирующие классы следует добавлять вместе с классом .table, примеры:

  • class="table table-bordered"
  • class="table table-sortable"
Исходный код с подсветкой синтаксиса
%hlt php%[@
  function SDVA(&$var,$val)
    { foreach($val as $k=>$v) if (!isset($var[$k])) $var[$k]=$v; }
  function IsEnabled(&$var,$f=0)
    { return (isset($var)) ? $var : $f; }
@]

А вот [@$переменная@] в простом тексте.
  function SDVA(&$var,$val)
    { foreach($val as $k=>$v) if (!isset($var[$k])) $var[$k]=$v; }
  function IsEnabled(&$var,$f=0)
    { return (isset($var)) ? $var : $f; }

А вот $переменная в простом тексте.

Синтаксис для оформления FAQ
>>faq<<
Q: Каков вопрос?
A: Таков и ответ!
>><<

Каков вопрос?

Таков и ответ!

Синтаксис для оформления исходного wiki-кода, создает его «превью»:
(:markup caption='Заголовок' class=horiz:) wiki-код (:markupend:)

Отступы, приступы, списки

Официальная документация: BulletedLists | PmWiki:ListStyles

Маркированные и нумерованные списки
* Звездочка создает маркированный список. \\
Вот как можно продолжить его с новой строки.
# Решетка создает нумерованный список, причем
# %item value=3% можно вручную задавать числа
А также менять тип нумерации: 
# %ROMAN% [@%ROMAN%@] но только 
## %ALPHA% [@%ALPHA%@] на первом 
### %alpha% [@%alpha%@] элементе 
#### %roman% [@%roman%@] следующего уровня вложенности
 
  • Звездочка создает маркированный список.
    Вот как можно продолжить его с новой строки.
  1. Решетка создает нумерованный список, причем
  2. можно вручную задавать числа

А также менять тип нумерации:

  1. %ROMAN% но только
    1. %ALPHA% на первом
      1. %alpha% элементе
        1. %roman% следующего уровня вложенности
Отступы и приступы
Хорошо структурированный текст можно делать и '''простыми отступами''':
-> вот такими
--> двойными
---> и т.д. Это удобно, если во вложенных уровнях много контента и, например, картинки. 

-< '''Хитрый приступ''' отодвигает весь текст, кроме первой строчки. Это тоже удобно для создания структурированных конструкций. \\\
Чтобы под приступом написать целую простыню, используйте [@\\\@] или [@\\@] в конце строк.

Хорошо структурированный текст можно делать и простыми отступами:

вот такими
двойными
и т.д. Это удобно, если во вложенных уровнях много контента и, например, картинки.
Хитрый приступ отодвигает весь текст, кроме первой строчки. Это тоже удобно для создания структурированных конструкций.

Чтобы под приступом написать целую простыню, используйте \\\ или \\ в конце строк.

Intermap-ссылки

Дополнительно из PmWiki :
(:comment Комментарий в одну строку:)

Расширения из Rext:

  • -- — двойной дефис создает тире
  • ... — три точки создают «…»
  • @mark@подсвеченный@@ — подсвеченный через <mark>…</mark>
  • @-@текст@@ — вывести текст «как есть». Это нужно в основном для tmpl-макетов, чтобы PmWiki наверняка не окружала текст какими-либо html-тегами

Основные принципы: PmWiki:PageLists | PmWiki:ConditionalMarkup | PmWiki:IncludeOtherPages

  • (:if auth edit:) ... (:ifend:) — выводить только для редакторов
  • (:notoc:) — отключить автоматическую генерацию содержания, класс .notoc исключает конкретный h* из содержания
  • (:nogroupheader:) | (:nogroupfooter:) — не выводить общие инклюды группы

Page Text Variables (создаются в контенте страницы):

  • (:country:Transylvania:) | :Name: Crisses | Address: 1313 Mockingbird Lane — три способа создать Page Text Variable
  • {$:country} — вызвать ее.

Page Variables (создаются в PHP):

  • {$FullName} — обычный вызов;
  • {SomePage$Title} — вызов переменной с другой страницы;
  • *$PageVariablename} — вызов переменной из текущей страницы
  • {=$PageVariablename} — вызов переменной при pagelist, в контексте текущей страницы цикла.

Pagelist-шаблоны сайта :

  • (:pagelist fmt=#title phlist=# phlabel="Опциональный текст":)
Список предустановленных шаблонов PmWiki:

fmt=

The "fmt=" option determines how the resulting list should be displayed.
PmWiki predefines several formats:

  • fmt=#bygroup - Display pages within groups (default format)
  • fmt=#simple - Display a simple ordered list of pages in the form Group.Name
  • fmt=#title - Display a list of pages by page title. Use "order=title" to have them sorted by title (default is to order by page name).
  • fmt=#titlespaced - Display a list of pages by page title, like above, but with spaces between the words in the title.
  • fmt=#group - Display a list of wikigroups (without listing the pages in the groups)
  • fmt=#include - Display the contents of each page in the list (note, this could take a very long time for long lists!)
  • fmt=#grouphomes - An optimized bullet list of group home pages (will work with count=…), requires PmWiki 2.2.103.
  • fmt=#includefaq - Include just the #faq sections from pages in the list. (This can also be expensive, especially if the list includes pages that don't have the [[#faq]] anchor!)
  • fmt=#description - List pages and append the page's description if it exists. Creates dash by all names, but adding a nested loop to get rid of it causes markup problems (nested loops are not allowed).
  • fmt=#simplename - Simple bullet list of page names, without the Group name.
  • fmt=#simplenamespaced - Simple bullet list of spaced page names, without the Group name.
  • fmt=#titlesummary - A simple bullet list of page title and summary, defined in page by (:Title ttttt:) and (:Summary:sssss:) markup.

These formats are defined by page list templates, which can be customized.

This format is not predefined by a page list template:

  • fmt=count - Display the number of pages in the list (note the absence of the "#"). In a trail, fmt=count counts existing and non-existing pages ; to limit count to existing pages, use : if="exists {=$FullName}" fmt=count (mailing list).

Полная документация: Cooks:Skin-thisSite
Настройки макета дизайна «thisSite»:

  • (:noheader:) - скрыть header
  • (:noaside:) - скрыть левую панель
  • (:nodate:) - скрыть дату публикации статьи
  • (:notitle:) - скрыть заголовок h1
  • (:nobread:) - скрыть хлебные крошки
  • (:nofooter:) - скрыть footer

Встроенные Рецепты:

Кнопки и аккордеоны

Подробная документация: Cooks:Toggles

Заголовок h4

Базовый способ, вызов через !!!!


Стилизованный заголовок h4

Тот же h4, но выглядит по-другому: !!!!%apply=block center-block%
Чтобы поместить в блок сложный многострочный контент окружайте его в (:div:)...(:divend:)


HTML5-тег <details>

Работает без JavaScript:

  • (:details summary="...":) ... (:detailsend:) — обычный вызов;
  • (:details summary="..." open=open:) — вызов в изначально открытом состоянии;
  • (:details summary="..." class=h4 :) — вызов в визуальной стилизации под h4

Встроенный в PmWiki синтаксис >>pmtoggle<<

Чем он удобен? Специальными возможностями применения.

Простой синтаксис:

>>pmtoggle<<
Первая кнопка
>>a<<
Первый контент.

Можно не беспокоиться об обвязке многострочного контента в ''(:div:)''
>>pmtoggle<<
Вторая кнопка
>>alert alert-info<<
Вместо «а» могут быть любые символы или реально существующие классы. 
>><<

Совместимость с PmWiki:PageTextVariables:

: %list pmtoggle% Var1 : Каждая кнопка аккордеона
: Var2 : становится переменной
: Var3 : содержащей открываемое ею значение
[[<<]]

Викирама

Базовый синтаксис Mini: :

  • Mini:picture.jpg сгенерить превьюшку picture.jpg
  • Mini:pic1.jpg,pic2.jpg,pic3.jpg сгенерить галерею из этих картинок
  • Mini:* сгенерить галерею из всех картинок данной страницы
  • Mini:r*,S*,t* сгенерить галерею из картинок, начинающихся на r, S или t (чувствительно к регистру).
  • Mini:*.jpg,-pic1.jpg все JPG'и кроме pic1.jpg
  • Mini:pic1.jpg,* сначала показать pic1.jpg, затем все остальные, кроме него. Mini:*,pic1.jpg сработает аналогично, точно указанные картинки всегда будут идти перед общими масками
  • Mini:*.jpg"Текст перед блоком с фото|Текст после блока с фото"

Пересеты Викирамы:

  • Attach:file.jpg — фото без превью;
  • Mini:* — максимум превью в строке (12 для десктопа);
  • Mini1:* — галерея с одним большим фото и превьюшками;
  • Mini2:*,Mini3:*,Mini4:*,Mini6:** — то же, что Mini:*, но число фото в десктопном разрешении соответствует числу. Эти пресеты удобны для быстрой регулировки размера.
  • Mini5:* — без бутстрап-обертки, для большей совместимости с оригинальным Mini.
  • Mini7:* — без всего, полный аналог оригинального Mini:

Более сложные случаи:

  • [[https://www.ph-ph.ru/|Attach:sad_girl.jpg]] — внешняя ссылка с фото
  • %newwin%[[Attach:apexmanagement.png|Текстовая ссылка на картинку]]
  • %newwin%[[Attach:apexmanagement.png|mini7:apexmanagement.png]] — прямая ссылка через превью
  • Mini:img.jpg"Описание к фото" — передается в модальное окно
  • массовое описание:
Mini:[=
image1.jpg"Одно описание"
image2.jpg"Другое описание"
image3.jpg
=]"|Общее описание для всех не описанных фото

Контентные модификации:
Чтобы применить их, достаточно просто перед первым вызовом Mini: создать слой с классом ph-fotorama и data- атрибутами, который необходим для достижения желаемого изменения поведения Fotorama.

Например, вот так можно включить показ превьюшек в модальном окне:

(:div class='ph-fotorama' data-nav='thumbs' :)
(:divend:)
Mini:*

Мультитеги с древовидной структурой (документация):
(:multytags:off:): отключает на текущей странице механизм выбора "связанных страниц". Вместо него включится встроенный в PmWiki функционал, автоматически собирающий все вики-ссылки контента страницы. Внимание! Чтобы команда работала, необходимо учесть ее обработку в условиях запуска Мультитегов здесь: ConfigEditMode.

Официальная документация: CSS | Components | JavaScript

Bootstrap: inline-стили

  • %text-muted%  — тихий текст.
  • %lead% — выделяющийся крупный текст.
  • %apply=img img-thumbnail% — обрамить картинку рамкой.
  • %btn btn-primary btn-lg white%[[Ссылка-кнопка]]%% — сделать ссылку в виде кнопки.
    • Почему так? Классы btn* — это bootstrap-классы, а white — это команда PmWiki для создания inline-стиля с белым цветом шрифта. Она нужна затем, что классы btn* получит не сама ссылка, а окружающий ее span. Поэтому, без white цвет кнопки совпал бы с цветом ссылки.
  • %btn btn-default btn-xs glyphicon% [[ LINK | &#xe115; ]] — ссылка в виде glyphicon-иконки
Можно использовать Bootstrap Glyphicons прямо в контенте: %glyphicon% &#xe125;%% 
Коды удобно [[https://glyphicons.bootstrapcheatsheets.com|смотреть здесь]].

Можно использовать Bootstrap Glyphicons прямо в контенте:
Коды удобно смотреть здесь.

Bootstrap: блочная верстка

(:div99 class="panel panel-default":)
(:div98 class="panel-heading":)Опциональный заголовок.
(:div98 class="panel-body":)Красивая панель, здесь ее контент. 
(:div98 class="panel-footer":)Опциональный футер.
(:div99end:)
Опциональный заголовок.
Красивая панель, здесь ее контент.

>>alert alert-success<< - зеленая плашка

>>alert alert-info<< - голубая плашка

>>alert alert-warning<< - желтая плашка

>>alert alert-danger<< - красная плашка

Спецсимволы HTML:

«&laquo;
»&raquo;
&&amp;
&ndash;
&mdash;
&larr;
&uarr;
&rarr;
&darr;
&harr;