Общий синтаксис

Эту страницу не рекомендуется править на локальной-вики, лучше воспользуйтесь ThisSite.Syntax. Если это действительно необходимо, внесите правки через корневую вики вашей фермы.

ThisSite: локальные настройки макета дизайна, css-классы и т.д. а также все, что должно быть под рукой

Настройки данного макета дизайна
(:noheader:) - скрыть хедер сайта
(:nobread:) - скрыть хлебные крошки
(:notitle:) - скрыть заголовок h1
(:noleft:) - скрыть левую панель
(:nofooter:) - скрыть футер сайта

Вспомогательные CSS-классы:
hidden-for-users - скрывает элемент от неавторизованных пользователей

edit

ph-speedups.less: стандартизированные вспомогательные классы

Памятка по основам (начинающим авторам)

Официальная документация: Сложные слои

  • параграф <p> генерируется автоматически, когда пуста строка, предшествующая текущей
  • \ "притягивает" последующую строку, а \\\ добавляет пустую строку <br> не прерывая параграф.
  • [[<<]] делает clear:both
  • $переменные вставляем с помощью
  • !, !!, !!! - это h1, h2, h3 соответственно, а !!!! делает h4 и всегда вызывает аккордеон
  • %newwin% ... -> открывать ссылки в новом окне. Все внешние ссылки это автоматически.
  • %class%text%% -> <span class="class">text</span>
  • действия %чего_угодно% ... прервется в конце текущего блока, или на %%
  • >>class<<text -> создаст <div class="class">, который закроется только на >><<
  • [[PmWikiPh/Syntax|+]] -> ссылка с названием целевой страницы
  • [[PmWikiPh/Syntax|вот сюда]] -> ссылка "вот сюда"
  • [[http://example.com/|внешняя страница]] = ссылка "внешняя страница"
  • [[#anchor]] = поставить якорь "anchor"
  • [[PmWikiPh/Syntax#anchor|якорь]] = ссылка на якорь?

Таблицы, цитаты, всплывающие подсказки

Официальная документация: Таблицы | Сложные

|| class="table table-bordered"
||! Заголовок простой таблицы !||
||!ЗагЛев ||! ЗагЦент ||! ЗагПрав||
||cell 1  ||  cell 2 ||  cell 3||
Заголовок простой таблицы
ЗагЛевЗагЦентЗагПрав
cell 1cell 2cell 3
<blockquote>
Цитату проще написать в html
<cite>мысль Finar</cite>
</blockquote>

Цитату проще написать в html

мысль Finar
<span class='ph-dotted' title='сделано просто в чистом html'>текст со всплывающей подсказкой</span>
текст со всплывающей подсказкой

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

-> отступ
--> двойной
---> тройной
----> и т.д. Это позволяет создавать хорошо структурированные тексты без буллитов. Не очень понятно, зачем это нужно, но есть гипотеза: если, например, сюда на 4й уровень поставить еще и скажем фотогалерею, то потом, на следующей строке, можно будет снова продолжить писать текст без буллитов сразу .

-< '''Хитрый приступ''' отодвигает весь текст, кроме первой строчки. Тоже не слишком понятно, зачем это может пригодиться :) Но как фича для необычного оформления канает.
отступ
двойной
тройной
и т.д. Это позволяет создавать хорошо структурированные тексты без буллитов. Не очень понятно, зачем это нужно, но есть гипотеза: если, например, сюда на 4й уровень поставить еще и скажем фотогалерею, то потом, на следующей строке, можно будет снова продолжить писать текст без буллитов сразу .
Хитрый приступ отодвигает весь текст, кроме первой строчки. Тоже не слишком понятно, зачем это может пригодиться :) Но как фича для необычного оформления канает.

Оформление исходных кодов базовое, на основе ядра

[@
Блок, содержащий любой '''код''' без форматирования. 
Аналогичный эффект даст строка, начинающаяся с пробела.
@]
Блок, содержащий любой '''код''' без форматирования. 
Аналогичный эффект даст строка, начинающаяся с пробела.
(:markup caption='Заголовок' class=horiz:) wiki-код (:markupend:) - опциональное обрамление wiki-кода по аналогии с примером выше): выводит сам код, пример его исполнения и опциональный заголовок, поясняющий суть происходяшего.
А вот [@$переменная@] в тексте.

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

Программирование: базовые inline-команды

  • (:country:Transylvania:) - создать Page Text Variable
  • {$:country} - вызвать ее
  • (:if auth edit:) ... (:ifend:) - выводить только для редакторов
  • (:nogroupheader:) | (:nogroupfooter:) - не выводить общие инклюды группы
  • (:robots noindex,nofollow:) - закрыть страницу от индексации

Программирование: внедренные решения

Подменяемые картинки: синтаксис

Вывод превью, по клику - полноразмерные:
>>phImageSwapper<<
Mini:PmWikiPh/MiniPhotogallery-Examples/doom2-plut-066.jpg,doom2-plut-087.jpg
>><<

Вывод полноразмерных:
>>phImageSwapper<<
Attach:PmWikiPh/MiniPhotogallery-Examples/doom2-plut-066.jpg
Attach:PmWikiPh/MiniPhotogallery-Examples/doom2-plut-087.jpg
>><<

edit

Фотогалерея Mini: синтаксис

Рецепт 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 сработает аналогично, точно указанные картинки всегда будут идти перед общими масками
  • [[Other page | mini:picture.jpg ]] - превьюшка, ссылающая на другую страницу (а не на оригинал изображения). Достигается за счет строчной буквы "m",

В целом синтаксис Mini такой же, как Attach, т.е. можно написать, например: Mini:PmWikiPh/SomePage/*7*

Создание галерей с масштабированием - MiniN:*, где:

  • при N = 1 - 151x111
  • при N = 2 - 314x234 (в два раза больше Mini1 по сторонам)
  • при N = 3 - 640x360 (16/9)
  • при N = 4 - 640x480 (в четыре раза больше Mini1 по сторонам)
  • (:mini 120x120:), или, в общем случае (:mini m1=80x80 m2=90x45 m3=141x100 m9=0x128x50x0x90x000000:) - определить собственные параметры масштабирования на данной странице

>>width=652px ...<< - формирует столбец, шириной как Mini4. Красиво.
>>width=978px ...<< - формирует столбец, шириной как Mini4 + Mini2.


Репозиторий рецепта

edit

Мультитеги: синтаксис

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

edit

Мультаплоадер: синтаксис

Пример настроек для Ph:PmWikiPh/Adding-Custom-Frontend-Code

<script type='text/javascript'>
  var showThumbs = 0;
  var checkText = false;
</script>

edit

Подсветка синтаксиса

(:source lang=php linenum tabwidth=4:) [@
Разметка для вывода исходного кода с подсветкой синтаксиса, параметры:
lang=XXX - подсветка по правилам языка XXX, популярные:
    html5
    javascript
    jquery
    php
    css
    text
linenum - включить нумерацию строк
tabwidth=N - ширина при отображении табуляций, работает только при заданном lang
@ ] <- тут без пробела!

Все поддерживаемые языки

Geshi Version: 1.0.8.12

langfull name
4csGADV 4CS
6502acmeMOS 6502 (6510) ACME Cross Assembler format
6502kickassMOS 6502 (6510) Kick Assembler format
6502tasmMOS 6502 (6510) TASM/64TASS 1.46 Assembler format
68000devpacMotorola 68000 - HiSoft Devpac ST 2 Assembler format
abapABAP
actionscriptActionScript
actionscript3ActionScript 3
adaAda
aimmsAIMMS3
algol68ALGOL 68
apacheApache configuration
applescriptAppleScript
apt_sourcesApt sources
armARM ASSEMBLER
asmASM
aspASP
asymptoteasymptote
autoconfAutoconf
autohotkeyAutohotkey
autoitAutoIt
avisynthAviSynth
awkawk
bascomavrBASCOM AVR
bashBash
basic4glBasic4GL
bfBrainfuck
bibtexBibTeX
blitzbasicBlitzBasic
bnfbnf
booBoo
cC
c_loadrunnerC (LoadRunner)
c_macC (Mac)
c_winapiC (WinAPI)
caddclCAD DCL
cadlispCAD Lisp
cfdgCFDG
cfmColdFusion
chaiscriptChaiScript
chapelChapel
cilCIL
clojureClojure
cmakeCMake
cobolCOBOL
coffeescriptCoffeeScript
cppC++
cpp-qtC++ (Qt)
cpp-winapiC++ (WinAPI)
csharpC#
cssCSS
cuesheetCuesheet
dD
dartDart
dclDCL
dcpu16DCPU-16 Assembly
dcsDCS
delphiDelphi
diffDiff
divDIV
dosDOS
dotdot
eE
ecmascriptECMAScript
eiffelEiffel
emaileMail (mbox)
epcEPC
erlangErlang
euphoriaEuphoria
eztEZT
f1Formula One
falconFalcon
foFO (abas-ERP)
fortranFortran
freebasicFreeBasic
freeswitchFreeSWITCH
fsharpF#
gambasGAMBAS
gdbGDB
generogenero
genieGenie
gettextGNU Gettext
glslglSlang
gmlGML
gnuplotGnuplot
goGo
groovyGroovy
gwbasicGwBasic
haskellHaskell
haxeHaxe
hicestHicEst
hq9plusHQ9+
html4strictHTML
html5HTML5
iconIcon
idlUno Idl
iniINI
innoInno
intercalINTERCAL
ioIo
ispfpanelISPF Panel
jJ
javaJava
java5Java(TM) 2 Platform Standard Edition 5.0
javascriptJavascript
jclJCL
jqueryjQuery
kixtartKiXtart
klonecKLone C
klonecppKLone C++
latexLaTeX
lbLiberty BASIC
ldifLDIF
lispLisp
llvmLLVM Intermediate Representation
locobasicLocomotive Basic
logtalkLogtalk
lolcodeLOLcode
lotusformulasLotus Notes @Formulas
lotusscriptLotusScript
lscriptLScript
lsl2LSL2
luaLua
m68kMotorola 68000 Assembler
magiksfMagikSF
makeGNU make
mapbasicMapBasic
matlabMatlab M
mircmIRC Scripting
mmixMMIX
modula2Modula-2
modula3Modula-3
mpasmMicrochip Assembler
mxmlMXML
mysqlMySQL
nagiosNagios
netrexxNetRexx
newlispnewlisp
nginxnginx
nimrodNimrod
nsisNSIS
oberon2Oberon-2
objcObjective-C
objeckObjeck Programming Language
ocamlOCaml
ocaml-briefOCaml (brief)
octaveGNU/Octave
oobasOpenOffice.org Basic
oorexxooRexx
oracle11Oracle 11 SQL
oracle8Oracle 8 SQL
oxygeneOxygene
ozOZ
parasailParaSail
parigpPARI/GP
pascalPascal
pcrePCRE
perper
perlPerl
perl6Perl 6
pfOpenBSD Packet Filter
phpPHP
php-briefPHP (brief)
pic16PIC16
pikePike
pixelbenderPixel Bender 1.0
pliPL/I
plsqlPL/SQL
postgresqlPostgreSQL
postscriptPostScript
povrayPOVRAY
powerbuilderPowerBuilder
powershellPowerShell
proftpdProFTPd configuration
progressProgress
prologProlog
propertiesPROPERTIES
providexProvideX
purebasicPureBasic
pyconPython (console mode)
pys60Python for S60
pythonPython
qq/kdb+
qbasicQBasic/QuickBASIC
qmlQML
racketRacket
railsRails
rbsRBScript
rebolREBOL
regMicrosoft Registry
rexxrexx
robotsrobots.txt
rpmspecRPM Specification File
rsplusR / S+
rubyRuby
rustRust
sasSAS
scalaScala
schemeScheme
scilabSciLab
sclSCL
sdlbasicsdlBasic
smalltalkSmalltalk
smartySmarty
sparkSPARK
sparqlSPARQL
sqlSQL
standardmlStandardML
stonescriptStoneScript
systemverilogSystemVerilog
tclTCL
teratermTera Term Macro
textText
thinbasicthinBasic
tsqlT-SQL
typoscriptTypoScript
uniconUnicon (Unified Extended Dialect of Icon)
upcUPC
urbiUrbi
uscriptUnreal Script
valaVala
vbVisual Basic
vbnetvb.net
vbscriptVBScript
veditVedit macro language
verilogVerilog
vhdlVHDL
vimVim Script
visualfoxproVisual Fox Pro
visualprologVisual Prolog
whitespaceWhitespace
whoisWhois (RPSL format)
winbatchWinbatch
xbasicXBasic
xmlXML
xorg_confXorg configuration
xppX++
yamlYAML
z80ZiLOG Z80 Assembler
zxbasicZXBasic

edit

Кнопки-раскрывашки: синтаксис

!!!!Заголовок - любой заголовок h4 создает раскрывающийся слайд. Любой последующий элемент будет скрыт под ним, по-умолчанию это первый параграф.
>>toggler<< Текстовая кнопка - вместо кнопки создает прерывисто подчеркнутый текст с аналогичным функционалом
>><<

(:div:)...(:divend:) - оберните слоем скрываемый контент, если его больше чем один параграф
>>ph-shower<< - так можно создать контентный блок, раскрытый по-умолчанию (актуально для аккордеонов)


Репозиторий рецепта

edit

Викирама: синтаксис

Отключить вертикальное масштабирование: %apply=a minilink wikirama-noresize% Mini:*
Заполнить футер модального окна:

%apply=a id=test% Mini:file.jpg
>>id=footer-test<<
любой код в модальное окно
>><<

edit

Документация:

Bootstrap, html-спецсимволы

Bootstrap:

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

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

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

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

%text-muted% - тихий текст

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

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

Известные проблемы и баги

  • код вида >>red<<123456789ABCDEFGHI не работает (см. тут), добавляйте пробел между скобкой и контеном

Site.EditQuickReference дефолтный хелп от автора PmWiki

Basic editing - Text formatting rules - Documentation index

Tables: simple - advanced

Paragraphs: for a new paragraph, use a blank line;

Line break: \\ or [[<<]]

-> to indent text, -< hanging text

Join line: \

Lists: * for bulleted, # for numbered, :term:definition for definition lists

Emphasis: ''italics''   '''bold'''   '''''bold italics'''''   @@monospaced@@

References: [[another page]], [[http://example.com/]], [[another page | link text]], [[#anchor]], [[#anchor | link text]]

Signatures: name: ~~~

Groups: [[Group/Page]] displays Page, [[Group.Page]] displays Group.Page, [[Group(.Page)]] displays Group, [[Group/]] links Group homepage

name and date: ~~~~

Separators: !!, !!! for headings, ---- for horizontal line

Prevent formatting: [=...=]

Other: [+big+]   [++bigger++]   [-small-]   [--smaller--]   '^superscript^'   '_subscript_'   {+inserted+}   {-deleted-}

Preformatted: [@...@] or >>pre<<...>><<

edit this