Page 1 of 1

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 16 Oct, 2016 23:05
by Redisko
Скрипт Base64-кодирования изображений по схеме «data: URL»

Установка
Распаковать архив в папку Profile

Использование
Установить каретку в позицию пути-имени файла-изображения и нажать Ctrl+R.
Имя файла должно быть обрамлено круглыми скобками либо кавычками, одинарными или двойными, как в следующих типичных кейсах:

Code: Select all

    background-image: url(some-image.jpg);
    list-style-image: url('also-image.jpg');
    <img src="another-image.jpg" />
В случае присутствия непустого выделения, оно будет интерпретировано как имя файла.

«data-url-encode.lua» version 0.001a



«Data-URL-Encoder» version 0.002a
Поддерживаются mime types следующих форматов: шрифты ttf, otf, woff, woff2; изображения: jpg, png, gif, ico, (jpc+jp2 jpeg2000, swf, swc, bmp, psd, iff, tiff — о боже зачем?! лучше бы wepb добавил, идиот).



«Data-URL-Encoder» version 0.003b
Добавлено декодирование base64-строки в файл. Работает аналогично кодированию: base64-строка должна быть обрамлена кавычками либо скобками, либо должна содержаться в выделении. Шорткат: «Ctrl+Alt+R».
Ради быстрого base64 кодирования/декодирования в пакет добавлены стандартные библиотеки luajit: ltn12 и mime в составе двух lua-файлов и одной dll (mime).


Base64-кодирование картинок по схеме «data: URL»

Posted: Mon 17 Oct, 2016 09:00
by Wave
Оу, вау! Спасибище!

Base64-кодирование картинок по схеме «data: URL»

Posted: Mon 17 Oct, 2016 14:18
by John Doe
Redisko wrote: С персональной скриптопомойки
Имхо для таких случаев лучше бы использовать подпапку.

Base64-кодирование картинок по схеме «data: URL»

Posted: Mon 17 Oct, 2016 23:22
by Redisko
John Doe wrote: Имхо для таких случаев лучше бы использовать подпапку.
Ок, учту. Там все надо порефакторить, все зависимости лишние, кроме base64.lua, из image-info.lua нужна только проверка сигнатур, кроме того было бы хорошо поддерживать и файлы шрифтов. Так что перепишу, будет пара файлов: макрос и расшаренный base64.lua.

PS. И да, я извиняюсь за постинг в другой раздел, правила не дочитал, моя вина, некрасиво вышло.

Base64-кодирование картинок по схеме «data: URL»

Posted: Wed 19 Oct, 2016 14:23
by Redisko
Ок, замечания учтены, добавлена поддержка mime типов шрифтов. Нужен webp?

Base64-кодирование картинок по схеме «data: URL»

Posted: Wed 19 Oct, 2016 15:24
by John Doe
Redisko wrote: base64.lua                       — Base64 кодирование. Нагуглен на просторах гитхаба
Тут не помешает привести ссылку https://github.com/ErnieE5/ee5_base64

И что касается «замечаний», то после вашего рефакторинга они не очень актуальны, ведь остался один модуль, и он общего назначения.
Т.е. в данном случае я бы его не помещал в подпапку (но оставил бы предлагаемое имя ee5_base64, для уникальности).

Ведь смысл модуля в том, чтобы применять его в разных скриптах, иначе весь код можно было бы разместить в одном файле.

Base64-кодирование картинок по схеме «data: URL»

Posted: Thu 20 Oct, 2016 15:19
by fps
Redisko, а нет в планах добавить обратное преобразование?

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 14 May, 2017 04:46
by Redisko
Добавил. Не прошло и полгода ) Редко руки доходят, сорри

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 14 May, 2017 05:56
by Shmuel
Redisko wrote: Добавил.
Чем вызвана смена библиотеки (и появление бинарников)? Ведь та, что использовалась в версии 002, тоже умеет декодировать.

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 14 May, 2017 13:57
by Redisko
Скорость работы, лаг при кодировании/декодировании большой картинки. Если нужно, добавлю версию без бинарников. А вообще, было бы здорово, если бы в поставку lua-фар входила полная luajit со всеми стандартными библиотеками.

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 14 May, 2017 14:04
by Shmuel
Redisko wrote: Если нужно, добавлю версию без бинарников
Пока не надо, я из любопытства спрашивал.
Redisko wrote: было бы здорово, если бы в поставку lua-фар входила полная luajit со всеми стандартными библиотеками.
Отдельной поставки LuaFAR не существует. В составе Far есть luafar3.dll - вот и всё.
А насчёт "полная luajit со всеми стандартными библиотеками" - я вас не понял. Чего, по вашему мнению, недостаёт?

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 14 May, 2017 14:47
by Redisko
Shmuel wrote: А насчёт "полная luajit со всеми стандартными библиотеками" - я вас не понял. Чего, по вашему мнению, недостаёт?
Я сначала написал, и только сейчас подумал :) Ведь точно, в стандартной lua нет ничего :) Просто как-то привычно, что в любом пакете lua всегда есть как минимум md5.dll, des56.dll, mime.dll, socket.dll, lfs.dll. А вообще было бы здорово круглым столом решить какие библиотеки хотелось бы иметь в far, и добавить их одним дополнительным пакетом. Например регулярки более или менее привычные, вроде re (голый lpeg это очень сурово).

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 14 May, 2017 14:53
by Shmuel
1. Вряд ли в Far будут добавлены бинарные пакеты. К общему мнению здесь прийти очень сложно. Но каждый может сделать свой пакет и поместить его в форуме или ещё где-то в доступном для всех месте.
2. В LuaFAR "из коробки" есть доступ к фаровским регулярным выражениям. Смотрите мануал.

Base64-кодирование картинок по схеме «data: URL»

Posted: Sun 14 May, 2017 17:23
by zg
Redisko wrote: голый lpeg это очень сурово.
не соглашусь, по мне - так lpeg более простой и логичный, другое дело, что регулярки гораздо распространённей.

Base64-кодирование картинок по схеме «data: URL»

Posted: Wed 06 Sep, 2017 20:56
by SUSim
Не очень удобно кладете вложения. ИМХО последняя версия должна быть последней!

Base64-кодирование картинок по схеме «data: URL»

Posted: Wed 06 Sep, 2017 21:17
by HaRT
SUSim wrote:
Wed 06 Sep, 2017 20:56
Не очень удобно кладете вложения. ИМХО последняя версия должна быть последней!
Подозреваю, что автор просто добавляет файлы к посту, а раскладывает их по странице уже движок форума. Так ведь для того в имени файла и есть номер сборки, чтобы всё было понятно.