S9Y Database
额外依赖项
此导入器需要以下额外库文件。
可以通过运行 gem install GEM_NAME 分别安装所需的 gem,或者使用下面这条命令一次性全部安装:
gem install nokogiri safe_yaml sequel unidecode
此导入器仅会转换你的文章并生成 YAML 前置元数据(front-matter)。 它不会导入任何布局、样式或外部文件(如图片、CSS 等)。
调用方式
调用导入器的示例命令:
jekyll-import s9ydatabase --dbname DB --socket SOCKET --user USER --password PW --host HOST --port PORT --table_prefix PREFIX --clean_entities --comments --categories --tags --drafts --markdown --permalinks --excerpt_separator --includeentry --imgfig --linebreak --relative
迁移选项
此导入器现在支持两个选项,可帮助你将博客迁移到新的托管服务提供商。
-
relative
设置为你的 URL 前缀后,会将文章中的所有绝对 URL 转换为相对路径。 例如,当设置为
myhost.com/blog时, 类似http://myhost.com/blog/lifestyle/7-lucky-post.html的 URL 会被转换为/lifestyle/7-lucky-post.html。请注意,不要在末尾添加
/斜杠,目前暂不支持https:。 -
linebreak
如果你使用过格式化扩展,这个选项可能会很有用。 你可以使用以下值之一,尽可能还原文章中的换行效果:
-
wp(默认值)
模拟 Wordpress 的换行行为,也是 S9Y 的默认行为。
-
nokogiri
使用
nokogirigem 将内容按 XHTML 格式解析。 如果你的文章使用 HTML 编写,这可以保留 HTML 中的换行。 -
ignore
此选项不会对文章内容进行任何处理, 而是直接原样导入到 Jekyll 中。
如果你的文章本身已经是兼容 Jekyll 的格式,这会很有帮助。
-
扩展选项
此导入器现在支持一些最常见的 S9Y 插件。
-
includeentry
设置为
true后,会像includeentry插件一样嵌入文章内容。 导入时会包含当前的静态内容,但之后的更新不会自动同步。 -
excerpt_separator
S9Y 会将普通正文视为摘要, 扩展正文(extended body)只在文章详情页中显示。
而 Jekyll 默认只会将文章第一段作为摘要。
此选项可帮助你恢复 S9Y 的行为: 带有扩展正文的文章会在 Front matter(页面头部参数)中添加指定的分隔符, 你可以修改索引页布局来显示这些摘要内容。
-
imgfig
默认情况下,此选项会将 S9Y 媒体库中的引用转换为 HTML
figure标签。如果设置为
false, 则会保留原始引用,你需要手动更新这些内容。