Warning
|
This gem doesn’t work and is abandoned. Turns out hugo’s shortcodes dont work the way I think they do. |
This gem allows asciidoctor to delegate syntax highlighting to hugo, a website generator. Hugo has its own syntax highlighter library, Chroma. Delegating improves integration between hugo and asciidoctor. This gem requires Hugo.
Install the gem and add to the application’s Gemfile by executing:
$ bundle add asciidoctor-hugo-chroma
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install asciidoctor-hugo-chroma
Add the following to your hugo config (either in hugo.yaml or config.yaml in the root of your website source).
markup:
asciidocExt:
attributes:
source-highlighter: 'hugo-chroma'
extensions: ['asciidoctor-hugo-chroma']
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
You can test the gem by trying to build the test-fixture website. You’ll need to fiddle with your PATH/GEM_PATH. There is a helper script that requires the extension and then calls asciidoctor. This is required because hugo doesn’t allow asciidoctor extensions that aren’t installed (ie, can’t load extensions by path). Alternatively, you can locally install the gem.
$ PATH=".bin:$PATH" hugo server
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to [rubygems.org](https://rubygems.org).
Bug reports and pull requests are welcome on GitHub at https://github.com/hybras/asciidoctor-hugo-chroma.
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
https://docs.asciidoctor.org/asciidoctor/latest/syntax-highlighting/custom/#new https://docs.asciidoctor.org/asciidoctor/latest/extensions/ https://github.com/asciidoctor/asciidoctor/tree/v2.0.x/lib/asciidoctor/syntax_highlighter https://github.com/asciidoctor/asciidoctor/blob/main/lib/asciidoctor/syntax_highlighter.rb#L69 https://github.com/asciidoctor/asciidoctor/blob/main/lib/asciidoctor/syntax_highlighter/rouge.rb#L136