Skip to content

Repository files navigation

Glyph Plugins

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

📖 Docs site: glyph-md.github.io/plugins, the docs/ pages and the catalog rendered by Glyph itself. Start at Getting Started, or browse Recipes, the API Reference, Publishing, and the Catalog.

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:

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": "0.16.0",
  "category": "tools",
  "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
version yes The plugin's current semver; bumping it triggers the in-app update prompt
apiVersion yes The Glyph plugin-API version the plugin was built against. Until the API reaches 1.0 the host accepts anything inside its compatibility window, from the floor (0.16.0) up to the running app version
category yes One of themes, markdown, exporters, tools, integrations, language, ai; drives the marketplace filter
packageUrl yes HTTPS URL of the release zip (manifest.json plus the manifest-declared files), pinned to a tag
sha256 yes Digest of that zip, verified before install
description no One-line summary
sandbox no Defaults to true (isolated worker, network fenced to the plugin's network: permissions); an explicit false marks a full-trust plugin users must approve separately
permissions no Capabilities shown in the install consent prompt
keywords no Extra search terms for the marketplace
official no Maintained and released from this repo

Entries are validated against index.schema.json.

Publishing a plugin

Open a pull request that adds plugins/<your-id>/plugin.json and plugins/<your-id>/README.md (to update, bump version, packageUrl, and sha256 in that same file). index.json and the catalog are regenerated on merge, so never edit them by hand. See CONTRIBUTING.md for the full guide, the entry rules, and the review criteria.

Plugin API

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: plugins/com.glyph.hello-status/, and the plugin template scaffolds a new one. The design and roadmap are tracked in glyph#109.

About

Glyph plugin marketplace index

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages