Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Pagecord

lylolylo246 downloads

Publish notes to your Pagecord blog.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates14

Install Pagecord from the Obsidian community plugin directory: https://community.obsidian.md/plugins/pagecord

Publish notes from Obsidian to your Pagecord blog.

Write in Obsidian, hit a command, done. Supports images, PDFs, frontmatter, and drafts.

Features

  • Publish notes as blog posts or drafts
  • Update existing posts (tracks via frontmatter)
  • Upload embedded images and PDFs automatically
  • Publish to multiple configured Pagecord blogs
  • Read title, slug, tags, and more from frontmatter

Installation

In Obsidian, go to Settings → Community Plugins → Browse and search for Pagecord.

Setup

  1. Enable the API in your Pagecord blog settings
  2. Copy your API key
  3. In Obsidian, go to Settings → Pagecord
  4. Under Pagecord Blog Connections, click the + icon
  5. Enter a blog name and API key, then click Save

Click a connection to update it, or use the delete control beside it to remove it. Deleting a connection only removes it from Obsidian settings; it does not delete the Pagecord blog.

Commands

Open the command palette (Cmd/Ctrl + P) and run:

  • Publish to Blog Name – creates or updates the post as published
  • Publish to Blog Name (draft) – creates or updates the post as a draft

Commands are only available when a markdown file is active. One pair of commands is shown for each saved blog connection.

Frontmatter

You can use YAML frontmatter to override post metadata:

---
title: My Post Title
slug: my-post-title
tags: [personal, update]
published_at: 2025-01-15T10:00:00Z
canonical_url: https://example.com/original
hidden: false
locale: en
---
Field Usage
title Post title (falls back to filename). Leave the value blank (title: or title: "") to publish without a title
slug URL slug (auto-generated by Pagecord if omitted)
tags Array or comma-separated string
published_at ISO 8601 timestamp
canonical_url Canonical URL for the post
hidden true to hide from the feed
locale Post language code

All fields are optional. You do not need frontmatter for the basics: the plugin uses the note filename as the default title, Pagecord generates the slug if you omit one, and the command you run chooses whether the post is published or saved as a draft. Add tags explicitly if you want tags on the post, and use the other fields only when you want to change the defaults.

After publishing, the plugin adds metadata to your frontmatter automatically:

  • pagecord_token – links the note to the Pagecord post so future publishes update it instead of creating a duplicate
  • pagecord_blog_fingerprint – links the note to the configured Pagecord blog used for publishing. It does not contain your API key
  • pagecord_attachments – records each uploaded file against its vault path, so unchanged files aren't uploaded again
  • status – records the last status used by the publish command

These fields are managed by the plugin. Deleting pagecord_token will cause the next publish to create a new post. Existing notes published before multi-blog support still work; the plugin adds pagecord_blog_fingerprint after the next successful update.

Images and PDFs

For files you want Pagecord to host, drag the file into Obsidian or otherwise add it as a local file in your vault, then embed it in the note. Both Obsidian embed syntaxes are supported:

  • ![[photo.jpg]], ![[report.pdf]] (wiki-style)
  • ![](photo.jpg), ![](report.pdf) (markdown-style)

Vault-local files are uploaded to Pagecord and embedded in the post automatically. The plugin sends each file to the Pagecord attachments API, receives an attachable_sgid, and replaces the Markdown reference with the Action Text attachment tag Pagecord needs. PDFs are published as attachments showing a preview of the first page, a download link, and the file size.

Obsidian's display modifiers are ignored, so ![[report.pdf#page=2]] and ![[photo.png|300]] upload the whole file and are rendered by Pagecord at its own size.

External Markdown images, such as ![](https://example.com/photo.jpg), are left as normal Markdown image tags. They will reference the external image URL and are not uploaded to Pagecord.

Supported upload formats: JPEG, PNG, GIF, WebP, PDF.

Building from Source

git clone https://github.com/lylo/obsidian-pagecord.git
cd obsidian-pagecord
npm install
npm run build

Copy main.js and manifest.json to your vault's .obsidian/plugins/pagecord/ directory.

Local Development

The plugin sends requests to https://api.pagecord.com by default. To point a connection at another Pagecord API host, add a baseUrl value to it in the plugin's Obsidian data file.

The data file lives inside your vault:

<vault>/.obsidian/plugins/pagecord/data.json

baseUrl is set per connection, so a local blog can sit alongside your real ones. Each connection gets its own command in the palette, which is how you choose where a note goes:

{
    "blogs": [
        {
            "name": "My blog",
            "apiKey": "your-api-key"
        },
        {
            "name": "Local test blog",
            "apiKey": "your-local-api-key",
            "baseUrl": "http://api.localhost:3000"
        }
    ]
}

A top-level baseUrl still works and applies to every connection that does not set its own. Obsidian reads this file when the plugin loads, so reload the plugin or restart Obsidian after editing it by hand.

License

MIT

HealthExcellent
ReviewPassed
About
Publish notes from Obsidian to your Pagecord blog with a single command. Read frontmatter for title, slug, tags and status, upload embedded images automatically, and create or update posts and drafts tracked via frontmatter.
PublishingIntegrationsImages
Details
Current version
1.3.1
Last updated
16 hours ago
Created
5 months ago
Updates
14 releases
Downloads
246
Compatible with
Obsidian 1.13.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
lylolylo
pagecord.com
GitHublylo
  1. Community
  2. Plugins
  3. Publishing
  4. Pagecord

Related plugins

Wechat Converter

将 Markdown 转换为微信公众号排版,并支持一键发送到微信公众号(支持自定义 CSS和公众号贴图)、飞书、小红书、知乎、微博、CSDN等20+平台。

Image auto upload

Upload images from your clipboard by PicGo.

Digital Garden

Publish your notes to a digital garden for others to enjoy.

GitHub

Share as Gist

Share a note as a GitHub.com Gist.

Quartz Syncer

Manage and publish your notes to Quartz, the fast, batteries-included static-site generator.

BRAT

Easily install a beta version of a plugin for testing.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Share Note

Instantly share/publish a note, with the full theme and content exactly like you see in Obsidian. Data is shared encrypted by default, and only you and the person you send it to have the key.