Начните использовать свое время с умом. Сосредоточьтесь на важных вещах.
Репо этой статьи можно найти здесь.
Быстрая демонстрация
Мотивация
Меня очень волнует информация. Поскольку мне также нравится все, что связано с программированием, я стараюсь сохранять каждую полезную информацию, которую нахожу.
Я использую Medium уже некоторое время, а месяц назад я использовал иметь эту привычку сохранять каждую статью, которую я видел. Иногда мне удавалось наверстать упущенное, а иногда я даже не мог найти ту статью, которую так хотел прочитать.
Через некоторое время я перестал тратить время на поиск по сохраненным постам. Потом я понял, что у меня осталось не более 1059 нетронутых закладок. Хм, там очень много! Я хотел найти лучший способ визуализировать их все, чтобы я мог легко выбрать их. Я мог бы использовать Trello для этого, гениально!
Но…
Как я могу переместить все эти закладки в Trello?
После некоторых исследований я наконец нашел решение.
Прежде чем мы начнем, я должен упомянуть, что нам придется потратить некоторое время на инструменты разработчика браузера. Подробнее об этом в следующем разделе.
Хватит болтать, пора повеселиться!!
Начиная
Это приложение в основном основано на вызовах API. Все, что вам нужно для запуска этого приложения, — это текстовый редактор, базовые знания о том, как работает API, и терпение.
Как вам сказали в вышеупомянутом разделе, нам придется использовать инструменты разработчика. Почему?
Чтобы получать закладки, Medium должен знать, кто вы. Эта информация хранится в файлах cookie. Нам нужно получить значение cookie, чтобы мы могли включить его в запрос API. Нам также понадобится токен CSRF. То же самое понадобится и для Trello, с небольшими отличиями.
1. Настройка окружения
Во-первых, вам нужно будет клонировать это репозиторий.
Затем вам нужно будет выполнить следующие команды в своем терминале:cp .env.example .env
npm i
Откройте файл .env
, который мы собираемся использовать его в следующих разделах.
Возможно, вам придется время от времени обновлять файл .env, поскольку файлы cookie имеют ограниченный срок действия.
2. Настройка Трелло
- Создайте доску Trello. Здесь будут храниться ваши закладки.
- Откройте инструменты разработчика и выберите вкладку «Сеть».
- Создайте новый список (имя не имеет значения)
- Нажмите на запрос списки.
- Нажмите на вкладку Заголовки.
- Перейдите в раздел Запрос полезной нагрузки.
- Выберите idBoard и вставьте его в файл .env.
- Выберите токен и вставьте его в файл .env рядом с tokenTrello.
- Выберите файл cookie (расположенный в Request Headers) и вставьте его в файл .env рядом с cookieTrello.
Чтобы добавить новый список в Trello, нам также нужно получить специальный URL:
- Скопируйте короткую ссылку из URL (https://trello.com/b/‹COPY_THIS_ONE›/board_name)
- Откройте свойство urlTrello.
- В файле .env замените YOUR_BOARD_ID на короткую ссылку
- Теперь вы можете удалить список, который вы создали ранее
3. Настройка носителя
- Перейти к вашим закладкам
- Откройте инструменты разработчика и выберите вкладку «Сеть».
- Обновите страницу и прокрутите вниз, пока не будет сделан новый запрос (bookmarks?limit=20…)
- Выберите вкладку Заголовки.
- Скопируйте файл cookie, расположенный в Заголовки запроса, и вставьте его в файл .env.
- Возьмите x-xsrf-token, расположенный в Заголовки запроса, и вставьте его в файл .env.
Использование приложения
Начните с запуска этого в своем терминале: node main.js
Теперь он сгенерирует списки и один файл JSON, config.json, который содержит всю информацию, необходимую для правильной работы приложения.
Теперь, если вы посмотрите на свою доску Trello, вы увидите, что списки были сгенерированы.
В зависимости от ваших закладок вы можете увидеть разные вещи в своем терминале.
All good? (y/n)
— как вы могли видеть в быстрой демонстрации — означает, что все закладки были успешно размещены в соответствующем списке. Теперь вы можете просмотреть содержимое info.log, чтобы узнать, куда будет отправлена каждая закладка. Нажатиеy
иENTER
фактически вызовет запрос на удаление закладки из Medium и отправку ссылки в ее список в Trello.- Что-нибудь еще — есть несколько вещей, которые вы можете сделать прямо сейчас:
— добавить новое ключевое слово в существующее поле
Синтаксис:$field_name $filter_key1 | $filter_key2
— добавить новое поле, а также новые ключевые слова
Синтаксис:create!$field_name $filter_key1 | $filter_key2
— добавить текущую ссылку в конкретный список без фильтрации
Синтаксис: temp!$list_name
($list_name
не обязательно должен существовать в Trello, его можно создать на лету)
Вывод
Излишне говорить, что я столкнулся с множеством проблем при создании этого небольшого приложения.
Я также рад, что теперь я могу тратить свое время на чтение статей и получение информации, вместо того, чтобы тратить много времени на их поиск.
Если вы также сочтете это полезным, знайте, что одна из моих главных целей достигнута!