Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Rouge ambiguous guess error #658

Merged
merged 2 commits into from
Oct 23, 2019
Merged

Conversation

parkr
Copy link
Contributor

@parkr parkr commented Oct 22, 2019

When Rouge can't accurately guess a code block's language, it raises an
error. This can be fixed by adding a default language that Rouge falls back
on.

@parkr
Copy link
Contributor Author

parkr commented Oct 22, 2019

For posterity's sake, here's the error in the failing test, that is now ✅ :

Conversion error: Jekyll::Converters::Markdown encountered an error while converting '_posts/2019-10-10-ambiguous-code-block.md':
806                           Rouge::Guesser::Ambiguous
807       /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/rouge-3.11.0/lib/rouge/lexer.rb:178:in `guess': Ambiguous guess: can't decide between ["xml", "mason", "html"] (Rouge::Guesser::Ambiguous)
808       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/rouge-3.11.0/lib/rouge/lexer.rb:79:in `find_fancy'
809       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/syntax_highlighter/rouge.rb:27:in `call'
810       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter.rb:47:in `block (2 levels) in <module:Converter>'
811       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/base.rb:207:in `highlight_code'
812       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/html.rb:96:in `convert_codeblock'
813       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/html.rb:70:in `block in inner'
814       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/html.rb:69:in `each'
815       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/html.rb:69:in `inner'
816       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/html.rb:341:in `convert_root'
817       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/html.rb:57:in `convert'
818       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/converter/base.rb:105:in `convert'
819       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/kramdown-1.17.0/lib/kramdown/document.rb:117:in `method_missing'
820       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/converters/markdown/kramdown_parser.rb:40:in `convert'
821       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/converters/markdown.rb:77:in `convert'
822       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/renderer.rb:101:in `block in convert'
823       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/renderer.rb:99:in `each'
824       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/renderer.rb:99:in `reduce'
825       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/renderer.rb:99:in `convert'
826       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/renderer.rb:83:in `render_document'
827       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/renderer.rb:62:in `run'
828       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:479:in `render_regenerated'
829       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:464:in `block (2 levels) in render_docs'
830       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:463:in `each'
831       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:463:in `block in render_docs'
832       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:462:in `each_value'
833       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:462:in `render_docs'
834       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:191:in `render'
835       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/site.rb:71:in `process'
836       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/command.rb:28:in `process_site'
837       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/commands/build.rb:65:in `build'
838       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/commands/build.rb:36:in `process'
839       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
840       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
841       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
842       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
843       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
844       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
845       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/gems/jekyll-3.8.5/exe/jekyll:15:in `<top (required)>'
846       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/bin/jekyll:23:in `load'
847       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/bin/jekyll:23:in `<main>'
848       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `eval'
849       	from /home/travis/build/github/pages-gem/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `<main>'

@parkr parkr merged commit ae83701 into master Oct 23, 2019
@parkr parkr deleted the fix-ambiguous-code-block-error branch October 23, 2019 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants