Merge pull request #3655 from alfredxing/sunset-maruku

Merge pull request 3655
This commit is contained in:
Parker Moore 2015-04-14 11:51:25 -07:00
commit 7d3a5f82be
9 changed files with 7 additions and 171 deletions

View File

@ -14,7 +14,6 @@ gem 'rdoc', '~> 3.11'
gem 'redgreen', '~> 1.2'
gem 'shoulda', '~> 3.5'
gem 'cucumber', '1.3.18'
gem 'maruku', '~> 0.7.0'
gem 'rdiscount', '~> 2.0'
gem 'launchy', '~> 2.3'
gem 'simplecov', '~> 0.9'

View File

@ -30,41 +30,3 @@ Feature: Markdown
Then the _site directory should exist
And I should see "Index" in "_site/index.html"
And I should see "<h1 id=\"my-title\">My Title</h1>" in "_site/index.html"
Scenario: Maruku fenced codeblocks
Given I have a configuration file with "markdown" set to "maruku"
And I have an "index.markdown" file with content:
"""
---
title: My title
---
# My title
```
My awesome code
```
"""
When I run jekyll build
Then the _site directory should exist
And I should see "My awesome code" in "_site/index.html"
And I should see "<pre><code>My awesome code</code></pre>" in "_site/index.html"
Scenario: Maruku fenced codeblocks with syntax highlighting
Given I have a configuration file with "markdown" set to "maruku"
And I have an "index.markdown" file with content:
"""
---
title: My title
---
# My title
```ruby
puts "My awesome string"
```
"""
When I run jekyll build
Then the _site directory should exist
And I should see "My awesome string" in "_site/index.html"
And I should see "<pre class="ruby"><code class="ruby">puts &quot;My awesome string&quot;</code></pre>" in "_site/index.html"

View File

@ -83,13 +83,6 @@ Feature: Site configuration
Then the _site directory should exist
And I should see "<a href=\"http://google.com\">Google</a>" in "_site/index.html"
Scenario: Use Maruku for markup
Given I have an "index.markdown" page that contains "[Google](http://google.com)"
And I have a configuration file with "markdown" set to "maruku"
When I run jekyll build
Then the _site directory should exist
And I should see "<a href=\"http://google.com\">Google</a>" in "_site/index.html"
Scenario: Highlight code with pygments
Given I have an "index.html" page that contains "{% highlight ruby %} puts 'Hello world!' {% endhighlight %}"
When I run jekyll build

View File

@ -56,15 +56,6 @@ module Jekyll
'quiet' => false,
'defaults' => [],
'maruku' => {
'use_tex' => false,
'use_divs' => false,
'png_engine' => 'blahtex',
'png_dir' => 'images/latex',
'png_url' => '/images/latex',
'fenced_code_blocks' => true
},
'rdiscount' => {
'extensions' => []
},
@ -257,9 +248,11 @@ module Jekyll
end
if config.fetch('markdown', 'kramdown').to_s.downcase.eql?("maruku")
Jekyll::Deprecator.deprecation_message "You're using the 'maruku' " +
"Markdown processor. Maruku support has been deprecated and will " +
"be removed in 3.0.0. We recommend you switch to Kramdown."
Jekyll.logger.abort_with "Error:", "You're using the 'maruku' " +
"Markdown processor, which has been removed as of 3.0.0. " +
"We recommend you switch to Kramdown. To do this, replace " +
"`markdown: maruku` with `markdown: kramdown` in your " +
"`_config.yml` file."
end
config

View File

