Змінні

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>

translations