lib/blogue.rb in blogue-0.0.5 vs lib/blogue.rb in blogue-0.0.6
- old
+ new
@@ -16,33 +16,37 @@
mattr_accessor :blanket_checksum_calc
self.blanket_checksum_calc = -> do
Digest::MD5.hexdigest(checksums.values.sort.join)
end
+ mattr_accessor :default_markdown_format_handler
+ self.default_markdown_format_handler = -> template {
+ mdown = ActionView::Template.registered_template_handler(:erb).(template)
+ "Kramdown::Document.new(begin;#{mdown};end).to_blogue"
+ }
+
+ mattr_accessor :default_kramdown_codeblock_handler
+ self.default_kramdown_codeblock_handler = -> el, indent {
+ attr = el.attr.dup
+ lang = extract_code_language!(attr)
+
+ begin
+ Rouge.highlight(el.value, lang || 'text', 'html')
+ rescue RuntimeError
+ Rouge.highlight(el.value, 'text', 'html')
+ end
+ }
+
mattr_accessor :markdown_format_handler
def self.setup_kramdown_for_handling_md_files
require 'kramdown/converter/blogue'
-
- self.markdown_format_handler ||= -> template {
- mdown = ActionView::Template.registered_template_handler(:erb).(template)
- "Kramdown::Document.new(begin;#{mdown};end).to_blogue"
- }
-
+ self.markdown_format_handler ||= default_markdown_format_handler
ActionView::Template.register_template_handler :md, markdown_format_handler
end
mattr_accessor :kramdown_codeblock_handler
def self.use_rouge_codeblock_handler
- self.kramdown_codeblock_handler ||= -> el, indent {
- attr = el.attr.dup
- lang = extract_code_language!(attr)
-
- begin
- Rouge.highlight(el.value, lang || 'text', 'html')
- rescue RuntimeError
- Rouge.highlight(el.value, 'text', 'html')
- end
- }
+ self.kramdown_codeblock_handler ||= default_kramdown_codeblock_handler
end
mattr_accessor :checksums
def self.set_checksums
self.checksums = Hash[