Glyphary Documentation

Start here

Learn Glyphary by opening a real vault and editing one note.

This manual is written for hands-on use: it helps new users get productive and gives evaluators a concrete tour of Glyphary's real workflows. Work through the sections in order once, then use the sidebar as a reference.

Recommended first vault: download or clone the Glyphary demonstration vault, then open that folder in Glyphary. It lets you explore the app before opening your own notes.
Glyphary open on a Markdown note with its file drawer, tabs, editor, and contextual tools
The Glyphary workspace: local files, live Markdown, and focused tools in one native window.

Five-minute path

  1. Download or clone the demonstration vault.
  2. Open Glyphary.
  3. Choose File -> Open Vault... and select the demo folder.
  4. Click a file in the left drawer.
  5. Type in the editor, then press Cmd+S.
  6. Press Cmd+P and run Insert callout.

What to learn first

  • Vaults are folders on disk; Glyphary does not import notes.
  • The left drawer is for navigation. The right drawer is for context.
  • Everything important saves as Markdown, JSON settings, or asset files in the vault.
  • Settings are per vault and live in .glyphary/config.json.

Install Glyphary

Download the latest build from GitHub Releases. Open the newest release and choose the asset for your operating system.

macOS

  1. Download the macOS .dmg from the Glyphary releases page.
  2. Open the disk image and drag Glyphary.app into Applications.
  3. If macOS warns that the app was downloaded from the internet, open it from Finder once and confirm.

Windows

  1. Download the Windows installer from the Glyphary releases page.
  2. Run the installer and follow the prompts.
  3. If Windows SmartScreen appears, confirm only if the installer came from the official Glyphary release.

Launch Glyphary, then choose File -> Open Vault... and select your notes folder. Glyphary works directly on local folders; it does not require importing or uploading your vault.

Core Concepts

Vault
A folder on disk that contains Markdown files, assets, settings, snippets, plugins, and calendar notes.
Note
A Markdown file opened in an editor tab. Rich blocks render visually, but the saved file remains readable Markdown.
Vault library
The app-wide list of vault folders you have opened, with optional cover images for quick switching.
Left drawer
The vault drawer. It contains Files, Search, Recent, Starred, and Tasks views.
Right drawer
The inspector drawer. It contains Source/Export, Table of Contents, and Calendar views.
Tidbit
A fast note created from a configurable path pattern, useful for capture before organization.
Important: Glyphary remembers each vault's current folder, open and recent files, active file, drawer state, and split layout independently.

Open A Vault

Use File -> Open Vault... from the native menu and choose the vault root folder.

  1. Open the File menu.
  2. Select Open Vault....
  3. Choose a folder that contains Markdown notes.
  4. Wait for the status bar to finish showing Indexing....
  5. Click a Markdown file to open it.

Before a vault is open, Glyphary keeps the window focused on the open-vault invitation and hides document, drawer, appearance, and status controls.

Switch between vaults

Every opened folder is added to the Vaults switcher in the left rail. Open the switcher to move between vaults without using the system picker again. Glyphary saves the active page before switching and restores the selected vault's own workspace.

Right-click a vault in the switcher to choose or remove a cover image, open it, or forget it. Forgetting removes the folder from the switcher; it does not delete the vault.

Glyphary workspace with an open vault
Main workspace after a vault is open.

Workspace Tour

The app window is split into stable regions so scrolling one area does not move the rest.

Top controlsBack, New Note, and New Folder above Files; Save and the command palette above the document; plus split/unsplit, display mode, theme mode, tabs, and the active document title.
Left rail and drawerVault switching, files, search, recent files, starred files, and tasks.
Center editorThe active tab group or split pane. Each editor scrolls independently.
Right drawerSource/Export, document table of contents, and Calendar.
Status barSave status, index status, Vim mode transitions, and diagnostic messages.

Native menus

