Перейти до основного вмісту

Розмітка

Атрамент використовує розмітку, схожу на BBCode, щоб оформлювати текст та додавати інтерактивні елементи.

Загальні поради

Підстановки та умови

Ви можете використовувати підстановки та умови Ink для керування тегами розмітки:

VAR fuel = 10
// змінна як значення атрибуту
[progress value={fuel}]Паливо[/progress]
// результат виконання функції як значення атрибуту
[progress value={get_current_fuel()}]Паливо[/progress]
// використання умови для додавання атрибуту
[button onclick=refuel {fuel==100:disabled=true}]Дозаправка[/button]

Багаторядкова розмітка

Теги розмітки працюють лише з одним рядком тексту. Використовуйте тег HTML <br> для розриву строки, якщо вам потрібно декілька рядків тексту всередині тегів розмітки.

[block width=50%]Це перший рядок.<br>Це другий рядок.[/block]

Використовуйте <> для зручності

Ви можете використовувати оператор "клею", <>, щоб вам було легше читати розмітку. Тоді ви можете писати розмітку в декілька рядків, які будуть об'єднані в один під час компіляції сценарію Ink.

[block width=50%]<>
Це перший рядок.<br><>
Це другий рядок.<>
[/block]

Лапки

Брати атрибути в лапки не обов'язково:

// обидва приклади працюють однаково
[table columns=20% 40% 20% border=false]

// але так краще читається
[table columns="20% 40% 20%" border=false]

Розміри

Інтерфейс Atrament UI адаптується під розмір екрану, тому рекомендується встановлювати розмір елементів у відсотках:

[block width=50%]

Однак ви можете використовувати і інші міри довжини CSS:

[block width=200px]
[block width=10em]

Кольори

Ви можете використовувати значення кольорів CSS, наприклад:

ТипПриклад
Іменовані кольори[highlight color=red]text[/color]
Шістнадцятковий RGB[highlight color=\#990000]text[/color]
RGB[highlight color=rgb(255 0 153)]text[/color]
RGB з напівпрозорістю[highlight color=rgb(255 0 153 / 0.5)]text[/color]
warning

Щоб використовувати шістнадцяткові коди кольорів, потрібно екранувати символи #: \#990000.

Розташування

Блоки

Ви можете використовувати тег розмітки [block], щоб змінити розташування тексту. Для блоків можна задати ширину та вирівнювання тексту. Декілька блоків поспіль виводяться в один рядок, тож ви можете робити декілька колонок тексту.

// приклад розташування в дві колонки
[block width=50%]Це перший блок тексту.[/block]<>
[block width=50% align=right]Інший блок тексту.[/block]
АтрибутОпис
widthШирина блока. Може бути задана у відсотках (дуже рекомендуються) або інших одиницях CSS.
alignВирівнювання тексту в блоці по горизонталі. Може бути left (ліворуч), center (по центру) чи right (праворуч).
valignВирівнювання тексту в блоці по вертикалі. Може бути top (згори), middle (посередині), чи bottom (знизу).

Блок

Таблиці

Таблиці створюються за допомогою таких тегів:

[table]<>
[header]Заголовок 1[ ]Заголовок 2[ ]Заголовок 3[/header]<>
[row]Клітинка 1[ ]Клітинка 2[ ]Клітинка 3[/row]<>
[row]Клітинка 4[ ]Клітинка 5[ ]Клітинка 6[/row]<>
[/table]
warning

Зверніть увагу на оператор <> наприкінці кожного рядка таблиці - це необхідно для коректного її відображення.

Таблиця складається з заголовку [header][/header] (необов'язково) та рядів [row][/row]. Тег [ ] розділює клітинки.

Тег розмітки [table] має такі атрибути:

АтрибутОпис
border=falseПрибирає рамки таблиці.
padding=falseПрибирає відступи в клітинках таблиці. Корисно при поєднанні зображень за допомогою таблиці.
columns="20% 20% 60%"Визначає ширину стовпців. Має бути зазначена ширина кожного стовпця.
fixed=trueВмикає примусове перенесення тексту в клітинках, щоб ширина стовпців залишалася незмінною.

Таблиця

Вигляд

Заголовок

Для відображення тексту заголовка використовуйте тег розмітки [banner]:

[banner]Перемога![/banner]

Тег розмітки [banner] має такі атрибути:

АтрибутОпис
style=accentВикористовувати акцентний колір для тексту.
allcaps=trueВідображати текст великими літерами.

Заголовок

Інформація

Для відображення інформаційного блоку використовуйте тег розмітки [info]:

[info]Ви знайшли меч.[/info]

Тег розмітки [info] має такі атрибути:

АтрибутОпис
font=systemВикористовувати системний шрифт - наприклад, для підказок по грі
side=highlightДодати кольорову смужку ліворуч від блоку. Значення атрибуту може бути highlight (основний колір) або accent (акцентний колір).

Інформація

Спойлер

Для прихованого тексту використовуйте тег розмітки [spoiler]:

Щоб перемогти дракона, потрібно [spoiler]знайти зачарований меч.[/spoiler]

Коли гравець натискає на прихований текст, він відображається. Повторне натискання знову його ховає.

Спойлер

Виділення

Щоб виділити текст, використовуйте тег розмітки [highlight]. Текст виділяється акцентним кольором.

В цій печері заховані [highlight]скарби[/highlight]. 

Тег розмітки [highlight] має такі атрибути:

АтрибутОпис
color=blackЗадає колір тексту.
bgcolor=yellowЗадає колір фону.
порада

Щоб використовувати шістнадцяткові коди кольорів, потрібно екранувати символи #:

В цій печері заховані [highlight color=\#990000 bgcolor=\#EEEEEE]скарби[/highlight].

Шрифт

Щоб застосувати шрифт до тексту, використовуйте тег розмітки [font]:

Цей текст [font=Courier New]використовує моноширинний шрифт[/font].

Індикатор

Тег розмітки [progress] відображає індикатор:

VAR fuel=10

[progress value={fuel}]Паливо[/progress]

За замовчуванням індикатор використовує шкалу від 0 до 100.

Тег розмітки [progress] має такі атрибути:

АтрибутОпис
value=10Поточне значення індикатора.
min=0Мінімальне значення шкали індикатора.
max=100Максимальне значення шкали індикатора.
style=accentВиділити індикатор акцентним кольором.

Індикатор

Посилання

Посилання на вибір

Тег розмітки [link] робить посилання на варіанти вибору. Зазвичай це використовується в гіпертекстовому режимі.

=== continue_story
[link=Продовжити]Натисніть для продовження[/link]

+ [Продовжити]
-> continue_knot

Інтернет-адреса

Для створення посилання на ресурс в інтернеті, використовуйте тег розмітки [url]:

Завітайте на сайт [url=http:\/\/atrament.ink/]Атраменту[/url].
warning

Оскільки // використовується для коментаріїв в Ink, ви маєте екранувати подвійну косу риску в адресі, тож http:// стає http:\/\/.

Взаємодія

Введення даних

Для створення поля вводу використовуйте тег розмітки [input], зв'язавши його зі змінною:

VAR character_name="Невідомий"
=== markup_input
Введіть ваше ім'я:
[input var=character_name]
+ [OK]
-
Персонажа звуть "{character_name}".

Поле вводу показує поточне значення пов'язаної змінної. Значення змінної змінюється під час введення.

Тег розмітки [input] має такі атрибути:

АтрибутОпис
var=your_variableОбов'язковий атрибут. Ім'я змінної, куди зберігаються введені дані.
type=textТип вводу. Може бути text ("текст", за замовчуванням) або number (число). Якщо атрибут type має значення number, введені дані будуть передані в змінну як число, а не як рядок.
placeholder=Your nameТекст-заповнювач для поля вводу. Відображається, якщо значення змінної порожнє.

Поле вводу

Кнопка

Кнопки використовуються для виконання функції Ink.

[button onclick=stats]Показати характеристики[/button]

Кнопка

Якщо функція виводить текст, він буде показаний в повноекранному вікні поверх ігрового тексту - докладніше про це в розділі про оверлей. Якщо ні, вона оновлює контент поточного оверлею, якщо він присутній.

Тег розмітки [button] має такі атрибути:

АтрибутОпис
onclick=your_functionОбов'язковий атрибут. Назва функції, яка викликається при натисканні кнопки. Функція не може приймати параметри.
disabled=trueЯкщо встановлений, кнопка буде неактивна і не реагуватиме на натискання.
bordered=falseНе відображати рамки кнопки. Корисно, якщо використовувати зображення [img] в якості кнопки.
display=modalЯкщо встановлений, натискання кнопки відображає модальне вікно оверлею замість повноекранного.

Власна розмітка

Створення власних тегів розмітки описано в документації для розробників.