журналист — это легкий демон и интерфейс командной строки, написанный на Go, ориентированный на простоту и интегрируемость. Как обычно, я выбрал GO, потому что это просто самый быстрый способ объединить подобные вещи, и в конце он дает статически связанный единый a.out.
Поначалу журналист использовал BuntDB в качестве механизма хранения, как и zeit, но в итоге я заменил его на PostgresSQL. Я намеревался запустить журналист как эфемерный сервис, поэтому встроенная база данных — не очень хороший выбор. Кроме того, имело смысл использовать реляционную базу данных, учитывая структуру Fever API.
В настоящее время журналист реализует самые основы, которые позволяют подключить клиент Fever API (например, Reeder) для доступа к подпискам и чтения статей. Невозможно фактически управлять подписками через API (пока), но можно использовать команду subscribe в CLI для подписки на новые каналы.
Как только у меня будут все эти основные функции, я постараюсь научить журналиста нескольким изящным трюкам, таким как сканирование веб-контента статьи, чтобы отображать не только резюме, но и полные истории для сайтов, которые обычно показывают только отрывок из своего контента. через РСС. Я также поэкспериментирую с добавлением дополнительной информации, например ссылок на соответствующий контент из разных источников.
журналист будет доступен в виде готовых бинарных файлов для macOS, Linux, FreeBSD, NetBSD, OpenBSD и Plan9.