Module: Markdpwn::Code
- Defined in:
- lib/markdpwn/code.rb
Overview
Code formatting.
Class Method Summary collapse
-
.pygment(code, options = {}) ⇒ Object
The raw Pygments output for parsing some code.
-
.pygments_lexer(options = {}) ⇒ String
The name of the Python lexer that is most suitable for some code.
-
.render(code, options = {}) ⇒ String
Marks up code.
Class Method Details
.pygment(code, options = {}) ⇒ Object
The raw Pygments output for parsing some code.
29 30 31 32 33 34 35 |
# File 'lib/markdpwn/code.rb', line 29 def self.pygment(code, = {}) lexer = pygments_lexer pygments_args = { :formatter => 'html', :options => { :encoding => 'utf-8', :nowrap => true } } pygments_args[:lexer] = lexer if lexer Pygments.highlight code, pygments_args end |
.pygments_lexer(options = {}) ⇒ String
The name of the Python lexer that is most suitable for some code.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/markdpwn/code.rb', line 44 def self.pygments_lexer( = {}) if language = [:language] lexer = begin Pygments.lexer_name_for :lexer => language rescue IOError nil end return lexer if lexer end if mime_type = [:mime_type] lexer = begin Pygments.lexer_name_for :mimetype => mime_type rescue IOError nil end return lexer if lexer end if file_name = [:file_name] lexer = begin Pygments.lexer_name_for :filename => file_name rescue IOError nil end return lexer if lexer end if code = [:code] lexer = begin Pygments.lexer_name_for code rescue IOError nil end return lexer if lexer end nil end |
.render(code, options = {}) ⇒ String
Marks up code.
19 20 21 22 23 24 25 |
# File 'lib/markdpwn/code.rb', line 19 def self.render(code, = {}) [ %Q|<div class="markdpwn-parsed-code">|, pygment(code, ), "</div>" ].join '' end |