lib/makeup/markup.rb in makeup-0.4.2 vs lib/makeup/markup.rb in makeup-0.4.3
- old
+ new
@@ -20,10 +20,11 @@
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#++
+require "loofah"
require "github/markup"
require "makeup/code_block_parser"
require "makeup/syntax_highlighter"
module Makeup
@@ -54,10 +55,14 @@
@highlighter = options[:highlighter] || NoopHighlighter.new
end
def render(path, content)
content = highlight_code_blocks(path, content)
- GitHub::Markup.render(path, content)
+ sanitize(GitHub::Markup.render(path, content))
+ end
+
+ def sanitize(html)
+ Loofah.fragment(html).scrub!(:prune).to_s
end
def highlight_code_blocks(path, markup)
return markup unless path =~ /\.(md|mkdn?|mdwn|mdown|markdown)$/
CodeBlockParser.parse(markup) do |lexer, code|