
Я люблю автоматизировать. Один из примеров автоматизации — публикация постов в блог, который у меня хостится на github и, соответственно, реализован на jekyll.
В моей автоматизации блогопостинга участвует не только Hazel, но и Alfred2, bash, Marked2, 1Writer и т.д. Но интереснее всего выглядит та часть, которую берет на себя Hazel.
Кстати, а Folder Actions в Автоматоре не отслеживает изменения в файлах, так что тут Hazel’у он не конкурент уже точно.
В общем, кратко опишу этот Workflow. Черновики блогопостов на стадии написания хранятся в Dropbox, в папке “Черновики” (O RLY?). У меня есть несколько способов удобно открывать и редактировать файлы в этой папке. Но как только я готов опубликовать запись, я просто помечаю её тегом #done и дальше в дело вступает Hazel.
Вот те действия, которые Hazel выполняет с файлом черновика:
- переименовывает файл в формат, подходящий для Jekyll: подставляет дату, преобразовывает пробелы в дефисы, приводит к нижнему регистру
- перемещает файл в папку _posts блога
- открывает новый файл на редактирование
- открывает SourceTree для публикации на github
Шаг 3 нужен для того, чтобы вставить в файл мета-данные поста. Сейчас я делаю это вручную (через соответствующий сниппет), но есть идея сделать bash-скрипт, которые будет формировать этот блок за меня. Как минимум можно брать заголовок первого уровня из черновика, дату и время публикации. Остальные данные скорее всего прийдётся вбивать вручную.
Позже я опубликую ещё несколько вещей, которые участвуют в процессе работы с блогом.