@ -13,7 +13,6 @@ module Jekyll
when 'redcarpet' then RedcarpetParser.new(@config)
when 'kramdown' then KramdownParser.new(@config)
when 'rdiscount' then RDiscountParser.new(@config)
when 'maruku' then MarukuParser.new(@config)
else
# So they can't try some tricky bullshit or go down the ancestor chain, I hope.
if allowed_custom_class?(@config['markdown'])
@ -29,7 +28,6 @@ module Jekyll
def valid_processors
%w[
maruku
rdiscount
kramdown
redcarpet
@ -39,7 +37,6 @@ module Jekyll
def third_party_processors
self.class.constants - %w[
KramdownParser
MarukuParser
RDiscountParser
RedcarpetParser
PRIORITIES

View File

@ -1,55 +0,0 @@
module Jekyll
module Converters
class Markdown
class MarukuParser
def initialize(config)
require 'maruku'
@config = config
@errors = []
load_divs_library if @config['maruku']['use_divs']
load_blahtext_library if @config['maruku']['use_tex']
# allow fenced code blocks (new in Maruku 0.7.0)
MaRuKu::Globals[:fenced_code_blocks] = !!@config['maruku']['fenced_code_blocks']
rescue LoadError
STDERR.puts 'You are missing a library required for Markdown. Please run:'
STDERR.puts ' $ [sudo] gem install maruku'
raise Errors::FatalException.new("Missing dependency: maruku")
end
def load_divs_library
require 'maruku/ext/div'
STDERR.puts 'Maruku: Using extended syntax for div elements.'
end
def load_blahtext_library
require 'maruku/ext/math'
STDERR.puts "Maruku: Using LaTeX extension. Images in `#{@config['maruku']['png_dir']}`."
# Switch off MathML output
MaRuKu::Globals[:html_math_output_mathml] = false
MaRuKu::Globals[:html_math_engine] = 'none'
# Turn on math to PNG support with blahtex
# Resulting PNGs stored in `images/latex`
MaRuKu::Globals[:html_math_output_png] = true
MaRuKu::Globals[:html_png_engine] = @config['maruku']['png_engine']
MaRuKu::Globals[:html_png_dir] = @config['maruku']['png_dir']
MaRuKu::Globals[:html_png_url] = @config['maruku']['png_url']
end
def print_errors_and_fail
print @errors.join
raise MaRuKu::Exception, "MaRuKu encountered problem(s) while converting your markup."
end
def convert(content)
converted = Maruku.new(content, :error_stream => @errors).to_html.strip
print_errors_and_fail unless @errors.empty?
converted
end
end
end
end
end

View File

@ -514,14 +514,6 @@ quiet: false
defaults: []
# Markdown Processors
maruku:
use_tex: false
use_divs: false
png_engine: blahtex
png_dir: images/latex
png_url: /images/latex
fenced_code_blocks: true
rdiscount:
extensions: []

View File

@ -114,21 +114,6 @@ The various markup engines that Jekyll uses may have some issues. This
page will document them to help others who may run into the same
problems.
### Maruku
If your link has characters that need to be escaped, you need to use
this syntax:
{% highlight text %}
![Alt text](http://yuml.me/diagram/class/[Project]->[Task])
{% endhighlight %}
If you have an empty tag, i.e. `<script src="js.js"></script>`, Maruku
transforms this into `<script src="js.js" />`. This causes problems in
Firefox and possibly other browsers and is [discouraged in
XHTML.](http://www.w3.org/TR/xhtml1/#C_3) An easy fix is to put a space
between the opening and closing tags.
### Liquid
The latest version, version 2.0, seems to break the use of `{{ "{{" }}` in

View File

@ -30,7 +30,7 @@ class TestTags < JekyllUnitTest
title: This is a test
---
This document results in a markdown error with maruku
This document has some highlighted code in it.
{% highlight text %}
#{code}
@ -338,7 +338,7 @@ EOS
setup do
@content = <<CONTENT
---
title: Maruku vs. RDiscount
title: Kramdown vs. RDiscount vs. Redcarpet
---
_FIGHT!_
@ -351,17 +351,6 @@ puts "3..2..1.."
CONTENT
end
context "using Maruku" do
setup do
create_post(@content)
end
should "parse correctly" do
assert_match %r{<em>FIGHT!</em>}, @result
assert_match %r{<em>FINISH HIM</em>}, @result
end
end
context "using RDiscount" do
setup do
create_post(@content, 'markdown' => 'rdiscount')
@ -604,25 +593,6 @@ CONTENT
end
end
context "with fenced code blocks with backticks" do
setup do
content = <<CONTENT
```ruby
puts "Hello world"
```
CONTENT
create_post(content, {
'markdown' => 'maruku',
'maruku' => {'fenced_code_blocks' => true}}
)
end
should "render fenced code blocks" do
assert_match %r{<pre class=\"ruby\"><code class=\"ruby\">puts &quot;Hello world&quot;</code></pre>}, @result.strip
end
end
context "include missing file" do
setup do
@content = <<CONTENT