Рассматривая переход от WordPress к Jekyll: что и где? - PullRequest
2 голосов
/ 29 июля 2011

Я пытаюсь выяснить, что потребуется для переноса моего текущего блога с WordPress на Jekyll, поскольку MySQL действительно слишком сложен для моего вкуса на данный момент.Я читал документы на GitHub о настройке, использовании и т. Д., Но установка менее понятна.

Я полагаю, что поскольку посты, макеты и другие файлы хранятся локально, то и требуемые гемы Ruby тоже есть?В то же время я видел, как другие говорили об установке на веб-хостинг (Dreamhost в моем случае), что было бы идеально, но я все еще не уверен.

Кроме того, я использую Mercurial вместо Git для SCM, поэтому мне, вероятно, нужно убедиться, что я могу использовать что-то вроде Hg-Git для развертывания.Любая помощь будет принята с благодарностью!

Ответы [ 3 ]

9 голосов
/ 30 июля 2011

Я думаю, что на ваш вопрос можно ответить с двух точек зрения: 1) Как запустить и запустить Jekyll и 2) Как перевести ваш текущий контент Wordpress в jekyll.Вот ответы, которые помогут вам начать с каждого по очереди.

Часть 1. Начало работы и запуск Jekyll

Первое, что нужно понять, это то, что Jekyll предназначен для генерации набора статических файлов HTML, которыеможет обслуживаться практически с любого веб-сервера без необходимости PHP, Ruby, Perl или любой другой динамической обработки на стороне сервера.

Конечно, Jekyll использует Ruby, так что вы должны запускать его везде, где вы делаете генерацию файлов.Хотя это может быть на том же сервере, который обслуживает файл, важно отметить, что это не обязательно.Например, все это допустимые рабочие процессы для публикации с помощью Jekyll:

  1. Создайте необработанные файлы на своем персональном компьютере, запустите там Jekyll, чтобы сгенерировать статические файлы HTML, а затем перенести их на удаленный компьютер.веб-сервер для обозрения.

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

  3. Запустите Jekyll на своем сервере, но отредактируйте необработанные файлы на локальном компьютере и отправьте их на сервер, когда вы будете готовы к публикации.Движок Jekyll будет принимать необработанные файлы и генерировать статические HTML-файлы на самом сервере.

Люди также имеют гораздо более сложные настройки, которые позволяют им отправлять сообщения с любого ноутбука,телефоны и сам сервер и получить все синхронизировано по всем направлениям через Dropbox.Вы можете проявить себя настолько креативно, насколько захотите, но я думаю, что самый простой способ начать - это первый.Редактируйте ваши необработанные файлы локально, запускайте Jekyll локально, а затем переносите полученные HTML-файлы на ваш веб-сервер, когда вы будете готовы к их запуску.

Локальная установка Jekyll

Очевидно, для этого вам понадобится установить Jekyll на локальном компьютере.Направления для этого можно найти на странице Github .Для меня, работающего под управлением Mac OS X 10.6, следующие команды помогли мне выполнить настройку.

sudo gem install rubygems-update
sudo update_rubygems

sudo gem update
sudo gem update --system

sudo gem install rails

sudo gem install maruku

sudo gem install jekyll

Примечание: я не думаю, что вам действительно нужны рельсы, но это те шаги, которые я прошел, и они работали для меня

Настройка для использованияJekyll

Если у вас есть Jekyll на вашем компьютере, базовая настройка сайта относительно проста.Создайте следующую структуру в пустом каталоге:

Каталоги:

  • _layouts
  • _posts
  • _site

Файлы и их содержимое:

  • _config.yml

    safe:        false
    auto:        false
    server:      false
    server_port: 4000
    base-url:    /
    
    source:      .
    destination: ./_site
    plugins:     ./_plugins
    
    future:      true
    lsi:         false
    pygments:    false
    markdown:    maruku
    permalink:   date
    
    maruku:
      use_tex:    false
      use_divs:   false
      png_engine: blahtex
      png_dir:    images/latex
      png_url:    /images/latex
    
    rdiscount:
      extensions: []
    
    kramdown:
      auto_ids: true,
      footnote_nr: 1
      entity_output: as_char
      toc_levels: 1..6
      use_coderay: false
    
      coderay:
        coderay_wrap: div
        coderay_line_numbers: inline
        coderay_line_numbers_start: 1
        coderay_tab_width: 4
        coderay_bold_every: 10
        coderay_css: style
    

    Это настройка конфигурации по умолчанию для Jekyll.Вы можете обойтись без этого файла, но при запуске процесса выдается предупреждение, что он не может найти файл.Итак, я бы пошел вперед и настроить его.Это также значительно облегчает работу с вещами, вместо того, чтобы посылать аргументы jekyll в командной строке.

  • _layouts / default.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>My Jekyll Site</title>
    </head>
    <body>
    
        <!-- This will be replaced with your content -->
        {{ content }}
    
        {{ site.posts }}
    
    </body>
    </html>
    

    Строка {{ content }} будет заменена обработанным содержимым файла "index.md", указанного ниже.Строка {{ site.posts }} будет заменена обратным хронологическим списком файлов в каталоге "_posts".GitHub имеет полный список фрагментов кода шаблона .

  • _posts / 2011-07-29-my-first-jekyll-post.md

    ---
    layout: default
    ---
    
    # My first Jekyll post.
    
    This is the content from 2011-07-29-my-first-jekyll-post.md
    
  • index.md

    ---
    layout: default
    ---
    
    # My Jekyll site
    
    This is the content from index.md
    

Здесь стоит указать, что вы можете использовать файлы .html или .textile вместо версий .md.До тех пор, пока у него есть Front Matter, который является первыми тремя строками, состоящими из тире и «layout: default», они будут обрабатываться Jekyll.

Генерация статических файлов с помощью Jekyll

Теперь, когда ваш исходный файл и структура каталогов настроены, просто откройте командную строку, перейдите в каталог, где вы создаете файл index.md, и выполните команду jekyll.Предполагая, что все прошло хорошо, вы должны увидеть краткий журнал процесса, и теперь у вас будет два HTML-файла:

_site/index.html
and
_site/2011/07/29/my-first-jekyll-post.html

Стоит указать файлы Markdown (.md) для исходного файла.,Вы также можете использовать .textile или .html.

Передача / Развертывание файлов.

Последний шаг в этом подходе - просто использовать FTP или rsync, чтобы передать файлы в корень вашего веб-сервера и поделиться ими со всем миром.Так как они представляют собой обычный HTML, это должно быть быстро и безболезненно, так как любой хостинг готов к работе.

(В своем вопросе вы упоминаете Git и Mercurial. Вы можете использовать либо для управления версиями и / или развертывания ваших необработанных файлов, а также статических файлов HTML, которые генерирует Jekyll, но ни один из них не требуется для запуска Jekyllили для передачи ваших файлов. Это все о том, как вы хотите настроить процесс развертывания.)

Часть 2. Перенос данных из WordPress

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

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

(). В личной заметке моя первая попытка миграции на WordPress не сработалаЯ не имел возможности вернуться к нему, чтобы начать работу, но я стремлюсь заставить его работать. Переход на гораздо более простой статический сайт, который уменьшает потенциальные проблемы безопасности, загружает быстрее и проще в обслуживаниидля меня абсолютно стоит иметь дело с миграцией. )

1 голос
/ 07 октября 2012

После того, как вы установили jekyll, вы можете попробовать этот плагин для wordpress https://github.com/benbalter/wordpress-to-jekyll-exporter

0 голосов
/ 29 июля 2011

Насколько я понимаю, Jekyll создает статические HTML-сайты.Конечно, Jekyll состоит из некоторого программного обеспечения Ruby, но это то, что вы можете запустить на любом компьютере (например, на своем домашнем компьютере, а не на веб-сервере).Таким образом, ваши потребности в веб-хостинге могут быть удовлетворены простыми статическими системами, такими как Github Pages .Теперь Github может автоматически обрабатывать вызов Jekyll для вас, но в целом идея состоит в том, чтобы загружать статический HTML на немые веб-серверы.

Я не думаю, что есть необходимость использовать Git специально для сайтов, созданных Jekyll.- Я уверен, что даже FTP будет в порядке.

...