2016-08-20 3 views
0

Я пытаюсь связать сноски, чтобы работать, но почему-то Redcarpet просто не распознает расширение footnote. Я перехожу к инициализатору. Я бегу Redcarpet версии 3.3.4, которая должна иметь функциональные сносок объединены в мастера, как описано в этих постах: Post 1Redcarpet Расширение сносок не работает

Post 2

Renderer Клиент класс CustomMarkdownParser < Redcarpet :: Рендер :: HTML

include ActionView::Helpers::UrlHelper 
    include ActionView::Helpers::AssetTagHelper 
    include AbstractController::Rendering 

    def block_code(code, language) 
     Pygments.highlight(code, lexer: language) 
    end 

    def parse_media_link(link) 
    end 


    def image(link, title, alt_text) 
    end 

    def link(link, title, content) 
    end 

    #def footnote_def(content, number) 
    #end 

    #def footnote_ref(number) 
    #end 
end 

функция уценки в application_helper

def md_parser(content) 
    puts "Parsing Markdown" 
    renderer = CustomMarkdownParser.new(
      hard_wrap: true, 
      filter_html: true, 
      with_toc_data: true) 

    options ={ 

    } 

    markdown = Redcarpet::Markdown.new(renderer, 
             autolink: true, # detect links and wrap them in link tags 
             no_intra_emphasis: true, # ensures _ inside words are not repolaced with <em> tags 
             disable_indented_code_blocks: true, # does not convert lines prefixed with 4 spaces 
             fenced_code_blocks: true, 
             lax_spacing: true, 
             strikethrough: true, 
             footnotes: true, 
             superscript: true, 
             tables: true, 
             underline: true 
    ) 

    markdown.render(content).html_safe 
end 

Я посмотрел Atthe кода драгоценного камня и в нем перечислены следующие расширения:

EXTENSION_MAP = { 
# old name => new name 
:autolink   => :autolink, 
:fenced_code  => :fenced_code_blocks, 
:filter_html  => :filter_html, 
:hard_wrap  => :hard_wrap, 
:prettify   => :prettify, 
:lax_htmlblock => :lax_spacing, 
:no_image   => :no_images, 
:no_intraemphasis => :no_intra_emphasis, 
:no_links   => :no_links, 
:filter_styles => :no_styles, 
:safelink   => :safe_links_only, 
:space_header  => :space_after_headers, 
:strikethrough => :strikethrough, 
:tables   => :tables, 
:generate_toc  => :with_toc_data, 
:xhtml   => :xhtml, 

# old names with no new mapping 
:gh_blockcode => nil, 
:no_tables => nil, 
:smart  => nil, 
:strict  => nil 
} 

Я не знаю, почему сносок не входит. выход я получаю это (читай ^, как верхний индекс, закрывающая квадратная скобка верхнего индекса, а): Atlantic [^ 1], [^ 1] Это сноска

ответ

0

В пользовательской визуализатора вы переопределить методы обработки сносок, чтобы они ничего не делали. Просто удалите эти методы (footnote_def и footnote_ref) и разрешите запуск оригиналов.

Кроме того, синтаксис сноски определений требует двоеточия, которые вы, кажется, не хватают:

[^1]: This is the footnote 
+0

я комментировал из этих методов. – danielbker

+0

@ danielbker, похоже, у вас тоже синтаксис, см. Мое обновление – matt

+0

СПАСИБО! Там должны быть разные версии разметки. Используемый чит-лист не имеет точки с запятой в определении сноски. ха-ха. Благодаря! – danielbker