Змінні
Darktable підтримує заміщення змінних у ряді модулів та налаштуваннях. Наприклад:
-
Визначення імен файлів у модулі Експорт
-
Відображення інформації про зображення в Темній кімнаті в рядку з інформацією про зображення
-
Відображення інформації про зображення в накладках та підказках в режимі Світлого стола (див. Налаштування > Світлий стіл)
-
Розміщення тексту на зображенні в модулі обробки Водяний знак
🔗Доступні змінні
Доступні такі змінні, хоча не всі вони можуть бути застосовні в кожному контексті:
$(ROLL.NAME) ім'я "плівки" вхідного зображення
$(FILE.FOLDER) папка, що містить вхідне зображення
$(FILE.NAME) базове ім'я вхідного зображення
$(FILE.EXTENSION) розширення вхідного зображення
$(ID) ідентифікатор зображення
$(VERSION) номер версії дубліката
$(VERSION.IF_MULTI) те саме, що і $ (VERSION), але порожній рядок, якщо існує лише одна версія
$(VERSION.NAME) ім'я версії з метаданих
$(DARKTABLE.VERSION) версія поточного екземпляра Darktable
$(DARKTABLE.NAME) ім'я Darktable
$(SEQUENCE) порядковий номер у межах завдання експорту
$(WIDTH.SENSOR) ширина даних з сенсора у пікселях перед обрізанням raw
$(HEIGHT.SENSOR) висота даних з сенсора у пікселях перед обрізанням raw
$(WIDTH.RAW) ширина даних raw у пікселях після обрізання raw
$(HEIGHT.RAW) висота даних raw у пікселях після обрізання raw
$(WIDTH.CROP) ширина зображення в пікселях у кінці конвеєра обробки, але перед зміною розміру для експорту
$(HEIGHT.CROP) висота зображення в пікселях у кінці конвеєра обробки, але перед зміною розміру для експорту
$(WIDTH.EXPORT) ширина зображення в пікселях у кінці конвеєра обробки і після зміни розміру для експорту
$(HEIGHT.EXPORT) висота зображення в пікселях у кінці конвеєра обробки і після зміни розміру для експорту
$(WIDTH.MAX) максимальна ширина, введена в модулі експорту
$(HEIGHT.MAX) максимальна висота, введена в модуль експорту
$(YEAR) рік на дату імпорту/експорту
$(YEAR.SHORT) двозначний рік на дату імпорту/експорту
$(MONTH) місяць на дату імпорту/експорту
$(MONTH.LONG) повна назва місяця на дату імпорту/експорту
$(MONTH.SHORT) скорочена назва місяця на дату імпорту/експорту
$(DAY) день на дату імпорту/експорту
$(HOUR) година на момент імпорту/експорту
$(MINUTE) хвилина на момент імпорту/експорту
$(SECOND) секунда на момент імпорту/експорту
$(MSEC) мілісекунда на момент імпорту/експорту
$(EXIF.YEAR) рік з Exif
$(EXIF.YEAR.SHORT) рік з Exif, двозначна версія
$(EXIF.MONTH) місяць з Exif
$(EXIF.MONTH.LONG) місяць з Exif, повна назва
$(EXIF.MONTH.SHORT) місяць з Exif, скорочена назва
$(EXIF.DAY) день з Exif
$(EXIF.HOUR) година з Exif
$(EXIF.MINUTE) хвилина з Exif
$(EXIF.SECOND) секунда з Exif
$(EXIF.MSEC) мілісекунда з Exif
$(EXIF.DATE.REGIONAL) дата з Exif з використанням бажаного користувачем регіонального формату дати
$(EXIF.TIME.REGIONAL) час з Exif з використанням бажаного користувачем регіонального формату дати
$(EXIF.ISO) значення ISO з Exif
$(EXIF.EXPOSURE) експозиція з Exif
$(EXIF.EXPOSURE.BIAS) зміщення експозиції з Exif
$(EXIF.APERTURE) діафрагма з Exif
$(EXIF.CROP_FACTOR) кроп-фактор з Exif
$(EXIF.FOCAL.LENGTH) фокусна відстань з Exif
$(EXIF.FOCAL.LENGTH.EQUIV) еквівалентна фокусна відстань з Exif
$(EXIF.FOCUS.DISTANCE) дистанція фокусування з Exif
$(IMAGE.EXIF) основна інформація про експозицію з даних Exif (діафрагма, експозиція, ISO)
$(LONGITUDE) довгота
$(LATITUDE) широта
$(ELEVATION) висота над рівнем моря
$(GPS.LOCATION) широта, довгота та висота над рівнем моря (пропускаючи значення, які не встановлені)
$(STARS) зірковий рейтинг (лише текст)
$(RATING.ICONS) зірковий рейтинг (із використанням символів зірочки)
$(LABELS) кольорові позначки (текстове позначення)
$(LABELS.ICONS) кольорові позначки (позначення кольоровими значками)
$(MAKER) виробник камери
$(MODEL) модель камери
$(LENS) об'єктив
$(TITLE) заголовок із метаданих
$(DESCRIPTION) опис із метаданих
$(CREATOR) автор із метаданих
$(PUBLISHER) видавець із метаданих
$(RIGHTS) права з метаданих
$(TAGS) список тегів (Xmp.dc.Subject)
$(CATEGORYn(category)) ім'я тегу рівня n [0,9] вибраної категорії (або тегу)
$(SIDECAR_TXT) вміст допоміжного текстового файлу зображення (якщо такий є)
$(FOLDER.PICTURES) папка із зображеннями
$(FOLDER.HOME) домашня папка
$(FOLDER.DESKTOP) папка робочого столу
$(OPENCL.ACTIVATED) чи активовано OpenCL
$(USERNAME) ім'я користувача, визначене ОС
$(NL) символ нового рядка
$(JOBCODE) внутрішній код завдання поточного завдання
🔗Підстановка рядків
Всі змінні підтримують базову заміну рядків, натхненну bash (командним процесором Unix-подібних систем), хоча деякі деталі відрізняються.
Усі шаблони розглядаються як прості порівняння рядків. Підтримка регулярних виразів відсутня.
Надаються такі функції заміни рядків, де var
є однією із перелічених вище змінних:
$(var-default) Якщо var порожня, поверніть "default"
Можна використовувати іншу змінну як "default", напр.
$(WIDTH.CROP-$(WIDTH.RAW))
$(var+alt_value) Якщо var встановлено, повернути "alt_value", інакше повернути порожній рядок
$(var:offset) Повернути var, починаючи зі зміщення offset
Якщо зміщення від'ємне, відлік йде від кінця рядка
$(var:offset:length) Починаючи зі зміщення offset, повернути як максимум length символів var
Якщо зміщення від’ємне, довжина відлічується від кінця змінної var
Якщо довжина від’ємна, це означає кінець результату,
відлічується від кінця var, а не фактичної довжини
$(var#pattern) Видалити "pattern" з початку var
$(var%pattern) Видалити "pattern" з кінця var
$(var/pattern/replacement) Замінити перше входження "pattern" у var на "replacement"
Якщо "replacement" є порожнім, тоді "pattern" буде видалено
$(var//pattern/replacement) Замінити всі входження "pattern" у var на "replacement"
Якщо "replacement" є порожнім, тоді "pattern" буде видалено
$(var/#pattern/replacement) Якщо var починається з "pattern", тоді "pattern" замінюється на "replacement"
$(var/%pattern/replacement) Якщо var закінчується на "pattern", тоді "pattern" замінюється на "replacement"
$(var^) Перевести перший символ var у верхній регістр
$(var^^) Перевести всі символи var у верхній регістр
$(var,) Перевести перший символ var у нижній регістр
$(var,,) Перевести всі символи var у нижній регістр
🔗Форматування
Шаблони інформації про зображення підтримують розмітку. Наприклад, додавання наступного надасть чітке попередження (великий, червоний, жирний текст), коли OpenCL не вдалося ініціалізувати:
<span alpha='1%'>$(OPENCL_ACTIVATED/no/<span foreground='red' weight='heavy' size='xx-large' alpha='100%'>OPENCL ACTIVATION FAILED</span>$(NL))</span>