Создание блога на Octopress 3


Оглавление (нажмите, чтобы открыть):

Настройка блога octopress на github

Невозможно настроить блог Octopress на Github. Я следую этому руководству на octopress, но после создания репозитория в github и подготовки всего, что я не могу развернуть на github.

У меня есть две ветки, master и gh-pages, и после попытки я только что удалил все, и я хочу начать с самого начала.

Должен ли я помещать папку octopress внутри папки моего репозитория локально? Или они должны быть в двух разных папках? Это руководство немного запутывает, и я очень новичок в git. Может ли кто-нибудь, кто уже сделал это , объяснить, как развернуть github с github-страницами?

Я согласен с вами в том, что учебник немного сложнее, но строго придерживается его, и вы сможете правильно настроить .

Итак, для этого создайте на вашем компьютере папку с текстом октопресс (не забывайте об установке пакета и ‘rake install’) и создать репо в github с помощью YOU_USERNAME.github.com.

Наконец, развертывать в github, запускать ‘rake setup_github_pages’, генерировать и развертывать. Ваша страница готова. Просто перейдите в исходную папку и запустите остальные 3 git команды, чтобы она была скопирована.

Если у вас есть сомнения, см. мое репо для справки. Я даже установил свой домен (lucasarruda.com).

Обь.: подождите несколько минут, когда вы только что создали репозиторий. Тогда коммитирование должно быть почти мгновенным.

Я согласен, что это немного сложно, но, как только у вас есть настройка, он настолько прост в использовании. Вам не нужно клонировать репозиторий github, все должно быть сделано в вашей папке Octopress (но вам нужно установить соединение с SSH-ключом с вашим репо). Вот как я его настроил:

Из вашей учетной записи github:

  • создайте новое репо и назовите его username.github.io , в моем случае iamaziz.github.io .

Проект блога остеопсии клонов:

  • git clone https://github.com/imathis/octopress.git

В корневой папке блога Octopress:

  • запустите rake setup_github_pages и ansewer с вашими учетными данными репо (тот, который вы только что создали). (Примечание: убедитесь, что у вас установлена ​​настройка SSH между учетной записью github и вашим компьютером.)
  • run rake generate (Это создаст ваши сообщения и страницы)
  • run rake deploy (Это приведет к тому, что содержимое _deploy появится в ветки master ).

Он должен запросить пароль ssh (если он еще не сохранен в цепочке ключей), вы увидите что-то вроде identity added: . и начнется развертывание.

Примечание:

если вы получите сообщение, сообщите permission denied , когда вы запустите rake deploy , это означает, что ключ SSH (открытый ключ) не существует или не устанавливается правильно. Смотрите: отказ в правах на ошибки.

Если все в порядке, ваш блог готов: https://username.github.io/

Еще одна вещь:

Однако вам также необходимо нажать источник проекта Octopress на ветку вашего репо на source следующим образом: сменить каталог в исходную папку и запустить:

  • git add .
  • git commit -m «your msg»
  • git push origin source

Готово!

Отныне вы должны быть для ведения блога, как следует:

  • Создание и редактирование сообщений: rake new_post[«title»]
  • Сгенерировать их: rake generate
  • разверните их на свои страницы github: rake deploy

Создание блога octopress на github

Не могу настроить блог Octopress на Github. Я следую этому руководству по octopress, но после создания репозитория на github и подготовки всего, что я не могу развернуть на github.

У меня есть две ветки, master и gh-pages, и после попытки я просто удалил все, и я хочу начать с самого начала.

Должен ли я поместить папку octopress внутри папки репозитория локально? Или они должны быть в двух разных папках? Это руководство немного сбивает с толку, и я очень новичок в Git.
Может кто-нибудь, кто уже сделал это, объяснить, как развернуть на github с github-страницами?

2 ответа

Я согласен с вами, что учебник немного сложен, но строго придерживайтесь его, и вы сможете правильно настроить .

Итак, чтобы сделать это, создайте на вашем компьютере папку с содержимым octopress (не забудьте об установке bundler и ‘rake install’) и создайте репозиторий в github с YOU_USERNAME.github.com .

Наконец, разверните на github , запустив ‘ rake setup_github_pages ‘, выполните генерацию и развертывание . Ваша страница готова. Просто зайдите в исходную папку и запустите остальные 3 команды git , чтобы создать резервную копию.

Если у вас есть сомнения, см. Мой репо для справки. Я даже установил свой домен (lucasarruda.com) для него.

Obs .: подождите несколько минут, когда вы только что создали хранилище. Тогда совершение должно быть почти мгновенным.

Я согласен, что это немного сложно, но как только вы настроите его, его будет легко использовать. Вам не нужно клонировать репозиторий github, все должно быть сделано в вашей папке Octopress (но вам нужно установить соединение с ключом SSH с репо), вот как я его настроил:

С вашего аккаунта на github:


  1. создайте новый репозиторий и назовите его username.github.io , в моем случае iamaziz.github.io .

Блог-проект «Клон Октопресс»:

  1. git clone https://github.com/imathis/octopress.git

Из корневой папки блога Octopress:

  1. запустите rake setup_github_pages и ответьте с вашими учетными данными репо (теми, что вы только что создали). (Примечание: убедитесь, что у вас есть настроенный ключ SSH между вашей учетной записью github и вашим компьютером.)
  2. запустить rake generate (это создаст ваши посты и страницы)
  3. запустите rake deploy (это передаст содержимое _deploy в вашу master ветку).

Он должен запросить ваш пароль ssh-ключа (если он еще не сохранен в цепочке для ключей), тогда вы увидите что-то вроде identity added: . и развертывание начнется.

Замечания:

