diff options
Diffstat (limited to 'docs/_plugins/JekyllMarkdownLinkConverter/converter.rb')
-rw-r--r-- | docs/_plugins/JekyllMarkdownLinkConverter/converter.rb | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/docs/_plugins/JekyllMarkdownLinkConverter/converter.rb b/docs/_plugins/JekyllMarkdownLinkConverter/converter.rb deleted file mode 100644 index 95b8f1fb4..000000000 --- a/docs/_plugins/JekyllMarkdownLinkConverter/converter.rb +++ /dev/null @@ -1,66 +0,0 @@ -# We need to be placed in Kramdown::Converter. -# When calling a method on a Kramdown document of the form "to_****", -# Kramdown will shave off the "****" portion, Pascal-case it, and -# look for a class of that name in Kramdown::Converter. -# See https://github.com/gettalong/kramdown/blob/05d467bfb9abb732046e441ef1958471195d665d/lib/kramdown/document.rb#L113-L116 -module Kramdown - module Converter - # Fixes relative markdown links to point to their dash-separated, lowercased html outputs - class MarkdownLinkAmendedHtml < Html - def convert_a(el, indent) - href = el.attr['href'] - # Ensure that the link is relative to the site (doesn't start with "protocol://") - # and that it links to a markdown file. - if not /^\w+?:\/\// =~ href and href.end_with?('.md') - # Duplicate the attributes to avoid modifying the tree. - attr = el.attr.dup - - # Remove the 'md', replace whitespace with dashes, switch the extension to html - dir, md_base = File.split(href) - html_base = md_base.chomp('.md').gsub(/\s+|\.|'/, '-').downcase + '.html' - attr['href'] = File.join(dir, html_base) - - self.format_as_span_html(el.type, attr, self.inner(el, indent)) - else - super(el, indent) - end - end - end - end -end - -# One requirement for Jekyll not to freak out -# is that we need to be in the Jekyll::Converters::Markdown -# module to be a valid markdown converter. -module Jekyll - class Converters::Markdown::JekyllMarkdownLinkConverter < Converter - safe true - - # Match markdown files. - def matches(ext) - ext =~ /^\.md$/i - end - - # Output html files. - def output_ext(ext) - '.html' - end - - def convert(content) - kramdown_config = symbolize_keys(@config['kramdown']) - doc = Kramdown::Document.new(content, kramdown_config) - html = doc.to_markdown_link_amended_html - return html; - end - end -end - -def symbolize_keys(input) - result = {} - - input.each do |k,v| - result[k.intern] = v - end - - result -end
\ No newline at end of file |