我认为您的问题可以从两个角度来回答:1)如何让 Jekyll 启动并运行 2)如何将您当前的 Wordpress 内容放入 jekyll。以下是让您依次开始的答案。
第 1 部分 - 启动和运行 Jekyll
首先要意识到的是,Jekyll 旨在生成一组静态 HTML 文件,这些文件基本上可以从任何 Web 服务器提供,而无需 PHP、Ruby、Perl 或任何其他动态服务器端处理。
当然,Jekyll 使用 Ruby,因此无论您在哪里生成文件,都必须运行它。虽然这可能在为文件提供服务的同一台服务器上,但重要的是它不必如此。例如,所有这些都是使用 Jekyll 发布的有效工作流程:
在您的个人计算机上创建原始文件,在那里运行 Jekyll 以生成静态 HTML 文件,然后将它们传输到您的远程 Web 服务器以供全世界查看。
直接在您的服务器上运行 Jekyll 进行所有原始文件的编辑和创建,让 Jekyll 处理它们以供该机器上的 Web 服务器软件提供服务。
在您的服务器机器上运行 Jekyll,但在您的本地机器上编辑原始文件并在您准备发布时将它们推送到服务器。Jekyll 引擎将获取原始文件并在服务器本身上生成静态 HTML 文件。
人们还有更复杂的设置,允许他们从笔记本电脑、手机和服务器本身发布,并通过 Dropbox 全面同步所有内容。你可以随心所欲地发挥创意,但我认为最简单的开始是第一个。在本地编辑您的原始文件,在本地运行 Jekyll,然后在您准备好上线时将生成的 HTML 文件传输到您的 Web 服务器。
本地安装 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,获得一个基本的站点设置就相对简单了。在空目录中创建以下结构:
目录:
文件及其内容:
_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
索引.md
---
layout: default
---
# My Jekyll site
This is the content from index.md
值得指出的是,您可以使用 .html 或 .textile 文件而不是 .md 版本。只要有 YAML Front Matter,即由破折号和“布局:默认”组成的前三行,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 将文件推送到 Web 服务器的根目录并与全世界共享。由于它们是平面 HTML,因此几乎可以快速轻松地为它们准备好任何托管服务。
(在您的问题中,您提到了 Git 和 Mercurial。您可以使用它们来进行版本控制和/或部署原始文件以及 Jekyll 生成的静态 HTML 文件,但 Jekyll 运行或传输文件都不需要。这完全取决于您希望如何设置部署过程。)
第 2 部分 - 从 WordPress 迁移数据
以上所有内容都是关于从头开始有效地使用 Jekyll 本身。如果您一直在使用 WordPress(或任何其他引擎)并希望将您生成的页面和帖子保留在那里,您需要将它们从 WordPress 迁移到 Jekyll。
基本的想法是你将你的帖子和页面移动到 Jekyll 目录中的相应位置,然后让它从那里接管。我会在Jekyll 博客迁移页面上开始您对该主题的研究。
(就个人而言,我第一次尝试 WordPress 迁移并没有开箱即用。我还没有机会重新开始它,但我致力于让它发挥作用。移动到一个更简单的静态站点,它可以减少潜在的安全问题、加载速度更快且更易于维护,这对我来说完全值得处理迁移。)