{TL;DR}

  1. Букмарклетите са адски страхотни.
  2. Bookmarklets › разширения на браузъра.
  3. „Ето ви“ страхотна нова помощна програма с отворен код за бързо създаване на отметки.

НО ЧАКАЙТЕ, КАКВО СА ПАК ОТМЕТКИТЕ?

Е, според bookmarklets.com:

Отметките са лесни инструменти, които разширяват възможностите за сърфиране и търсене на уеб браузърите Firefox и Explorer.

И така, те са, ъъъ... добре, предполагам, че това не е много конкретно. Кога е създаден този уебсайт, 1998 г.? о...

„Уикипедия“ обаче е по-полезна:

Отметка е отметка, съхранявана в уеб браузър, която съдържа JavaScript команди, които добавят нови функции към браузъра. Те са ненатрапчиви JavaScript, съхранени като URL адрес на отметка в уеб браузър или като хипервръзка на уеб страница.

По същество букмарклетът е връзка, която изпълнява JavaScript код, когато щракнете. Например тази връзка е отметка, която изскача предупредително съобщение.

Ако плъзнете тази връзка към лентата или папката с отметки на браузъра си, тя се превръща в удобна връзка, която изскача едно и също предупреждение, независимо коя страница разглеждате.

Букмарклетите са прости, но мощни. Въоръжен с JavaScript, всеки разработчик може да създава програми, които карат браузърите да правят някои наистина страхотни неща, като например:

  • Променете външния вид на текущата страница, напр. промяна на цвета на фона или превключване на шрифта към нещо професионално, като Comic Sans.
  • Отворете търсене с Google в друг раздел за маркиран текст.
  • Заменете целия японски текст на страница с превод на английски.
  • Изпратете страницата на услуга за маркиране („прочетете това по-късно“).

НАИСТИНА ОБИЧАМ COMIC SANS! ЗАЩО НЕ СЪМ ЧУВАЛ ЗА БУКМАРКЛЕТИ ПРЕДИ?

Ако сте били техничар през 90-те и началото на 2000-те, има вероятност да ги познавате. Но през последните години те изпаднаха в немилост и не е 100% ясно защо.

Едно мнение е, че засиленото прилагане на Политика за сигурност на съдържанието (CSP) е възпрепятствало приемането на букмарклети. Накратко, когато страницата, която разглеждате, се обслужва през SSL (т.е. URL адресът започва с https://), това изисква JavaScript на отметката също да бъде SSL защитен. Това означава, че целият ви код трябва да бъде хостван на място, достъпно за SSL.

Сега, в началото на 2000-те години, нямахме услуги като Dropbox, които да правят това лесно... така че можеше да отблъсне разработчиците по това време.

По-вероятно обяснение за отпадането на отметките е възходът на разширенията на браузъра.

„Добавките на Firefox“ и „разширенията на Chrome“ са примери за базирани на браузър програми, които се припокриват с функционалността на отметките. Наистина, разширенията осигуряват още по-дълбока функционалност, тъй като могат да се докоснат до функции на браузъра като управление на пароли и раздели.

Но има и някои „недостатъци на разширенията“:

Недостатък на потребителите:
- По-бавни: работят във фонов режим и изяждат CPU и RAM.
- Инвазивни: те имат потенциала да наблюдават историята ви на сърфиране и да откраднат паролите ви.

Недостатък на разработчиците:
- Сложен: Много по-трудно е да се създаде от отметка. Всеки браузър има собствена документация, процес и изисквания.
- Ненужна работа: Наред с други неща, трябва да проектирате икона, да решите какво съдържа падащото меню и да изградите малък потребителски интерфейс в изскачащ прозорец.

Поради тези причини моето мнение е, че отметките са за предпочитане пред разширенията за много случаи на употреба. Те не само са по-лесни за проектиране, но са и по-добри за крайния потребител (без когото разработчиците биха престанали да съществуват).

ПРОДАДЕН СЪМ. КАК ДА СЪЗДАМ БУКМАРКЛЕТ?

Процесът се свежда до писане на JavaScript код, URL-кодирането му и поставянето му във връзка, която започва с javascript:.

Сега, от една страна, JavaScript е доста готин. Ако исках да напиша отметка, която кара браузъра ви да пее Твърде много готвачи, мога.

От друга страна, недостатъкът на JavaScript е, че той включва...добре...JavaScript, обективно ужасен език, който е „буквално проектиран за 10 дни“.

Подобно на много разработчици, на които им е писнало от многобройните идиосинкразии на JavaScript, смятам, че писането на всеки нетривиален код в JavaScript е глупава задача. За щастие има редица добре проектирани езици от по-високо ниво, които компилират (или транспилират) към JavaScript. В Adzerk предпочитаме ClojureScript, диалект на Clojure.

ПИСАНЕ НА БУКМАРКЛЕТ В CLOJURESCRIPT

Не се притеснявайте, това не е дълго и сложно ръководство с инструкции. По-скоро нашият екип вече е изградил задачи, които автоматизират процеса!

Една такава задача е boot-cljs. Boot е инструмент за изграждане на Clojure и ClojureScript, създаден от собствените Alan Dipert и Micha Niskin на Adzerk.

Вярата на Boot е, че всеки добър инструмент за изграждане може да автоматизира досадните части от разработването на софтуер. API за зареждане позволява на разработчиците на Clojure да пишат задачи, които изпълняват специфична операция върху всеки проектен файл.

За да използвате нашата задача, напишете код в пространство от имена на ClojureScript и стартирайте boot cljs target, за да изплюете JavaScript файл в целевата директория.

Следващата стъпка към работещ отметка е да вземете файла, да го кодирате с URL и да го поставите в javascript: връзка на HTML страница.

Но защо да го правите ръчно? Не можем ли да автоматизираме и това?

ВЪВЕДЕТЕ В BOOT-BOOKMARKLET

boot-bookmarklet е задача за стартиране, която напълно автоматизира процеса, описан по-горе.

Просто стартирайте boot bookmarklet target и задачата ще компилира вашите пространства от имена на ClojureScript в Javascript, URL-кодира всяко пространство от имена в javascript: връзка и ще генерира HTML страница за вас в целевата директория.

След това можете да отворите target/bookmarklets.html в браузъра си и да плъзнете връзките към маркерите в лентата с отметки (или да споделите с приятели).

Ето! Току-що направихте отметка в стил ClojureScript. Време е за скоч.

В СЛУЧАЙ, ЧЕ СЪМ БЪЛ МНОГОСЛОВЕН

За да обобщим, boot-bookmarklet ви дава:

  • Лесен начин за създаване на произволно сложни отметки.
  • Способност за писане на добре проектиран език за програмиране.
  • Една единствена команда за генериране на крайния резултат.
  • Начин да накарате компютъра си да пее.

РЕНЕСАНСЪТ НА БУКМАРКЛЕТА

Надявам се, че съм ви убедил защо е жалко, че отметките изчезнаха. Ще помогнете ли да водите завръщането?

Тази публикация първоначално е публикувана от Дейв Ярууд в Adzerk’s Tech Blog през ноември 2016 г. Можете да научите повече за Adzerk тук.