ruby Jekyll HTML压缩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Jekyll HTML压缩相关的知识,希望对你有一定的参考价值。

module Jekyll

  module Compressor
    def compress_html(content)
      content.gsub(/(?>[^\S ]\s*|\s{2,})(?=(?:(?:[^<]++|<(?!\/?(?:textarea|pre)\b))*+)(?:<(?>textarea|pre)\b|\z))/ix, '')
    end

    def output_file(dest, content)
      FileUtils.mkdir_p(File.dirname(dest))
      File.open(dest, 'w') do |f|
        f.write(content)
      end
    end

    def output_html(dest, content)
      path = self.destination(dest)
      self.output_file(path, compress_html(content))
    end
  end

  class Post
    include Compressor

    def write(dest)
      self.output_html(dest, self.output)
    end
  end

  class Document
    include Compressor

    def write(dest)
      self.output_html(dest, self.output)
    end
  end


  class Page
    include Compressor

    def write(dest)
      self.output_html(dest, self.output)
    end
  end

end

以上是关于ruby Jekyll HTML压缩的主要内容,如果未能解决你的问题,请参考以下文章

ruby Jekyll模板中的环境变量

ruby 中等喜欢Jekyll的阅读时间

ruby Jekyll为Marked.app渲染

ruby Jekyll标记云/标签页插件

ruby Jekyll的灵活,对数分布,标签云。

ruby Jekyll Lightbox图像插件