Jekyll有很多主题,例如https://github.com/jekyll/jekyll/wiki/Themes.

在现有的Jekyll安装中切换到新主题的最简单方法是什么?

推荐答案

虽然您可以通过Forking 一个新主题,然后手动复制和粘贴_includes_layouts中的CSS、JS、HTML等资源,以及您可能需要的其他文件,从而迁移到现有的安装,但这可能不是一个好主意,因为您最终会有一个新旧资源的混搭,它们可能不是同名的,但在这种情况下(例如,您没有覆盖post引用的旧样式表),这将导致CSS样式混淆,您必须调试并缓慢修复这些样式.

Since I'm assuming you have a Jekyll install with Git(如果你没有,你真的应该这样做),你可以创建一个名为new-theme的分支,然后从master切换到这个分支,作为工作分支.(如果你不想处理Git分支,一个简单的方法就是复制整个Jekyll安装并将其粘贴到其他地方作为old-Jekyll-install(但实际上,你应该.Here's a tutorial,这帮助了我学习)

  1. 下拉新主题的文件.
  2. 手动复制_posts多个和您自定义的更改.
  3. 通过手动比较它们并查看必要的内容,输入_config.yml.
  4. 建立网站,看看你缺少了什么,什么可能会搞砸(例如,在过go ,你可能已经添加了几百个标签的间距,你不希望在新的主题).
  5. master合并(或将其推向生产)

尽管如此,所有这些都是相当手工的,而且很痛苦,但至少你不必处理资源冲突.不过,这样做的downside个好处是,您的存储库不会与主题回购同步.所以你不会得到upstream 更新.我仍然建议你先删除主题repo,为你的Jekyll网站移植你的个人定制,然后将该repo重命名为生产.(当然,这将不再使用"现有"Jekyll安装)

Ruby相关问答推荐

当bsearch将数组中的第一个元素与2个值匹配时,它返回nil.为什么?

有没有办法把条件语句写得更干净?

带有(*)签名的Ruby方法

RSpec:为什么 `instance_double` 可以与 StandardError 一起使用,但不能与其他异常类一起使用?

有没有办法保存 ruby​​ 代码的执行,以便稍后使用逐步重播对其进行调试?

如何使用 Ruby 删除字符串中某个字符后的子字符串?

Ruby:拆分,然后删除前导/尾随空格?

用于 ruby​​ gems 的新 10.9 OSX 的命令行工具?

如何判断 Capistrano 中是否存在文件(在远程服务器上)?

比较ruby中的两个字符串

从Electron邮件中删除签名和回复

我不明白Ruby本地范围(local scope)

在 Ruby 中,有没有办法使用 hash.each_with_index do |[k,v], i| 之类的东西?

如何在 ruby​​ 中解压缩 Gzip 字符串?

在 Ruby 中计算中位数

HAML 中 Javascript 中的 Ruby 方法

如何传递函数而不是块

通过 factory_girl 协会查找或创建记录

Ruby Activerecord IN 子句

Docker for Mac - mkmf.rb 找不到 ruby​​ 的头文件