我有一个Jekyll文件夹,其中只使用git跟踪生产部分(_site
)。当我运行命令以jekyll serve -w
为本地站点提供服务时,文件将根据我正在使用的计算机更改为LF或CRLF:Windows的CRLF,Mac的LF。这真的很烦人,因为我每次切换操作系统时都会提交_site
内的所有文件。
我已尝试使用autocrlf = false
在git配置文件中修复此问题,但由于文件是由Jekyll在更高级别生成的,因此它似乎没有任何影响。
有没有办法告诉Jekyll生成特定格式的所有文件,LF或CRLF?
答案 0 :(得分:1)
三个明显的解决方案:
要通过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 build 时运行。
配置代码编辑器以使用LF。如果你不能改变编辑。