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:
- Open the command palette (
Cmd/Ctrl+K). - Run Install Plugin: <name> for any plugin in the index.
- 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:
| OS | Location |
|---|---|
| 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>"
}
| Field | Required | Meaning |
|---|---|---|
id | yes | Unique reverse-DNS id; also the install folder name (letters, digits, ., _, -) |
name | yes | Display name shown in the palette |
description | no | One-line summary |
version | yes | The plugin's current semver; bumping it triggers the in-app update prompt |
apiVersion | yes | Glyph plugin-API range the plugin targets, e.g. ^1.0.0 |
packageUrl | yes | URL 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.