{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Здоровий глузд: дописи з тегом qr",
    "_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\/qr\/",
    "feed_url": "https:\/\/blog-archive.alexkolodko.com\/tags\/qr\/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": "132",
            "url": "https:\/\/blog-archive.alexkolodko.com\/all\/url-shortener-with-qr\/",
            "title": "Скорочувач посилань на своєму сайті та генерація QR-кодів",
            "content_html": "<p>Під час роботи над проєктом ознакування в заповіднику Тустані стикнувся з задач показувати на табличках QR код з більш детальною інформацією про обʼєкти. Але самі посиланні вели на <a href=\"https:\/\/wiki.tustan.ua\/index.php\/%D0%9F%D0%B5%D1%80%D1%88%D0%B0_%D0%BB%D1%96%D0%BD%D1%96%D1%8F_%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D0%BD%D0%B8\">wiki-сайт<\/a>, тому посилання були дуже довгими. Відповідно QR-коди містили більше точок і потреб вали більших розмірів, інакше камера їх просто не зчитувала. Тому треба було мати короткі посилання, які б перенаправляли на потрібні сторінки. Тоді це питання вирішив якось адмін сайту.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"2348\" data-ratio=\"1.8117283950617\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/tustan-2.png\" width=\"2348\" height=\"1296\" alt=\"\" \/>\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/tustan-1.png\" width=\"2140\" height=\"1604\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\"><a href=\"https:\/\/guide.tustan.ua\/preview\/1\/guide\/1?ui.scrollTo=%D0%97%D1%83%D0%BF%D0%B8%D0%BD%D0%BA%D0%B0%201&ui.player=%D0%97%D1%83%D0%BF%D0%B8%D0%BD%D0%BA%D0%B0%201&ui.collapsible.expand=%D0%97%D1%83%D0%BF%D0%B8%D0%BD%D0%BA%D0%B0%201\">Довге посилання<\/a>, що перенаправляє потім в апці на потрібний розділ<\/div>\n<\/div>\n<p>Потім вже в іншому кейсі стикнувся з необхідністю зробити на табличці QR, який в майбутньому можна було б змінити чи перенаправити.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/irpin.jpeg\" width=\"951\" height=\"960\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Табличка біля монумента в Ірпені<\/div>\n<\/div>\n<p>Авжеж є різні сервіси, на кшталт bit.ly, але опція зміни посилань платна і заради одного-двох випадків не вартує того. Окрім цього будь-які зовнішні сервіси можуть в якусь мить закритись і ніяких даних потім не лишиться, на відміну від надрукованого десь посилання.<\/p>\n<p>Тож я пішов пошукати альтернативи та знайшов два непоганих методи, якщо ви маєте свій сайт чи хостинг. Можливо посилання буде вже не таке коротке, як це було б з коротким доменом, але це дасть зручний інтерфейс, який коротко та у зрозумілому вигляді передавати якісь довгі посилання на ті ж Гугл Документи чи інші сторінки.<\/p>\n<h2>htaccess — шлях адміна<\/h2>\n<p>Якщо ви адміністратор сайту, то логічно можна прописати редіректи (перенаправлення) у файлі <i>.htaccess<\/i>. Але це дещо складно адмініструвати та треба знати як.<\/p>\n<p>Наприклад, коли ми міняли структуру сайту А3, то зробили додаткові редіректи, щоб працювали посилання, які були десь використані раніше: <i><a href=\"http:\/\/a3.kyiv.ua\/metromap\">a3.kyiv.ua\/metromap<\/a> <\/i> → <i><a href=\"http:\/\/a3.kyiv.ua\/projects\/metromap\">a3.kyiv.ua\/projects\/metromap<\/a><\/i>.<\/p>\n<p>Рядок у файлі виглядає так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Redirect \/metromap \/projects\/metromap<\/code><\/pre><h2>JS + TXT — найпростіше рішення<\/h2>\n<p>Інше рішення яке я знайшов — <a href=\"https:\/\/github.com\/robsd\/js-url-shortener\">js-url-shotener<\/a> — це JS-скрипт, який зчитуватиме введену адресу та окремий TXT-файл в якому зберігатимуться самі редіректи. У самому текстовому файлі перенаправлення записуються у дуже простому вигляді: коротке посилання, далі стрілка з символів <i>=><\/i> і далі довге посилання.<\/p>\n<blockquote>\n<p><i>Shortlink => Longlink<\/i><\/p>\n<\/blockquote>\n<p>І далі використовуємо  посилання має бути через символ решітки #. Наприклад, якщо ми розмістимо скрипт і текстовий файл у піддиректорії з назвою l, то коротке посилання матиме вигляд:<\/p>\n<blockquote>\n<p><a href=\"https:\/\/wayfinding.systems\/l#a\"> wayfinding.systems\/l#a <\/a><\/p>\n<\/blockquote>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/js&txt-x2.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<div class=\"e2-text-caption\">Як працює скрипт<\/div>\n<\/div>\n<p>Плюси:<\/p>\n<ul>\n<li>Все працює максимально просто, як текст.<\/li>\n<li>Якщо посилання зникне чи буде не потрібно, то коротке посилання вестиме на головний сайт і не видаватиме помилку.<\/li>\n<\/ul>\n<p>Мінуси:<\/p>\n<ul>\n<li>Потрібно додавати до адреси символ #.<\/li>\n<li>Немає адмінки та статистики переходів чи якоїсь аналітики.<\/li>\n<\/ul>\n<h3>Додаємо адмінку<\/h3>\n<p>А в якості адмінки, яка дасть доступ не через FTP, а прямо на сайті, є простий файловий менеджер на PHP — <a href=\"https:\/\/github.com\/pheditor\/pheditor\">Pheditor<\/a>.<\/p>\n<p>NB: Якщо розмістити всі файли та піддиректорії, то Pheditor матиме доступ тільки до них, а та решти сайту ні.<\/p>\n<blockquote>\n<p><i>site.com\\l\\<\/i><\/p>\n<\/blockquote>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/pheditor-x2.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<div class=\"e2-text-caption\">Як працює адмінка Pheditor<\/div>\n<\/div>\n<h2>Yourls — PHP-рішення зі зручною адмінкою та <s>блекджеком<\/s> плагінами<\/h2>\n<p>Якщо маєте хостинг з підтримкою PHP, то є гарне опенсорс рішення, яке ви можете встановити, наприклад, на піддомені — движок <a href=\"https:\/\/yourls.org\/\">Yourls<\/a>. По факту база даних з адмінкою, в якій ви вписуєте довге посилання і короткий відповідник. Сервіс містить аналітику для відстеження кількості переходів та звідки були ці переходи.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/yourls-site.png\" width=\"2400\" height=\"1500\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Сайт Yourls<\/div>\n<\/div>\n<p>Приємний плюс — можливість створити свій плагін, що розширятиме функції сайту або знайти <a href=\"https:\/\/github.com\/YOURLS\/awesome\">у цій прекрасній галереї<\/a> вже готовий. Також можна створити свою тему оформлення, якщо хочете зробити сайт подібним до інших своїх сторінок.<\/p>\n<p>Для оформлення рекомендую тему <a href=\"https:\/\/sleeky.flynntes.com\/\">Sleeky<\/a>, яка виглядає найбільш сучасно і простою. Плюс ця тема містить модуль для додавання посилань без входу в адмінку, може буде корисно і можна цю сторінку оформити під себе.<\/p>\n<h2>Бонус: плагін, що генерує QR-код<\/h2>\n<p>Захотілось мати можливість швидко створити QR-код для нових коротких посилань.<\/p>\n<p>Тож <a href=\"https:\/\/github.com\/alexkolodko\/yourls-local-qr-code\/tree\/main\">зробив плагін<\/a>, який при додаванні до посилання сполучення <i>.qr<\/i>, на сайті відкривається окрема сторінка зі згенерованим кодом який можна зберегти у векторних форматах SVG та PDF, або растрових PNG та JPG.<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/blog-archive.alexkolodko.com\/video\/yourls-short-qr-x2.mp4#t=0.001\" width=\"2560\" height=\"1600\" controls alt=\"\" \/>\n\n<div class=\"e2-text-caption\">Як працює плагін<\/div>\n<\/div>\n<p>Стиль QR-коду за замовчуванням чорний на прозорому тлі, але через параметри можна на це впливати. Наприклад, жовтий код (ff0, без символу #), тло кольору tomato та відступ від краю у 3 клітинки:<\/p>\n<ul>\n<li>color=ff0<\/li>\n<li>background=tomato<\/li>\n<li>padding=3<\/li>\n<\/ul>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/blog-archive.alexkolodko.com\/pictures\/qr-custom.png\" width=\"1600\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<p>Якщо ви хочете зафіксувати стиль, який буде застосовувати одразу при генерації, то у файлі плагіну<i> plugin.php<\/i> пропишіть потрібні параметри, тоді вони передаватимуться разом з текстом.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">header(&#039;Location: \/qr?content=&#039;.YOURLS_SITE.&#039;\/&#039;.$keyword.&#039;&amp;color=ff0&amp;background=tomato&amp;padding=3&#039;);<\/code><\/pre><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>Якщо вам було цікаво та корисно, можете пригостити мене кавою ☕️, задонатити чи підписатись:<\/p>\n<ul>\n<li style=\"margin-bottom:0;\">на <a href=\"https:\/\/base.mono.bank\/EDCkFUWg3Tp64e\">Базу<\/a><\/li>\n<li style=\"margin-bottom:0;\">на <a href=\"https:\/\/www.buymeacoffee.com\/alexkolodko?l=uk\">Buy Me a Coffee<\/a><\/li>\n<li style=\"margin-bottom:0;\">напряму <a href=\"https:\/\/alexkolodko.com\/pay\/\">на картку Монобанку<\/a> або <a href=\"https:\/\/send.monobank.ua\/5jVrTaRziu\">через сайт<\/a>.<\/li>\n<\/ul>\n<\/div><\/div>",
            "date_published": "2024-02-09T18:58:17+02:00",
            "date_modified": "2024-02-10T13:18:44+02:00",
            "tags": [
                "qr",
                "інструменти",
                "автоматизація"
            ],
            "image": "https:\/\/blog-archive.alexkolodko.com\/pictures\/tustan-2.png",
            "_date_published_rfc2822": "Fri, 09 Feb 2024 18:58:17 +0200",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "132",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js",
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/tustan-2.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/tustan-1.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/irpin.jpeg",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/yourls-site.png",
                    "https:\/\/blog-archive.alexkolodko.com\/pictures\/qr-custom.png"
                ]
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}