Sha256: 5188fb1df4fd1a0e2cd70370d9338b06a920d5e1d317b85d704d6dcf8719e6d3
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 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.sub(/^---(.*?)---(\s*)/m, '')) end def meta @meta ||= (YAML.safe_load(data[/^---(.*?)---(\s*)/m].to_s) || {}).merge( 'url' => "/#{url}", 'breadcrumbs' => url.split('/'), 'toc' => toc ) end def toc @toc ||= Redcarpet::Markdown.new( Redcarpet::Render::HTML_TOC ).render(data.sub(/^---(.*?)---(\s*)/m, '')) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trifle-docs-0.1.1 | lib/trifle/docs/harvester/markdown.rb |