1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-12-13 22:00:27 +00:00
mycorrhiza/help/ru/mycomarkup.myco
2021-09-27 18:59:44 +07:00

398 lines
19 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Микоразметка
**Микоразметка** — это собственный язык разметки в Микоризе.
Это единственная поддерживаемая разметка; другие разметки, будь то Markdown, Creole и прочие, не поддерживаются.
Документ в микоразметке (чаще всего это текстовая часть гифы) состоит из //блоков//. Для разных задач существуют разные блоки.
## Содержание
=> /help/ru/mycomarkup#Абзац Абзац
=> /help/ru/mycomarkup#Внутритекстовая_ссылка Внутритекстовая ссылка
=> /help/ru/mycomarkup#Ссылка_ракета Ссылка-ракета
=> /help/ru/mycomarkup#Заголовок Заголовок
=> /help/ru/mycomarkup#Код_блок Код-блок
=> /help/ru/mycomarkup#Горизонтальная_черта Горизонтальная черта
=> /help/ru/mycomarkup#Галерея_изображений Галерея изображений
=> /help/ru/mycomarkup#Список Список
=> /help/ru/mycomarkup#Цитата Цитата
=> /help/ru/mycomarkup#Таблица Таблица
=> /help/ru/mycomarkup#Трансклюзия Трансклюзия
## Абзац
**Абзацы** — самые распространённые блоки. Вы будете использовать их чаще остальных.
Чтобы создать абзац, просто напишите текст. Абзацы отделяются друг от друга пустыми строками.
* {```
Первый абзац
Второй абзац
Вторая строка второго абзаца
```}
* {
Первый абзац
Второй абзац
Вторая строка второго абзаца
}
Вы можете применять стили к содержимому абзаца.
* {```
Вы можете использовать //курсив//, **жирный**, `моноширинный`, ++выделенный++, ^^надстрочный^^, __подчёркнутый__, ,,подстрочный,, или ~~зачёркнутый~~ текст. А также вы можете их ++**//сочетать//**++!
```}
* Вы можете использовать //курсив//, **жирный**, `моноширинный`, ++выделенный++, ^^надстрочный^^, __подчёркнутый__, ,,подстрочный,, или ~~зачёркнутый~~ текст. А также вы можете их ++**//сочетать//**++!
Используйте обратный слэш (`\`), чтобы отменить стиль.
* {```
Это не \//курсив\//
```}
* Это не \//курсив\//
Вы можете не закрывать декоратор, и тогда стиль будет действовать до конца строки.
* {```
Это //курсив
А это — нет
```}
* {
Это //курсив
А это — нет
}
Вы можете добавлять ссылки.
* {```
Просто абзац с парой [[https://example.org | ссылок]], ведущих [[никуда]].
```}
* Просто абзац с парой [[https://example.org | ссылок]], ведущих [[никуда]].
## Ссылка
### Внутритекстовая ссылка
**Внутритекстовые ссылки** размещаются внутри абзацев.
Внешние ссылки можно помещать как есть, если они содержат протокольную часть. Такие ссылки называются автоссылками. Но иногда они могут работать не совсем, как от них ожидается. Автоссылки поддерживаются для протоколов https, http, gemini, gopher и ftp.
* {```
https://example.org
```}
* https://example.org
Оборачивайте ссылки на гифы и внешние ресурсы в `[\[` и `]]`.
* {```
По ссылкам откроются [[гифа]] и [[https://example.org]].
```}
* По ссылкам откроются [[гифа]] и [[https://example.org]].
Если вы хотите поменять отображаемый текст у ссылки, пропишите его после `|`.
* {```
Ссылка на [[гифа | другую гифу]] и [[https://example.org | какой-то сайт]].
```}
* Ссылка на [[гифа | другую гифу]] и [[https://example.org | какой-то сайт]].
Так как названия гиф не чувствительны к регистру, эти ссылки функционально одинаковы: `[[гифа]]`, `[[Гифа]]`, `[[ГИФА]]`.
### Ссылка-ракета
**Ссылки-ракеты** — особые ссылки. Они занимают целую строку. Они не согласуются с обычными внутритекстовыми ссылками. Ссылки-ракеты взяты из разметки [[https://gemini.circumlunar.space/docs/gemtext.gmi | gemtext]].
Отображаемый текст пишется после первого пробела, не `|`. Если вы пишете ссылку на гифу с пробелами в названии, замените пробелы на _.
* {```
=> гифа
=> гифа_с_пробелами
=> https://example.org
=> https://example.org Отображаемый текст
```}
* {
=> гифа
=> гифа_с_пробелами
=> https://example.org
=> https://example.org Отображаемый текст
}
### Относительная адресация
Необязательно писать полное название гифы в каждой ссылке, достаточно использовать **относительные** ссылки.
Допустим, вы редактируете гифу под названием //фрукт/яблоко//.
Чтобы сослаться на //фрукт/груша// (гифа-сиблинг), можно написать `[\[../груша]]`. Чтобы сослаться на //фрукт/яблоко/красный// (подгифа), можно написать `[\[./красный]]`. То же самое можно делать с ссылками-ракетами, галереями, трансклюзиями и прочими местами, использующими названия гиф.
Также есть возможность ссылаться на страницы вики, не являющиеся гифами. Например, чтобы сделать ссылку на страницу с недавними изменениями, вы можете написать `[\[/recent-changes]]`. Лучше писать так вместо того, чтобы указывать полный адрес сайта, так как в будущем он может поменяться.
### Цвета ссылок
Ссылки могут иметь разные цвета. Синие ссылки ведут на //существующие// страницы, когда как красные ведут на //отсутствующие//. Все внешние ссылки считаются существующими, следовательно, они всегда синие. Внутренние ссылки на гифы всегда проверяются на существование.
Заметьте, что посещённые синие ссылки окрашиваются в пурпурный, но всё равно называются синими. Более того, синие ссылки имеют жёлтый цвет в стандартной тёмной теме.
## Заголовок
Есть шесть уровней **заголовков**. Они начинаются с одного или более знака решётки, после через пробел пишется текст заголовка. Вы можете оформлять заголовок также, как абзац. Желательно не использовать заголовки 1 уровня, потому что на этом уровне уже находится название гифы.
```
# уровень 1
## уровень 2
### уровень 3
#### уровень 4
##### уровень 5
###### уровень 6
```
Рядом с каждым заголовком (сразу после его текста) есть невидимая ссылка в виде знака §. Она появляется при наведении курсора. Если вы нажмёте на ссылку, URL в адресной строке заменится на URL, ведущий на соответствующий заголовок этой страницы. Попробуйте проделать это с заголовками в этой статье.
## Код-блок
Используйте **код-блоки** для отображения кода или иного преформатированного текста. Код-блоки начинаются с трёх обратных кавычек в начале строки и заканчиваются тем же образом. После обратных кавычек в пределах строки можно писать любой текст, он игнорируется. Преформатированный текст пишется между строк с кавычками.
Примерно так, но без пробела в начале:
```
```
оно преформатированное
видите?
```
```
```
оно преформатированное
видите?
```
## Горизонтальная черта
Пропишите четыре дефиса, чтобы вставить **горизонтальную черту**.
* {```
----
```}
* ----
## Галерея изображений
Используйте **галереи изображений**, чтобы встраивать изображения в страницу. Изображения могут быть гифами или внешними файлами. В примере ниже вы можете заменить URL названием гифы. Если эта гифа — изображение, оно появится в галерее.
Для изображения можно задать описание и определить размер.
* {```
img {
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg {
Описание //здесь//
}
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 100 { Размер }
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 50*50
}
```}
* {
img {
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg {
Описание //здесь//
}
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 100 { Размер }
https://upload.wikimedia.org/wikipedia/commons/4/48/Timbre_ciuperci_otravitoare.jpg | 50*50 { Квадрат }
}
}
Если вы встраиваете гифу под названием //гифа-изображение//, разметка будет выглядеть так:
* {```
img {
гифа-изображение
}
```}
Если вы пропишете одно единственное изображение, оно будет отображаться без декораций:
* {```
img { https://mycorrhiza.wiki/static/favicon.ico }
```}
* {img { https://mycorrhiza.wiki/static/favicon.ico }}
## Список
**Списки** используются отображения упорядоченных или древовидных данных. Они весьма распространены.
Каждый пункт списка начинается со звёздочки и пробела:
* {```
* раз
* два
* три
```}
* {
* раз
* два
* три
}
Если после звёздочки прописать точки, список становится нумерованным:
* {```
*. раз
*. два
*. три
```}
* {
*. раз
*. два
*. три
}
Если вы пропишете `x` или `v`, вы превратите пункты в соответственно незавершённные и завершённые пункты списка дел (T\ODO).
* {```
*v Готово
*x Не готово
**v Очень готово
** Круто
```}
* {
*v Готово
*x Не готово
**v Очень готово
** Круто
}
В пунктах списка поддерживается вся микоразметка. Если вы хотите прописать многострочный пункт, оберните его содержимое в фигурные скобки.
* {```
* {
## Заголовок
Текст
}
* Не многострочное
```}
* {
* {
## Заголовок
Текст
}
* Не многострочное
}
## Цитата
Начните строку с `>`, чтобы поместить её в цитату.
* {```
> ## Заголовок
>
> Абзац
> > Вложенная цитата
```}
* {
> ## Заголовок
>
> Абзац
> > Вложенная цитата
}
## Таблица
**Таблицы** прописываются в блоке вида `table {...}`. Обе ограничивающие части блока должны размещаться на своих строках. На первой строке вы можете прописать заголовок таблицы.
```
Пустая таблица:
table {
}
```
Пустая таблица:
table {
}
```
table { Пустая таблица с заголовком
}
```
table { Пустая таблица с заголовком
}
Ячейки-заголовки начинаются с !, обычные — с |. Ряды таблицы отделяются переносами строки:
```
table {
! Понедельник ! Пятница
| день тяжёлый | день весёлый
}
```
table {
! Понедельник ! Пятница
| день тяжёлый | день весёлый
}
Ячейки таблицы поддерживают всё форматирование абзаца:
```
table {
! Понедельник ! Пятница
| день тяжёлый | //день весёлый//
}
```
table {
! Понедельник ! Пятница
| день тяжёлый | //день весёлый//
}
Если вы хотите, чтобы ячейка занимала несколько столбцов, пропишите символ начала этой ячейки нужное число раз подряд (без пробелов):
```
table {
! Понедельник ! Пятница
|| нормальный день
}
```
table {
! Понедельник ! Пятница
|| нормальный день
}
Пока что объединение ячеек по вертикали не поддерживается.
Если вы хотите прописать многострочную ячейку, оберните её содержимое в `{}` и продолжите таблицу после этого блока:
```
table {
| a | b
| { в этой ячейке
целых //два// абзаца! } | d
}
```
table {
| a | b
| { в этой ячейке
целых //два// абзаца! } | d
}
Вертикальные черты в начале строки можно опустить, они будут вставлены автоматически:
```
table {
a | b
c | d
}
```
table {
a | b
c | d
}
## Трансклюзия
**Трансклюзия** — механизм включения содержимого других гиф в одну гифу.
Чтобы включить гифу под названием `йогурт`, напишите строку такого вида:
```
<= йогурт
```
Строки-трансклюзии начинаются с перевёрнутой ракеты (`<=`), после которой пишется ноль или более пробелов. Текст до переноса строки или вертикальной черты (`|`) называется //целью// или //целевой гифой//. Если есть вертикальная черта, текст после неё называется //селектором//. Если черты нет, //селектор// пустой. И //цель//, и //селектор// проходят обрезку непечатных символов (strip) с обеих сторон перед дальнейшей обработкой.
```
<= целевая гифа
<= целевая гифа |
<= целевая гифа | селектор
```
Заметьте, с релиза 1.2 семантика и синтаксис трансклюзии изменились. Если вы ранее использовали трансклюзию, обновите ваши гифы. Пока что движок будет предупреждать о трансклюзиях со старым синтаксисом через двоеточие.
### Селектор
//Селектор// определяет, какая часть //целевой гифы// транклюзируется. Парсер распознаёт следующие ключевые слова:
* **full.** Транклюзировать весь документ.
* **text.** Транклюзировать весь текст.
* **attachment.** Транклюзировать только вложение.
* **description.** Транклюзировать только первый абзац.
* **overview.** Объединяет **attachment** и **description**.
Если найдено только одно из них, транклюзируется соответствующая часть. Если найдено несколько, производится б__о__льшая трансклюзия. Если не найдено ни одно, неявно подразумевается **overview**.
К этому же, если прописано слово **blend**, трансклюзия отображается без стандартных серой рамки и ссылки на //целевую гифу//.
Ниже приведена настоящая трансклюзия гифы. Она выдаст ошибку, если в вашей вики нет такой гифы.
<= u
Рекурсивная трансклюзия поддерживается, но ограничена тремя итерациями.
## См. также
=> https://mycorrhiza.wiki/hypha/essay/why_mycomarkup Почему была создана микоразметка