A Github-ish Issue Tracker in Obsidian.
The script grabs issue notes from a subfolder by Dataview, then render it with dv.view().
Works best with the following file structure:
Project Name
├── issues
│ ├── issue-1.md <--- dv.view("path/to/IssueTracker/issue", {...}) here
│ ├── ...
│ └── issue-n.md <--- dv.view("path/to/IssueTracker/issue", {...}) here
├── Issue Tracker.md <--- dv.view("path/to/IssueTracker", {...}) here
└── Project Name.md
- Install plugins via Community plugins tab.
- Copy
IssueTracker/
to anywhere in your vault. - Optional - Copy contents of
templates/
to your Templater's template folder location, and modifydv.view()
's path argument.
That's it, you may now call dv.view()
, or insert template to create an issue tracker.
You may pass arguments to dv.view()
to change issue tracker's behavior.
await dv.view("Issue Tracker/IssueTracker", {
obsidian: obsidian, // necessary, DO NOT REMOVE
/** Options here */
// Name of project, used as display text of project note's link
// project_name: <your project name>
// Title of project note, used to find the project note
// project_note: <project note name>
// Sub-folder where issue notes go
// issue_folder: "issues/",
// Template name, a template that exists in your templater folder
// issue_template: "note.issue-tracker.issue.md",
// Default query that shows up in the search bar
// default_query: "is:open",
});
Quick example: is:open label:difficult title:sleep schedule "coffee addict"
The query will search for issues that matches all of the following criteria:
is:open
: status is openlabel:difficult
: has label "difficult"title:sleep
: includes "sleep" in its titleschedule
: includes "schedule" in its title or content"coffee addict"
: includes "coffee addict" in its title or content
Issue status can only be open
or closed
, you can query them with is
or status
, is:closed
and status:closed
are essentially the same.
Quotation marks can be used to preserve space, e.g., label:"need help"
, title:"blahaj support"
Two example projects are provided in example folder. Try them out!
- Download this repository: Goto the repository page, click
code
button on top right > clickDownload ZIP
, or usegit clone
. - Unzip and open the repository as Obsidian vault.
- Install Dataview and Templater.
- Enable JavaScript Queries option in Dataview.
- Set Template Folder Location to
Issue Tracker/templates
in Templater.