Commit Graph

139 Commits

Author SHA1 Message Date
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
Thomas Laumann 3f889ef077 added test case to hard_breaks (disable/enable in _config.yml) 2011-03-23 18:17:14 +01:00
laumann 3468f0a2c3 expanded config yaml to allow setting hard_breaks=false on RedCloth, modified textile converter to take this option into account 2011-02-09 01:37:30 +01:00
Tom Preston-Werner 61acd47ed2 Merge remote branch 'jasongraham/kramdown-support' 2010-11-22 19:26:58 -08:00
Jason Graham dca30c3ad1 Add kramdown's support for coderay
- no test added so that coderay isn't added to list of developer
    dependencies
2010-11-20 17:46:16 -08:00
Jason Graham f85e229a9e Add support for kramdown HTML converter options
http://kramdown.rubyforge.org/converter/html.html#options

  Example: In the _config.yaml,

  markdown: kramdown

  kramdown:
    auto_ids: true
2010-11-20 17:40:27 -08:00
Jason Graham ac7a0cc95f Add Kramdown support and tests 2010-11-20 17:40:27 -08:00
Christos Trochalakis a56eeb8289 Add support for rdiscount extensions
Specify extensions at your _config.yml file:

    ...
    rdiscount:
        extensions: [smart, autolink]

Available extensions can be found here:
http://rdoc.info/projects/rtomayko/rdiscount

closes #173
2010-06-25 16:38:45 +03:00
Tom Preston-Werner 6a605753c1 Need double quotes for newline character. Fixes #178. 2010-06-23 15:50:22 -07:00
Tom Preston-Werner de8bd48154 Maruku is now the only processor dependency installed by default. Closes #57.
Other processors will be lazy-loaded when necessary (and prompt the
user to install them when necessary).
2010-06-22 15:17:39 -07:00
Tom Preston-Werner cb77a5287b load plugins under safe mode 2010-06-18 17:55:17 -07:00
Kris Brown fc86c9dd85 extended concept to extensions in general, providing both converters and generators 2010-02-28 10:10:10 +00:00
Kris Brown 84b26a31da removed use of content_type strings in the highlighting tag 2010-02-28 00:11:43 +00:00
Kris Brown 315f4c9222 allow converters to be registered through subclassing much like railties in rails 2010-02-27 23:31:54 +00:00
Kris Brown cedda3afa3 move converters to classes 2010-02-27 22:14:27 +00:00
Kris Brown ff3ca307b9 converters moved to migrators as they should be called this 2010-02-27 20:08:51 +00:00
Tom Preston-Werner 73d42b24ad Huge refactor to move all config into Jekyll::Site
This commit makes Jekyll threadsafe (or at least makes it possible to be so).
It also makes it a ton easier to use Jekyll as a library for scripted site
transformation. I did, however, break all the tests. =(
2009-03-12 19:05:43 -07:00
Mark Reid 6a3680c60b Added wordpress converter 2009-03-12 20:44:02 +11:00
Ariejan de Vroom fb49027997 Only query required fields from the WP Database. 2009-02-26 10:29:01 +01:00
Tim Dysinger a3c18fb095 changed date format on wordpress converter (zeropadding) 2009-02-08 18:37:59 -10:00
Tom Preston-Werner 46259d0e43 Merge commit 'a0da1249a31faa704' 2009-01-21 15:08:18 -08:00
Per Christian B. Viken 32a9b6b8dd created a converter for textpattern, and a simple usage guide 2009-01-09 21:10:52 +01:00
Michael D. Ivey a0da1249a3 Add a working Mephisto / MySQL converter 2009-01-04 18:58:54 -06:00
Toby DiPasquale 29313b046c fixing typo in lib/jekyll/converters/mt.rb 2008-12-26 22:51:15 -05:00
Toby DiPasquale e0e7bf10d1 added Typo 4+ conversion module and docs 2008-12-26 22:44:34 -05:00
Nick Gerakines 8477cb5946 Adding Movable Type migration library to lib/jekyll/converters/. 2008-12-24 16:16:18 -08:00
Mark Reid a8ab6a0adb Added wordpress converter 2008-12-24 15:39:32 -08:00
Chris Van Pelt aba5089283 Various conversion scripts from other blogging engines 2008-11-23 14:55:39 -08:00