если вы получаете сообщение о том, что при запуске rake deploy permission denied , это означает, что ключ SSH (открытый ключ) не существует или не установлен правильно. Смотрите: ошибка в разрешении запрещена.

Если все в порядке, ваш блог готов по адресу: https://username.github.io/

Еще кое-что:

Однако вам также необходимо перенести исходный код проекта Octopress в source ветку репозитория следующим образом, сменить каталог на исходную папку и запустить:

  1. git add .
  2. git commit -m «your msg»
  3. git push origin source

Готово!

Отныне вы должны вести блог, как следует:

  1. Создание и редактирование сообщений: rake new_post[«title»]
  2. Генерировать их: rake generate
  3. разверните их на своих страницах github: rake deploy

Максим Михеев

. о Mac OS, iOS, Xcode, Objective-C и не только.

Установка Octopress в Mac OS Lion 10.7.4

В этой заметке мы кратко рассмотрим процесс установки Octopress в Mac OS X для генерации статического веб-сайта.

А зачем нам вообще Octopress?

Практически все мои начинания в части личных веб-проектов носят чисто утилитарный характер. История с Octopress — очередное тому подтверждение. Началось все с того, что мне, как админу трех блогов на WordPress, надоело тратить свои кровные на поддержание прожорливого Scale-сервера от Clodo в том объеме расходов, которые там образовались за последний год с хвостиком. Иными словами, блоги то ли в силу моих кривых рук, то ли в силу апдейтов, стали потреблять слишком много ресурсов выделенного сервера. За что и поплатились: один из них в настоящее время заменен примитивной статикой, собранной за два вечера на Bootstrap, второй в настоящее время завершает миграцию в статику на основе Octopress, о которой сегодня и пойдет речь.

Что же такое Octopress? Если кратко, это набор скриптов на Ruby, который позволяет из заранее подготовленных markdown-файлов генерировать статический блог, то есть блог, состоящий из статических html-страниц. Всякому веб-программисту в возрасте от 10 лет и выше известно, что статический сайт из html-страниц требует гораздо меньше ресурсов сервера, чем аналогичный, построенный на php, да еще и, не приведи Господи, на какой-нибудь разухабистой CMS, вроде того же WordPress. Поэтому идея замены CMS на сервере набором небольших статических html-страничек не должна вызывать отторжения у больше части прогрессивного человечества.

Создатели Octopress не случайно называют его блоггинговым движком для хакеров — для того, чтобы все успешно установить и настроить необходима большая голова. Особенно веселые приключения ожидают тех, кто разрабатывает приложения в Xcode версий выше 4.1, но обо всем по-порядку.

Ниже я опишу свои приключения по установке Octopress на Lion 10.7.4 + Xcode 4.3.1. Официальную инструкцию по установке можно найти тут, я приведу модифицированную ее версию, из которой будут понятны некоторые подводные камни.

Перед тем, как мы начнем, я хочу кратко прояснить, как вообще устроена работа с Octopress, потому что официальное описание несколько туманно по поводу концептуальных вопросов. Мы ставим на локальную машину систему контроля версий Ruby, далее ставим Ruby нужной версии (да-да, это 1.9.2), далее забираем с гитхаба Octopress и ставим его на локальную машину. После этого, делаем необходимые настройки в Octopress, создаем несколько постов/страниц, собираем их с помощью Octopress в набор статических страниц, а далее заливаем этот набор страниц на удаленный сервер, после чего имеем профит.

Установка git и Ruby

Прежде всего, установите git, если у Вас его еще нет.

Далее установите одну из альтернативных систем контроля версий Ruby — RVM или rbenv. Эти системы являются альтернативными, установить необходимо только одну из них. Исторически RVM появилась раньше, чем rbenv, поэтому она является более разухабистой. rbenv же, напротив, достаточно минималистична. Основное практическое отличие RVM от rbenv заключается в том, что она позволяет управлять гемсетами — устанавливать и удалять их. В случае rbenv для работы с гемсетами можно использовать bundler. Для тех, кто интересуется более подробным сравнением RVM и rbenv, рекомендую ознакомиться с этой заметкой с Хабра. Вот тут неплохо описан процесс установки rbenv. А вот эта заметка утверждает, что все-таки удобнее пользоваться RVM. Я ни в коем случае не хочу способствовать разжиганию войны между сторонниками указанных систем контроля версий, однако, в моем конкретном случае мне было удобнее пользоваться RVM, потому что для него существует симпатичный официальный GUI — JewelryBox, который я и установил. Иными словами, для выполнения этого пункта владельцам Mac OS достаточно установить JewelryBox.

Для тех, кто выберет установку rbenv, крайне рекомендую поставить сразу и ruby-build, это позволит существенно упростить установку Ruby до одной команды install.

После установки RVM необходимо установить Ruby 1.9.2. Для этого пользователям RVM предлагается использовать команду:

а пользователям rbenv предлагается использовать команду:

Основные приключения начались у меня именно на этом пункте. Дело в том, что, как я упоминал ранее, для работы Octopress необходима именно Ruby 1.9.2. На номер p290 можно не обращать особое внимание, это порядковый номер последнего патча в рамках основной версии 1.9.2. Для установки достаточно набирать в консоли 1.9.2. В случае использования JewelryBox достаточно установить Ruby 1.9.2 через это приложение.

Однако, в моем случае попытка установить версию 1.9.2 потерпела полный провал. При попытке установки через JewelryBox приложение вело себя некорректно и не показывало ровным счетом ничего вразумительного — после выбора нужной версии Ruby ничего не происходило. Попытка применения указанной консольной команды привела к более интересным результатам. Мне было сказано, что у меня установлен Xcode версии 4.3 (на самом деле, у меня установлен Xcode 4.3.1) и с ним работать будет только Ruby 1.9.3-p125 и выше. А если мне будет угодно работать с более ранними версиями Ruby, то мне настоятельно рекомендуется удалить Xcode 4.3 и поставить Xcode 4.1. Поскольку моя работа заключается в том, чтобы разрабатывать приложения для iOS, откат к более ранней версии представился мне крайне нежелательным вариантом.

Мастер Йода рекомендует:  Стандартные задачи на собеседовании

После чтения интернетов, было обнаружено, что столь дерзкий отказ в установке Ruby 1.9.2 обусловлен тем, что в версиях Xcode от 4.3 и выше Apple благополучно убрало компилятор gcc, заменив его на llvm. Я при обновлении версии Xcode имею дурную привычку сносить старую версию и ставить новую начисто, поэтому не исключаю, что при обновлении у других пользователей gcc вполне может и уцелеть.

Поскольку перспектива руками делать весь блог на Bootstrap меня не прельщала, было решено искать пути вернуть gcc на машину. Интернеты не подвели и в этот раз и уже через несколько минут стало понятно, что gcc можно установить из Homebrew. Для тех, кто не в курсе, Homebrew — это такой менеджер пакетов, позволяющий ставить UNIX tools, которые Apple по тем или иным причинам не поставляет в Mac OS. Установка Homebrew представляет собой выполнение команды:

Далее рекомендуют выполнить проверку установки Homebrew:

Далее рекомендуют обновить Homebrew:


После этого, можно установить столь желанный нами gcc:

Далее рекомендуют установить Ruby 1.8.7, хотя я не уверен, что это необходимо.

После этого, можно установить заветную Ruby 1.9.2 и сделать ее используемой по умолчанию:

Установка Octopress

Покончив с установкой Ruby можно заняться установкой самого Octopress. Эта часть не вызвала у меня каких-либо проблем.

Прежде всего, получаем Octopress с GitHub’а:

Далее переходим в директорию octopress. При использовании RVM пользователя спросят, доверяет ли он .rvmrc-файлу, необходимо ответить yes.

Далее контрольная проверка используемой версии Ruby. Ответ должен быть, как Вы уже догадались, Ruby 1.9.2.

Далее необходимо установить dependencies:

Далее устанавливаем дефолтную тему Octopress:

На этом приключения по установке заканчиваются и начинаются совсем другие приключения по настройке Octopress и началу ведения блога.

Генераторы статических сайтов. Краткий обзор

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

Pelican

Это не самый популярный генератор статических сайтов в мире, его делает особенным одна важная деталь — он написан на Python, а значит от нулевых знаний до использования Pelican потребуется пройти короткий путь. Также он прост и понятен, работает на любой ОС (Linux, MacOS, Windows), поддерживает шаблонизатор jinja2 и имеет массу приятных мелочей, среди которых:

  • подсветка синтаксиса;
  • взаимодействие с WordPress, Dotclear, RSS-каналами, Twitter, Google Analytics и т.д.;
  • возможность мультиязычных публикаций;
  • плагины для комментариев и быстрого модерирования.

Генератор Hugo написан на языке Go, отсюда его преимущества: стремительно растущее сообщество и общее быстродействие. Основная область применения — массивные ресурсы, которые и без динамического содержимого перегружены данными. Согласно тестам, он способен сгенерировать 5000 страниц всего за 6 секунд. Плюс ко всему он достаточно прост в установке и работе, а обновления и фиксы выпускаются каждую неделю. Именно поэтому Hugo — идеальный выбор для обеспечения максимальной производителности..

Jekyll

В большинстве рейтингов популярности Jekyll занимает первую строчку. Причины:

  1. Разработчик. Над продвижением и развитием работает команда GitHub.
  2. Сообщество. Популярность продукта означает беспроблемное знакомство с новым инструментом.
  3. Развитая экосистема. Свыше 150 плагинов только на официальном сайте, которые переманят публику с WordPress и Drupal на Jekyll.

Генератор, построенный на платформе Node.js, также обладает превосходной скоростью сборки страниц, хотя и не такой большой, как в случае с Hugo. Главной отличительной чертой является поддержка большого числа плагинов, заимствованных у Jekyll и Octopress. Также есть миграция с WordPress, что делает Hexo востребованным.

Octopress

Octopress является не самодостаточным генератором статических сайтов, а ответвлением Jekyll «для продвинутых». Управлять им ничуть не сложнее , но количество доступных пользовательских настроек здесь увеличено в разы. Плагины Jekyll совместимы с Octopress и наоборот, поэтому каких-либо трудностей при переходе вы не испытаете, а вот преимуществ найдете много.

Middleman

Ещё один представитель семейства Ruby, а также один из старейших генераторов статики. Подойдёт тем, кто хочет сделать динамический сайт максимально привлекательным для клиента, поэтому его часто используют в маркетинговых и коммерческих организациях. Middleman поддерживает Sass, CoffeeScript, HAML и многие другие инструменты. Но есть один существенный минус: мигрировать блог с WordPress, Drupal, Joomla или любой другой CMS практически невозможно.

Metalsmith

Крайне хардкорный генератор, за который лучше не браться новичкам. Все основные функции исполняются здесь при помощи сторонних плагинов. Для того, чтобы разобраться в каждом потребуется определённая база знаний. Есть и обратная сторона — итоговые возможности безграничны. Jekyll составит конкуренцию Metalsmith по диапазону решений, а Octopress по количеству пользовательских настроек, но ни один из них его не превосходит. Так что если вы зубр в статике, Metalsmith не должен пройти мимо вашего взора.

Gatsby

