Commit Graph

177 Commits

Author SHA1 Message Date
Pat Hawks cda226de45
Rubocop: Style/EmptyLinesAroundClassBody
- Extra empty line detected at class body end
2016-01-03 15:55:33 -08:00
Pat Hawks 98a19cdf2b
Rubocop: Style/PercentLiteralDelimiters
- %w-literals should be delimited by ( and )
Rubocop: Style/WordArray
 - Use %w or %W for array of words
2016-01-03 15:32:11 -08:00
Parker Moore 1b73751abf Merge branch 'fixup-custom-markdown'
* fixup-custom-markdown:
  markdown: minor style fixes
  Add support for underscores.
  Refactor: lib/jekyll/convertor/markdown.rb - tests: no additions/breaks.
2015-12-27 08:24:16 -05:00
Parker Moore 8e887dcd8b markdown: minor style fixes
ref: #3771
2015-12-27 08:24:00 -05:00
Parker Moore fe13c3b366 KramdownConverter: clean up some source with some unified methods 2015-12-04 09:21:11 -08:00
Jordon Bedwell 3432fd2c2d Modernize Kramdown for Markdown converter. 2015-12-04 08:09:08 -06:00
Paul Robert Lloyd e5279d4773 Santize @config['highlighter'] to only allow highlighters supported by kramdown 2015-11-01 23:04:59 +00:00
Paul Robert Lloyd 9d1641f163 Fix #3371 - kramdown:syntax_highlighter should automatically take value of highlighter 2015-10-31 23:58:49 +00:00
Jordon Bedwell 908bb2e7af Fix #3970: Use Gem::Version to compare versions, not >. 2015-09-11 14:44:20 -05:00
Jordon Bedwell 137efdc9f4 Fix: #3738; Move code wrapper from div to figure. 2015-06-10 15:20:44 -05:00
Jordon Bedwell a58f23aeaf Add support for underscores. 2015-06-10 15:05:17 -05:00
Jordon Bedwell 34438ed325 Refactor: lib/jekyll/convertor/markdown.rb - tests: no additions/breaks.
Reason: #3770
2015-06-10 15:04:25 -05:00
Alfred Xing ae039663b9 Remove Maruku and references to it 2015-04-14 10:58:47 -07:00
Parker Moore c378f741a8 Merge pull request #3319 from jekyll/split-off-textile 2015-01-17 17:08:15 -08:00
Parker Moore 877cba9811 Remove direct baked-in support for Textile. 2015-01-17 16:51:28 -08:00
Parker Moore ef2d558874 Markdown#matches should avoid regexp 2015-01-17 16:25:10 -08:00
Parker Moore c576d23908 Use External instead of Deprecator for requiring gracefully 2014-12-28 14:37:49 -05:00
Parker Moore d35af9c1f3 Read 'enable_coderay' in the Kramdown parser 2014-12-26 22:16:57 -05:00
Brandon Bradley e546eb3e9f force markdown regexp to match the full extension 2014-11-24 20:08:31 -06:00
Parker Moore 4942b2947b Only compile the Converter#matches regexp when asked for 2014-10-12 14:31:49 -07:00
Parker Moore 44c9f81921 Cache the extname regexp in Converters::Markdown and Textile 2014-10-12 14:06:16 -07:00
Parker Moore e6f89074d4 Rouge's Redcarpet plugin now has a different API
See for more:
- 18ec938e9c
- https://github.com/jneen/rouge/issues/182
2014-09-22 23:03:49 -07:00
Alfred Xing 6d62dbbafc Replace deprecated Ruby methods
Replace `Hash#has_key?` and `File.exists?` with `Hash#key?`
and `File.exist?`
2014-07-31 12:50:20 -07:00
Alfred Xing 475e08bba3 Replace all RubyForge links with new residences 2014-07-16 13:43:09 -07:00
Parker Moore c7cc36abdb Put errors/exceptions into Jekyll::Errors module 2014-07-12 13:47:59 -07:00
Parker Moore a97ae67552 Gracefully require 2014-07-12 13:46:49 -07:00
Parker Moore 6849d6a5e5 If rouge isn't there, say so.
In the previous version, it would say 'redcarpet' wasn't installed,
due to the rescue LoadError block on line 93. This change will tell
the user that, in fact, rouge isn't installed and that this is the
cause of the error, not that redcarpet isn't installed.

Fixes #2464.
https://github.com/jekyll/jekyll/issues/2464
2014-05-30 17:59:47 -04:00
Valery Tolstov 4ae8fefb95 Remove literal lang name from class, fix #2284
If code language is C classes for comment and language are the same
2014-05-03 20:23:28 +04:00
Ben Hanzl f2ed30dff5 Move rouge loading 2014-03-31 19:48:18 -04:00
Fabian Rodriguez 4c5dfa1391 remove unused variables 2014-03-27 19:49:41 -03:00
Parker Moore 7787d64bce Rename those Utils functions. 2014-03-04 15:52:05 -05:00
Parker Moore e2af1b547b Extract core extensions into a Utils module
Fixes #2111
2014-03-03 22:13:03 -05:00
Parker Moore 9ffb984f37 Sass support should be shipped outside core. 2014-02-28 21:12:00 -05:00
Parker Moore d7598ee9d2 Ensure inputted code is a string. 2014-02-24 17:42:46 -05:00
Parker Moore c9a3c40f83 fixes based on @mattr-'s notes 2014-01-24 12:19:19 -05:00
Parker Moore 4afe39e461 Allow caching in unsafe mode, but disable in safe mode. 2014-01-12 21:36:08 -08:00
Parker Moore 4784d1de18 Build Sass configuration options. 2014-01-12 21:30:30 -08:00
Parker Moore 22d4e2aa90 Consolidate into one master 'Sass' converter. 2014-01-12 21:30:29 -08:00
Parker Moore daa0b76484 Allow users to specify options for Sass. 2014-01-12 21:30:29 -08:00
Parker Moore 4da7223831 Fixes for Sass/SCSS converters. 2014-01-12 21:30:29 -08:00
Parker Moore 824a84ef2a Add support for Sass and SCSS. 2014-01-12 21:30:29 -08:00
Matt Rogers 012387396a Merge pull request #1859 from robin850/rouge 2013-12-30 22:45:07 -06:00
Parker Moore ab95cca434 Add TomDoc for Jekyll::Converters::Markdown#allowed_custom_class? 2013-12-26 00:33:34 -05:00
Parker Moore 7b9984699c Fix error in exception message in Markdown Converter [ci skip] 2013-12-26 00:14:24 -05:00
Parker Moore 60b43104ee Extract checks for acceptable custom markdown processors to method.
We should probably write more about what it does and how it works in a TomDoc block above.
@envygeeks, want to give that a shot?
2013-12-26 00:02:56 -05:00
Jordon Bedwell a206dc1a8f Use downcase. 2013-12-25 23:55:20 -05:00
Parker Moore c70350e275 Merge branch 'steal-envygeeks-custom-markdown-processors' of git://github.com/gjtorikian/jekyll into gjtorikian-steal-envygeeks-custom-markdown-processors
* 'steal-envygeeks-custom-markdown-processors' of git://github.com/gjtorikian/jekyll:
  Depend on Jekyll.logger.error, not $stderr
  Allow custom Markdown processors.
  New is implied by `raise`, 2nd is the message.
  Use $stderr, not STDERR, $stderr points to STDERR.
2013-12-25 23:52:50 -05:00
Garen Torikian 31bebf0f9e Depend on Jekyll.logger.error, not $stderr 2013-12-25 19:36:49 -06:00
Jordon c759a7a75f Allow custom Markdown processors. 2013-12-25 19:36:25 -06:00
Jordon 626d54a812 New is implied by `raise`, 2nd is the message. 2013-12-25 19:36:25 -06:00
Jordon 4d017b4fed Use $stderr, not STDERR, $stderr points to STDERR. 2013-12-25 19:36:25 -06:00
Robin Dupret 036cbda2f6 Require at least 1.3.0 for Rouge
Rouge 1.3.0 introduced a `rouge_formatter` helper which is handy to
overwrite the formatter default when using the Redcarpet plugin so let's
require this version at the very least.

An abort statement will be thrown when the installed version is not
correct.
2013-12-25 18:06:29 +01:00
Robin Dupret bd442680ea Rely on the Redcarpet plugin instead of hard-coding
To avoid code duplication and have to keep tracking of the API change of
Rouge, let's rely on the Redcarpet plugin and customize the output on
our needs.
2013-12-22 18:45:46 +01:00
Robin Dupret 0831d2b0f8 Add support for the Rouge syntax highlighter
By setting the `highlighter` setting to `rouge` you can now easily
highlight your code with it instead of relying on Pygments. However,
Jekyll doesn't depend on Rouge explicitly, you will need to install it
or add it to your Gemfile.

The documentation has been updated accordingly.
2013-12-22 18:45:40 +01:00
Robin Dupret 92064134d6 Rename the pygments option to highlighter
Rename the pygments configuration option to highlighter to allow
different highlighters in the future. For now, the allowed values are
`pygments` and `null`.

It's now more straightforward to plug another syntax highlighter.
2013-12-22 12:45:15 +01:00
Eric Mill afe9387578 condensing code slightly 2013-12-10 11:04:04 -05:00
Eric Mill 14418f74ae in-progress patch for maruku and fenced code blocks 2013-12-08 22:37:46 -05:00
Matthew Iversen 5ed9d21ec7 Remove extraneous newlines from XHTML output 2013-12-05 12:04:55 +11:00
maul.esel 29d0841e97 #to_sym is called by #symbolize_keys 2013-09-13 14:06:16 +02:00
Matt Rogers a9e2a74ea6 Merge pull request #1341 from maul-esel/minor-refactors
Minor refactors
2013-08-29 20:21:08 -07:00
Nick Fagerlund 9ca7f70d70 Fix 'undefined method `encoding` for "mailto"' errors w/ Ruby 1.8 and Kramdown > 0.14.0
When using Ruby 1.8.7 and Kramdown 0.14.0 and newer, the following build error
would occur if any page in your site contained a `<name@example.com>` email
address link:

Generating...   Conversion error: There was an error converting 'contribute.markdown'.
/Users/nick/Documents/puppet-docs/vendor/bundle/ruby/1.8/gems/kramdown-1.0.2/lib/kramdown/converter/html.rb:404:in `obfuscate': undefined method `encoding' for "mailto":String (NoMethodError)

See also:
http://rubyforge.org/tracker/index.php?func=detail&aid=29750&group_id=7403&atid=28673

This problem traced back to the following line in the Kramdown source:

result.force_encoding(text.encoding) if result.respond_to?(:force_encoding)

Strings aren't supposed to respond to the :force_encoding method in Ruby < 1.9,
but lib/jekyll/core_ext.rb was modifying the string class like so:

def force_encoding(enc)
  self
end

Strings still won't respond to :encoding, though, so we get an error when
Kramdown tries to read the incoming encoding and everything will blow up.

An ack of the codebase suggests that this was only added so we could force an
encoding for rdiscount on 1.9 without having to check whether we were running
under 1.8. Since testing for said method to learn whether one is running under a
1.9-like encoding regime seems to be a thing in libraries we rely on, we
shouldn't insert this dummy method without also dummying every other part of the
Ruby 1.9+ encoding system.

This commit removes the dummy :force_encoding method to stop poisoning core
classes for libraries we use, and moves the adjustment for 1.9-like encoding
regimes to the one place where it's needed.
2013-08-07 20:07:54 -07:00
Thomas Torsney-Weir 627916bc54 force markdown match to match the full extension 2013-08-06 10:56:24 +02:00
maul.esel d815e2b2a2 coding style preferences (@parkr) 2013-07-24 16:28:03 +02:00
maul.esel 5efadd6674 Support missing kramdown coderay option 2013-07-22 16:02:50 +02:00
maul.esel fd907fa631 simplify coderay option handling 2013-07-22 16:02:50 +02:00
Parker Moore 5d91b8f346 merge bang to modify in place. Woops. #1201 2013-07-14 17:48:34 +02:00
Parker Moore e95086b211 Fix for kramdown coderay options. #1201. 2013-07-14 17:47:13 +02:00
zachgersh 90500f37ac Deleted unused code. 2013-07-14 00:24:57 -05:00
zachgersh 774bf07380 Supporting more kramdown options. 2013-07-14 00:24:56 -05:00
Parker Moore 1c18394afc Catch and print errors when MaRuKu freaks out, and exit with an error code other than 0. 2013-06-07 01:41:30 +02:00
Roland Warmerdam 2a6c722e78 Add a `data-lang` attribute to code blocks 2013-05-10 19:18:13 +12:00
Parker Moore 0c04e5d55b Catching that the Redcarpet gem has been installed. Fixes #1059 2013-05-08 11:55:19 +02:00
Parker Moore 739f752580 Properly wrap and encode non-pygmentized code. 2013-05-08 00:45:55 +02:00
Parker Moore 62b4fd77ac Using modules instead of classes for Redcarpet with/without Pygments. 2013-05-08 00:28:51 +02:00
Parker Moore 2114bb3c2e Respect pygments config option in Redcarpet renderer. 2013-05-08 00:10:18 +02:00
Parker Moore 1d2f172d6b Check to make sure there is a toc_token before trying to use it. Fixes #1047 2013-05-07 18:12:47 +02:00
Parker Moore f9e3cf21f9 Provide backwards-compatibility for change in #1037. 2013-05-07 16:45:06 +02:00
Uwe Dauernheim 3770bcbdb7 Use newer `language-` class name prefix
This change makes it partly possible to use Jekyll+RedCarpet+Prism.js without using a plugin.

Another change will respect Jekyll's `pygments` configuration option and not render the code block using Pygments. Together, these two changes allow using prism.js with Jekyll out of the box.
2013-05-07 02:33:58 +03:00
Parker Moore 3feb18bb56 Redcarpet Parser requires pygments 2013-05-04 15:29:43 +02:00
Parker Moore 3c218d2dcd Only require pygments where it's needed. 2013-05-04 15:04:57 +02:00
Parker Moore 7a7990fb9a Moved markdown converters into lib/jekyll/converters/markdown 2013-04-14 05:23:42 +02:00
Parker Moore a971fec801 rescue block for the method and added redcarpet as option for parser 2013-04-13 02:13:50 +02:00
Parker Moore 3bc497c1c9 Moved out conversion logic 2013-04-13 01:55:03 +02:00
Parker Moore 63cdd21353 Move initialization of parsers to separate classes 2013-04-13 01:47:40 +02:00
Dave Wasmer f7f64576e5 Force encoding of the rdiscount TOC to UTF8 to avoid conversion errors 2013-03-17 22:28:52 +01:00
Tom Bell 663a1321d2 Update converter classes moving into a module 2013-01-19 23:07:38 +00:00
Tom Bell 38ac55381b Only pass first class to Pygments
This prevents an exception if something like the following is used:

~~~ {foo bar}
some code
~~~
2012-11-13 07:59:36 +00:00
Tom Bell 7f706f47fc Update redcarpet support to version 2 2012-08-13 15:03:33 +01:00
Tom Preston-Werner 8a0fbf02f5 Cleanup for RDiscount TOC support. Closes #333. 2012-04-23 16:15:55 -07:00
Michishige Kaito f5b2acf8cd Added support for inline TOCs with RDiscount 2012-04-23 15:56:28 -07:00
Tom Preston-Werner e29490c1c6 Allow setting of Kramdown smart_quotes. Fixes #482. 2012-04-23 15:34:54 -07:00
Thomas Laumann d80c773b01 New solution for passing restrictions to RedCloth - all tests pass with ruby 1.8 (just invoking rake) 2011-11-28 14:05:34 +01:00
Thomas Laumann ab3927499f Forgot to remove debugging code :-/ 2011-11-04 17:41:47 +01:00
Thomas Laumann 8c4edb655e Have TextileConverter pass any arguments set to true in config's redcloth section to RedCloth constructor as an array of symbols.
This means explicitly setting (for example):

  redcloth:
    hard_breaks: false
    lite_mode: true
    no_span_caps: true

will cause RedCloth to be invoked thusly:

  RedCloth.new(content, [:lite_mode, :no_span_caps])

(Notice that hard_breaks is ignored.) This means, however, anything set to true in the redcloth section in _config.yml _will_ be passed to RedCloth. Mayhem may ensue.
2011-11-04 17:33:53 +01:00
Carl Groner 69e7f4abef Add test cases for default values with no explicit config. for `hard_breaks`. 2011-11-03 11:54:49 -07:00
Thomas Laumann ed7f914459 removed unused code 2011-07-07 11:29:40 +02:00
Thomas Laumann fccb6c7f74 Merge git://github.com/mojombo/jekyll 2011-06-29 12:07:21 +02:00
Tom Preston-Werner da9930657e Merge remote-tracking branch 'derekprior/configurable_coverter_file_extensions' 2011-05-30 11:38:59 -07:00
MattHall cf779b2760 Added Redcarpet for MD conversion 2011-04-20 10:04:42 +01:00
Derek Prior 5801220a98 Added the ability to configure the file extensions to be processed by each converter. Test cases included. 2011-04-12 17:03:28 -04:00