On macOS, the system menu bar provides File, Edit, Insert, Format, View, Window, and Help commands. It includes Open Recent, active-file actions, table formatting, appearance and drawer toggles, and tab navigation. Settings opens in its own window, and file, table, Base, and vault-library context menus use native menus when available.

Opening a supported .md, .canvas, or .base file from Finder opens it when it belongs to the current vault. Files outside that vault are ignored rather than silently changing the workspace root.

Use The Left Drawer

The left drawer opens expanded by default and has Files, Search, Recent, Starred, and Tasks views.

  • Single-click a directory to enter it as the current top-level view.
  • Use Back to move up until you reach the vault root.
  • Click a file to open it in the active editor pane. In Settings, you can require a double-click instead.
  • Double-click a directory to open its shadow note.
  • The path shown under Files is relative to the vault root and omits the Markdown extension.
  • Dotfiles and dot folders are hidden by default.

When Files is active, the titlebar shows Back, New Note, and New Folder. Interface settings can hide either creation button without removing the same command from the folder context menu.

The document-opening setting also applies to Search, Recent, Starred, and Tasks.

File tree and previews

Settings can show files inside the folder tree, add a background behind that tree, and display a text excerpt under each file. Image previews use the first resolvable image in the note and can be disabled independently.

Search

Search can match filenames or Markdown file contents. Content search runs inside Glyphary using the same grep crates that power ripgrep-style matching, so no external rg binary is required. Search results are grouped by file, show a match count, and are sorted from the most recently modified page down to older notes.

Recent

Recent shows the newest files you opened in this vault. Opening a recent item activates it in the current editor pane and updates the left-drawer selection when the file is available in the current vault.

Starred

Run Star File from the Format menu or command palette to keep any note, canvas, or Base in the Starred view. Drag starred rows to reorder them. Renaming or moving a starred item updates its saved path; deleting it removes the stale star.

Tasks

Tasks scans visible Markdown files for task-list items such as - [ ] and - [x]. Dotfiles and dot folders are excluded. Use the filters to show incomplete, complete, or all tasks; use the search field to narrow the displayed list; and sort by task text or file date.

File And Folder Actions

Right-click entries in the Files view to use the native file actions available for that item.

Create noteCreate a Markdown file inside a folder and open it in the active pane.
Create canvasCreate an Obsidian-compatible .canvas file inside a folder and open it in the active pane.
Create folderCreate a child directory inside the selected folder.
Rename file or canvasRename a Markdown file or canvas file from the context menu while open tabs and indexes update.
Rename folderRenames the folder and a matching shadow note from old/old.md to new/new.md.
Move file or folderChoose a destination from the folder tree rooted at the vault.
Open in Default AppOpen the selected file or folder with its system default application.
Reveal in FinderOpen the native file manager with the selected file or folder highlighted.
Copy PathCopy the full host filesystem path to the clipboard.
Delete fileRequires confirmation. Deletion is destructive.

Moving or renaming files updates open tabs, recent files, and the in-memory wikilink index immediately so the workspace keeps pointing at the new path.

When a file is opened from Search, Recent, Starred, Tasks, a calendar day, or a deep link, Glyphary switches to Files, expands the relevant directory view, and keeps the selected file visible in the tree.

Deep links

Right-click a note, canvas, or Base and choose Copy Deep Link to place a Glyphary URL on the clipboard. The URL identifies the vault by name and the file by its vault-relative path, so it can be pasted into another app or used with the system open command.

glyphary://open?vault=Demo&file=Home.md

Opening a glyphary://open URL switches to the matching remembered vault and opens the requested file. The vault must already be in Glyphary's Vaults switcher; unknown vault names are reported instead of changing the current workspace.

Editor Basics

The editor is WYSIWYG, but it serializes back to Markdown.

View and Edit chrome

Use the View/Edit icon selector beside the appearance control to choose how much editing chrome is visible. View mode hides the frontmatter area and formatting toolbar while the document remains editable, so a banner image or first heading can sit directly above the note body.

