Skip to content

v3.0.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ggrossetie ggrossetie released this 04 Jul 17:15
· 194 commits to master since this release

What's Changed

This release is a major step forward!

Asciidoctor CLI Dropped 💨

We've decided to remove Asciidoctor CLI support in order to provide a better experience and reduce the maintenance burden. This change has allowed us to restructure the extension and implement new features.

New WebView Converter ✨

One major change is that the preview now generates a complete HTML document that's perfectly suited for a Webview. For instance, we were relying on CDN to provide STEM support (MathJax), icons (FontAwesome) and fonts (Google Fonts) but now everything is included in the extension. The preview will work just as well even if your are offline!
Another benefit is that we can implement a custom logic on how external resources are resolved. The AsciiDoc extension should now seamlessly resolve stylesheets from an URL or a local path.

Code Folding 📂

This version also introduces support for code folding on sections, conditional blocks, open blocks and comments:

Custom Extensions 🔌

Extensions are central to the success of AsciiDoc because they open up the language to new use cases.
This new release allows to register and load custom Asciidoctor.js extensions from the .asciidoctor/lib directory.
Here's an example using the Asciidoctor Emoji extension:

Refined Settings 🎛️

Settings are now organized by section (Preview, PDF, Extensions, General, Debug) and we applied a naming convention to make sure that every setting name is consistent.

As a result, we've deprecated a few settings. If you are using a deprecated setting, a deprecation message will show and help you to migrate:

We took the opportunity to make a few enhancements. For instance, you can now configure a list of command line arguments for wkhtmltopdf:

As you can see on the screenshot above, we are also using Markdown description to improve readability.

PDF Export 🖨️

To make it easier to get started, the VS Code extension will offer to install Asciidoctor PDF if asciidoctor-pdf is not available on your PATH but bundle is!

Regarding wkhtmltopdf, since we were using an outdated version, we've removed the option to install it. Instead, we recommend to download and install the latest version from https://wkhtmltopdf.org/downloads.html

Internationalization 🌐

The VS Code extension is now also available in French 🇫🇷 and Japanese 🇯🇵 (thanks to @YoshihideShirai)

Community 🫂

Last but not least, this release includes contributions from 6 new contributors and quite a few bug fixes!

Breaking changes

  • remove Asciidoctor CLI support (#539)

NOTE: If you want to keep using asciidoctor CLI, it's possible to setup a similar workflow using both the HTML Preview and Run on Save extensions using the following settings.json:

{
    "emeraldwalk.runonsave": {
        "commands": [
            {
                "match": "\\.adoc$",
                "cmd": "asciidoctor ${file}"
            },
        ]
    }
}

You can also setup a workflow outside of VS Code that relies on the asciidoctor CLI.

Improvements

  • add Japanese localisation by @YoshihideShirai (#581)
  • register Asciidoctor.js extensions by @YoshihideShirai (#569)
  • create a complete HTML document using the WebView converter by @Mogztter (#547)
  • add code folding based on sections by @marieflorescontact (#550)
  • add code folding on conditionals by @marieflorescontact (#555)
  • add code folding on open blocks by @marieflorescontact (#559)
  • add code folding on comment blocks by @marieflorescontact (#561)
  • add code folding on single line comment by @marieflorescontact (#565)
  • update preview icons and use codicons by @Mogztter (#54)
  • use load instead of convert for performance by @Mogztter (#542)
  • normalize setting names and group settings by category by @Mogztter (#577)
  • do not offer to download an outdated version of wkhtmltopdf anymore by @Mogztter (#577)
  • add a new setting to add command line arguments for wkhtmltopdf by @Mogztter (#577)
  • offer to install the latest version of asciidoctor-pdf by @Mogztter (#577)

Bug fixes

  • set basebackend and outfilesuffix on the WebView converter otherwise Docinfo are not correctly included (#522)
  • activate completion only when : is at the start of the line by @Mogztter (#529)
  • correctly pass the --footer-center option to wkthtmltopdf by @gurbindersingh (#526)
  • fix asciidoctor-pdf and wkhtmltopdf user settings by @meznom (#533)
  • set CSS variables for font size, font family and line height by @Mogztter (#530)
  • fix format of paste image default filename by @Zhou-Yicheng (#558)
  • show source action does not open a new pane (if the source is already opened) by @marieflorescontact (#562)
  • fix for opening links to local files in preview window by @tombolano & @marieflorescontact (#572 #573)

Infrastructure

  • upgrade dependencies (#515)
  • extract the report errors logic into a dedicated function by @Mogztter (#534)
  • extract get baseDir logic by @Mogztter (#535)
  • remove superfluous copycss by @Mogztter (#538)
  • unwrap convertUsingJavascript function by @Mogztter (#537)
  • introduce a load function by @Mogztter (#541)
  • remove slugifier (unused) from AsciidocEngine by @Mogztter (#545)
  • introduce an export function by @Mogztter (#546)

Documentation

New Contributors

Full Changelog: v2.9.8...v3.0.0