Sha256: d2f7ede11e69e3793ebecfe22f0eced148a0e127e5eee3138e35b878417e13fc
Contents?: true
Size: 853 Bytes
Versions: 7
Compression:
Stored size: 853 Bytes
Contents
require 'devcenter-parser' module Devcenter class ArticleFile attr_reader :metadata, :html, :content, :parsing_error, :toc def initialize(opts = {}) @metadata = opts[:metadata] || OpenStruct.new @content = opts[:content] || '' markdown_flavour = @metadata.markdown_flavour || :maruku begin @html = ::DevcenterParser.to_html(@content, markdown_flavour.to_sym) rescue Exception => e @parsing_error = e.to_s @html = '' end @toc = Nokogiri::HTML(@html).search('h2') end def self.read(src_path) src = IO.read(src_path) metadata_yaml, content = src.split(/\r*\n\r*\n/, 2) metadata = OpenStruct.new YAML.load(metadata_yaml) markdown_flavour = metadata.markdown_flavour || :maruku new(metadata: metadata, content: content) end end end
Version data entries
7 entries across 7 versions & 1 rubygems