Это пост выходного дня про то как сделать command line версию Хабра.

image

Если ты поклонник минимализма и командной строки, то добро пожаловать под кат.

Идея для создания command line версии Хабра была навеяна комментариями к статье об оптимизации статей с большим количеством комментариев.

И что может быть минимальнее чем командная строка? Так родился скрипт для превращения десктопной версии Хабра в некое подобие терминала с управлением командами.

DISCLAIMER: Хочу сразу предупредить что я не js-ninja и джаваскрипт не мой основной язык разработки, так что не судите строго из-за неоптимального использования конструкций языка.

Также, этот проект создавался как MVP, PoC, JfF и etc. и не ставилось цели реализовать весь возможный спектр функциональности предоставляемый Хабром.

В качестве терминального контрола была использована open-source библиотека JqueryTerminal от Jakub T. Jankiewicz поставляемая по лицензии MIT.

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

Скрипт предоставляет минимальный набор команд:

image

ls – просмотр списка статей.

Например:

image

cd – изменение текущей директории

Список поддерживаемых директорий:

image

pwd – вывод пути текущей директории

whoami – имя текущего пользователя

more – вывод текстовой версии статьи

Например:

image

open – открыть статью в новом окне браузера

К сожалению (или к счастью), в силу ограничений накладываемых браузером для обеспечения безопасности пользователя, невозможно сделать демонстрацию без предварительных шагов со стороны пользователя.

Для того чтобы самому испробовать скрипт в действии надо:

1. Открыть исходный код скрипта и скопировать его в буфер обмена (Ctrl-a/Ctrl-c)

2. Открыть Хабр (еще раз повторюсь что этот скрипт работает только для десктоп версии сайта)

3. Находясь на странице Хабра, открыть инструменты разработчика (Ctrl-Shift-I для Хрома) и вставить скрипт из буфера обмена в командную строку консоли и нажать Enter. Скрипт автоматически подгрузит необходимые библиотеки и начнёт исполнение.

Если всё сделано правильно, в том окне где у вас был открыт Хабр, вы увидите нечто подобное:

image

Есть еще вариант сконфигурировать подгрузку из GreaseMonkey, но этим расширением пользуется достаточно ограниченное количество пользователей и если понадобится, то они вполне смогут разобраться самостоятельно.

Из энтомологического интереса исходный код можно посмотреть в репозитории.

Enjoy.