1. Vastly improved backtick code blocks and added support for Textile

2. Refactored Octopress filters into Liquid filters and pre/post render filters (using post_filters plugin)
3. Added methods to raw plugin to prevent Markdown and Textile from parsing blocks
4. Updated render partial to invoke the pre_render method of post_filters
5. Moved Rubypants filter out of default.html into Octopress post_render filters
6. Added raw's safe_wrapper method to codeblock and include_code filters
This commit is contained in:
Brandon Mathis 2011-09-07 18:32:57 -05:00
parent b25db54f93
commit 3d2d1a8be4
7 changed files with 107 additions and 55 deletions

View file

@ -42,11 +42,13 @@
# </figure>
#
require './plugins/pygments_code'
require './plugins/raw'
module Jekyll
class CodeBlock < Liquid::Block
include HighlightCode
include TemplateWrapper
CaptionUrlTitle = /(\S[\S\s]*)\s+(https?:\/\/)(\S+)\s+(.+)/i
CaptionUrl = /(\S[\S\s]*)\s+(https?:\/\/)(\S+)/i
Caption = /(\S[\S\s]*)/
@ -78,14 +80,15 @@ module Jekyll
def render(context)
output = super
code = super.join
source = "<div><figure role=code>"
source = "<figure role=code>"
source += @caption if @caption
source = context['pygments_prefix'] + source if context['pygments_prefix']
if @filetype
source += " #{highlight(code, @filetype)}</figure></div>"
source += " #{highlight(code, @filetype)}</figure>"
else
source += "#{tableize_code(code.lstrip.rstrip.gsub(/</,'&lt;'))}</figure></div>"
source += "#{tableize_code(code.lstrip.rstrip.gsub(/</,'&lt;'))}</figure>"
end
source = safe_wrap(source)
source = context['pygments_prefix'] + source if context['pygments_prefix']
source = source + context['pygments_suffix'] if context['pygments_suffix']
end
end