Captures d'écran

Description :

Render AsciiDoc (.ad, .adoc, .asc, .asciidoc) as HTML inside your browser! This project uses Asciidoctor.js to render AsciiDoc as HTML. Usage 1. Check Allow access to file URLs in chrome://extensions 2. Open local or remote .adoc or .asciidoc file in Chrome 3. Enjoy! Options The extension can be configured via an options page. To open the options page, right-click the extension icon and choose Options on the menu. You can also go to chrome://extensions and click the Options link. The options page let you add custom attributes or change the theme of the AsciiDoc HTML output. Changelog 4.1.0 (2026-08)07 • Remove the redundant broad `file://*/*` entry from the manifest's `host_permissions`: reading a local file with a non-AsciiDoc extension (e.g. an `include::` or `chart::` target like a `.csv` chart data file) already works through the `file://*/*` access already granted via `web_accessible_resources`, so declaring it a second time in `host_permissions` had no effect other than showing up in the install-time permission list • Fix a redundant border appearing under the document title on wide screens (`toc2` layout) when the document has an author or revision info • Fix a `file://` document failing to reload (`TypeError: Failed to fetch`, or on Chrome "'file:' URLs are treated as unique security origins") after clicking an in-page anchor link (e.g. a ToC entry): the tab's URL keeps the `#fragment` from the anchor, which fetch() doesn't strip for `file://` the way it does for http(s); the fragment is now stripped before fetching, and before computing the `docfile`/`docname` attributes and the auto-reload cache key • Remove the `fontawesome-webfont.ttf` and `fontawesome-webfont.woff` entries from the manifest's `web_accessible_resources`: only the `.woff2` file is actually bundled, and the Edge Add-ons validator rejects the package when a listed resource doesn't exist in the archive • Remove the `downloads` permission: "Export as HTML" now triggers the download through a hidden `<a download>` link injected into the page instead of `chrome.downloads.download()`, which also makes the feature available on Safari and Firefox for Android, where the `downloads` API doesn't exist (#722) • Fix a Chrome console error ("Denying load of .../fontawesome-webfont.woff... Resources must be listed in the web_accessible_resources manifest key") on every page: the vendored Font Awesome stylesheet still declared `@font-face` fallbacks (`.eot`, `.woff`, `.ttf`, `.svg`) for font files that were dropped from the extension a decade ago, so the browser kept trying to load them; the build now rewrites the stylesheet to only reference the bundled `.woff2` file 4.0.0 (2026-08-06) • Migrate to Asciidoctor.js 4.0 (replace `XMLHttpRequest` by `fetch`) • Remove Bulma and Sass, replace the generated options page stylesheet with a small hand-written CSS file • Fix custom JavaScript being blocked on pages with a strict Content-Security-Policy: run it in the page's main world via `chrome.scripting.executeScript`, loaded from a `Blob` URL script `src`, instead of appending an inline `<script>` from the content script • Prevent a flash of unstyled/light content while the document is being fetched and converted: hide the page at `document_start` (matching the reader's OS-level dark/light preference) and reveal it once rendering finishes • Add a "Remove" button next to the JavaScript dropdown in the options page, to delete a previously added custom script, and fix the existing theme "Remove" button to also clear the entry from `browser.storage.local` (it was only clearing `localStorage`, leaking the stylesheet content indefinitely) • Make the default `asciidoctor` theme dark-mode compatible, matching the reader's OS-level `prefers-color-scheme`: dark syntax highlighting (`atom-one-dark`, when the `github` highlight theme is in use), fix table row striping and admonition icon colors that a specificity conflict in the base theme had left unstyled or too dark, and restyle inline Kroki `<svg>` diagrams (`filter: invert(1) hue-rotate(180deg)`) for documents that opt in with `:kroki-default-options: inline` (requires an `asciidoctor-kroki` version with the browser `toDataUri` fix) • Fix removing a custom theme not reliably restoring the default `asciidoctor` theme (even after a refresh): the reset relied on a debounced autosave that could be skipped or lost, so save it immediately instead • Render the author(s) and revision info (number, date, remark) in a `#header` block above the table of contents, matching Asciidoctor's standalone output, since the embeddable output the extension uses never included them, with a small margin below it so the preamble isn't flush against the title/details (#460) • Add support for the `:favicon:` document attribute (#688) • Fix the "Render selection" context menu action, which was broken in several ways: `inject.html` referenced JavaScript files that no longer exist (`namespace.js`, `converter.js`, `renderer.js`, leftovers from before the switch to ES modules) and loaded `inject.js` as a classic script even though it uses `import`; the context menu handler used `tabs.executeScript` and `extension.getViews`, both removed in Manifest V3; and applying the theme CSS failed too because `chrome.scripting` can't target the extension's own pages -- CSS is now applied directly to the document in that case, and a configured custom JavaScript is skipped there since there's no CSP-compliant way to run it on an extension page (#113) • Fix auto-reload rebuilding the whole page on every poll tick even when the fetched content hadn't changed, which reset the page and dropped any in-progress text selection (most noticeable in the plain-text rendering, where selecting/copying the source is the whole point); skip the DOM update when the content is unchanged • Fix a custom theme being silently shadowed by a built-in theme of the same name (e.g. a user-uploaded `asciidoctor.css`): a custom theme now takes precedence over a built-in one when both share a name (#304) • Stop polling for changes while the tab is hidden, so a backgrounded tab doesn't keep fetching and converting the document on every tick (#232) • Add a keyboard shortcut (`Alt+Shift+R` by default, configurable at `browser://extensions/shortcuts`) to toggle between the rendered and raw view (#186) • *Behavior change*: only `.adoc` and `.asciidoc` files are rendered by default now; `.ad` and `.asc` join `.txt` as opt-in extensions, each with their own checkbox on the options page (#677) • Fix the bottom padding being too tight when a document has footnotes: the base stylesheet zeroes it out to avoid double-spacing before `#footer`, but the extension's embeddable output never renders a `#footer` (#120) • Open the quickstart guide in a new tab the first time the extension is installed (#528) • Fix the quickstart guide reopening every time the extension is turned off and back on in Safari's Extensions preferences: Safari fires `runtime.onInstalled` with reason `install` on every re-enable there, not just on a true first install, so guard it with a persisted flag instead of trusting the reason alone • Fix the on/off toolbar toggle getting stuck once the background script has been restarted since the last click (e.g. after the browser reclaims an idle MV3 background context, which Safari does aggressively): the toggle tracked its enabled/disabled status in a module-level variable that silently reset on every restart instead of reading it back from `storage.local`, so a click could flip the wrong way without any error • Document that local `file://` documents aren't supported in Safari, a platform limitation with no current workaround (`docs/modules/ROOT/pages/safari-known-issues.adoc`) • Fix Asciidoctor `WARNING` messages (e.g. an unterminated block) showing up as errors in the browser console: they're now logged with `console.warn`, reserving `console.error` for actual `ERROR`/`FATAL` messages • Add an "Export as HTML" feature (right-click menu on a rendered page, or the `Alt+Shift+E` keyboard shortcut) that saves the document as a standalone HTML file, matching what `asciidoctor file.adoc -o file.html` would produce; not available where the `downloads` API is missing (Safari, Firefox for Android) (#148) 3.0.0 • Migrate to manifest v3 -- `include` won't work anymore! • Migrate documentation to Antora: https://docs.asciidoctor.org/browser-extension/ • Reorganize use-cases to separate page, try-it-yourself to a quickstart page, diagrams try-it-yourself to a diagrams quickstart page (#652) (#654) 2.7.1 • Add `accept` header when fetching AsciiDoc content (mainly to workaround an issue on github.com) • Update dependencies 2.7.0 • Fix MathJax equation numbering (#412) • Upgrade Asciidoctor.js from 2.2.0 to 2.2.1(based on Asciidoctor 2.0.12) • Upgrade Asciidoctor Kroki from 0.8.2 to 0.12.0 (add excalidraw, bpmn and bytefield as a supported diagrams) • Global configuration using `kroki-default-format` and `kroki-default-options` attributes • Upgrade bulma from 0.8.2 to 0.9.1 2.6.1 • Do not add the toc2 class if the document has no section - thanks @mnrvwl • Stop auto reload when the extension has been disabled - thanks @mnrvwl • Remove the deprecated options_page - thanks @mnrvwl • Upgrade Asciidoctor.js from 2.1.1 to 2.2.0 • Upgrade Asciidoctor Kroki from 0.7.0 to 0.8.1 • Support sidebar toc • Compatibility with Firefox, use the same codebase again! • Remove chartist sourcemap reference 2.5.0 • Upgrade Asciidoctor.js from 2.0.3 to 2.1.1 • Show errors thrown by the background script on the page (thanks @doub) • Catch exceptions thrown by the initial XMLHttpRequest • Use the `Cache-Control` header to make sure that we fetch the latest version available • Upgrade Asciidoctor Kroki from 0.4.0 to 0.7.0 with new diagrams: `packetdiag`, `rackdiag`, `vega` and `vegalite` • Upgrade chartist from 0.11.0 to 0.11.4 • Upgrade bulma from 0.7.5 to 0.8.2 2.4.0 • Move the fetch and convert functions in the background script (as the latest version of Chrome 80+ blocks `XMLHttpRequest` sent by the content script) • Upgrade to MathJax 3.0.1 2.3.0 • Upgrade to MathJax 3.0.0 (thanks @sindzicat) • Use server-side syntax highlighting (thanks @john-cj) 2.2.0 • Fix inter-document cross references by using `.adoc` as `outfilesuffix` (thanks @jmini) • Disable the diagram extension by default (can be enabled in options page) • The Kroki server URL can now be configured in the options page (for instance, you can point to a local instance) 2.1.0 • Set built-in attributes docfile, docname and docfilesuffix (thanks @utopalex & @ehmkah) • Use Kroki extension to render diagrams (support BlockDiag, SeqDiag, ActDiag, NwDiag, C4, Ditaa, Erd, GraphViz, Mermaid, Nomnoml, PlantUML, SvgBob and UMLet diagrams!) 2.0.0 • Load additional languages for highlight.js (using :highlightjs-languages: attribute) • Upgrade to Asciidoctor.js 2.0.3 • The default safe mode is now safe (was secure)