Skip to content

Markdown Notes

Björn Platte edited this page Feb 9, 2026 · 2 revisions

Markdown Notes

Every GitHub issue and pull request becomes a markdown note in your vault. Customize the filename, content, and preserve your own additions across syncs.

Overview

  • Automatic note creation for issues and PRs
  • YAML frontmatter with metadata
  • Customizable filename templates
  • Custom content templates
  • Preserve your notes with persist blocks
  • Include comments

Note Structure

Default Format

---
allowDelete: true
id: 123456789
number: 42
title: "Fix login bug"
state: "open"
labels: ["bug", "priority-high"]
assignees: ["username"]
---

## Fix login bug

The login form throws an error when...

---
## Comments

**@user** on 2026-01-15:
> This needs to be fixed ASAP

Frontmatter

The YAML frontmatter contains GitHub metadata:

Field Description
allowDelete Whether auto-cleanup can delete this file
id GitHub issue/PR ID
number Issue/PR number
title Title
state open or closed
labels Array of label names
assignees Array of usernames
milestone Milestone name
created Creation date
updated Last update date
requested_reviewers Requested reviewers (PRs only)

Filename Templates

Customize how files are named using variables:

Variable Example
{number} 42
{title} Fix login bug
{state} open
{labels} bug, priority-high

Examples:

  • Issue - {number}Issue - 42.md
  • {number} - {title}42 - Fix login bug.md
  • [{state}] {title}[open] Fix login bug.md

See Filename-Templates for all variables.

Content Templates

Create custom note formats with full control over content:

---
title: "{title_yaml}"
status: "{state}"
tags: [{labels_yaml}]
---

# {title}

> **Issue #{number}** | {state} | Created: {created_at}

{body}

{comments:## Discussion
{comments}}

See Content-Templates for detailed guide.

Persist Blocks

Keep your own notes safe during syncs:

{% persist "notes" %}
## My Notes

- [ ] Review implementation
- [ ] Write tests
- This approach looks good

{% endpersist %}

Content between {% persist "notes" %} and {% endpersist %} is never overwritten.

Multiple blocks supported:

{% persist "notes" %}
My notes here
{% endpersist %}

{% persist "tasks" %}
My tasks here
{% endpersist %}

See Persist-Blocks for details.

Including Comments

Enable Include Comments in repository settings to add GitHub comments to your notes.

Comments are formatted as:

---
## Comments

**@username** on 2026-01-15:
> Comment content here

**@another** on 2026-01-16:
> Reply content

Template Variables

Full list of available variables:

Basic

{number}, {title}, {body}, {state}, {url}, {type}

People

{author}, {assignee}, {assignees}, {assignees_yaml}

Dates

{created}, {updated}, {closed}

Metadata

{labels}, {labels_yaml}, {milestone}, {repository}, {owner}, {repoName}

Pull Requests

{baseBranch}, {headBranch}, {merged}, {mergedAt}, {mergeable}

See Template-Variables for complete reference.

Visualize your issues

Query your issues with Dataview:

TABLE state, labels
FROM "GitHub"
WHERE state = "open"
SORT number DESC

Or use Bases

Tag Organization

Use labels as tags in frontmatter:

tags: [{labels_yaml}]

Then filter in Obsidian by tag.

Related

Clone this wiki locally