Sha256: dcfda0dbb23a277ce9e61c36a2ecfb3a9ad244b551b39c08a6cebcaf869d0fa1
Contents?: true
Size: 1.48 KB
Versions: 3
Compression:
Stored size: 1.48 KB
Contents
require 'active_support/inflector' require 'github/markup' require 'html/pipeline' require 'pathname' require "vimwiki_markdown/vimwiki_link" class VimwikiMarkdown::WikiBody def initialize(options) @options = options end def to_s @markdown_body = get_wiki_markdown_contents fixlinks github_markup = GitHub::Markup.render('README.markdown', markdown_body) pipeline = HTML::Pipeline.new [ HTML::Pipeline::SyntaxHighlightFilter, HTML::Pipeline::TableOfContentsFilter ] result = pipeline.call(github_markup) result[:output].to_s end private attr_reader :options, :markdown_body def get_wiki_markdown_contents file = File.open(options.input_file, "r") file.read end def fixlinks convert_wiki_style_links_with_title_bar! convert_wiki_style_links! convert_markdown_local_links! end def convert_wiki_style_links_with_title_bar! wiki_bar = /\[\[(?<source>.*)\|(?<title>.*)\]\]/ @markdown_body.gsub!(wiki_bar) do source = Regexp.last_match[:source] title = Regexp.last_match[:title] "[#{title}](#{source})" end end def convert_wiki_style_links! @markdown_body.gsub!(/\[\[(.*?)\]\]/) do link= Regexp.last_match[1] "[#{link}](#{link})" end end def convert_markdown_local_links! @markdown_body = @markdown_body.gsub(/\[.*?\]\(.*?\)/) do |match| VimwikiMarkdown::VimwikiLink.new(match, options.input_file, options.extension, options.root_path).to_s end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vimwiki_markdown-0.2.5 | lib/vimwiki_markdown/wiki_body.rb |
vimwiki_markdown-0.2.4 | lib/vimwiki_markdown/wiki_body.rb |
vimwiki_markdown-0.2.3 | lib/vimwiki_markdown/wiki_body.rb |