Один из самых молодых представителей рейтинга пошёл отличной от большинства дорожек, используя вместо готовых шаблонов решения Webpack. Работа полностью построена на взаимодействии с ReactJS и его компонентами, в результате чего получаются крутые сайты с мгновенными переходами между отдельными страницами. Из интересных настроек в Gatsby стоит отметить регулирование последовательности и скорости перехода для придания динамики вашему блогу.

Gitbook

Gitbook предназначен не для генерации страниц стандартного блога, а для публикации документации. Редактор здесь визуально напоминает Google Docs, работать с ним легко, в какой-то момент можно даже забыть, что это не просто текстовый редактор. Поэтому для разработки электронных книг, руководств и прочей литературы, Gitbook — лучшее решение.

Brunch

Brunch используется для генерации статических мобильных сайтов и обладает рядом сопутствующих этому функций. Среди наиболее востребованных — сжатие изображений или кэширование. А вот для разработки полноценных статических сайтов Brunch неудобен, его можно рассматривать только для получения максимальной скорости загрузки страниц. В общей функциональности Bruch существенно проигрывает и Jekyll, и Hugo.

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

Pelican

Это не самый популярный генератор статических сайтов в мире, его делает особенным одна важная деталь — он написан на Python, а значит от нулевых знаний до использования Pelican потребуется пройти короткий путь. Также он прост и понятен, работает на любой ОС (Linux, MacOS, Windows), поддерживает шаблонизатор jinja2 и имеет массу приятных мелочей, среди которых:

  • подсветка синтаксиса;
  • взаимодействие с WordPress, Dotclear, RSS-каналами, Twitter, Google Analytics и т.д.;
  • возможность мультиязычных публикаций;
  • плагины для комментариев и быстрого модерирования.

Генератор Hugo написан на языке Go, отсюда его преимущества: стремительно растущее сообщество и общее быстродействие. Основная область применения — массивные ресурсы, которые и без динамического содержимого перегружены данными. Согласно тестам, он способен сгенерировать 5000 страниц всего за 6 секунд. Плюс ко всему он достаточно прост в установке и работе, а обновления и фиксы выпускаются каждую неделю. Именно поэтому Hugo — идеальный выбор для обеспечения максимальной производителности..

Jekyll


В большинстве рейтингов популярности Jekyll занимает первую строчку. Причины:

  1. Разработчик. Над продвижением и развитием работает команда GitHub.
  2. Сообщество. Популярность продукта означает беспроблемное знакомство с новым инструментом.
  3. Развитая экосистема. Свыше 150 плагинов только на официальном сайте, которые переманят публику с WordPress и Drupal на Jekyll.

Генератор, построенный на платформе Node.js, также обладает превосходной скоростью сборки страниц, хотя и не такой большой, как в случае с Hugo. Главной отличительной чертой является поддержка большого числа плагинов, заимствованных у Jekyll и Octopress. Также есть миграция с WordPress, что делает Hexo востребованным.

Octopress

Octopress является не самодостаточным генератором статических сайтов, а ответвлением Jekyll «для продвинутых». Управлять им ничуть не сложнее , но количество доступных пользовательских настроек здесь увеличено в разы. Плагины Jekyll совместимы с Octopress и наоборот, поэтому каких-либо трудностей при переходе вы не испытаете, а вот преимуществ найдете много.

Middleman

Ещё один представитель семейства Ruby, а также один из старейших генераторов статики. Подойдёт тем, кто хочет сделать динамический сайт максимально привлекательным для клиента, поэтому его часто используют в маркетинговых и коммерческих организациях. Middleman поддерживает Sass, CoffeeScript, HAML и многие другие инструменты. Но есть один существенный минус: мигрировать блог с WordPress, Drupal, Joomla или любой другой CMS практически невозможно.

Metalsmith

Крайне хардкорный генератор, за который лучше не браться новичкам. Все основные функции исполняются здесь при помощи сторонних плагинов. Для того, чтобы разобраться в каждом потребуется определённая база знаний. Есть и обратная сторона — итоговые возможности безграничны. Jekyll составит конкуренцию Metalsmith по диапазону решений, а Octopress по количеству пользовательских настроек, но ни один из них его не превосходит. Так что если вы зубр в статике, Metalsmith не должен пройти мимо вашего взора.

Gatsby

Один из самых молодых представителей рейтинга пошёл отличной от большинства дорожек, используя вместо готовых шаблонов решения Webpack. Работа полностью построена на взаимодействии с ReactJS и его компонентами, в результате чего получаются крутые сайты с мгновенными переходами между отдельными страницами. Из интересных настроек в Gatsby стоит отметить регулирование последовательности и скорости перехода для придания динамики вашему блогу.

Gitbook

Gitbook предназначен не для генерации страниц стандартного блога, а для публикации документации. Редактор здесь визуально напоминает Google Docs, работать с ним легко, в какой-то момент можно даже забыть, что это не просто текстовый редактор. Поэтому для разработки электронных книг, руководств и прочей литературы, Gitbook — лучшее решение.

Brunch

Brunch используется для генерации статических мобильных сайтов и обладает рядом сопутствующих этому функций. Среди наиболее востребованных — сжатие изображений или кэширование. А вот для разработки полноценных статических сайтов Brunch неудобен, его можно рассматривать только для получения максимальной скорости загрузки страниц. В общей функциональности Bruch существенно проигрывает и Jekyll, и Hugo.

3 неправильных и 1 правильный способ сделать блог

Моему личному сайту, fodoj.com, на котором можно найти всё, что я думаю о личной продуктивности, путешествиях и различных книгах, уже около 7 лет. Это был один из первых сайтов, которые я создал будучи пятнадцатилетним школьником. Конечно, на тот момент выглядел проект совсем иначе. Его дизайн и содержание я оставлю за кадром. Во-первых, потому что тогда мне придётся краснеть (и далеко не за дизайн). Во-вторых, потому что я в первую очередь хочу рассказать о технической стороне проекта, которая менялась по меньшей мере 4 раза.

Спойлер: если вы всё таки хотите, чтобы я краснел за свои предыдущие статьи, то вбейте fodoj.com в https://web.archive.org/. Или погуглите “fodoj.wordpress.com”.

V0: Только статика

Изначально сайт жил по адресу gornozavodsk.com. Это было впечатляющее месиво из javascript-свистоперделок, полуголых девиц из аниме и строк текста, которые мог написать только школьник, начавший изучать веб-разработку.

V1: blogger.com и wordpress.com

В какой-то момент я решил что хочу вести блог и завёл такой на blogger.com. Судя по всему, тот сервис мне показался неудобным и я перешёл на wordpress.com. Это было последнее правильное техническое решение, которое я принял касательно fodoj.com на последующие 7 лет. Блог на wordpress.com успешно просуществовал два с лишним года, после чего я захотел не просто какой-то блог, а полноценный личный сайт с крутыми штуками и невероятной гибкостью.

V2: Добро пожаловать в мир CMS

На тот момент я уже понимал, что писать свой движок для блога – тупое решение и нужно выбирать из существующих вариантов. При этом мне нужна была гибкость, позволяющая в любой момент выйти за пределы “просто блога” и добавить, например, плашку, выводящую какую книгу я в данный момент читаю (не спрашивайте).

Но если вам всё же интересно, какую книгу я в данный момент читаю, то добро пожаловать на goodreads.

Из всего зоопарка движков я в итоге остановился на ExpressionEngine. Это очень крутой движок, первая версия которого распространялась бесплатно. Сейчас первую версию вряд ли можно найти, а вторая раздаётся только за деньги.

Мастер Йода рекомендует:  Следующая версия Symfony будет написана на PHP 7 со строгой типизацией

ExpressionEngine мне очень понравился и служил мне верой и правдой целых два года подряд. Кстати, если вы ищете что-то похожее на ExpressionEngine, но бесплатное, то приглядитесь к ModX. Я использовал его для какого-то одного проекта много лет назад и мне понравилось. Возможно, оно всё ещё хорошее.

V3: Момент, когда всё пошло не так

В 2012-ом году мне надоело пользоваться ExpressionEngine. К тому моменту стало понятно, что никто не собирается выпускать к бесплатной версии новые фишки. Я устал от запутанного интерфейса, и мне хотелось чуть больше фич, чем система могла предложить. Более того, я решил полностью переделать дизайн. Короче говоря, я решил написать свой движок для своего блога. И написал. В итоге fodoj.com два года крутился на небольшом Rails-приложении.

На самом деле, у такого подхода есть определённые преимущества. Знаменитый в Ruby-сообществе Джеймс Эдвард Грэй Второй, например, для своего блога тоже написал свой движок. Вы можете выкатить свою хитрую систему комментариев и незаметно внедрить в блог, например, интернет-магазин и хостинг docker-контейнеров (новичкам от веб-дева и хипстерам: это была шутка).

В моём случае, мне нужны были такие “крутые” фишки как:

  • админка для случайных фраз, которые выводятся в шапке сайта
  • markdown редактор для текста
  • .
  • плашка “этот сайт работает на моём собственном движке”

Со временем важность первого и последнего пунктов слегка снизилась (до нуля), а markdown можно получить и в других местах.

Недостатки же у поддержки своего движка чуть более весомы:

Временные затраты на разработку ненужных новых фич

Ладно: это всё таки Ruby on Rails и мне не составляет труда закодить любую нужную функциональность за расслабленный вечер, полный чая мате и оркестра Глена Миллера. Тем не менее, это целый вечер, который я мог бы потратить, например, на написание новых фич для mkdev или новых статей (или на что-то более приземлённое, типа похода в кино).

Но что более важно: сайт не нуждается в новой функциональности. За прошедший год я добавил следующие killer-фичи: robots.txt, sitemap и rss-фид. У нас на mkdev даже есть статья про то, как это всё сделать на Ruby on Rails: Правильный блог на Rails: sitemap, robots и rss.

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

Скорость

Существует определённый (и весьма очевидный) выигрыш в скорости при переходе с Rails приложения, крутящегося на бесплатном Heroku, на статический сайт, размещённый на AWS S3 и раздающийся через Cloudfront.


Поддержка

Новая уязвимость в Rails? Срочно обновлять FJEngine! Новая уязвимость в Ruby? Срочно обновлять FJEngine! Heroku поменял routing-правила? Ну вы поняли. Знаете, сколько разных уязвимостей в простом HTML файле? Вот именно что.

V4: Светлое будущее с Middleman

Встречайте Middleman: написанный на ruby генератор статичных сайтов. Принцип работы простой: вы создаёте сайт используя все удобные штуки, ускоряющие разработку. А затем генерируете одной командой итоговый набор HTML\CSS, который и заливаете на хостинг.

Из коробки Middleman поддерживает все радости современной веб-разработки вроде SCSS, erb-шаблонов, partials, локализации. Так же для него написана тонна расширений для любых нужд, включая деплой на S3 и подсветку кусков кода.

Существует несколько популярных альтернатив для Middleman. Самые значимые это Octopress и Jekyll. Последний даже используется для Github Pages. Я выбрал Middleman потому что, навскидку, для него гораздо больше готовых плагинов, его легче расширять и я работал с ним в прошлом. Официальный плагин для блога поддерживает всё, что мне нужно. Не исключаю, что всего, что мы будем делать в следующих статьях серии, можно добиться при помощи Octopress и Jekyll. У меня нет опыта ни с тем, ни с другим, поэтому буду рад услышать в комментариях истории успеха их применения.

Что дальше?

В следующих статьях серии я подробно опишу весь процесс миграции с FJEngine на Middleman и расскажу как автоматизировать деплой Middleman сайтов.

Мы рассказываем, как стать более лучшим разработчиком, как поддерживать и эффективно применять свои навыки. Информация о вакансиях и акциях эксклюзивно для более чем 8000 подписчиков. Присоединяйся!

  • mkdev
  • Менторы
  • Специализации
  • Статьи
  • О проекте
  • Что такое менторство
  • Как проходит обучение
  • Цены
  • FAQ
  • Impressum
  • Аккаунт
  • Записаться
  • Войти
  • Соцсети

© Copyright 2014 — 2020 mkdev | Privacy Policy | Lang: Russian

Site Migrated to Octopress 3

How the menu appears on my phone.

I updated this website for a cleaner look, nicer video embeds, and to include an auto-generated blog series index. Most important management is easier using Jekyll and Octopress 3. Currently Octopress 3 lacks an official release website (octopress.org still on version 2), but the Octopress GitHub page includes basic usage. The nice part of version 3 is that it is a plugin for Jekyll so everything Jekyll works, and the management is cleaner than Octopress 2. Even if Octopress 3 isn’t quite ready for prime time, I’m liking it. Before taking the plunge, I looked up posts on migration to see how it went for others switching from 2 to 3. Check out what @dgmstuart and @samwize on GitHub have to say.

Migrating from Octopress 2 is dead simple by creating a new Octopress 3 blog and copy all the post and page markdown files over. Then choose a theme, or customize base Jekyll to your liking. I enjoy being able to organize my page markdown files as a like and setting the YAML permalink to where it needs to go. Let’s go over key components and customizations I made.

Requirements

Your system needs tools to get started. If you’re migrating from Octopress 2 like I did then you likely have these.

Setup Jekyll and Octopress 3

Edit your Gemfile. Mine looks like this:

Run bundle to add your gems, and make a default website.

To view your site on the localhost, run:


Your site ends up in the _site folder. If you just want to build then:

Migrating from Octopress 2

Copy your old posts from /source/_posts to /_posts. For pages, copy and rename your old markdown files organized as you wish. Make an images folder and copy your images over. Edit the page YAML to include “permalink: /” with location you want it to appear in. If you used the Octopress 2 Liquid blockquote, you’ll want to replace “blockquote” with “quote” to work with the new octopress-quote-tag gem. You may do this using grep as follows if using macOS:

Edit your _config.yml to set your plugins:

Also update _config.yml with your old permalink, date_format, and all that good stuff.

Excerpts

Octopress 2 supported the breaking long posts into excerpts to keep the index page shorter with a “read more” link. The Jekyll document page on excerpts describes how to achieve this. Add your seperator into your _config.yml:

Edit index.html to include the excerpt and “read more” text:

Landing page

By default, Jekyll puts your posts index page (index.html) at the root and everything below that. I like having a home landing page with my post index in /blog/ on the same level as other main pages in the mneu. Simply move the index.html into the /blog/ folder and create a new home.md with YAML “permalink: /” and fill in the landing content. All my posts are by title beneath /blog/ so my _config.yml contains this:

Add a link to the blog post index in the menu by editing /includes/header.html.

Archives and categories pages

Octopress 2 came with category index pages and a blog archives page listing by date. If you want these, there’s some extra work involved. Justin James has a nice tutorial, “Adding a Category Page” which I borrowed and customized to my liking. Since Octopress 2 puts each category in a separate page, I also created sub-pages by category to maintain compatibility by not having to update links or create redirects. You can see my main categories at /blog/categories/, my programming category, and gaming category pages as examples. Use a similar approach for archive-by-date page ordered by date and formatted as you wish.

Exclude pages from auto-generating to menu

Michael Chadwick has a nice tutorial, “Exlcuding Pages from Top Navigation in Jekyll”. Chadwick suggests adding an unless clause in _includes/header.html and add the exlude key to the page’s YAML front matter.

Other bits

I switched codeblock to use the Solarized theme to fit in better by using Octopress Ink to add the plugin file. See the tip on Github. For building a blog series index, check out the tutorial by Justin James, “Creating an Article Series”. See an example in action: Skyrim mod series.

Octopress 3 Arrives to Make Blog Generation Crazy Simple

This article was peer reviewed by Fred Heath. Thanks to all of SitePoint’s peer reviewers for making SitePoint content the best it can be!

Octopress is an obsessively designed toolkit for writing and deploying Jekyll blogs. Pretty sweet, huh?
– Octopress

My joy has known no bounds since I came across Octopress, as creating a blog using it is incredibly easy. Things have gotten even more exciting with the announcement of Octopress 3. Octopress 3 includes features aimed at tackling the drawbacks of the previous versions. The newly-minted Octopress CLI allows you can create a new site, create new pages, add posts, and deploy with ease.

In this tutorial, we will create a simple blog, add a post and a page. Along the way, we will also see how to enable sharing to Twitter and deploy everything to Github.

Octopress Unveiling

First, install the Octopress gem. From your terminal:

And with that, you have Octopress installed! I love Ruby and Rubygems!

Blog Creation

Getting up and running is easy with the new Octopress CLI commands. Navigate to your working directory and run the command below:

This will create a directory named kinsomicrote with scaffolding for the website. Replace “kinsomicrote” with whatever you want to call your blog. Navigate to the newly crewated directory and open up your text editor to see what you have. The files and folders should be in the tree format below:

If you’ve every used Jekyll, it should look pretty similar.

Creating a Post

We can create a new post using one of the Octopress CLI commands:

This command creates a new blog post with the title Welcome Aboard . You can obviously use any title of your choice. The post is created in the _posts directory. When you open up this new post file in your text editor, it should be looking like what I have below:

By default, the post will be written as a markdown file. Your post content should go below the YAML front matter, which is what the content between the — is called.

Front matter allows page-specific variables to be included at the top of a template using YAML or JSON. Front matter must come at the very top of the template and be separated from the rest of the content by a leading and trailing triple hyphen — . Between these triple-dashed lines, you can set predefined and custom variables, such as Categories, Tags, and permalink. You can read more about front matter on Jekyll Documentation.

Viewing the Site

Before the site can be viewed it has to be built. Since Octopress is a wrapper around Jekyll, we will use the command below to build:

That will build a static HTML website that can be found in the _site directory. This is built out of the markdown files for pages, posts, stylesheets, and config.

Мастер Йода рекомендует:  Руководство по словарям Python

To view the site run the command below from your terminal:

Then, point your browser to the address localhost:4000 .

Creating a New Page

Octopress comes with a default About page which is visible from your browser at https://localhost:4000/about/ . The page can be found in the home directory of your site. When you generated the site using jekyll build , a folder was created for the about page. Navigate to _site/about directory and you will see the generated page.

There is an Octopress CLI command that can be used to create a new page similar to that used in creating a new post.


This will create a new page in the home directory of your application. The file created looks like:

Enter a title for the page, if you like.

You can enter contents for the page below the YAML front matter. Like in the case of the post, the contents are written in markdown format. You can also choose a path to create a page. For example:

This will create a new directory called news and an index.md file inside it. When you run jekyll build or jekyll serve , an .html file is created just like you have for the “about” page we talked about. When the site is reloaded, the link for the page automatically shows up in the navigation bar.

Configuration

Octopress has a configuration file where you manage the settings for the website. This is the _config.yml file located in the home directory of the site. Here is an example of what it looks like:

From the configuration file, you can add your Twitter and Github usernames. They will show up at the bottom of your page, along with the description. Feel free to edit the settings as desired by adding the necessary information. You will have to restart your server for the configuration changes to show up in your browser. You can stop the server by pressing CTRL+C .

Social Media Sharing

Sharing your blog posts to social media like Twitter is important if you want to get a large audience. Fortunately, there is a gem available on Octopress to make that possible. For the purpose of this tutorial, we will focus on Twitter. You can check out the configuration for Facebook and Google Plus here.

Create a Gemfile in the home directory of your site. You can do so using your terminal, like so:

Add the following:

And bundle install .

Open up _config.yml and add the following:

Enter your Twitter username on the second line:

The other settings can be left as the default.

To use the Twitter share buttons, navigate to your site’s default layout and add this tag just below the closing tag.

If you want the Twitter sharing button to display on every post, navigate to _layouts/post.html and add this underneath the content tag.

Do the same for pages if you want. Reload your browser to see the button.

There are other settings available, with you can check out at Octopress Social.

Deploying to GitHub Pages

We will be hosting our blog on GitHub. Create an account if you do not have one yet.

Create a new repository, give it a name in this format; username.github.io , replacing username with your Github username. Mine looks like this kinsomicrote.github.io .

Open up your terminal and initialize git. NOTE Replace username with your username on Github:

Generate the deployment configuration file for our blog using octopress deploy init command.

This generates a file called _deploy.yml, which contains the deployment configuration:

With that done, you site should be available! You can check out mine kinsomicrote.github.io (obviously, change the URL to your username).

Conclusion

Now you know how to setup a blog using Octopress 3. There are lots of exciting things Octopress 3 brings to the table. I encourage you to delve deeper into Octopress to discover them!

Thanks for staying with me till the end. Your feedback is welcome 🙂

Настройка блога octopress на github

не удается настроить блог Octopress на Github. Я следую этому руководству по octopress но после создания репозитория на github и подготовки всего, что я не могу развернуть на github.

У меня есть две ветви, master и gh-страницы, и после попытки я просто удалил все, и я хочу начать с самого начала.

должен ли я поместить папку octopress в папку репозитория локально? Или они должны быть в двух разных папках? Это руководство немного запутанный, и я очень новичок в git.
может кто-нибудь, кто уже сделали это объясните, как развернуть на github с GitHub-страницами?

2 ответов

Я согласен с вами, что учебник довольно сложный, но следуйте ему строго, и вы сможете настроить правильно.

Итак, чтобы сделать это, создайте как папку на свой компьютер с помощью содержание octopress (не забудьте об установке bundler и ‘rake install’) и создайте РЕПО в github с помощью YOU_USERNAME.github.com .

наконец, развернуть на github, работающегограбли setup_github_pages‘, do создать и развернуть. Ваша страница готова. Просто перейдите в исходную папку и запустите другие 3 git команды, чтобы иметь резервную копию.

Если у вас есть сомнения, см. мой РЕПО для справки. Я даже установил свой домен (lucasarruda.com) к нему.

Obs.: подождите несколько минут, когда вы только что создали репозиторий. Тогда установка должно быть почти мгновенно.

Я согласен, что это немного сложно, но как только у вас есть его настройка, он так прост в использовании. Вам не нужно клонировать ваше РЕПО github, все должно быть сделано в вашей папке Octopress (но вам нужно установить SSH-соединение с вашим РЕПО), вот как я его настроил:

из вашей учетной записи github:

  1. создайте новое РЕПО и назовите его username.github.io в моем случае iamaziz.github.io .


клон Octopress блог проект:

  1. git clone https://github.com/imathis/octopress.git

из корневой папки Octopress блог:

  1. выполнить rake setup_github_pages , и ansewer с вашими учетными данными РЕПО (тот, который вы только что создали). (Примечание: убедитесь, что у вас есть SSH ключ установки между аккаунта на GitHub и ваш компьютер.)
  2. выполнить rake generate (это создаст ваши сообщения и страницы)
  3. выполнить rake deploy (это будет толкать содержание _deploy на master филиал.)

