[英]Jekyll LF/CRLF issue with git
我有一个Jekyll文件夹,其中仅使用git跟踪生产部分( _site
)。 当我运行命令使用jekyll serve -w
为本地站点提供jekyll serve -w
,文件将更改为LF或CRLF,具体取决于我正在使用的机器:Windows的CRLF,Mac的LF。 这真的很烦人,因为我每次切换操作系统时都会_site
所有文件。
我试图用autocrlf = false
在git config文件中修复此问题,但是由于文件是Jekyll在更高级别生成的,因此似乎完全没有影响。
有没有办法告诉Jekyll以LF或CRLF的特定格式生成所有文件?
三种明显的解决方案:
要用LF全局替换CR或CRLF,最简单的方法是在将文件写入目标位置时执行此操作。
这个插件重载了Jekyll:Convertible.write方法:
module Jekyll
module Convertible
def write(dest)
### begin overloading
# Replaces CR and CRLF by LF
self.output = self.output.gsub(/\r\n?/, "\n")
### end overloading
path = destination(dest)
FileUtils.mkdir_p(File.dirname(path))
File.open(path, 'wb') do |f|
f.write(output)
end
end
end
end
将其保存在_plugins / crlf.rb中,它将在jekyll 构建时自动运行。
配置您的代码编辑器以使用LF。 如果不能,请更改编辑器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.