Как мне управлять рабочим процессом контента для сайта hexo?

Я использовал генераторы статических сайтов, такие как jekyll, и отлично размещал их на страницах github, используя prose.io в качестве системы управления контентом.

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

Насколько я понимаю, это следующее, как я должен это сделать:

  1. записать *.md текстовый файл

  2. hexo generate

  3. (необязательно) hexo serve (чтобы увидеть местный контент)

  4. hexo deploy (для публикации общедоступного контента на любом сайте с помощью config.yml). Можно публиковать на amazon S3, страницах github и т. д.

Есть ли другой рабочий процесс, кроме этого?

то, как я делал это раньше со страницами jekyll + github, просто

  1. перейти на prose.io
  2. Написать контент
  3. сохранить (который публикует ocntent)

В идеале я хотел бы использовать страницы hexo+github так же, как и страницы jekyll+github.

По сути, может ли github автоматически генерировать статические файлы, как это делается с пакетами jekyll/ruby?


person Vincent Tang    schedule 28.09.2016    source источник


Ответы (4)


Я придумал свой собственный ответ и разместил его в своем блоге.

http://www.tangycode.com/Quick-Start-Guide-To-Hexo-Install/

Он охватывает все, что вам нужно знать о том, как настроить сайт блога hexo и управлять рабочими процессами контента.

person Vincent Tang    schedule 01.10.2016
comment
ссылка, которую вы разместили, битая - person JrBenito; 18.10.2016

Один подход, который я пробую сам:

  • prose.io или аналогичный для записи и сохранения в репозиторий github
  • travis-ci.org для создания шестнадцатеричного сайта и развертывания

Вот как это работает:

  1. Редактируйте документ в своем редакторе любви
  2. Зафиксируйте его в своем репозитории
  3. travis-ci.org обнаруживает фиксацию и начинает работать

Мои .travis.yml делают (среди нескольких других вещи) следующее:

  • npm установить hexo-cli
  • npm установить grunt-cli
  • Установка npm внутри репозитория сайта (плагины и зависимости hexo)
  • генерировать шестнадцатеричный
  • grunt развертывание-производство
  • hexo deploy (я использую это, чтобы сохранить историю сайта в самом репо)

Если выбранный вами редактор может направить фиксацию в репозиторий github, у вас точно такой же опыт работы с Jekyll на страницах GH. Преимущество здесь в том, что вы можете использовать сторонний плагин, чего избегают страницы GH.

person JrBenito    schedule 18.10.2016
comment
Я еще не использовал prose.io, я делаю коммит вручную, но скоро добавлю его в свой рабочий процесс записи. - person JrBenito; 18.10.2016
comment
Раньше я не использовал .travis-ci, хотя много слышал об этом. Как это соотносится с размещением статических файлов на github? - person Vincent Tang; 18.10.2016
comment
Ну, travis предназначен для тестовых сборок в непрерывной интеграции. В данном случае мы создаем статический веб-сайт. Думайте о Трэвисе как о своей собственной среде разработки машин. То, что вы выполняете на своем компьютере, вы выполняете там, поэтому после hexo generate вы правильно выполняете развертывание? Где вы развертываете (GH, AWS, ...) — это ваше дело. Таким образом, вы можете зафиксировать сгенерированные файлы обратно в репозиторий страниц github и по-прежнему использовать страницы gh для размещения своего сайта. В моем случае я размещаю его на aws-s3+cloudfront, но решение не зависит, вам просто нужен плагин для развертывания или написания скрипта. Трэвис на самом деле докер Ubuntu - person JrBenito; 18.10.2016
comment
![](i.imgur.com/jv2pY1a.png) правильно ли я понимаю это в с точки зрения hexo workflow + travis? - person Vincent Tang; 19.10.2016

Кроме того, вы можете использовать INSTANT — инструмент управления контентом, который можно использовать на любом статическом веб-сайте. Вы просто устанавливаете их javascript и можете напрямую редактировать контент на своем веб-сайте (без какой-либо панели администратора). Он сохраняет и обслуживает контент от клиента. Довольно аккуратно.

person Marcel Panse    schedule 19.10.2016
comment
это звучит очень интересно, я посмотрю на это спасибо! - person Vincent Tang; 19.10.2016

Самый простой способ — использовать хостинг-провайдера, такого как Netlify, в сочетании с безголовой CMS, например Безголовый (полное раскрытие: я его создал).

Netlify может выполнить процесс сборки за вас, и во время этого процесса сборки он может получать контент из безголовой CMS. Всякий раз, когда вы обновляете контент в CMS, Netlify выполняет перестройку.

Тогда у вас есть свой веб-сайт на Netlify CDN, настоящая CMS для управления вашим контентом, и вам никогда не нужно погружаться в свой код или файлы github. И это все бесплатно.

person Christiaan Maks    schedule 01.10.2017