AsyncAPI Renderer

approved

by Grancar

Render AsyncAPI specification files (2.x and 3.x) with a source editor. - This plugin has not been manually reviewed by Obsidian staff.

21 downloadsUpdated 11d agoMIT

Obsidian AsyncAPI Renderer

Render AsyncAPI specifications (2.x and 3.x) inside Obsidian.

Features

  • Open .yaml / .yml (and optionally .json) spec files in a rendered view, with a Source editor toggle.

  • Embed specs in notes:

    ```asyncapi
    asyncapi: 3.0.0
    info:
      title: Inline spec
      version: 1.0.0
    ```
    

    or reference a vault file:

    ```asyncapi
    file: specs/orders.yaml
    ```
    
  • Deep link: obsidian://asyncapi-open?vault=<vault>&path=specs/orders.yaml. Obsidian asks you to trust the asyncapi-open action the first time it is used from outside the app.

  • File explorer context menu: "Open in AsyncAPI view".

Settings

  • Open .yaml / .yml files in AsyncAPI view (default on) and Open .json files (default off). Reload the plugin after changing. If another plugin (e.g. OpenAPI Renderer) already owns an extension, that extension is skipped with a notice; the context menu, code blocks and deep links still work. Disable the other plugin if you want AsyncAPI to own the files.
  • Default mode: Preview or Source.
  • Render debounce: delay before the preview re-renders while typing.

Development

npm install
npm run dev      # watch build into test-vault/.obsidian/plugins/asyncapi-renderer
npm test         # unit tests
npm run build    # production build to repo root

Rendering is delegated to the official @asyncapi/react-component standalone bundle, so main.js is about 3 MB.

Releases

Merging to main runs semantic-release: commit messages decide the bump (fix: patch, feat: minor, feat!:/BREAKING CHANGE: major). During release, scripts/bump-manifest.mjs updates manifest.json and versions.json in the CI workspace for that release, then a GitHub Release tagged x.y.z is published with main.js, manifest.json and styles.css attached. Those manifest/version edits are release-artifact only and are not pushed back to main. Commits without a releasable type (docs:, chore:, ci:) publish nothing.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.