Skip to content

Importing Content

The import wizard lets you migrate an existing blog or note library into Baan without manually copying files. Baan parses each source format, converts content to its internal Markdown structure, and saves the articles to your storage backend.

  1. Go to Admin → Import
  2. Select your source platform
  3. Upload your export file (ZIP or XML)
  4. Choose the target locale for imported content
  5. Review the results

The wizard shows a summary after import: how many articles succeeded, how many were skipped (already exist), and any errors with details.


Export format: XML (.xml)

How to export from WordPress:

  1. In your WordPress admin, go to Tools → Export
  2. Select All content (or just Posts)
  3. Click Download Export File — this gives you a .xml file

What gets imported:

  • Post title, content, publish date, and status
  • Categories and tags
  • Featured image (if hosted externally, the URL is preserved)

Export format: ZIP file or folder containing .md files

The Admin UI currently imports Obsidian vaults through the generic Markdown source. Baan still recognizes common Obsidian Markdown syntax during import.

How to prepare an Obsidian vault:

  1. Locate your Obsidian vault folder on disk
  2. ZIP the folder (or a subfolder containing the notes you want to import)
  3. Select Markdown in the import wizard and upload the ZIP

What gets imported:

  • Note title (from filename or # H1 heading)
  • Full Markdown content, including Obsidian-specific syntax:
    • > [!note] callouts → styled callout blocks
    • ==highlight==<mark> elements
    • %%comments%% → stripped from output
    • ![[image|width]] → standard image tags
  • Tags from frontmatter (if present)

Export format: ZIP of your Hugo content/ directory

How to export from Hugo: ZIP the content/ directory of your Hugo site. Baan reads Hugo’s frontmatter fields (title, date, tags, categories, draft) and converts them to Baan’s format.


Export format: ZIP of your Jekyll _posts/ directory

How to export from Jekyll: ZIP the _posts/ directory. Jekyll’s filename convention (YYYY-MM-DD-title.md) is parsed to extract the publish date and slug.


Export format: ZIP of any folder containing .md files

Use this option if your content comes from another source (Ghost, Notion export, custom CMS, etc.). Baan reads standard frontmatter fields and treats the rest as Markdown content.


After a successful import:

  1. Go to Admin → Posts to see the imported articles (most will be in draft status)
  2. Review each article — check formatting, fix any images, and update frontmatter as needed
  3. Publish articles individually or use the bulk publish option

If an article with the same ID (slug) already exists in Baan, the importer skips it and counts it as “skipped” in the results — it does not overwrite existing content. To re-import, delete the existing article first.