Polebrush — человекоориентированный язык разметки

Поулбраш — язык разметки, разработанный для тех, кого задолбало писать в голом HTML’е. На нем легче писать в «сыром» виде, потому что он не выглядит как куча XML’а.

Этот язык вышел из другого, текстайла, но с ним не совместим.

Он хорошо подходит для:

Он плохо подходит для:

  1. Polebrush — человекоориентированный язык разметки
    1. Синтаксис
      1. Простая разметка
      2. Ссылки и картинки
      3. Абзацы
      4. Заголовки
      5. Списки
      6. Разметка кода
      7. Опции
      8. Таблицы
      9. Сноски
      10. HTML

Для нормальных людей:

Для OCaml-программистов:

Синтаксис

Простая разметка

emphasis _emphasis_
strong *strong*
italic __italic__
bold **bold**
citation ??citation??
deleted -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), то заверните ее в скобки в конце:

Henriette Bordvik !/files/c.jpeg(Henriette Bordvik)!

Абзацы

Абзацы разделяются простым пропуском строки.

Можно сделать абзац с особым оформлением, например, для цитаты. Для них нужно добавить модификатор с точкой. Для цитат это bq.

“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
— Mosher’s Law of Software Engineering

bq. “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
— Mosher’s Law of Software Engineering

Модификатор pre дает преформатированный абзац, который отображается как есть, вместе со всеми пробелами. Хорош для стихов Маяковского:

На классовом фронте
                    ширятся стычки, -
враг наступает
               и скрыто
                        и голо.
pre. На классовом фронте
                    ширятся стычки, -
враг наступает
               и скрыто
                        и голо.

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

“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”

— Mosher’s Law of Software Engineering

bq.. “Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”

— Mosher’s Law of Software Engineering

А теперь — опять обычный параграф.

p. А теперь — опять обычный параграф.

Заголовки

Заголовок первого уровня

Заголовок второго уровня

Заголовок третьего уровня

Заголовок четвертого уровня

Заголовок пятого уровня
Заголовок шестого уровня
h1. Заголовок первого уровня

h2. Заголовок второго уровня

h3. Заголовок третьего уровня

h4. Заголовок четвертого уровня

h5. Заголовок пятого уровня

h6. Заголовок шестого уровня

Заголовки автоматически снабжаются идентификаторами, как на википедии, чтобы на них можно было ссылаться через содержание. Содержание генерируется автоматически в том месте, куда вы поставите обкруженный пустыми строками toc.

toc.

Списки

  1. Пункт первый
  2. Второй
    1. А здесь — второй уровень
# Пункт первый
# Второй
## А здесь — второй уровень
  • Огурцы
  • Бананы
    • Зеленые
    • Почерневшие
* Огурцы
* Бананы
** Зеленые
** Почерневшие

Разметка кода

Для больших листингов кода в несколько строк нужен блок с модификатором bc. Polebrush также поддерживает подсветку кода. Для этого надо указать язык в квадратных скобках:

type talign =
  | Right   (** > *)
  | Left    (** < *)
  | Center  (** = *)
  | Justify (** <> *)
type valign =
  | Top    (** ^ *)
  | Middle (** - *)
  | Bottom (** ~ *)
bc[caml]. type talign =
  | Right   (** > *)
  | Left    (** < *)
  | Center  (** = *)
  | Justify (** <> *)
type valign =
  | Top    (** ^ *)
  | Middle (** - *)
  | Bottom (** ~ *)

Если вы хотите поместить небольшую строчку кода внутри текста, то оберните ее в @модификаторы для кода@. Вся разметка внутри будет проигнорирована, а текст будет заключен в тег <code>:

В поулбраше *2*2=4* дает 2*2=4, так что можно не беспокоиться за неоднозначные случаи. В поулбраше @*2*2=4*@ дает *2*2=4*, так что можно не беспокоиться за неоднозначные случаи.

Опции

Почти для всех модификаторов можно задавать аттрибуты:

Выравнивание задается с помощью < (по левому краю) и > (по правому краю).
К примеру, если мы вставим !>/files/c.jpeg! в начало параграфа, то получим картинку справа.

Для текста бывают еще = (по центру) <> (justify).

Такие дела.

p>. Такие дела.

Можно задать отступ парагрофа от левого и правого края при помощи ( и ) соответственно.

Здесь как в смайликах: чем больше скобок — тем больше эффект.

p(((((. Здесь как в смайликах: чем больше скобок — тем больше эффект.

Таблицы

Вещь странная, но очевидная. Простая таблица делается так:

x 1 2 3 4 5
x2 1 4 9 16 25
x3 1 8 27 64 125
| x      | 1 | 2 | 3  | 4  | 5   |
| x[^2^] | 1 | 4 | 9  | 16 | 25  |
| x[^3^] | 1 | 8 | 27 | 64 | 125 |

Можно выделить заголовки:

x 1 2 3 4 5
x2 1 4 9 16 25
x3 1 8 27 64 125
|_. x      |_. 1 |_. 2 |_. 3  |_. 4  |_. 5   |
|_. x[^2^] |   1 |   4 |   9  |   16 |   25  |
|_. x[^3^] |   1 |   8 |   27 |   64 |   125 |

Параметры всей таблицы задаются с помощью модификатора table отдельной строчкой. Вот так, например, можно выровнять содержимое всех ячеек по центру:

для выравнивания по горизонтали
по центру слева справа
= < >
для выравнивания по вертикали по центру -
сверху ^
снизу ~
table=.
|\3_. для выравнивания по горизонтали |
| по центру | слева | справа |
| =         | <     | >    |
|/3_. для выравнивания по вертикали | по центру | @-@ |
| сверху | @^@ |
| снизу  | @~@ |

Сноски

Даже мощнейший суперкомпьютер мира в 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-код. В зависимости от опций, которые вы зададиде: