Snorkle Embed

Description

Snorkle Embed lets users add an interactive Snorkle Visual block to the WordPress Gutenberg editor. Sign in to your Snorkle account directly from the block, browse your library of interactive scientific visuals, select one, and publish it as a responsive embedded visual — no coding required.

Features

  • Sign in to your Snorkle Labs account without leaving the WordPress editor
  • Browse your full visual library with thumbnail previews
  • Paste any valid vis.snorkle.io URL directly to embed a specific visual
  • Adjustable display width and height
  • Language selector for anatomy visuals (35 languages supported)
  • Session persists per WordPress login — sign in once, works across all posts and pages
  • Works on any theme — outputs a clean, responsive iframe

External Services

This plugin relies on two external services, both operated by Snorkle Labs. No data is sent to any third party.

1. Snorkle Authentication & Library API (api.snorkle.io)

This service is used to authenticate the WordPress editor user with their Snorkle account and to retrieve their library of visuals.

  • What is sent: The user’s email address and password are sent directly from their browser to api.snorkle.io over HTTPS when they click “Sign in”. After login, a session token is stored in WordPress user meta and sent on subsequent requests to fetch the visual library. No credentials are ever stored in plain text.
  • When it is sent: Only when the WordPress editor user actively signs in to their Snorkle account from within the block editor, or when the block editor fetches the visual library. Nothing is sent on the frontend to visitors viewing published pages.

2. Snorkle Visual Embed Service (vis.snorkle.io)

This service delivers the interactive visual content. It functions the same way as embedding a YouTube or Vimeo video — the published block outputs a standard HTML iframe pointing to vis.snorkle.io. No plugin code runs on the frontend; the browser loads the iframe directly from the Snorkle service.

  • What is sent: The iframe URL (which identifies the specific visual). Standard browser request headers (IP address, user agent) are sent by the browser as part of loading any iframe, the same as any embedded content.
  • When it is sent: Only when a visitor loads a page or post that contains a published Snorkle Visual block.

Snorkle Privacy Policy | Snorkle Terms of Service

Source Code & Building

The complete, human-readable source code for this plugin is included in the src/ directory of the plugin package.

The JavaScript assets in build/ are compiled from src/ using @wordpress/scripts (webpack). To rebuild from source:

  1. Install Node.js 18 or later.
  2. From the plugin directory run: npm install
  3. Then run: npm run build

The entry point is src/index.js. The block metadata is in src/block.json.

Blocks

This plugin provides 1 block.

  • Snorkle Visual Embed an interactive Snorkle biomedical visual as an iframe.

Installation

From the WordPress plugin directory (recommended)

  1. Go to Plugins Add New Plugin in your WordPress admin.
  2. Search for Snorkle Embed.
  3. Click Install Now, then Activate.

Manual installation

  1. Download the plugin zip file.
  2. Go to Plugins Add New Plugin Upload Plugin.
  3. Choose the zip file and click Install Now.
  4. Click Activate Plugin.

After activation

Make sure pretty permalinks are enabled: go to Settings Permalinks, select any option other than “Plain”, and click Save. This is required for the plugin’s REST API to function.

FAQ

Do I need a Snorkle account?

Yes. You need a Snorkle Labs account at snorkle.ai to use this plugin. The block will prompt you to sign in when you first add it to a post or page.

Does this work with the Classic Editor?

No. Snorkle Embed is a Gutenberg block and requires the block editor (WordPress 6.0 or later). It is not compatible with the Classic Editor plugin.

Will the visual still display if my Snorkle session expires?

Yes. Once a visual is saved to a post, it renders as a plain iframe on the frontend regardless of your session status. You only need to be signed in to change or select a new visual within the editor.

Can I embed a visual that isn’t in my library?

Yes. Use the “Paste URL” tab in the visual picker to paste any vis.snorkle.io URL directly.

Can I change the display language of a visual?

Some Snorkle visuals (anatomy explorers) support multiple display languages. When a visual supports this, a language dropdown will appear automatically in the block editor. Over 35 languages are supported including Arabic, Chinese, Hebrew, Spanish, French, and more.

Does this plugin work on multisite?

The plugin has not been formally tested on WordPress multisite. It should work on individual sites within a network, but multisite-specific features are not supported.

What happens to my Snorkle session when I log out of WordPress?

Your Snorkle session token is automatically cleared when you log out of WordPress, keeping your accounts in sync.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Snorkle Embed” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Snorkle Embed” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.0

  • Initial release.
  • Gutenberg block with Snorkle account login, visual library browser, and iframe embed.
  • Paste URL support for embedding any vis.snorkle.io visual.
  • Language selector for anatomy visuals (35 languages).
  • Session persists across WordPress login sessions.