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.
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.
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.
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.
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.