Начните использовать свое время с умом. Сосредоточьтесь на важных вещах.

Репо этой статьи можно найти здесь.

Быстрая демонстрация

Мотивация

Меня очень волнует информация. Поскольку мне также нравится все, что связано с программированием, я стараюсь сохранять каждую полезную информацию, которую нахожу.
Я использую 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, его можно создать на лету)

Вывод

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

Если вы также сочтете это полезным, знайте, что одна из моих главных целей достигнута!