Pika.publish is an Obsidian plugin to publish notes directly to Pika, written in TypeScript
  • TypeScript 98.5%
  • JavaScript 1.3%
  • CSS 0.2%
Find a file
Otavio Cordeiro a2153f3004 Fix TypeScript errors and update esbuild to context-based watch API
Correct type casts introduced in the no-unsafe-* fixes (use narrowed
variables in ErrorFactory, use correct Record type in MarkdownPost).
Update esbuild.config.mjs to use esbuild.context().watch() for dev
mode, replacing the removed watch option from esbuild v0.17+.
2026-04-15 09:03:30 +02:00
.github Add CI workflow to build plugin on pull requests 2026-04-15 08:16:54 +02:00
.nova Add .nova 2023-09-23 22:13:53 +02:00
.vscode Add icon to Ribbon Menu 2023-11-26 18:12:40 +01:00
src Fix TypeScript errors and update esbuild to context-based watch API 2026-04-15 09:03:30 +02:00
.editorconfig Initial upload 2022-09-22 00:11:18 +02:00
.gitignore Add Visual Studio Code Settings 2023-09-13 13:25:19 +02:00
.npmrc Initial upload 2022-09-22 00:11:18 +02:00
CHANGELOG.md Port plugin from Micro.blog to Pika 2026-04-14 10:47:02 +02:00
esbuild.config.mjs Fix TypeScript errors and update esbuild to context-based watch API 2026-04-15 09:03:30 +02:00
eslint.config.mts Fix sentence case violations in UI text strings 2026-04-15 09:03:30 +02:00
LICENSE Initial commit 2022-09-21 15:20:58 +02:00
manifest.json Add missing period to plugin description in manifest 2026-04-15 00:03:08 +02:00
package-lock.json Replace builtin-modules with native Node.js module.builtinModules 2026-04-15 09:03:30 +02:00
package.json Replace builtin-modules with native Node.js module.builtinModules 2026-04-15 09:03:30 +02:00
README.md Replace "scheduled date" with "date" in README and publish view 2026-04-14 22:59:17 +02:00
styles.css Move inline styles to CSS class for Status component 2026-04-15 09:03:30 +02:00
tsconfig.json Add the Status UI Component 2025-08-25 21:34:55 +02:00
version-bump.mjs Initial upload 2022-09-22 00:11:18 +02:00
versions.json Port plugin from Micro.blog to Pika 2026-04-14 10:47:02 +02:00

Pika.publish

Pika.publish is a community-maintained plugin for Obsidian that lets you publish notes to your Pika blog — right from your vault.

This community-maintained plugin is not affiliated with Pika or Obsidian.

Does this plugin improve your workflow? Say thanks with a coffee.

ko-fi

Features

  • Publish to Pika via the Micropub API
    • Posts: publish with title, tags, visibility (Draft/Public), and optional post date.
  • Image handling
    • Automatically finds local images in your note (standard Markdown and Obsidian wiki-style image links), uploads them to Pika, and replaces references with hosted URLs.
    • Caches uploaded image mappings in note properties for fast re-publish.
  • Tags
    • Default tags and visibility for new posts.
  • Obsidian Properties (YAML frontmatter) support
    • Uses title, tags when present; falls back to filename and defaults otherwise.
    • Saves url after successful publishing for easy updates.

Login

Create an App Token in Pika at Settings → App tokens, copy it immediately, and paste it in Settings → Pika.publish.

Quick start

  1. Create or open a Markdown note.
  2. Optionally add Properties (or YAML) for:
    • title: overrides filename as the post title.
    • tags: comma-separated list (e.g., writing, book-notes).
  3. Use the Command Palette and run Publish Post to Pika.
  4. Review and adjust fields (title, tags, visibility, date).
  5. Confirm to publish. The note's Properties will be updated with the post url.

Commands

  • Publish Post to Pika: publish or update the current note as a post.

Settings

  • Posts
    • Tags: default tags for new posts (comma-separated).
    • Visibility: Draft or Public default for posts.
  • Account
    • App Token: log in / log out of Pika.

Properties (YAML frontmatter)

  • title: used as the post title. Falls back to filename if missing.
  • tags: comma-separated tags. Falls back to defaults if missing.
  • url: added by Pika.publish after a successful publish; used to update existing posts.

Example:

---
title: My New Post
tags: writing, book-notes
url: https://you.pika.page/posts/my-new-post
---

Editing and updating

  • After publishing, the note's url is saved in Properties.
  • To update a post, edit the note (or title/tags) and run Publish Post to Pika again.

Images

  • Supported image syntaxes:
    • Standard Markdown: ![alt](path/to/image.png)
    • Obsidian wiki-style: ![[path/to/image.png]]
  • Local images are read from your vault, uploaded to Pika's media endpoint, and references are replaced with hosted URLs.
  • Relative paths are resolved against the note's folder. Remote image URLs are left unchanged.
  • If you need to force reprocessing, remove the image_urls Property and re-publish.

Post date

  • In the post review dialog, you can optionally set the date of the post. Use any date from the past up to the current date and time (e.g., 2025-09-12 14:00). Leave blank to use the current date and time.

Building from source

Clone into your vault's plugins folder:

cd .obsidian/plugins/
git clone https://github.com/otaviocc/obsidian-pika

Install and build:

cd obsidian-pika
npm i
npm run build

Restart Obsidian and enable the plugin under Community Plugins.

Contributing

  1. Fork this repository and follow the build steps above using your fork.
  2. Create a feature branch.
  3. Commit and push your changes.
  4. Open a pull request.

License

MIT