Sha256: 5369fc957d7daac2f069673a1eb6328a146a47a51be58e9231f62814ac651963
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
# frozen_string_literal: true require 'yaml' require 'redcarpet' require 'rouge' require 'rouge/plugins/redcarpet' module Trifle module Docs module Harvester module Markdown class Render < Redcarpet::Render::HTML include Rouge::Plugins::Redcarpet end class Sieve < Harvester::Sieve def match? file.end_with?('.md') end def to_url file.gsub(%r{^#{path}/}, '') .gsub(%r{/?index\.md}, '') .gsub(/\.md/, '') end end class Conveyor < Harvester::Conveyor def content @content ||= Redcarpet::Markdown.new( Render.new(with_toc_data: true), fenced_code_blocks: true, disable_indented_code_blocks: true, footnotes: true ).render(data.gsub(/^---(.*?)---(\s*)/m, '')) end def meta @meta ||= YAML.load_file(file).merge( 'url' => "/#{url}", 'breadcrumbs' => url.split('/'), 'toc' => toc ) end def toc @toc ||= Redcarpet::Markdown.new( Redcarpet::Render::HTML_TOC ).render(data.gsub(/^---(.*?)---(\s*)/m, '')) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trifle-docs-0.1.0 | lib/trifle/docs/harvester/markdown.rb |