змінні

darktable підтримує заміщення змінних у ряді модулів та налаштуваннях. Наприклад:

🔗доступні змінні

Доступні такі змінні, хоча не всі вони можуть бути застосовні в кожному контексті:

$(ROLL_NAME)               ім'я "плівки" вхідного зображення
$(FILE_FOLDER)             папка, що містить вхідне зображення
$(FILE_NAME)               базове ім'я вхідного зображення
$(FILE_EXTENSION)          розширення вхідного зображення
$(ID)                      ідентифікатор зображення
$(VERSION)                 номер версії дубліката
$(VERSION_IF_MULTI)        те саме, що і $ (VERSION), але порожній рядок, якщо існує лише одна версія
$(VERSION_NAME)            ім'я версії з метаданих
$(SEQUENCE)                порядковий номер у межах завдання експорту
$(SENSOR_WIDTH)            ширина даних з сенсора у пікселях перед обрізанням raw
$(SENSOR_HEIGHT)           висота даних з сенсора у пікселях перед обрізанням raw
$(RAW_WIDTH)               ширина даних raw у пікселях після обрізання raw
$(RAW_HEIGHT)              висота даних raw у пікселях після обрізання raw
$(CROP_WIDTH)              ширина зображення в пікселях у кінці конвеєра обробки, але перед зміною розміру для експорту
$(CROP_HEIGHT)             висота зображення в пікселях у кінці конвеєра обробки, але перед зміною розміру для експорту
$(EXPORT_WIDTH)            ширина зображення в пікселях у кінці конвеєра обробки і після зміни розміру для експорту
$(EXPORT_HEIGHT)           висота зображення в пікселях у кінці конвеєра обробки і після зміни розміру для експорту
$(MAX_WIDTH)               максимальна ширина, введена в модулі експорту
$(MAX_HEIGHT)              максимальна висота, введена в модуль експорту
$(YEAR)                    рік на дату експорту
$(MONTH)                   місяць на дату експорту
$(DAY)                     день на дату експорту
$(HOUR)                    година на момент експорту
$(MINUTE)                  хвилина на момент експорту
$(SECOND)                  секунда на момент експорту
$(EXIF_YEAR)               рік з Exif
$(EXIF_MONTH)              місяць з Exif
$(EXIF_DAY)                день з Exif
$(EXIF_HOUR)               година з Exif
$(EXIF_MINUTE)             хвилина з Exif
$(EXIF_SECOND)             секунда з Exif
$(EXIF_ISO)                значення ISO
$(EXIF_EXPOSURE)           експозиція з Exif
$(EXIF_EXPOSURE_BIAS)      зміщення експозиції з Exif
$(EXIF_APERTURE)           діафрагма з Exif
$(EXIF_FOCAL_LENGTH)       фокусна відстань з Exif
$(EXIF_FOCUS_DISTANCE)     дистанція фокусування з Exif
$(LONGITUDE)               довгота
$(LATITUDE)                широта
$(ELEVATION)               висота
$(STARS)                   зірковий рейтинг (лише текст)
$(RATING_ICONS)            зірковий рейтинг (із використанням символів зірочки)
$(LABELS)                  кольорові позначки (лише текст)
$(LABELS_ICONS)            кольорові позначки (з використанням кольорових символів)
$(LABELS_COLORICONS)       кольорові позначки (з використанням кольорових значків)
$(MAKER)                   виробник камери
$(MODEL)                   модель камери
$(LENS)                    об'єктив
$(TITLE)                   заголовок із метаданих
$(DESCRIPTION)             опис із метаданих
$(CREATOR)                 автор із метаданих
$(PUBLISHER)               видавець із метаданих
$(RIGHTS)                  права з метаданих
$(TAGS)                    список тегів (Xmp.dc.Subject)
$(CATEGORYn(category))     ім'я тегу рівня n [0,9] вибраної категорії (або тегу)
$(SIDECAR_TXT)             вміст допоміжного текстового файлу зображення (якщо такий є)
$(PICTURES_FOLDER)         папка із зображеннями
$(HOME)                    домашня папка
$(DESKTOP)                 папка робочого столу
$(OPENCL_ACTIVATED)        чи активовано OpenCL
$(USERNAME)                ім'я користувача, визначене ОС
$(NL)                      символ нового рядка
$(JOBCODE)                 внутрішній код завдання поточного завдання

🔗підстановка рядків

Всі змінні підтримують базову заміну рядків, натхненну bash (командним процесором Unix-подібних систем), хоча деякі деталі відрізняються.

Усі шаблони розглядаються як прості порівняння рядків. Підтримка регулярних виразів відсутня.

Надаються такі функції заміни рядків, де var є однією із перелічених вище змінних:

$(var-default)                   Якщо var порожня, поверніть "default"

$(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 у нижній регістр

translations