diff --git a/Gemfile b/Gemfile
index 1f31549e9..08ab18af2 100644
--- a/Gemfile
+++ b/Gemfile
@@ -76,7 +76,6 @@ group :jekyll_optional_dependencies do
gem "classifier-reborn", "~> 2.2.0"
gem "liquid-c", "~> 3.0"
gem "pygments.rb", "~> 1.0"
- gem "rdiscount", "~> 2.0"
gem "yajl-ruby", "~> 1.3"
end
diff --git a/History.markdown b/History.markdown
index 95eab348c..db99bcc3b 100644
--- a/History.markdown
+++ b/History.markdown
@@ -1,5 +1,7 @@
## HEAD
+ * Textile is only supported through a converter plugin (#7003)
+
### Documentation
* Release post for v3.8.0 (#6849)
@@ -14,6 +16,9 @@
* Update Windows install docs (#6926)
* Remove documentation for using Redcarpet (#6990)
* Updated nginx configuration for custom-404-page documentation (#6994)
+ * List all static files variables (#7002)
+ * Document that _drafts need to be contained within the custom collection directory (#6985)
+ * proposed change for passive voice. (#7005)
### Minor Enhancements
@@ -31,6 +36,7 @@
* We are not using Ruby 2.2 anymore (#6977)
* Drop support for older versions of Rouge (#6978)
* Remove support for Redcarpet (#6987)
+ * Remove support for rdiscount (#6988)
### Development Fixes
@@ -38,6 +44,7 @@
* Loggers should accept both numbers and symbols (#6967)
* Update instructions for releasing docs Gem (#6975)
* yajl-ruby update to v1.4.0 (#6976)
+ * Load Rouge for TestKramdown (#7007)
## 3.8.1 / 2018-05-01
diff --git a/docs/_docs/collections.md b/docs/_docs/collections.md
index c45a38682..6309517c0 100644
--- a/docs/_docs/collections.md
+++ b/docs/_docs/collections.md
@@ -56,9 +56,9 @@ defaults:
-
Be sure to move posts into custom collections directory
+
Be sure to move drafts and posts into custom collections directory
-
If you specify a directory to store all your collections in the same place with collections_dir: my_collections, then you will need to move your _posts directory to my_collections/_posts. Note that, the name of your collections directory cannot start with an underscore (`_`).
+
If you specify a directory to store all your collections in the same place with collections_dir: my_collections, then you will need to move your _drafts and _posts directory to my_collections/_drafts and my_collections/_posts. Note that, the name of your collections directory cannot start with an underscore (`_`).
### Step 2: Add your content {#step2}
diff --git a/docs/_docs/contributing.md b/docs/_docs/contributing.md
index f1c643d3f..9eea7282d 100644
--- a/docs/_docs/contributing.md
+++ b/docs/_docs/contributing.md
@@ -16,7 +16,7 @@ Whether you're a developer, a designer, or just a Jekyll devotee, there are lots
* [Install Jekyll on your computer](https://jekyllrb.com/docs/installation/) and kick the tires. Does it work? Does it do what you'd expect? If not, [open an issue](https://github.com/jekyll/jekyll/issues/new) and let us know.
* Comment on some of the project's [open issues](https://github.com/jekyll/jekyll/issues). Have you experienced the same problem? Know a work around? Do you have a suggestion for how the feature could be better?
-* Read through [the documentation](https://jekyllrb.com/docs/home/), and click the "improve this page" button, any time you see something confusing, or have a suggestion for something that could be improved.
+* Read through [the documentation](https://jekyllrb.com/docs/home/), and click the "improve this page" button, any time you see something confusing, or have a suggestion on how to improve something.
* Browse through [the Jekyll discussion forum](https://talk.jekyllrb.com/), and lend a hand answering questions. There's a good chance you've already experienced what another user is experiencing.
* Find [an open issue](https://github.com/jekyll/jekyll/issues) (especially [those labeled `help-wanted`](https://github.com/jekyll/jekyll/issues?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted)), and submit a proposed fix. If it's your first pull request, we promise we won't bite, and are glad to answer any questions.
* Help evaluate [open pull requests](https://github.com/jekyll/jekyll/pulls), by testing the changes locally and reviewing what's proposed.
diff --git a/docs/_docs/pagination.md b/docs/_docs/pagination.md
index 41a3a8a26..1735ee640 100644
--- a/docs/_docs/pagination.md
+++ b/docs/_docs/pagination.md
@@ -14,7 +14,7 @@ your `_config.yml` under `plugins`. For Jekyll 2, this is standard.
Pagination only works within HTML files
- Pagination does not work from within Markdown or Textile files from
+ Pagination does not work from within Markdown files from
your Jekyll site. Pagination works when called from within the HTML
file, named index.html, which optionally may reside in and
produce pagination from within a subdirectory, via the
diff --git a/docs/_docs/structure.md b/docs/_docs/structure.md
index 6735d6e02..6a069f29f 100644
--- a/docs/_docs/structure.md
+++ b/docs/_docs/structure.md
@@ -5,7 +5,8 @@ permalink: /docs/structure/
Jekyll is, at its core, a text transformation engine. The concept behind the
system is this: you give it text written in your favorite markup language, be
-that Markdown, Textile, or just plain HTML, and it churns that through a layout
+that Markdown, [Textile](https://github.com/jekyll/jekyll-textile-converter)
+, or just plain HTML, and it churns that through a layout
or a series of layout files. Throughout that process you can tweak how you want
the site URLs to look, what data gets displayed in the layout, and more. This
is all done through editing text files; the static web site is the final
@@ -185,7 +186,7 @@ An overview of what each of these does:
|
index.html or index.md and other HTML,
- Markdown, Textile files
+ Markdown files
|
diff --git a/docs/_docs/upgrading/2-to-3.md b/docs/_docs/upgrading/2-to-3.md
index c12a1a91f..bafda35ff 100644
--- a/docs/_docs/upgrading/2-to-3.md
+++ b/docs/_docs/upgrading/2-to-3.md
@@ -44,6 +44,10 @@ For `site.collections.myCollection` in Jekyll 2, you now do:
This is a bit cumbersome at first, but is easier than a big `for` loop.
+### Textile support
+
+We dropped native support for Textile, from now on you have to install our [jekyll-textile-converter](https://github.com/jekyll/jekyll-textile-converter) plugin to work with Textile files.
+
### Dropped dependencies
We dropped a number of dependencies the Core Team felt were optional. As such, in 3.0, they must be explicitly installed and included if you use any of the features. They are:
diff --git a/docs/_docs/variables.md b/docs/_docs/variables.md
index a53d9285d..d39def6e7 100644
--- a/docs/_docs/variables.md
+++ b/docs/_docs/variables.md
@@ -124,8 +124,7 @@ following is a reference of the available data.
A list of all static files (i.e.
files not processed by Jekyll's converters or the Liquid renderer).
- Each file has three properties: path,
- modified_time and extname.
+ Each file has five properties: path, modified_time, name, basename and extname.
|
diff --git a/docs/index.html b/docs/index.html
index 082e02d8e..a33774784 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -21,7 +21,7 @@ overview: true
diff --git a/features/site_configuration.feature b/features/site_configuration.feature
index 4baa36a87..698c59bca 100644
--- a/features/site_configuration.feature
+++ b/features/site_configuration.feature
@@ -65,14 +65,6 @@ Feature: Site configuration
And the "_site/Rakefile" file should not exist
And the "_site/README" file should not exist
- Scenario: Use RDiscount for markup
- Given I have an "index.markdown" page that contains "[Google](https://www.google.com)"
- And I have a configuration file with "markdown" set to "rdiscount"
- When I run jekyll build
- Then I should get a zero exit status
- And the _site directory should exist
- And I should see "
Google" in "_site/index.html"
-
Scenario: Use Kramdown for markup
Given I have an "index.markdown" page that contains "[Google](https://www.google.com)"
And I have a configuration file with "markdown" set to "kramdown"
diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb
index fb51cd5b6..e49eb62bd 100644
--- a/lib/jekyll/configuration.rb
+++ b/lib/jekyll/configuration.rb
@@ -66,10 +66,6 @@ module Jekyll
"strict_variables" => false,
},
- "rdiscount" => {
- "extensions" => [],
- },
-
"kramdown" => {
"auto_ids" => true,
"toc_levels" => "1..6",
diff --git a/lib/jekyll/converters/markdown.rb b/lib/jekyll/converters/markdown.rb
index 567bc120e..3c1c34587 100644
--- a/lib/jekyll/converters/markdown.rb
+++ b/lib/jekyll/converters/markdown.rb
@@ -30,8 +30,7 @@ module Jekyll
# rubocop:disable Naming/AccessorMethodName
def get_processor
case @config["markdown"].downcase
- when "kramdown" then return KramdownParser.new(@config)
- when "rdiscount" then return RDiscountParser.new(@config)
+ when "kramdown" then return KramdownParser.new(@config)
else
custom_processor
end
@@ -43,7 +42,7 @@ module Jekyll
# are not in safe mode.)
def valid_processors
- %w(rdiscount kramdown) + third_party_processors
+ %w(kramdown) + third_party_processors
end
# Public: A list of processors that you provide via plugins.
@@ -52,7 +51,7 @@ module Jekyll
def third_party_processors
self.class.constants - \
- %w(KramdownParser RDiscountParser PRIORITIES).map(
+ %w(KramdownParser PRIORITIES).map(
&:to_sym
)
end
diff --git a/lib/jekyll/converters/markdown/rdiscount_parser.rb b/lib/jekyll/converters/markdown/rdiscount_parser.rb
deleted file mode 100644
index 9da177d4b..000000000
--- a/lib/jekyll/converters/markdown/rdiscount_parser.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-# frozen_string_literal: true
-
-module Jekyll
- module Converters
- class Markdown
- class RDiscountParser
- def initialize(config)
- unless defined?(RDiscount)
- Jekyll::External.require_with_graceful_fail "rdiscount"
- end
- @config = config
- @rdiscount_extensions = @config["rdiscount"]["extensions"].map(&:to_sym)
- end
-
- def convert(content)
- rd = RDiscount.new(content, *@rdiscount_extensions)
- html = rd.to_html
- if @config["rdiscount"]["toc_token"]
- html = replace_generated_toc(rd, html, @config["rdiscount"]["toc_token"])
- end
- html
- end
-
- private
- def replace_generated_toc(rd_instance, html, toc_token)
- if rd_instance.generate_toc && html.include?(toc_token)
- utf8_toc = rd_instance.toc_content
- utf8_toc.force_encoding("utf-8") if utf8_toc.respond_to?(:force_encoding)
- html.gsub(toc_token, utf8_toc)
- else
- html
- end
- end
- end
- end
- end
-end
diff --git a/test/helper.rb b/test/helper.rb
index a3cd6568c..9e01b7de2 100644
--- a/test/helper.rb
+++ b/test/helper.rb
@@ -34,10 +34,6 @@ require_relative "../lib/jekyll.rb"
Jekyll.logger = Logger.new(StringIO.new, :error)
-unless jruby?
- require "rdiscount"
-end
-
require "kramdown"
require "shoulda"
diff --git a/test/test_kramdown.rb b/test/test_kramdown.rb
index f7b5ea70d..62b70dddd 100644
--- a/test/test_kramdown.rb
+++ b/test/test_kramdown.rb
@@ -1,6 +1,7 @@
# frozen_string_literal: true
require "helper"
+require "rouge"
class TestKramdown < JekyllUnitTest
context "kramdown" do
diff --git a/test/test_rdiscount.rb b/test/test_rdiscount.rb
deleted file mode 100644
index 7116c29a2..000000000
--- a/test/test_rdiscount.rb
+++ /dev/null
@@ -1,51 +0,0 @@
-# frozen_string_literal: true
-
-require "helper"
-
-class TestRdiscount < JekyllUnitTest
- context "rdiscount" do
- setup do
- if jruby?
- then skip(
- "JRuby does not perform well with CExt, test disabled."
- )
- end
-
- config = {
- "markdown" => "rdiscount",
- "rdiscount" => {
- "toc_token" => "{:toc}",
- "extensions" => %w(smart generate_toc),
- },
- }
-
- @markdown = Converters::Markdown.new config
- end
-
- should "pass rdiscount extensions" do
- assert_equal "
“smart”
", @markdown.convert('"smart"').strip
- end
-
- should "render toc" do
- toc = <<-TOC
-
-
Header 1
-
-
-
Header 2
-
-
-
-
-TOC
- assert_equal toc.strip,
- @markdown.convert("# Header 1\n\n## Header 2\n\n{:toc}").strip
- end
- end
-end
diff --git a/test/test_tags.rb b/test/test_tags.rb
index 739ced214..54b8e4b7a 100644
--- a/test/test_tags.rb
+++ b/test/test_tags.rb
@@ -494,7 +494,7 @@ EOS
setup do
@content = <
"rdiscount",
- })
- end
-
- should "parse correctly" do
- assert_match %r{FIGHT!}, @result
- assert_match %r!FINISH HIM!, @result
- end
- end
-
context "using Kramdown" do
setup do
create_post(@content, "markdown" => "kramdown")