Рецепты Hazel: автоматизация публикации постов в блог на jekyll

  OSX, Hazel, Workflow

Я люблю автоматизировать. Один из примеров автоматизации — публикация постов в блог, который у меня хостится на github и, соответственно, реализован на jekyll.

В моей автоматизации блогопостинга участвует не только Hazel, но и Alfred2, bash, Marked2, 1Writer и т.д. Но интереснее всего выглядит та часть, которую берет на себя Hazel.

Кстати, а Folder Actions в Автоматоре не отслеживает изменения в файлах, так что тут Hazel’у он не конкурент уже точно.

В общем, кратко опишу этот Workflow. Черновики блогопостов на стадии написания хранятся в Dropbox, в папке “Черновики” (O RLY?). У меня есть несколько способов удобно открывать и редактировать файлы в этой папке. Но как только я готов опубликовать запись, я просто помечаю её тегом #done и дальше в дело вступает Hazel.

Вот те действия, которые Hazel выполняет с файлом черновика:

  1. переименовывает файл в формат, подходящий для Jekyll: подставляет дату, преобразовывает пробелы в дефисы, приводит к нижнему регистру
  2. перемещает файл в папку _posts блога
  3. открывает новый файл на редактирование
  4. открывает SourceTree для публикации на github

Шаг 3 нужен для того, чтобы вставить в файл мета-данные поста. Сейчас я делаю это вручную (через соответствующий сниппет), но есть идея сделать bash-скрипт, которые будет формировать этот блок за меня. Как минимум можно брать заголовок первого уровня из черновика, дату и время публикации. Остальные данные скорее всего прийдётся вбивать вручную.

Позже я опубликую ещё несколько вещей, которые участвуют в процессе работы с блогом.

hazel workflow hazel workflow