он должен запросить ваш пароль ключа ssh (если он еще не сохранен в связке ключей), то вы увидите что-то вроде identity added: . и начнется развертывание.

Примечание:

если вы получите сообщение говорит permission denied при выполнении rake deploy , это означает, что SSH-ключ (открытый ключ) не существует или не установлен правильно. см.: разрешение на ошибку-отказано.

если все в порядке, ваш блог готов at: https://username.github.io/

еще одно:

однако вам также нужно нажать источник вашего проекта Octopress на source ветвь вашего РЕПО следующим образом, измените каталог на исходную папку и запустите:

  1. git add .
  2. git commit -m «your msg»
  3. git push origin source

готово!

отныне вы должны быть для ведения блога, как следует:

  1. создание и редактирование сообщений: rake new_post[«title»]
  2. генерировать их: rake generate
  3. разверните их на своих страницах github: rake deploy

Какую платформу для блога выбрать

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

1. Blogger

Эта платформа, принадлежащая Google, очень проста в использовании. Вы можете создать и настроить блог под свои нужды за считаные минуты. Хостинг и субдомен (название_блога.blogger.com) сервис предоставляет бесплатно.

С другой стороны, настройки внешнего вида и функциональности блогов ограничены. К вашим услугам лишь небольшое количество тем и простой редактор, хотя знания HTML и CSS позволят сделать дизайн более-менее уникальным. Но расширять возможности блога с помощью надстроек и плагинов нельзя.

Google не спешит развивать и поддерживать сервис. Поэтому Blogger выглядит устаревшим на фоне некоторых альтернатив.

Стоимость: бесплатно, но домен должен быть зарегистрирован и оплачен в стороннем сервисе.

2. WordPress

Сервис WordPress — гибкая платформа, которая отлично подойдёт как для любителя, так и для профессионала. Создать и оформить простой блог можно за несколько элементарных шагов. В каталоге WordPress найдётся огромное количество готовых тем на любой вкус. Но если вам нужно нечто посерьёзнее, сервис предлагает массу вариантов для настройки дизайна и функциональности.

Базовые возможности платформы, включая субдомен (название_сайта.wordpress.com) и 3 ГБ для хостинга, доступны бесплатно. Но в сервисе также есть платные тарифные планы, которые открывают доступ к продвинутым опциям вплоть до самостоятельной разработки дизайна и подключения плагинов. Чтобы использовать весь потенциал WordPress, нужно разбираться в веб-технологиях.

Стоимость: бесплатно, а с собственным доменом — от 200 рублей в месяц.

3. LiveJournal

Открыть блог на LiveJournal не сложнее, чем зарегистрироваться на форуме. Но основное преимущество сервиса — в социальной составляющей. Блог, созданный на этой платформе, становится частью большого сообщества с русскоязычной аудиторией. Как результат — блогеры получают дополнительные инструменты для привлечения новых читателей.

К недостаткам можно отнести неприглядный интерфейс сервиса и скудные возможности для оформления блогов. Затачивать функциональность под себя, как в WordPress, нельзя. Бесплатно пользователь получает субдомен (имя_блога.livejournal.com) и всего 1 ГБ для хостинга файлов. После оформления платной подписки вы получите больше настроек оформления и 100 ГБ доступного места на сервере.

Стоимость: базовые функции бесплатны, домен должен быть зарегистрирован и оплачен в стороннем сервисе.

4. Ghost

Простая блог-платформа, ничего лишнего. Интуитивный интерфейс и большое количество стильных тем (платных и бесплатных) во встроенном магазине сервиса делают Ghost визуально привлекательным как для блогеров, так и для аудитории. Сервис позволяет развернуть блог на собственном (платном) или стороннем веб-хостинге.

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

Стоимость: от 19 долларов в месяц (подключение домена включено в пакет).

5. Weebly

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

Для использования личного домена можно зарегистрировать его внутри сервиса (поддерживаются зоны .com, .net, .org). Возможно также подключение ранее зарегистрированных доменов. Бесплатный тарифный план включает только поддомен (название_сайта.weebly.com) и 500 МБ дискового пространства. Больше места и возможностей по контролю сайта — в платных тарифных планах.

Стоимость: бесплатно, с личным доменом — от 8 долларов в месяц.

octopress — Создание нового блога с Octopress

Я читаю этот учебник для создания нового блога с использованием октопресса

Я успешно установил все reuqired программное обеспечение, а также создал учетную запись heroku.

Я также завершил этот этап настройки октопресса с помощью героку

Теперь я нахожусь на том этапе, когда мне нужно настроить файл _config.yml.

Я немного запутался здесь в том, что я должен поместить в этот файл.

Может ли кто-нибудь поделиться образцом или каким-то советом о том, как я могу выполнить этот шаг и перейти к моему первому сообщению?

    2 1
  • 25 май 2020 2020-05-25 17:16:59
  • Knows Not Much

1 ответ

Вот как у меня это есть для Octopress в Heroku:

В config.yml заполните свой URL, заголовок, субтитры, автор, описание

Остальные значения по умолчанию должны работать.

Если у вас есть собственный домен, вам нужно добавить файл CNAMe.

Чтобы создать новое сообщение, вы используете рейк, как в rake new_post[Name of awesome post]

Затем откройте этот пост. Он находится под папкой source/_posts

Добавить содержимое после заголовка yml

Затем выполните шаги развертывания.

Я зарегистрировал октопресс для развертывания герой в моем блоге:

Нет никакой тайны. Если у вас есть еще вопросы, напишите мне @tomordonez или ответьте назад своими результатами

Добавить комментарий