Система статических комментариев для Jekyll

В моем блоге в настоящее время работает Jekyll и тема Minimal Mistakes, а также используется встроенная функциональность темы для добавления системы комментариев Disqus.

Эта система комментирования на основе JavaScript, мне кажется, побеждает цель иметь статический блог в Jekyll, учитывая:

  1. Его JavaScript создает совершенно нестатическую страницу.
  2. Комментарии не сохраняются на сайте.
  3. Комментарии хранятся в некоторой базе данных вместо текстовых файлов.

Поэтому мой вопрос: какова подходящая система для комментариев, которая максимально приближена к философии Джекилла (в идеале работает на gh-страницах)?

Я нашел несколько возможных кандидатов:

  1. Isso - это система комментариев, похожая на Disqus, она работает с базой данных SQLite.
  2. Jekyll :: StaticComments кажется вполне подходящим, но это означает, что вы должны вручную добавлять комментарии из электронных писем.

Есть ли другие варианты? Если это так, что будет работать с gh-страницами, и что будет работать в блоге Jekyll, размещенном в собственной сети?

Ответ 1

Вот еще одно решение, которое является динамическим и использует JavaScript, но не хранит комментарии у стороннего поставщика:

Этот парень создал статичный веб-сайт с Jekyll, но использует GitHub для отслеживания проблем, чтобы создавать свои комментарии.
Он использует GitHub Pages для размещения своего блога, и для каждого нового поста он создает новую проблему в своем репозитории блога.
Затем он использует JavaScript, чтобы получить комментарии к проблеме от API GitHub и показать его на странице.

Вот запись в блоге, которая объясняет, как это настроить:
GitHub размещены комментарии для GitHub размещены блоги

Ответ 2

Является ли загруженная javascript, размещенная извне система комментариев "побеждает цель" статического сайта - вопрос мнения.

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

Это, как говорится, интересный вопрос.

Isso (например, Disqus) использует JS на стороне клиента и требует серверного программного обеспечения (на основе Python), которым вы должны управлять, поэтому не похоже, что это ближе к вашему идеалу.

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

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

Так что вам нужно получать комментарии откуда-то, возможно, по электронной почте, возможно, от другого стороннего приложения (возможно, SimpleForm).

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

Помимо ручного принятия комментариев через стороннюю среду, вы будете иметь дело с чем-то динамичным.