GPT Pages Importer — bring Pages charts and interactive HTML into Obsidian [feedback welcome]

Disclaimer

Is this plugin open source? Yes — MIT license.
Is this plugin completely free? Yes.
Is this plugin vibe-coded beyond the author’s ability to comprehend how it works? No — developed with AI assistance; I understand how it works.
Community Directory: GPT Pages Importer


Hi everyone! I made GPT Pages Importer, a free, MIT-licensed community plugin for bringing Markdown exported from ChatGPT Pages into Obsidian while keeping complete HTML visualizations available.

The workflow is: prepare a Page with native charts and matching HTML → export Markdown → import into Obsidian → optionally trust the HTML for interactive rendering.

Interactive demo

Obsidian weighted-sum demo: totals 7, -1, 5, then Reset to 7

This is an authored v3 sample running in Obsidian after automatic cleanup, using fictional native references and previously granted folder rendering trust. The weights change the total from 7 to -1 to 5, then Reset returns to 7. The animation demonstrates interaction with the rendered HTML after cleanup.

What it does

  • Verifies figure IDs, native references and HTML SHA-256 before removing paired markers and native image references.
  • Supports compact v3 markers: short IDs beside the charts, complete HTML and checksums at the document bottom. Verified HTML moves back to the chart’s position.
  • Imports through a text-only preview and opens the destination note afterward.
  • Can watch one vault folder and all subfolders to clean a batch of Markdown files in place.
  • Backs up before changes, skips identical output and stops replacement when local edits conflict.

Try it

  1. Install GPT Pages Importer from the community directory.
  2. Download the static example or interactive slider example as a raw Markdown file, then run the plugin’s import command. These are authored test samples using the supported legacy v1 format, so you can try the importer without creating a Page first.
  3. Start with the default html-source output. For the slider example, inspect the HTML and explicitly trust it, then use the separately installed Polyglot Renderer. The initial value is 50; moving the slider updates the number/bar, and Reset returns to 50.

For your own Pages, the English guide, v3 pairing format and Page authoring skill explain how to keep the native visualizations and matching complete HTML together.

A native image reference alone does not contain the chart’s HTML. The plugin reads the HTML included in your Markdown; it does not download from Pages or provide cloud sync.

Feedback I’m looking for

  • First import: where did you get stuck, or which instruction was unclear?
  • Folder cleanup and trust: are the scope, backup behavior and rendering confirmation understandable?
  • Compatibility: how does your exported content behave on your OS, Obsidian version and renderer version? Which visualization types are missing or break?

Workflow suggestions are welcome here. For a reproducible bug, please open a GitHub issue with OS, Obsidian/plugin/renderer versions, steps, expected vs actual behavior, and a small authored or sanitized sample where possible. Please keep private exports and personal data out of public reports.

Current version: 0.1.2. Documentation and skills default to English, with Traditional Chinese guides/examples also available. The plugin interface is currently in Traditional Chinese. The compatibility record distinguishes real Windows/Linux checks from automated tests; other platforms still need feedback.

HTML rendering is optional and requires explicit trust. Manual imports default to html-source; folder cleanup preserves fence languages unless folder rendering trust is enabled. Folder trust covers current and future HTML in that folder and its subfolders, including unpaired blocks. Scripts may execute and make network requests; matching hashes verify source consistency, not code safety.

GitHub repository · Release 0.1.2

Thanks for trying it and helping make the workflow easier to use!

0.1.4 update

GPT Pages Importer 0.1.4 is now available. This update supersedes the version information in the first post.

Polyglot Renderer status detection

The import dialog and the automatic cleanup HTML rendering option now show Polyglot Renderer status:

  • Not installed: install and enable the separately provided Polyglot Renderer for interactive HTML. Importing, cleanup and saving sources remain available.
  • Installed but disabled: enable it in Obsidian’s community plugin settings, then recheck.
  • Enabled: the current vault’s saved plugin configuration lists it as enabled. This does not guarantee that the renderer loaded successfully or that its HTML rendering setting is on.
  • Unable to determine: installation files or settings are unreadable, invalid or incomplete; check the renderer manually.

Use Recheck renderer (the current Chinese interface label is 重新檢查 renderer) after installing or changing its enablement. Detection is read-only: it does not install, enable or configure another plugin, grant content trust, or block importing and cleanup. Interactive HTML still requires explicit document or folder trust and the renderer’s HTML rendering setting.

Where to find the 0.1.4 release and documentation

The forum currently prevents this account from including links in replies, so please use the repository link in the first post:

  • Open Releases → 0.1.4 for the current release files.
  • Select the 0.1.4 tag for documentation matching this release.
  • Start with README.md, which includes the Quick start and Pages Markdown download screenshots.
  • docs/usage.md is the English usage guide; docs/format.md describes v3 pairing.
  • skills/gpt-pages-obsidian-visualizations contains the Page authoring skill and tools.
  • examples/static.md and examples/interactive.md are the bundled authored legacy-v1 samples for trying the importer without first creating a Page.

For your own Page exports, enable and connect @Pages in your AI agent and use gpt-pages-obsidian-visualizations before exporting. The skill prepares native visualizations with matching complete HTML sources and pairing markers.

Feedback on whether the new renderer status hints make the first import and rendering trust flow clearer is welcome!