Closed hybras closed 1 year ago
This still makes the gem completely unusable for newer asciidoc versions. Anyone?
I will not provide a formal PR here, but FWIW:
I'm no Ruby programmer, but probably something changed in AsciiDoctor's TreeProcessor constructor signature. The following fixed this for me:
class Treeprocessor < ::Asciidoctor::Extensions::Treeprocessor
def initialize(*, katex_options: {}, katex_renderer: nil, require_stem_attr: true, **) # <-- 1st arg here
@katex_renderer = katex_renderer || KatexAdapter.new(katex_options)
@require_stem_attr = require_stem_attr
super() # <-- here
end
As per the Asciidoctor extension/processor api, a processor should take a config hash. This lib's treeprocessor does not, instead taking keyword args (with default values). I suspect this happened due to ruby 2 and 3 handling keyword args differently.
Hey you beat me to it! I was literally about to file a PR.
I am unable to run the example in the readme. I'm using the asciidoctor docker container, after running
gem install asciidoctor-katex
andapk add nodejs
.Stacktrace
``` /usr/lib/ruby/gems/3.0.0/gems/asciidoctor-katex-0.4.0/lib/asciidoctor/katex/treeprocessor.rb:25:in 'initialize': asciidoctor: FAILED: /documents/answers.adoc: Failed to load AsciiDoc document - wrong number of arguments (given 1, expected 0) (ArgumentError) from /usr/lib/ruby/gems/3.0.0/gems/asciidoctor-2.0.17/lib/asciidoctor/extensions.rb:1359:in 'new' from /usr/lib/ruby/gems/3.0.0/gems/asciidoctor-2.0.17/lib/asciidoctor/extensions.rb:1359:in 'add_document_processor' from /usr/lib/ruby/gems/3.0.0/gems/asciidoctor-2.0.17/lib/asciidoctor/extensions.rb:837:in 'tree_processor' from /usr/lib/ruby/gems/3.0.0/gems/asciidoctor-katex-0.4.0/lib/asciidoctor/katex.rb:11:in 'block in