понедельник, 8 февраля 2016 г.

Вести блог как хакер

17 ноября 2008 - Сан-Франциско 

Еще в 2000 году, когда я думал, что я собирался стать профессиональным писателем, я часами в день на LiveJournal делает письменной практике с другими стремящихся поэтов и авторов. С тех пор я уже писал на трех различных областей о веб-стандартах, полиграфический дизайн, фотография, вспышка, иллюстрации, информационная архитектура, ColdFusion управления пакетами, PHP, CSS, реклама, Рубин, Рельсы, и Erlang. 

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

Я уже знал много о том, что я не хочу. Я устал от сложных блогов системах, как WordPress и Мефисто. Я хотел написать большие должности, не стилизации страниц шаблонов мильона, модерировать комментарии в течение всего дня, и постоянно отстают от последней версии программного обеспечения. Что-то вроде Posterous выглядел привлекательным, но я хотел, чтобы стиль мой блог, и его нужно было организовано на домене моего выбора. По той же причине, другие размещенных сайтов ( wordpress.com , blogger.com ) были дисквалифицированы. Есть несколько человек, непосредственно используя GitHub в качестве блога (что очень круто), но это слишком много из несоответствия импеданса для моих вкусов. 

В воскресенье, 19 октября, я сел в моей квартире в Сан-Франциско со стаканом яблочного сидра и ясный ум. После периода размышлений, у меня была идея. Хотя я не специально обученных как автор прозы, я тренировался как автор кода. Что произойдет, если я подошел блогов с точки зрения разработки программного обеспечения? Что бы это выглядело? 

Во-первых, все мои письма будут храниться в хранилище Git. Это обеспечило бы, что я мог попробовать различные идеи и исследовать различные посты все от комфорта моего предпочтительном редактора и командной строки. Я был бы в состоянии опубликовать сообщение через простой сценарий развертывания или после совершения крючок. Сложность будет сведено к абсолютному минимуму, так статический сайт будет предпочтительнее динамического сайта, которые требуют постоянного обслуживания. Мой блог необходимо будет легко настраивается; исходя из графического дизайна фоне означает, что я всегда буду настройки внешнего вида сайта и макет. 

За последний месяц я принес эти понятия свои плоды, и я рад сообщить, Джекил . Джекил является простым, блог известно, статическая генератор сайт. Он принимает каталог шаблонов (представляющий сырой форму сайте), запускает его через текстильной и жидких преобразователи и выплевывает полный, статический сайт подходящую для обслуживания с Apache или ваш любимый веб-сервере. Если вы читаете эту статью на сайте ( http://tom.preston-werner.com ), вы видя Джекил генерируется блог! 

Чтобы понять, как это все работает, откройте свой ​​TPW репо в новом окне браузера. Я буду ссылки на код. 

Взгляните на index.html . Этот файл представляет собой домашнюю страницу сайта. В верхней части файла является кусок YAML, который содержит метаданные о файле. Эти данные сообщает Джекил, что макет, чтобы дать файл, то, что должно быть заголовок страницы и т.д. В этом случае, я указываю, что шаблон "по умолчанию" должен быть использован. Вы можете найти файлы макета в _layouts каталоге. Если открыть default.html вы можете увидеть, что домашнюю строится путем обертывания index.html с этого макета. 

Вы также заметите, Liquid код шаблонов в этих файлах. Жидкость представляет собой простой, расширяемый язык шаблонов, что позволяет легко встраивать данные в шаблонах. Для моей домашней странице я хотел бы иметь список всех моих блогах. Джекил протягивает мне Hash, содержащее различные данные о моем сайте. Обратный хронологический список всех моих блогах можно найти в site.posts . Каждый пост, в свою очередь, содержит различные поля, такие как title и date . 

Джекил получает список сообщений в блоге, анализируя файлы в _posts каталоге. Имя файла каждого поста содержит дату публикации и пули (что обнаруживается в URL), что окончательный HTML файл должен иметь. Откройте файл, соответствующий этому сообщению в блоге: 2008-11-17-блогов, как мини-hacker.textile . GitHub оказывает текстильных файлы по умолчанию, поэтому, чтобы лучше понять файл, нажмите на сырой зрения, чтобы увидеть исходный файл. Здесь я указал post макет. Если посмотреть на этот файл вы увидите пример вложенного макета. Макеты могут содержать другие макеты, позволяющие вам большую гибкость в том, как страницы в собранном виде. В моем случае я использую вложенный макет, чтобы показать соответствующие должности для каждой записи блога. YAML также указывает название поста, который затем встроенный в тело поста с помощью жидкости. 

Сообщения обрабатываются особым образом по Джекила. Дата указать в имени файла используется для построения URL в созданном сайте. Это сообщение, например, заканчивается в http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html . 

Файлы, которые не находятся в каталогах с префиксом подчеркивания отражаются в соответствующем структуре каталогов в созданном сайте. Если файл не имеет предисловие YAML, он не запускается через жидкость переводчика. Бинарные файлы копируются без изменений. 

Для того чтобы превратить ваш сырой сайт в готовом варианте, вы просто запустите: 

 $ jekyll /path/to/raw/site /path/to/place/generated/site 

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

Я жил с Джекила чуть более месяца теперь. Я люблю это. Вождение развитие Джекила исходя из потребностей моего блога был очень полезным. Я могу редактировать мои сообщения в TextMate, давая мне автоматического и компетентную проверку орфографии. У меня немедленного и первый доступ класс к CSS и шаблоны страниц. Все резервные копии на GitHub. Я чувствую легкость теперь, когда я пишу пост. Система достаточно проста, что я могу держать весь процесс преобразования в моей голове. Расстояние от моего мозга в своем блоге сократилась, и, в конце концов, я думаю, что сделает меня лучше автора.

Комментариев нет:

Отправить комментарий