Polebrush — человекоориентированный язык разметки
Поулбраш — язык разметки, разработанный для тех, кого задолбало писать в голом HTML’е. На нем легче писать в «сыром» виде, потому что он не выглядит как куча XML’а.
Этот язык вышел из другого, текстайла, но с ним не совместим.
Он хорошо подходит для:
- блоговых и форумных движков — вместо HTML и bbcode.
Он плохо подходит для:
- роботов — используйте XML вместо этого;
- файлов README и прочих текстовых документов, которые будут читаться в том виде, в каком написаны — используйте markdown в этом случае.
Для нормальных людей:
- Скачать скомпилированные бинарники. Прочитайте вывод
-help
, чтобы узнать о дополнительных опциях. - darcs-репозитарий:
darcs get http://komar.in/darcs/polebrush/
- Релизы исходников тарболах.
Для OCaml-программистов:
Синтаксис
Простая разметка
emphasis | _emphasis_ |
strong | *strong* |
italic | __italic__ |
bold | **bold** |
citation | ??citation?? |
-deleted- | |
inserted | +inserted+ |
superscript | ^superscript^ |
subscript | ~subscript~ |
span | %span% |
code | @code@ |
Модификаторы следует писать слитно к выделяемому тексту и отделять пробелами от остального.
Иначе polebrush не разберется, что *2 * 2 = 4*
следует отрисовывать как 2 * 2 = 4.
Если вам нужно прикрутить выделяемую фразу вплотную к тексту, то окружите ее дополнительно квадратными скобками.
polebrushnew! | polebrush[^new!^] |
Ссылки и картинки
Ссылки вставляются кавычками и двоеточием:
polebrush | "polebrush":/en/code/polebrush |
Если вы хотите дать ссылке еще и title
— вставьте его в скобки перед последней кавычкой:
polebrush | "polebrush(человекоориентированный язык разметки)":/en/code/polebrush |
Картинка вставляется восклицательными знаками:
!/files/c.jpeg! |
Если вы хотите, чтобы она на что-то ссылалась — добавьте :url
в конце:
!/files/c.jpeg!:/files/claws.jpeg |
А если надо, чтобы при наведении мышки появлялась надпись (как на xkcd), то заверните ее в скобки в конце:
!/files/c.jpeg(Henriette Bordvik)! |
Абзацы
Абзацы разделяются простым пропуском строки.
Можно сделать абзац с особым оформлением, например, для цитаты. Для них нужно добавить модификатор с точкой. Для цитат это bq.
|
bq. “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
|
Модификатор pre
дает преформатированный абзац, который отображается как есть, вместе со всеми пробелами. Хорош для стихов Маяковского:
На классовом фронте ширятся стычки, - враг наступает и скрыто и голо. |
|
Абзац заканчивается пустой строкой. Если вам нужны пустые строки в пределах абзаца — поставьте две точки после модификатора, и абзац закончится там, где встретится новый модификатор:
|
bq.. “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
|
А теперь — опять обычный параграф. |
p. А теперь — опять обычный параграф.
|
Заголовки
Заголовок первого уровняЗаголовок второго уровняЗаголовок третьего уровняЗаголовок четвертого уровняЗаголовок пятого уровняЗаголовок шестого уровня |
h1. Заголовок первого уровня
|
Заголовки автоматически снабжаются идентификаторами, как на википедии, чтобы на них можно было ссылаться через содержание. Содержание генерируется автоматически в том месте, куда вы поставите обкруженный пустыми строками toc.
toc.
|
Списки
|
|
|
|
Разметка кода
Для больших листингов кода в несколько строк нужен блок с модификатором bc
. Polebrush также поддерживает подсветку кода. Для этого надо указать язык в квадратных скобках:
|
|
Если вы хотите поместить небольшую строчку кода внутри текста, то оберните ее в @модификаторы для кода@
. Вся разметка внутри будет проигнорирована, а текст будет заключен в тег <code>
:
В поулбраше *2*2=4* дает 2*2=4, так что можно не беспокоиться за неоднозначные случаи. | В поулбраше @*2*2=4*@ дает *2*2=4*, так что можно не беспокоиться за неоднозначные случаи. |
Опции
Почти для всех модификаторов можно задавать аттрибуты:
(класс)
—class="класс"
(#id)
—id="id"
{стиль}
—style="стиль"
[язык]
—language="язык"
Выравнивание задается с помощью <
(по левому краю) и >
(по правому краю).
К примеру, если мы вставим !>/files/c.jpeg!
в начало параграфа, то получим картинку справа.
Для текста бывают еще =
(по центру) <>
(justify).
Такие дела. |
|
Можно задать отступ парагрофа от левого и правого края при помощи (
и )
соответственно.
Здесь как в смайликах: чем больше скобок — тем больше эффект. |
|
Таблицы
Вещь странная, но очевидная. Простая таблица делается так:
|
|
Можно выделить заголовки:
|
|
Параметры всей таблицы задаются с помощью модификатора table
отдельной строчкой. Вот так, например, можно выровнять содержимое всех ячеек по центру:
|
|
Сноски
Даже мощнейший суперкомпьютер мира в 14 раз слабее, чем все компьютеры сети bitcoin в совокупности.2 |
Даже мощнейший суперкомпьютер мира в 14 раз слабее, чем все компьютеры сети bitcoin в совокупности.[2]
|
2 ↑ На июнь 2011 года мощнейший суперкомпьютер мира — K computer — «выжимает» 8 162 терафлопа. Вычислительная же мощность сети bitcoin — 114 445 терафлоп. |
fn2. На июнь 2011 года мощнейший суперкомпьютер мира — K computer — «выжимает» 8 162 терафлопа. Вычислительная же мощность сети bitcoin — 114 445 терафлоп. |
HTML
Polebrush не имеет фиксированного поведения в случае, когда ему встретится HTML-код. В зависимости от опций, которые вы зададиде:
-escape-html
— polebrush будет экранировать весь HTML, кроме строк в== ==
и блоковnomarkup.
;-escape-nomarkup
— polebrush будет экранировать HTML в строка в== ==
и блокахnomarkup.
;-escape-html
-escape-nomarkup
— polebrush будет экранировать вообще весь HTML.