我正在试图弄清楚将当前博客从WordPress转移到Jekyll需要什么,因为MySQL在这一点上真的太复杂了。我已经在GitHub上阅读了有关配置,用法等的文档,但安装不太清楚。
我假设由于帖子,布局和其他文件都保存在本地,所以必需的Ruby宝石也是如此?与此同时,我看到其他人谈论安装到网络主机(在我的情况下是Dreamhost),这将是理想的,但我仍然不确定。
此外,我使用Mercurial代替Git for SCM,所以我可能需要确保我可以使用像Hg-Git这样的东西来帮助部署东西。任何帮助将不胜感激!
我认为你的问题可以从两个角度来回答:1)如何让Jekyll启动并运行2)如何将当前的Wordpress内容变成jekyll。以下是让您依次开始的答案。
首先要意识到的是,Jekyll旨在生成一组静态HTML文件,这些文件基本上可以从任何Web服务器提供,而无需PHP,Ruby,Perl或任何其他动态服务器端处理。
当然,Jekyll使用Ruby,所以你必须在文件生成的任何地方运行它。虽然这可能在服务文件的同一台服务器上,但重要的一点是它不一定是。例如,所有这些都是使用Jekyll发布的有效工作流程:
人们还有更复杂的设置,允许他们从他们的笔记本电脑,手机和服务器本身发布,并通过Dropbox将所有内容全部同步。你可以随心所欲地获得创意,但我认为最简单的就是第一个。在本地编辑原始文件,在本地运行Jekyll,然后在准备好生成时将生成的HTML文件传输到Web服务器。
显然,你需要在本地机器上安装Jekyll。可以找到on the Github page的方向。对于我自己,运行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
注意:我认为你实际上并不需要rails,但这些是我经历过的步骤,它们对我有用
在机器上安装Jekyll后,获得基本的站点设置相对简单。在空目录中创建以下结构:
目录:
文件及其内容:
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发送参数。<!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有一个full list of the template code snippets。---
layout: default
---
# My first Jekyll post.
This is the content from 2011-07-29-my-first-jekyll-post.md
---
layout: default
---
# My Jekyll site
This is the content from index.md
值得指出的是,您可以使用.html或.textile文件而不是.md版本。只要有YAML Front Matter,它是由破折号和“layout:default”组成的前三行,它们将由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既不需要运行也不需要传输文件。这都是关于如何设置部署过程的。)
以上所有内容都是关于使用Jekyll本身从头开始有效开始。如果您一直在使用WordPress(或任何其他引擎)并希望保留您在那里生成的页面和帖子,则需要将它们从WordPress迁移到Jekyll。
基本的想法是,您将您的帖子和页面移动到Jekyll目录中的相应位置,并让它从那里接管。我会在Jekyll Blog Migrations page上开始你对该主题的研究。
(就个人而言,我第一次尝试WordPress迁移并没有开箱即用。我没有机会跳回去实现它,但我致力于让它发挥作用。更简单的静态站点,减少潜在的安全问题,加载更快,更容易维护是完全值得为我处理迁移。)
安装jekyll之后,你可以试试这个wordpress插件https://github.com/benbalter/wordpress-to-jekyll-exporter
据我了解,Jekyll生成静态HTML网站。当然Jekyll包含一些Ruby软件,但这可以在任何计算机上运行(例如您的家用计算机而不是Web服务器)。这样,您可以通过简单的静态系统(如Github Pages)满足您的Web托管需求。现在,Github可以自动为您处理Jekyll调用,但一般来说,想法是将静态HTML上传到愚蠢的Web服务器。
我不认为有任何需要使用Git专门与Jekyll创建的网站 - 我相信即使FTP也没关系。