SKYue16 downloadsPublish Obsidian notes to Typecho blog via XML-RPC, with Cloudflare R2 image hosting.
中文用户请阅读 简体中文版说明。
Publish Obsidian notes to Typecho blog via XML-RPC, with configurable image hosting.
Fill in your Typecho site XML-RPC URL, username, and password.
Map your custom frontmatter keys to Typecho fields. The dateCreated field is mandatory and must use Obsidian's "Date & Time" property type. Each field has a type requirement — publishing will fail if the type doesn't match.
Example:
---
published: 2026-06-14 22:00
aliases: My First Post
categories: [tech, obsidian]
tags: [obsidian, typecho]
slug: my-first-post
---
When no slug is set in frontmatter, it's auto-generated from the publish date using a configurable format string (tokens: YYYY, YY, MM, DD, HH, mm, ss).
Enable to convert [[wikilinks]] to blog post URLs when the target note is also a published blog post (has the dateCreated frontmatter field). Non-blog notes are converted to plain text. Configure a URL template with variables: {slug}, {postid}, {year}, {month}, {day}.
Specify section headings (comma-separated) that mark content to be excluded from publishing. Sections after (and including) these headings are stripped. Useful for hiding drafts, changelogs, or private notes.
Optionally require the <!--more--> tag in post body. Publish will fail if missing.
Toggle between two modes:
metaWeblog.newMediaObject.To set up Cloudflare R2:
The upload path prefix supports date variables: {YYYY}, {YY}, {MM}, {DD}, {HH}, {mm}, {ss} (based on publish date).
Publish to Typecho command.md file in the file explorer and select Publish to TypechoOn first publish, the plugin checks if the note lacks typecho_postid and asks for confirmation to create a new post. The typecho_postid field is automatically added to the frontmatter after publishing. Subsequent publishes update the existing post.
A progress modal shows upload status and the final result, including a clickable link to the published article (if a wiki-link URL template is configured).
MIT