{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Здоровий глузд: дописи з тегом figma",
    "_rss_description": "Олександр Колодько. Інформаційний та навігаційний дизайнер. Співзасновник команди ARC, співзасновник та головний дизайнер в Агентах змін (А3). Пишу про дизайн і цікаве мені · alexkolodko.com · wayfinding.systems",
    "_rss_language": "uk",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/blog-archive.alexkolodko.com\/tags\/figma\/",
    "feed_url": "https:\/\/blog-archive.alexkolodko.com\/tags\/figma\/json\/",
    "icon": "https:\/\/blog-archive.alexkolodko.com\/pictures\/userpic\/userpic@2x.jpg?1768915547",
    "authors": [
        {
            "name": "Олександр Колодько",
            "url": "https:\/\/blog-archive.alexkolodko.com\/",
            "avatar": "https:\/\/blog-archive.alexkolodko.com\/pictures\/userpic\/userpic@2x.jpg?1768915547"
        }
    ],
    "items": [
        {
            "id": "144",
            "url": "https:\/\/blog-archive.alexkolodko.com\/all\/print-sizes-in-figma\/",
            "title": "Розмір макетів під друк у Figma",
            "content_html": "<p>Метод підійде не тільки для Фігми, але і до будь-яких екранних редакторів, які не прив’язані до фізичних розмірів (міліметрів, дюймів тощо).<\/p>\n<p><i>Дисклеймер: винесемо за дужки передачу кольору. Для друку потрібна колірна модель CMYK, а «екранні» редактори заточені лише під роботу з екраном і працюють у RGB\/HSB\/HSL\/Lab та інших адитивних колірних моделях. Але це не завжди буває критично: або можна перевести у CMYK картинку пізніше, або ж при використанні цифрового друку колір буде конвертувати вже сама машина\/принтер або друкарі.<\/i><\/p>\n<p>При роботі у графічних редакторах ви в процесі роботи вказуєте саме потрібний фізичний розмір вашого макета. Але зображення на комп’ютері зберігаються і виводяться на екран у віртуальних пікселях — квадратних кольорових точках, які відтворюються фізичними пікселями екрана.<\/p>\n<p>Тому далі виникає таке поняття, як роздільна здатність (DPI) — кількість точок фарби на лінію довжиною 1 дюйм (25,4 мм). І коли маємо фіксовану кількість пікселів в картинці, то фізично ми її можемо стиснути до меншого розміру і тоді кількість пікселів на дюйм збільшиться. Або ж розтягнути і кількість пікселів на дюйм, навпаки, зменшиться.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/dpi.png\" width=\"1200\" height=\"675\" alt=\"\" \/>\n<\/div>\n<p>Тож для того, щоб створити картинку для друку у Фігмі (чи іншому редакторі), потрібно задати достатній розмір у пікселях. Його можна порахувати виходячи з потрібного фізичного розміру картинки за формулою:<\/p>\n<ul>\n<li>ширина (мм) * роздільна здатність (DPI, точок на дюйм) \/ 25,4 (міліметрів у дюймі) = ширина (px, округлити до більшого цілого)<\/li>\n<li>висота (мм) * роздільна здатність (DPI, точок на дюйм) \/ 25,4 (міліметрів у дюймі) = висота (px, округлити до більшого цілого)<\/li>\n<\/ul>\n<p>Важливе уточнення: розмір картинки має бути у цілих пікселях, бо у комп’ютерах не передбачені ніякі долі пікселів, лише цілі. Тож розрахунок може дати дробні значення, які потрібно округлити до більшого цілого.<\/p>\n<p>Наприклад, для друку у книжку потрібно зробити картинки. Зазвичай мінімальний потрібний DPI — 300. Якщо маємо формат сторінки книжки 205×290 мм. Тож гарна картинка на всю сторінку має бути 2422×3426 px (відповідно, на розворот має бути вдвічі більша ширина).<\/p>\n<p>Розрахунок:<\/p>\n<ul>\n<li>ширина = 205 мм * 300 DPI \/ 25,4 = 2 421,2598425197 px = 2422 px<\/li>\n<li>висота = 290 мм * 300 DPI \/ 25,4 = 3 425,1968503937 px = 3426 px<\/li>\n<\/ul>\n<p>Допоміжним інструментом буде цей калькулятор роздільної здатності — <a href=\"https:\/\/pixelcalculator.com\/en\">Pixelcalculator<\/a>.<\/p>\n<p>У яких сценаріях це може бути корисно: ілюстрації для друкованих видань, макети наружної реклами (в якій DPI можуть варіюватись від 56, 72 до 300) тощо.<\/p>\n<h2>Розрахунок масштабу картинок<\/h2>\n<p>Ще один метод застосування розрахунків не тільки для Фігми — можливість порахувати необхідний DPI для підготовки вихідних картинок, якщо масштаб макету відрізняється.<\/p>\n<p>Наприклад, вам потрібно зробити білборд 5700×2800 мм, а Ілюстратор донедавна не підтримував дуже великі артборди, тож макет робить, наприклад, у масштабі 1:20 — 285×140 мм. Щоб на виході отримати TIF реального розміру до потрібно вказати при експорті збільшений DPI.<\/p>\n<p>1) Рахуємо розмір потрібної для друку картинки:<\/p>\n<ul>\n<li>5700 * 72 \/ 25,4 = 16158 px<\/li>\n<li>2800 * 72 \/ 25,4 = 7938 px<\/li>\n<\/ul>\n<p>2) Рахуємо тепер у зворотному напрямку, який DPI потрібно вказати при експорті:<\/p>\n<ul>\n<li>16158 px * 25,4 \/ 285 mm = 1440 DPI<\/li>\n<li>7938 px * 25,4 \/ 140 mm = 1440 DPI<\/li>\n<\/ul>\n<h2>Плагіни для Фігми<\/h2>\n<p>На додачу хочу згадати декілька плагінів для Фігми, які допомагають створити артборди різних друкованих розмірів. Єдиний нюанс: майже всі плагіни рахують надточні розміри з долями пікселя, які варто буде округлити до цілого.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.figma.com\/community\/plugin\/874441781480244375\"> Print for Figma<\/a>: плагін, що допомагає створити артборди, які б відповідали фізичним аркушам, а також автор розробляє експорт у CMYK.<\/li>\n<li><a href=\"https:\/\/www.figma.com\/community\/plugin\/841435609952260079\">Unit converter<\/a>: простий калькулятор для переводу міліметрів у пікселі та навпаки.<\/li>\n<li><a href=\"https:\/\/www.figma.com\/community\/plugin\/743928147588245448\"> DPI2Pixel<\/a>: створює артборд по заданих у міліметрах розмірах.<\/li>\n<\/ul>\n",
            "date_published": "2024-04-17T15:44:43+02:00",
            "date_modified": "2024-04-17T16:10:36+02:00",
            "tags": [
                "figma",
                "інструменти"
            ],
            "image": "https:\/\/blog-archive.alexkolodko.com\/pictures\/dpi.png",
            "_date_published_rfc2822": "Wed, 17 Apr 2024 15:44:43 +0200",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "144",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/dpi.png"
                ]
            }
        },
        {
            "id": "130",
            "url": "https:\/\/blog-archive.alexkolodko.com\/all\/link-to-images-from-gdrive-to-gsheet\/",
            "title": "Додаємо у Google Sheets посилання на всі файли у теці Google Drive",
            "content_html": "<p>Досліджував автоматизацію у Фігмі (напишу окремо). В ній для автоматизованого додавання картинок, потрібно давати на них прямі посилання. Можна завантажувати файли на FTP або копіювати напряму з сайтів. Але часто це не дуже зручно і якщо ви працюєте з Google Drive та тримаєте там робочі файли, то буває потрібно отримати прямі посилання на картинки у Драйві.<\/p>\n<p>Також буває необхідно скопіювати багато прямих посилань на файли, наприклад, щоб вставити їх у брендбук або відправити клієнту.<\/p>\n<p>Тож я створив простий гугл-скрипт для використання Google Sheets. Працює так:<\/p>\n<ol start=\"1\">\n<li>Додаєте до вашої таблиці скрипт через <i>Extensions\/Apps Script<\/i>, вставляєте код, запускаєте та даєте всі доступи до вашого облікового запису, оновлюєте сторінку з таблицею.<\/li>\n<li>У комірку <i>A1<\/i> вставляєте посилання на теку у Драйві (вона може бути як публічною, так і ні), треба взяти посилання з вікна <i>Share<\/i>, яке містить в собі …\/<i>folder\/…<\/i>.<\/li>\n<li>У меню з’явиться новий пункт Links to files, в якому можна вибрати один з варіантів.<\/li>\n<li>Скрипт створить заголовки колонок і вставить всі дані у рядки нижче.<\/li>\n<\/ol>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/List-Files-in-Folder---Demo-x2.mov#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<\/div>\n<p>Скрипт виводить такі колонки:<br \/>\n- <b>Name<\/b> — повна назва файлу<br \/>\n- <b>Type<\/b> — розширення файлу, знаходить по назві файлу<\/p>\n<ul>\n<li><b>Date<\/b> — дата та час зміни файлу<\/li>\n<li><b>Size, KB<\/b> — розмір у КБ<br \/>\n- <b>URL<\/b> — посилання на файл (якщо вся тека доступна для перегляду не тільки вам, то всі файли в ній теж будуть доступні)<br \/>\n- <b>URL Download<\/b> — інший формат прямого посилання на файли, який можна використати, наприклад, щоб вставити картинку у таблицю функцією <i>=IMAGE()<\/i>.<\/li>\n<\/ul>\n<p>Я зробив кілька варіантів функцій у скрипті:<\/p>\n<ol start=\"1\">\n<li>Вивід всіх файлів по черзі у певній теці.<\/li>\n<li>Вивід окремих типів файлів (картинки, відео, документи тощо).<\/li>\n<li>І окремою опцією вивід всіх файлів у тій теці та у всіх підтеках (додається ще колонка Folder з назвою теки).<\/li>\n<\/ol>\n<p><hr><\/p>\n<p><a href=\"https:\/\/www.dropbox.com\/scl\/fi\/n44gl8dpk5w809mljvjy0\/List-Files-in-Folder.gs?rlkey=hruc1cfuhtoci3c39lu8yhf8i&dl=0\">Завантажити скрипт<\/a> або переглянути на <a href=\"https:\/\/gist.github.com\/alexkolodko\/791507868c326c859059e67ddff0497b\">Github Gist<\/a>.<\/p>\n<p><hr><\/p>\n<div><div style=\"float: left;\"><p><span style=\"font-weight:bold; font-size: 3em\"><b>₴<\/b><\/span><\/p>\n<\/div><div style=\"padding: 1em 0 0 4em\"><p>Якщо вам було цікаво та корисно, можете пригостити мене кавою ☕️: картка Монобанку: <tt>4441114450427339<\/tt> або <a href=\"https:\/\/send.monobank.ua\/5jVrTaRziu\">через сайт<\/a>.<\/p>\n<\/div><\/div>",
            "date_published": "2023-12-25T12:40:44+02:00",
            "date_modified": "2023-12-25T12:40:39+02:00",
            "tags": [
                "figma",
                "google apps script",
                "google sheets",
                "автоматизація"
            ],
            "_date_published_rfc2822": "Mon, 25 Dec 2023 12:40:44 +0200",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "130",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "94",
            "url": "https:\/\/blog-archive.alexkolodko.com\/all\/design-automation-with-chatgpt-part2\/",
            "title": "Автоматизація дизайну з ChatGPT. Частина 2: скрипти для InDesign, Figma, Google Docs, Automator",
            "content_html": "<p>Продовжую експерименти написання простих скриптів з допомогою ChatGPT. Тут <a href=\"https:\/\/blog.alexkolodko.com\/all\/adobe-scripting-with-chatgpt\/\">перша частина<\/a> зі скриптами для Adobe Illustrator.<\/p>\n<h2>1. Заміна шрифтів у InDesign<\/h2>\n<p>Перше, що захотілося зробити, це перенести скрипт з Ілюстратора в Індизайн (хоч скрипти й схожі, але у програм всередині різна специфіка).<\/p>\n<p>Тож спочатку я спробував подібними до попередніх запитами згенерувати скрипт. Але з 5-6 спроб робочого коду не вийшло. Тому далі я знайшов <a href=\"https:\/\/community.adobe.com\/t5\/indesign-discussions\/font-replacement-scripting-javascript\/td-p\/11021763\">у спільноті Адоб<\/a> шматок коду схожий на те, що мені треба.<\/p>\n<p>Але для його використання для різних накреслень і шрифтів не вистачало масиву значень на початку та циклу його виконання. Тому я скопіював код і попросив ChatGPT додати мені ці модулі. І за кілька уточнень вийшло робоче рішення.<\/p>\n<p>Далі зробив ще одну версію, попросивши додати виклик модального вікна, в яке можна ввести руками потрібні назви шрифтів. І він мені це теж зробив:<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/automation-1-1-2-indesign-x4-noaudio.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<div class=\"e2-text-caption\">Створення скрипту заміни шрифту в InDesign<\/div>\n<\/div>\n<p>Завантажити скрипти:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/lgcoaglq2yl7lkn\/Font%20Replacer%20INDD.jsx?dl=0\">Версія<\/a>, яка заміняє усі шрифти у всіх фреймах;<\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/sh4p04jj41wq4j9\/Font%20Replacer%20INDD%20Selected.jsx?dl=0\">Версія<\/a>, яка заміняє шрифт лише у виділеному тексті;<\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/zdouo1ppa8sq9ka\/Font%20Replacer%20INDD%20SelectedORNot.jsx?dl=0\">Версія<\/a>, заміняє шрифт або у виділених фреймах, або в усіх;<\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/6ifotvcavyeinit\/Font%20Replacer%20INDD%20with%20window.jsx?dl=0\">Версія<\/a> з двома вікнами введення назви старого і нового шрифтів;<\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/eiazxfnj92d09ze\/Font%20Replacer%20INDD%20ww2.jsx?dl=0\">Версія<\/a> з одним вікном, в якому можна ввести кілька шрифтів.<\/li>\n<\/ul>\n<h2>1.2. Заміна стилів у InDesign<\/h2>\n<p>Окрім зміни шрифтів, попросив придумати скрипт, для заміни одних стилів на інші та ще попросив додати вікно, в якому ці назви можна ввести. Отримав <a href=\"https:\/\/www.dropbox.com\/s\/l252xyt2flartv8\/Change%20style%20with%20one%20window.jsx?dl=0\">такий скрипт<\/a>.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/indesign-1-2-1-changestyles-x2.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<div class=\"e2-text-caption\">Скрипт для InDesign, який заміняє один стиль на інший<\/div>\n<\/div>\n<p>А далі попросив замість полів для введення тексту зробити спадні списки зі всіма наявними стилями у документі. Але скрипт сходу не запрацював, але його можна об’єднати з попередніми.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/indesign-1-2-2-changestyles-dropdowns-x2.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<\/div>\n<h2>2. Збереження Google Docs у тій самій теці на Драйві<\/h2>\n<p>У мене є потреба періодично зберігати поруч з Гугл Документом також і PDF, який я потім можу відправити. При збереженні через меню документів сам документ у мене завантажується у Downloads, як і решта файлів. Але потім мені потрібно знову завантажувати PDF у ту саму теку на драйв. Не складно, але це витрата часу.<\/p>\n<p>Шукав приклади скриптів, які  б могли зберігати PDF у ту саму теку, але робочих не знайшов. І от попросив ChatGPT запропонувати мені такий скрипт. І з першого разу отримав робочий варіант:<\/p>\n<pre>\nfunction onOpen() {\n  var ui = DocumentApp.getUi();\n  ui.createAddonMenu()\n      .addItem(’Convert to PDF’, ’convertDocToPDF’)\n      .addToUi();\n}\n\nfunction convertDocToPDF() {\n  var docFile = DocumentApp.getActiveDocument().getId();\n  var doc = DriveApp.getFileById(docFile);\n  var pdfFile = DriveApp.createFile(doc.getAs(’application\/pdf’)).setName(doc.getName() + «.pdf»);\n  var parentFolder = doc.getParents().next();\n  pdfFile.makeCopy(parentFolder);\n  pdfFile.setTrashed(true);\n}\n\n<\/pre>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/google-script-with-chatgpt-x2.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<\/div>\n<p>Також ChatGPT описав інструкцію, як цей скрипт опублікувати, щоб він працював не тільки у конкретному документі, але це виявилось не так просто, як зробити скрипт 😅.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"2400\" data-ratio=\"1.6\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-2-1.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-2-2.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<\/div>\n<\/div>\n<h2>3. Транслітерація тексту в Figma<\/h2>\n<p>Колись для транслітерації назв зробили разом з програмістами простий сайт з простим JS, якій заміняв літери на інші за певними правилами. Потім з цього створили скрипти для AI та ID. А потім я стикнувся з такою з задачею у Фігмі, але робочих рішень не знайшов. Щось покрутив, але кинув, бо моїх знань було недостатньо.<\/p>\n<p>І от спробував згодувати цю задачу ChatGPT. Взяв увесь наявний скрипт, як приклад, і попросив придумати, як з цього скрипту зробити скрипт для Фігми. Спочатку запропонований код транслітерував всі тексти на сторінці. Через уточнення він це робив для виділеного тексту, а якщо не виділений, то вже для всього.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/automation-3-figma-x2.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<\/div>\n<p>І у першому варіанті цей код навіть працює, транслітерує, лишилось тільки допиляти для виключень і різних випадків. Далі вже можна туди додати якийсь інтерфейс за потреби. Тест вважаю вдалим.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"2400\" data-ratio=\"1.6\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-3-1.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-3-2.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-3-3.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Код транслітерації для Фігми від ChatGPT<\/div>\n<\/div>\n<h2>4. Створення регулярних виразів для GREP \/ RegEx<\/h2>\n<p>Про грепи (або регулярні вирази, або regex) розповідав у лекції і все хотів написати детальну статтю зі всіма посиланнями, які назбирав, але все не знаходив час. GREP дуже потужна штука, але в неї був дуже високий поріг входу, щоб розуміти як будувати потрібні правильні вирази.<\/p>\n<p>І от тепер з ChatGPT цей поріг можна вважати зниженим, бо він дуже гарно конструює навіть складні вирази.<\/p>\n<p>Наприклад, давайте в Індизайні після всіх прийменників додамо нерозривні пробіли у всьому тексті через GREP-стилі. Для цього потрібно знайти у тексті всі прийменники. Тож створюємо стиль для символів без перенесень (no break) та питаємо у ChatGPT список всіх прийменників у вигляді регулярного виразу.<\/p>\n<p>Він розуміє українську і віддає згенерований вираз вже у потрібній формі. Єдине що цей regex не зовсім підійде у Індизайн, тому уточнюємо що це має бути саме GREP для Індизайну і отримуємо робочий запит.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/automation-4-1-indesign-grep-find-x4.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<\/div>\n<p>Так само можна конструювати грепи, які знаходять прізвища та ініціали, одиниці вимірювання, дати та місяці, номери телефонів у різних видах тощо. Далі потім знайдені дані (одразу всі, в усьому тексті) можна або переформатовувати або задавати їм потрібний стиль.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"2400\" data-ratio=\"1.6\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-1.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-2.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-3.png\" width=\"1694\" height=\"950\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-4.png\" width=\"1650\" height=\"1936\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-5.png\" width=\"1614\" height=\"1074\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-6.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-7.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-8.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-9.png\" width=\"1604\" height=\"1176\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Приклади різних регулярних виразів<\/div>\n<\/div>\n<p>Регулярні вирази — дуже технічно-орієнтований інструмент. Тому тепер до цього інструменту є людино-орієнтований інтерфейс, який трансформує ваш запит у зрозумілу машині форму.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/automation-4-2-indesign-grep-replace-x4.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<div class=\"e2-text-caption\">GREP заміни кириличних лапок латинськими<\/div>\n<\/div>\n<h2>5.1 Зібрати відео зі скріншотів (з використанням ffmpeg)<\/h2>\n<p>Також в лекції згадував, що також у автоматизації дуже допомагають різні консольні команди (cli, command line interface), які заточені на певні дії. З ними така сама ситуація — щоб ними користуватись, потрібно розбиратись в прикладах та документації, що теж техно-орієнтованість.<\/p>\n<p>Тому тут можна теж ChatGPT використовувати, як посередника для пошуку потрібної команди з потрібними параметрами. Наприклад, маємо купу скріншотів зроблених автоматично з різницею у 4-5 секунд, з яких хочемо зробити скрінкаст.<\/p>\n<p>Для роботи з відео є потужна програма <a href=\"https:\/\/ffmpeg.org\/download.html\">ffmpeg<\/a>, яка працює з командного рядка. Тож попросив ChatGPT запропонувати команду для ffmpeg, яка б об’єднала картинки у відео. З першого разу отримуємо варіант, який на 100% працює та робить відео з заданою кількістю кадрів, які можна скоригувати.<\/p>\n<pre>\nffmpeg -framerate 30 -pattern_type glob -i ’\/path\/to\/folder\/*.jpg’ -c:v libx264 -pix_fmt yuv420p \/path\/to\/output.mp4\n<\/pre>\n<p>Таким чином не потрібні ніякі додаткові програми, для створення відео з картинок: за допомогою Автоматора робимо скріншоти, а через ffmpeg отримуємо відео.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/automation-5-1-x4.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<div class=\"e2-text-caption\">Збір відео з окремих картинок<\/div>\n<\/div>\n<h2>5.2 Компресія відео (з використанням ffmpeg)<\/h2>\n<p>Так само можна пошукати запити і на інші задачі з відео, наприклад, перезберегти з певною компресією чи зміною розміру, або прискоренням.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/automation-5-2-compress-video-x4-noaudio.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<\/div>\n<p>Раніше я шукав налаштування команд на Stackoverflow, а зараз швидше спитати у ChatGPT. Приклади запитів.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"2400\" data-ratio=\"1.6\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-5-2-1-compress-video.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-5-2-2-compress-video.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p>Компресія відео з ffmpeg<\/p>\n<h2>6. Зміна в наявному скрипті для Автоматора (Apple Script)<\/h2>\n<p>До попереднього пункту: для створення скрінкасту у мене був скрипт, який робив скріншот екрану і клав у потрібну теку в Дропбоксі, а потім зі скріншотів збиралося відео.<\/p>\n<p>Зараз Дропбокс змінив і виходить старий скрипт некоректно працює. Йти шукати у документації до AppleScript як змінити шлях було б довго. Тому скопіював наявний скрипт і попросив замінити шлях збереження скріншотів у теку \/<i>Desktop<\/i>.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/automation-6-applescript-x4.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<\/div>\n<h2>7. Збереження в TIFF у Adobe Illustrator<\/h2>\n<p>Ще попросив зробити скрипт для швидкого збереження артборду у TIFF з заданим DPI. Отримав отакий варіант, який видавав помилку. Знайшов у спільноті Адоба відповідь зі схожою частиною, та побачив що один з параметрів замість IBM має називатись IBMPC, замінив, запрацювало. Тобто весь скрипт робочий, але помилка була в одному з параметрів. <a href=\"https:\/\/www.dropbox.com\/s\/g6u54xerw8lg4v4\/toTIFF.jsx?dl=0\">Завантажити скрипт<\/a>.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/automation-7-1-w2400.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Збереження артбоду в TIFF 300dpi<\/div>\n<\/div>\n<h2>8. OSM Overpass Query<\/h2>\n<p>Деякі системи хоч і доступні всім, але поріг входу в них занадто високий. Але ChatGPT і тут зможе допомогти його подолати.<\/p>\n<p>У OpenStreetMap (карта\/база даних, які відкриті для всіх) зберігається величезна база геоданих, доступ до яких не суперпростий. І в OSM є мова запитів Overpass, яка дозволяє вивантажувати \/ запитувати якусь певну частину тих даних. Так от Overpass супер-неінтуітивна мова, і тут Chat GPT допомагає перекласти запит з людської на машинну.<\/p>\n<p><a href=\"https:\/\/twitter.com\/lemonodor\/status\/1636849040548675584\">twitter.com\/lemonodor\/status\/1636849040548675584<\/a><\/p><h2>P.S.<\/h2>\n<p>І це я скористався лише безкоштовною версією ChatGPT (модель GPT 3.5), і вже відчув, що стаю продуктивнішим ніби маю ще один механізований маніпулятор на додачу до рук, який розуміє що я хочу зробити та робить це швидше,<\/p>\n<p>Тепер спробую модель Codex (Github Copilot), яка створювалась як раз для написання коду, а також GPT4. Напишу потім, що з цього вийшло.<\/p>\n<p><i>Також хотів проілюструвати цю думку згенерувавши картинку людини з ще оною механізованою рукою, накшталт, технодесандників з Вархаммеру, але з 20 спроб у Midjourney v4 мого задуму не вийшло<\/i> ¯\\_(ツ)_\/¯<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1024\" data-ratio=\"1\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_5e4ed387-75ea-434f-80ad-54a6bbf25a92-transformed.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_c97b8485-4aa5-4fcc-aba3-c6bbdc06f756-transformed.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_augmentics_stay_with_laptop_at_the_large_f_35d6b34f-06c8-42a9-bb5f-a9f7d0228c89.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_augmentics_stay_with_laptop_at_the_large_f_366792c8-fc63-431c-adb1-e75029104bb6.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_augmentics_stay_with_laptop_at_the_large_f_b5de7f02-f43b-4fd6-b01c-4c33fcdace3e.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_bionic_robotic_mechanical_manipulator_in_h_4edd41d4-5a33-488d-ad2c-58255555764f.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_bionic_robotic_mechanical_manipulator_in_h_79d5dd21-a324-4f24-b5c2-ce37832c925b.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_5e4ed387-75ea-434f-80ad-54a6bbf25a92.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_15cc879c-6032-47b5-883c-56ccb48732cb.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_bb7622b8-8dac-41de-9925-d14892d79a05.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_c97b8485-4aa5-4fcc-aba3-c6bbdc06f756.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_techmarine_warhammer_40k_style_with_robotic_arm_sit_092b8d8f-7132-4b40-9394-dd83607d6cb8.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_techno_spacemarine_warhammer40k_style_with_robotic__b100e5a6-8d87-4b47-83cf-3151991a242a.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p><hr><\/p>\n<div><div style=\"float: left;\"><p><span style=\"font-weight:bold; font-size: 3em\"><b>?<\/b><\/span><\/p>\n<\/div><div style=\"padding: 1em 0 0 4em\"><p>Якщо у вас приклади вашого повторюваного дизайн-процесу, який ви повторюєте щоразу і витрачаєте свій час, напишіть на <a href=\"mailto:alexkolodko@gmail.com\">пошту<\/a> або у <a href=\"https:\/\/t.me\/alexkolodko\">телеграм<\/a>.<\/p>\n<\/div><\/div><p><hr><\/p>\n<div><div style=\"float: left;\"><p><span style=\"font-weight:bold; font-size: 3em\"><b>₴<\/b><\/span><\/p>\n<\/div><div style=\"padding: 1em 0 0 4em\"><p>Якщо вам було цікаво та корисно, можете пригостити мене кавою ☕️: картка Монобанку: <tt>4441114450427339<\/tt> або <a href=\"https:\/\/send.monobank.ua\/5jVrTaRziu\">через сайт<\/a>.<\/p>\n<\/div><\/div>",
            "date_published": "2023-03-24T22:37:31+02:00",
            "date_modified": "2023-03-24T22:38:54+02:00",
            "tags": [
                "adobe",
                "automator",
                "chatgpt",
                "figma",
                "grep",
                "illustrator",
                "indesign",
                "автоматизація",
                "ші"
            ],
            "image": "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-2-1.png",
            "_date_published_rfc2822": "Fri, 24 Mar 2023 22:37:31 +0200",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "94",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js",
                    "https:\/\/platform.twitter.com\/widgets.js",
                    "embedded-tweet\/embedded-tweet.js"
                ],
                "og_images": [
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-2-1.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-2-2.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-3-1.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-3-2.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-3-3.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-1.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-2.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-3.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-4.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-5.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-6.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-7.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-8.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-4-9.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-5-2-1-compress-video.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/_automation-5-2-2-compress-video.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/automation-7-1-w2400.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_5e4ed387-75ea-434f-80ad-54a6bbf25a92-transformed.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_c97b8485-4aa5-4fcc-aba3-c6bbdc06f756-transformed.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_augmentics_stay_with_laptop_at_the_large_f_35d6b34f-06c8-42a9-bb5f-a9f7d0228c89.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_augmentics_stay_with_laptop_at_the_large_f_366792c8-fc63-431c-adb1-e75029104bb6.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_augmentics_stay_with_laptop_at_the_large_f_b5de7f02-f43b-4fd6-b01c-4c33fcdace3e.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_bionic_robotic_mechanical_manipulator_in_h_4edd41d4-5a33-488d-ad2c-58255555764f.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_bionic_robotic_mechanical_manipulator_in_h_79d5dd21-a324-4f24-b5c2-ce37832c925b.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_5e4ed387-75ea-434f-80ad-54a6bbf25a92.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_15cc879c-6032-47b5-883c-56ccb48732cb.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_bb7622b8-8dac-41de-9925-d14892d79a05.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_man_with_extra_bionic_robotic_mechanical_manipulato_c97b8485-4aa5-4fcc-aba3-c6bbdc06f756.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_techmarine_warhammer_40k_style_with_robotic_arm_sit_092b8d8f-7132-4b40-9394-dd83607d6cb8.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/alexkolodko_techno_spacemarine_warhammer40k_style_with_robotic__b100e5a6-8d87-4b47-83cf-3151991a242a.png"
                ]
            }
        },
        {
            "id": "56",
            "url": "https:\/\/blog-archive.alexkolodko.com\/all\/adobe-kupila-figma-za-20-mlrd\/",
            "title": "Adobe купила Figma за $20 млрд",
            "content_html": "<p>Чогось через цю новину всі дизайнери шуткують, що тепер і Фігма почне вилітати, як всі програми Адоб. Хоча насправді може ця співпраця тісніше інтегрує Фігму в усю екосистему Адоба і можна буде швидко переносити та підключати psd чи ai файли у Фігму, користуватись всіма шрифтами з бібліотеки чи адобівським фотостоком. Або у Фігмі зроблять нормальну роботу з друком та CMYK, що дозволить робити там крім інтерфейсів і багато друкованих макетів.<\/p>\n<p>Я не бачу, щоб всі масово пересіли з Фотошопу, наприклад, на Pixelmator, хоча той працює набагато швидше і має більше фіч. Або перейшли на трійку програм Affinity, хоча ніби вони як раз вже альтернатива PS, AI та ID. Все ж зв’язана екосистема вирішує, хоча монополія веде до стагнації і занепаду, а нові зручні інструменти не з’являються.<\/p>\n<p>Так само я колись працював у Corel Draw більше ніж 8 років і досі вважаю його кращим редактором для роботи з вектором. Проте я з нього вимушено перейшов на AI в першу чергу через роботу команди, в якій всі були на Адоб, а в другу через те що купив Мак, а на нього Корелу тоді не було. З того часу мої постійні інструменти це AI та ID, зі всіма їх недоліками та іноді корявими інтерфейсами.<\/p>\n",
            "date_published": "2022-09-15T23:25:00+02:00",
            "date_modified": "2022-10-06T23:25:55+02:00",
            "tags": [
                "figma",
                "дизайн"
            ],
            "_date_published_rfc2822": "Thu, 15 Sep 2022 23:25:00 +0200",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "56",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "39",
            "url": "https:\/\/blog-archive.alexkolodko.com\/all\/linemaps-in-figma\/",
            "title": "Лінійні схеми у Фігмі",
            "content_html": "<p>Ілюстратор та ІнДизайн дуже потужні продукти, але іноді здаються такими, що застрягли у минулому і дуже повільно розвиваються. Іноді в них не вистачає гнучкості, яка є у нових редакторах типу Фігми.<\/p>\n<p>Ось є задача: намалювати у громадському транспорті лінійні схеми із зупинками. Одразу думаю, «як можна зробити 100500 лінійних схем».<\/p>\n<p>Згадав, що у Фігмі є компоненти та в теорії можна створити універсальний компонент, в який можна підставляти назви зупинок та пересадок.<\/p>\n<p>На додачу є плагіни, за допомогою яких можна підставляти у компоненти дані з JSON, CSV або напряму з Гугл-таблиць.<\/p>\n<p>Не зрозумів тільки, як налаштувати що розмір фрейму підлаштовувався під довжину всталеного тексту.<\/p>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/jGXbEL_9PGI?enablejsapi=1\" allow=\"autoplay\" frameborder=\"0\" allowfullscreen><\/iframe>\n<\/div>\n<p>😑 Але у цього способу є великий мінус — Figma розроблена для екранів, а не для друку, і макет буде в RGB, тобто для друку не підготовлений. Плюс при зберіганні у ПДФ та відкритті файлу в AI, нічого не відображаться, хоча контури у файлі присутні.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/figma-pdf-export.gif\" width=\"800\" height=\"456\" alt=\"\" \/>\n<\/div>\n",
            "date_published": "2021-12-06T12:55:55+02:00",
            "date_modified": "2021-12-06T13:00:52+02:00",
            "tags": [
                "figma",
                "інструменти",
                "автоматизация",
                "цікавинки"
            ],
            "image": "https:\/\/blog-archive.alexkolodko.com\/pictures\/remote\/youtube-jGXbEL_9PGI-cover.jpg",
            "_date_published_rfc2822": "Mon, 06 Dec 2021 12:55:55 +0200",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "39",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/remote\/youtube-jGXbEL_9PGI-cover.jpg",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/figma-pdf-export.gif"
                ]
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}