Glyph Plugins

The official plugin marketplace for Glyph, a cross-platform markdown viewer.

This repository registers plugins: one folder each under plugins/ holding a plugin.json (id, category, packageUrl, sha256, …) and a README.md catalog page. index.json is generated from those registrations, and Glyph reads it to discover, install, and update plugins. Community plugin code lives in each plugin's own repository; official plugins keep their source next to their registration here.

For users

Plugins are installed from inside Glyph, you don't clone anything by hand:

  1. Open the command palette (Cmd/Ctrl+K).
  2. Run Install Plugin: <name> for any plugin in the index.
  3. When a newer version is published, the palette shows Update Plugin: <name>.

Installed plugins are copied into Glyph's config directory and load on every launch:

OSLocation
macOS~/Library/Application Support/com.hamidfzm.glyph/plugins/
Windows%AppData%\com.hamidfzm.glyph\plugins\
Linux~/.config/com.hamidfzm.glyph/plugins/

To remove a plugin, delete its folder there and restart Glyph.

How it works

On launch Glyph fetches index.json from this repo's main branch over HTTPS (no auth, no server). Each entry carries everything the app needs:

{
  "id": "com.author.example",
  "name": "Example",
  "description": "What it does, in one line.",
  "version": "1.0.0",
  "apiVersion": "^1.0.0",
  "packageUrl": "https://github.com/author/glyph-example/releases/download/v1.0.0/plugin.zip",
  "sha256": "<hex digest of plugin.zip>"
}
FieldRequiredMeaning
idyesUnique reverse-DNS id; also the install folder name (letters, digits, ., _, -)
nameyesDisplay name shown in the palette
descriptionnoOne-line summary
versionyesThe plugin's current semver; bumping it triggers the in-app update prompt
apiVersionyesGlyph plugin-API range the plugin targets, e.g. ^1.0.0
packageUrlyesURL of the release zip: manifest.json plus the manifest-declared files

Entries are validated against index.schema.json.

Publishing a plugin

Open a pull request that adds (or bumps) your entry in index.json. See CONTRIBUTING.md for the full guide, the entry rules, and the review criteria.

Plugin API

Writing a plugin? Browse the docs site (rendered by Glyph itself) or start at the docs hub (Getting Started · Recipes · API Reference · Publishing · Catalog).

Plugins are plain ES modules that default-export { activate(ctx) }. The context gives a plugin commands, status bar items, notifications, translations, and markdown rendering (remark/rehype plugins + fenced renderers). A worked sample lives in this repo: com.glyph.hello-status/, and the plugin template scaffolds a new one. The design and roadmap are tracked in glyph#109.