Save and autosave

  • Press Cmd+S to save the active document.
  • Autosave is enabled by default and saves the active page once per minute.
  • Glyphary only saves when the active file has been modified.
  • The page title can be renamed by double-clicking the displayed title.

Code blocks

Syntax highlighting covers 40 languages: Plain text, Python, Shell, JavaScript, TypeScript, JSON, Rust, SQL, HTML, CSS, Markdown, C, C++, C#, CMake, Dart, Diff, Dockerfile, Elixir, Go, GraphQL, Haskell, INI, Java, Kotlin, LaTeX, Lua, Makefile, Nginx, Objective-C, Perl, PHP, PowerShell, Protobuf, R, Ruby, Scala, Swift, TOML, and YAML. Common fence aliases such as bash, js, ts, rs, md, golang, yml, c++, cs, objc, and ps1 are recognized, and the language picker on each block lists every supported name.

A mermaid fence renders as a diagram. If the diagram source has a syntax error, the parse message appears inside the block in place of the diagram so you can fix the source without leaving the note.

When the cursor is inside a code block, the language picker appears on that block. Pressing Tab inside a code block inserts indentation instead of moving focus away from the editor, and the editor uses four-space tab sizing.

Typing shortcuts

Inline formatting expands as you type: **bold**, *italic*, ~~strikethrough~~, and ==highlight== all convert to their rendered form the moment you close the pair, anywhere in a sentence. Superscript (^) and subscript (~) render when a note is loaded rather than while typing, because their single-character delimiters appear too often in ordinary prose.

Insert between blocks

Some blocks are edited as a unit and have no natural caret position between them: tables, callouts, columns, collapsible sections, rich links, galleries, drawings, and HTML blocks. When the caret is inside one of these blocks, small + controls appear in the gutter above and below it. Click one to insert an empty paragraph at that boundary, which is how you add text between two adjacent callouts or after a table that ends the note.

The arrow keys respect the same boundaries. Pressing Down from the last row of a table or the last line of a code block that is followed by another block places a thin insertion cursor between the two blocks; press Enter there to create a paragraph. At the very end of a note, Down out of a code block creates the paragraph directly.

Find in page

Press Cmd+F to search the active Markdown page. Glyphary highlights all matches, reports the current match count, and supports Enter/Shift+Enter or the Up/Down buttons for navigation. Press Esc to close the search bar.

Command Palette

Press Cmd+P or use the command button beside Save. Type to filter, use arrow keys to move, Enter to run, and Esc to close. Inside a note, typing / opens the flat slash menu with the same Insert and AI commands.

Enter / Exit Focus ModeHide every panel and toolbar except the note. See Focus Mode.
Create TidbitCreate a note from the vault tidbit path pattern.
Insert rich linkFetch URL metadata and insert a rich link block.
Insert Excalidraw drawingCreate and embed an editable vault drawing.
Insert columnsInsert a two-column Markdown container.
Gallery layoutWrap selected image embeds in a visual gallery.
Insert calloutInsert a note callout block.
Insert collapseInsert a collapsed details block.
Insert table of contentsInsert a rendered ```toc block.
Format commandsWrap selected text as keyboard keys, strikethrough, highlight, superscript, or subscript Markdown.

Slash Commands And Hints

Type / at the start of a line or after a space to open a menu anchored to the caret. It lists the Insert and AI commands as one flat, filterable list: keep typing to filter, use the arrow keys to move, press Enter to run, or press Esc to dismiss it.

  • The typed / stays in the note when you dismiss the menu, so writing a literal slash never fights the editor.
  • Running a command removes the slash and applies the command at that spot.
  • The menu never opens inside code blocks or in the middle of a word.
  • Turn it off or back on per vault with Settings -> Editor -> Slash command menu.

First-use hints

Glyphary shows a short hint the first time you use a feature that deserves an explanation, such as the slash menu or the Source drawer. Each hint appears once; press Got it to continue with what you were doing. The Hints section under Settings -> Main can disable hints entirely or reset them so every hint shows again.

Focus Mode

Focus Mode leaves only the note on screen. Enter or exit it from the command palette (Enter Focus Mode / Exit Focus Mode) or from View -> Focus Mode in the native menu, which shows a checkmark while it is active.

While focused, the Files drawer, inspector, tab strip, formatting toolbar, frontmatter area, and every title-bar control except Save and the command palette button are hidden. Split panes stay visible because both halves are part of the editing area. Nothing is closed or reset: drawer widths, open tabs, and scroll positions return exactly as they were when you exit. Keyboard shortcuts, Markdown syntax, and the command palette keep working, so formatting and switching notes remain one keystroke away.

AI Actions

Glyphary can run AI commands against an OpenAI-compatible backend. AI commands are hidden until they are enabled in Settings, so the command palette stays focused when no AI provider is configured.

Configure AI

  1. Open Settings and choose the AI tab.
  2. Enable AI commands.
  3. Enter the backend base URL and API key.
  4. Click Refresh Models to load compatible chat models from the backend.
  5. Select a model, then click Test API. A green status dot means the configured backend accepted a test request.

The default backend shape follows the OpenAI-compatible API convention: a base URL such as https://api.openai.com/v1, an API key, and a selected chat model.

Run AI commands

Open the command palette with Cmd+P, choose AI ..., then select the command you want to run. Most commands work on selected text; commands such as Generate title and Continue writing can use the current note and cursor context.

Improve writingRewrite selected text for clearer wording without changing its intent.
Fix spelling and grammarApply a light correction pass to selected text.
Shorten / ExpandCompress verbose text or elaborate terse notes.
Change toneMake selected text more formal, casual, direct, or polished.
SummarizeTurn selected text into a concise summary.
Extract tasksConvert selected text into actionable task items.
Create outlineTransform selected notes into headings and bullets.
Generate titleSuggest a page title from the current note or selection.
Continue writingContinue from the cursor using nearby page context.
Explain selectionExplain the selected concept in simpler terms.
Diagram from selection or noteDraw the selection, or the whole note when nothing is selected, as a Mermaid flowchart, sequence, or state diagram inserted below the text. The diagram is an editable mermaid block, not an image.
Humanize selectionRewrite AI-sounding prose (stock phrases, inflated claims, vague attributions, formulaic lists) while keeping every claim and inventing nothing. Based on Wikipedia's "Signs of AI writing".

Review before editing

While the request is running, Glyphary shows an AI progress overlay so the editor does not appear frozen. AI output is then shown in a review dialog before Glyphary changes the note. Use Replace Selection when the result should overwrite the selected text, or Insert Below when you want to keep the original and add the result after it. Press Esc to dismiss the review dialog without applying the response.

Privacy boundary: non-builder AI actions send the current command, the selected text or cursor context needed for that command, and the relevant note context to your configured backend. Glyphary does not send the whole vault for these actions.

AI Builder

AI Builder is part of the AI command group. It creates or revises page sections in the current editor, then shows a review dialog before anything is inserted or replaced.

Glyphary AI Builder dialog with prompt and history controls
AI Builder keeps page-building prompts, replacement history, and review steps together.

Use the current page

Ask for page-local work such as drafting a section, creating columns, adding callouts, continuing from the cursor, or refining a previously inserted AI Builder block. When you run a follow-up prompt, Glyphary targets the latest still-present AI Builder block so the result can replace it instead of appending another copy.

AI Builder keeps a per-file conversation history. Previously applied Builder results are tracked with invisible Markdown comments so follow-up requests can replace the generated region cleanly while leaving normal rendered editing uncluttered.

Use matching vault notes

If the prompt asks about the vault, all pages, matching notes, related files, tasks, or todos, Glyphary first performs local bounded retrieval. It searches visible Markdown files, reads a small number of matching notes, includes compact excerpts and snippets, and asks the AI to cite source notes with [[Note Name]] links.

Summarize all pages pertaining to opensips.
Create a table of open tasks related to networking.
Build a project brief from notes about database migrations.

Follow up on retrieved pages

AI Builder also understands reference-style prompts. For example, this request searches visible Markdown notes for opensips, then builds a table from the matching pages:

Create a table with links to all the pages that reference opensips

After applying the result, you can reopen AI Builder and refine the same generated block:

Create a summary of what these pages have to say under the table

Generated images and assets

If the Builder proposes external images, logos, or other visual assets, Glyphary opens an asset review step before applying the page change. Approved assets are imported into the vault image directory and the generated Markdown is rewritten to use normal local vault image references.

Privacy boundary: AI Builder does not give the model filesystem access and does not send the whole vault. It sends only bounded local search results, selected excerpts, current-page context, and your prompt to the configured AI backend.

Metadata And Frontmatter

Frontmatter is hidden from the WYSIWYG body, preserved on save, and available from the disclosure row above the editor. Each property has its own single-line editor; add and remove properties without editing the raw frontmatter block. Edit the left field to rename a property; scalar values are normalized to one line. YAML and TOML delimiters are preserved.

---
tags:
  - databases
  - devops
banner: '![[Pasted image 20230521183520.png]]'
---

Tags are edited as individual pills. Any other property loaded with multiple values is presented the same way, including inline arrays such as [draft, project] and YAML block lists. Press Enter to add a value and remove a pill without rewriting the rest.

A banner value can display a vault image above the metadata area. Bare image names resolve through _assets_/images; paths such as Attachments/banner.png resolve relative to the vault root.

Tabs And Split Editing

Glyphary can keep multiple documents open and split the editor into two independent tab groups. The last tab can be closed, leaving a quiet center workspace with no document open.

Configure New Tab in Settings to choose the vault file opened by Cmd+T. When no file is configured, Cmd+T leaves the workspace unchanged and the status bar invites you to choose a new-tab note.

Split editor with two panes
Split editing with independent tab groups.

Drag files into the editor

Drag a Markdown, canvas, or Base file from the Files tree into the editor area. When the editor is already split, the file opens as a new tab in the pane under the pointer. When it is not split, moving over the left or right half shows a split preview; drop to create the split, or leave the editor area to cancel.

Tab context menu

Right-click a tab to Close Tab, Close Other Tabs, or Star File/Unstar File. Closing other tabs keeps the selected tab and refuses to close while another tab has unsaved changes, telling you to save it first.

Use The Right Drawer

The right drawer is closed by default and includes Source/Export, Table of Contents, and Calendar.

Source/ExportInspect the Markdown source and export-oriented output for the active tab.
Table of ContentsLists headings from the active document; click an entry to jump to that heading.
CalendarBrowse months and click a day to open or create its note. The document-opening setting can require a double-click instead.

Markdown Reference

Glyphary Markdown support is extension-driven: files stay plain Markdown on disk, while the editor renders the syntax that Glyphary knows how to round-trip. This is the Glyphary reference, not a generic TipTap or ProseMirror feature matrix.

Core Markdown

  • Headings: #, ##, ###.
  • Inline formatting: **bold**, *italic*, `inline code`, ~~strikethrough~~, ==highlight==, ^superscript^, ~subscript~, <kbd>Cmd</kbd>, links, and images.
  • Blocks: paragraphs, lists, blockquotes, horizontal rules, fenced code blocks with languages, and rendered Mermaid diagrams from mermaid fences (a syntax error shows its parse message inside the block).

Tables

Use the table icon to insert a table. When inside a table, palette commands appear for rows, columns, and table deletion. You can also right-click a table to use the same row and column commands, plus Align column... for left, center, or right text alignment.

| Item | Amount |
| :--- | -----: |
| Rent | $1,200 |

Markdown alignment rows are supported: a leading colon aligns left, a trailing colon aligns right, and both sides center the column. Glyphary does not currently support attribute-list syntax such as {align=right} for table cells or columns.

Wikilink aliases work inside table cells without escaping the pipe: | [[Databases|Database notes]] | parses and saves as one cell.

Task lists

- [ ] Collect screenshots
- [x] Open the vault

Wikilinks and vault assets

[[Page Name]]
[[Folder/Page Name]]
[[Page Name|Display text]]
![[Pasted image 20230521183520.png]]
![[_assets_/drawings/System sketch 20230102173741.excalidraw]]
![Video](https://www.youtube.com/watch?v=srE7gZ7ZCf0)

Wikilink aliases render as the display text while preserving the target path in Markdown. Vault images resolve relative paths and also check _assets_/images. Excalidraw drawings are stored under _assets_/drawings. YouTube URLs used as Markdown images render as thumbnails, and clicking the thumbnail opens the original video URL.

Frontmatter

---
tags:
  - project
banner: '![[Pasted image 20230521183520.png]]'
---

Frontmatter stays editable in Edit mode as single-line property rows. Keys and scalar values can be changed in place, properties can be added or removed, and tags or any detected multi-value property use editable pills. YAML --- and TOML +++ delimiters are preserved. A banner displays a page banner above the frontmatter area when the referenced image is found.

Inline table of contents block

```toc
```

When not editing the block, Glyphary renders it as a table of contents.

Columns

::: columns
::: column
Left content
:::

::: column
Right content
:::
:::
Glyphary rendering columns
Columns render side by side when there is room.

Gallery

::: gallery
![[Screenshot 1.png]]

![[Screenshot 2.png]]
:::

Use Gallery layout with selected images to create a responsive image grid.

Callouts

::: callout warning "Database Migration"
Back up the database first.
:::

Supported visual types include note, info, tip, and warning.

Glyphary callouts
Callout type controls the visual treatment.

Collapse blocks

::: collapse "More details"
Hidden content starts collapsed.
:::

::: collapse "Already open" open
This starts expanded.
:::
Glyphary collapse blocks
Collapse blocks default closed; add open to start expanded.

Rich links

::: rich-link
url: https://example.com
title: Example
description: A saved preview card.
siteName: Example
:::

Run Insert rich link, paste a URL, and Glyphary fetches metadata. If no metadata image exists, it tries an early page image.

Glyphary rich link cards
Rich link cards render fetched metadata.

HTML blocks

Use Insert HTML block from the toolbar or command palette to insert an editable HTML block. Glyphary renders a sanitized preview and keeps the source editable inside the block. Script-like tags and unsafe attributes are stripped from the preview; the feature is for trusted note content, not for running arbitrary app code.

<div class="note-card">
  <strong>Hello</strong>
</div>

Canvas Files

Glyphary can open Obsidian-compatible .canvas files from the vault. Click a canvas file in the Files drawer and it opens in a tab as a graph editor. Canvas files use a connected-node file icon in the Files and Recent drawers so they are easy to distinguish from Markdown notes.

Glyphary canvas file with connected notes and cards
Canvas files open as editable graphs with cards, note previews, media, groups, and edges.

Open and navigate a canvas

  • Pan and zoom with the canvas controls, mouse wheel, or trackpad gestures.
  • Use the minimap to understand larger graphs.
  • Drag text, file, and link nodes to update the saved layout.
  • Group nodes act as visual regions behind other nodes; they are not moved as regular nodes.

Add nodes

  • Right-click empty canvas space and choose Add Card to create a text card.
  • Type directly inside the new card. Use Cmd+Enter or Ctrl+Enter to commit, or Esc to cancel.
  • Double-click an existing card to edit its text again.
  • Choose Add Note From Vault or Add Media From Vault to open a tree picker. Expand folders progressively, then select the note, image, video, or audio file.
  • Choose Add Web Page to create a web node. Some sites block embedded previews; use the fallback link when that happens.
  • Choose Create Group to create a labelled visual region.

Connect and edit nodes

  • Drag from a node handle to another node handle to create an arrowed edge.
  • Select an edge and press Delete or Backspace to remove it.
  • Right-click any node to choose an Obsidian canvas color or remove the color.
  • Right-click any node and choose Delete Node to remove it and its attached edges.
  • Right-click empty canvas space and choose Snap To Grid to align node positions.

File nodes and compatibility

  • Text, file, link, and group nodes are rendered through React Flow.
  • Obsidian numeric colors and hex colors are shown as restrained node accents.
  • File nodes show a bounded Markdown preview so large canvases stay responsive.
  • Image, video, and audio file nodes preview in place when their vault path is allowed by the asset protocol.
  • Double-click a file node to open that Markdown file in the active pane.
  • The Source drawer switches to the canvas JSON for inspection.

Save the tab normally to write node creation, node movement, edge edits, and node deletions back to the .canvas file. Glyphary preserves unknown JSON Canvas fields so Obsidian and plugin-specific metadata can round-trip even when Glyphary does not render that metadata directly.

Base Files

Glyphary opens .base files as local database-style views over Markdown notes. Base definitions query note properties from frontmatter and render matching files as tables or gallery cards without moving data out of the vault.

views:
  - type: table
    name: Sources
    filters:
      - property: source
        exists: true

Gallery cards can show the first image found in a note, including vault images and remote image URLs. The card image layout can be set to side-by-side or image-on-top in Settings.

  • Named views appear as tabs and can render as a table or gallery.
  • The result counter shows visible notes against the full query result.
  • Search narrows rows by filename or frontmatter title.
  • Sort by any discovered property in ascending or descending order.
  • Choose which properties are visible; at least one column remains selected.
  • Click a table row or gallery card to open the source note.

Images And Assets

Glyphary-managed images live in _assets_/images. Dragging or pasting an image into a Markdown editor copies it into that directory and inserts a local reference, so the note remains portable with the vault.

![[Pasted image 20260613133301.png]]
![Local image](folder/Pasted%20image%2020220413143858.png)

Bare wiki image embeds such as ![[image.png]] resolve from _assets_/images. Double-click an image in the editor to inspect it at full size, then press Esc to close the preview. YouTube URLs used as Markdown image sources display a thumbnail in the page; click the thumbnail to open the video.

Drop text and files

Drop plain text from another application directly into the editor to insert it at the cursor. Dropping a text file inserts its contents. Dropping an image file imports the file into _assets_/images and inserts the corresponding Markdown image reference; the original file is not left as an external path.

These editor drops target the pane under the pointer, including the secondary pane in a split. Image paste follows the same import path and supports PNG, JPEG, GIF, and WebP.

Calendar Notes

Calendar notes live under Calendar/. Existing files display dots. Hover a day to preview its rendered note, or see that no note exists yet; the preview delay is configurable in Settings. Click a day to open or create its note; the document-opening setting can require a double-click instead.

Calendar/Sun, Jun 14th 2026.md

Tidbits

Run Create Tidbit from the command palette to create a note from the configured path pattern.

__transit__/Objects/tidbit-{{date:YYYY-mm-DD-hh-mm-ss}}.md

Global tidbit capture

Enable global capture in Settings, focus the shortcut field, press the desired hotkey, and save settings. On macOS, Glyphary asks for accessibility permission only when this feature is enabled. The shortcut is intended for a running app with an available vault; if no vault is open, the capture window is not shown.

The capture window is a lightweight editor for the new tidbit. Its title can be renamed by double-clicking, following the same rename rules as the main editor.

Settings Reference

Settings are stored per vault at <vault root>/.glyphary/config.json.

Important defaults

Images_assets_/images
Drawings_assets_/drawings
CSS snippets_snippets_
Plugins.glyphary/plugins
Document openingOne click
Files titlebar actionsNew Note and New Folder shown

Settings tabs

MainVault paths and previews, an Interface group for New Note, New Folder, the document proxy, the status bar, and document click behavior, plus tidbits, frontmatter, calendar previews, an Editor group with Vim mode and the slash command menu, autosave, and a Hints group to disable or reset first-use hints.
AppearanceWindow glass, workspace margins, UI text weight, section corners, theme templates, CSS snippets, and callout rendering.
CanvasNode and edge thickness, edge style, grid visibility and snapping, and the preview/navigation box.
PluginsEnable vault plugins discovered under .glyphary/plugins.
AIEnable AI commands and configure the OpenAI-compatible backend.
DebugReveal diagnostic controls, including global tidbit shortcut checks.

Appearance And Theming

Appearance settings include Auto/Light/Dark, glass effect and opacity, UI text weight, rounded corners, margins, theme templates, and CSS snippets. The Interface group under Main controls the title-bar document proxy and status bar. The document proxy shows the active filename and opens native Reveal, Open in Default App, and Copy Path actions.

Theme templates

Templates are complete themes. Picking one also switches the app to the light or dark mode it was designed for, and the change previews live in the main window; closing Settings without saving reverts both the colors and the mode. The Cupertino and Cupertino Dark pair uses white or graphite surfaces, a single vivid blue accent for selection and list bullets, system fonts, soft shadows, and a chartreuse highlight.

Theme Builder groups

The builder exposes Canvas (including the two shadow colors), Text, Accent And Borders, Blocks (including the highlight background and list-marker color), Callouts, Syntax, Typography, and Spacing And Shape. Editor max width is none in every template; set a value such as 860px for a centered column.

CSS snippets

Approve CSS snippets from _snippets_. See the dedicated theming reference.

Optional editor treatments

Appearance can add colorful heading levels, heading underlines, heading anchor markers, rich callout styling, structured callout layouts, and per-callout icons on top of the selected theme template. Two further options change the workspace chrome: hide the accent border around the active note pane, and cast a soft shadow from the Files drawer onto the editor.

Plugins

Plugins are vault-scoped and disabled by default. Install them under .glyphary/plugins.

Minimal manifest

{
  "id": "meeting_tools",
  "name": "Meeting Tools",
  "runtime": "glyphary-wasm-transform@1",
  "commands": []
}

Authoring details live in the plugin authoring guide.

Vim Mode

Enable Vim mode in Settings. The status bar reports Vim normal mode and Vim insert mode.

Shortcuts

Cmd+POpen command palette.
/At the start of a line or after a space: open the slash menu of Insert and AI commands.
Cmd+FFind text in the active Markdown page.
Cmd+NCreate a new note.
Cmd+OOpen a vault folder.
Cmd+TOpen the configured New Tab file, or show a status prompt if none is configured.
Cmd+WClose the active tab. If it is the last clean tab, the center workspace becomes empty.
Ctrl+TabShow the next tab; add Shift for the previous tab.
Cmd+Shift+[ / ]Show the previous or next tab on macOS.
Cmd+Alt+SToggle the left drawer.
Cmd+Alt+IToggle the inspector.
Cmd+SSave the active document.
Cmd+Shift+VPaste plain text without formatting.
Cmd+,Open Settings.
EscClose dialogs, previews, or enter Vim Normal mode.

About And Debug

The native About panel shows the current app version and implementation credits. On launch, Glyphary checks GitHub Releases for a newer version; when one is available, the update dialog shows its release notes and links to the download page. Failed checks stay silent and never interrupt local editing. Debug settings expose global shortcut diagnostics.

Troubleshooting

My image does not render.

Check that the file is under _assets_/images and that the Markdown reference is local.

Developers

Glyphary is a Tauri, React, TypeScript, and Rust app. The Makefile wraps the common setup, build, and release commands.

Checkout and install

git clone https://github.com/glyphary/glyphary.git
cd glyphary
make install

make install runs npm install and prepares the macOS Rust targets used by the desktop build. You also need the Rust toolchain and Xcode Command Line Tools installed.

First development run

make dev

This starts the Vite frontend and the Tauri desktop shell together.

Build and verify

make build
make check
make test

make build builds the frontend, make check adds a Rust compile check, and make test runs frontend and Rust tests.

Production bundles

make prod-app
make release

make prod-app creates a macOS app bundle. make release creates the production release bundle used for distribution.