Skip to content

Commit 7327f4a

Browse files
committed
docs: create Wiki and remove inline template help
- Simplify settings descriptions
1 parent e6fe484 commit 7327f4a

12 files changed

Lines changed: 51 additions & 667 deletions

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ An Obsidian plugin that integrates with GitHub to track issues and pull requests
2121
- Custom field support (status, priority, iteration)
2222
- Project-specific filtering and organization
2323

24+
### 🔗 Sub-Issues Support
25+
- Track GitHub sub-issues (parent/child relationships)
26+
- Display sub-issues list with status indicators
27+
- Navigate between parent and child issues
28+
- Progress tracking with completion percentage
29+
2430
### 📝 Markdown Notes
2531
- Create markdown notes for each issue or PR
2632
- Customizable filename templates with variables

src/settings-tab.ts

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,20 @@ export class GitHubTrackerSettingTab extends PluginSettingTab {
6363

6464
const linksContainer = subtitleContainer.createDiv({ cls: "github-issues-subtitle-links" });
6565

66+
const wikiLink = linksContainer.createEl("a", {
67+
href: "https://github.com/LonoxX/obsidian-github-issues/wiki",
68+
cls: "github-issues-header-link",
69+
});
70+
wikiLink.setAttribute("target", "_blank");
71+
const wikiIcon = wikiLink.createSpan({ cls: "github-issues-link-icon" });
72+
setIcon(wikiIcon, "book-open");
73+
wikiLink.createSpan({ text: "Wiki" });
74+
75+
linksContainer.createSpan({ text: " • " });
76+
6677
const bugLink = linksContainer.createEl("a", {
6778
href: "https://github.com/LonoxX/obsidian-github-issues/issues/new",
68-
cls: "github-issues-bug-link",
79+
cls: "github-issues-header-link",
6980
});
7081
bugLink.setAttribute("target", "_blank");
7182
const bugIcon = bugLink.createSpan({ cls: "github-issues-link-icon" });
@@ -76,7 +87,7 @@ export class GitHubTrackerSettingTab extends PluginSettingTab {
7687

7788
const sponsorLink = linksContainer.createEl("a", {
7889
href: "https://github.com/sponsors/LonoxX",
79-
cls: "github-issues-sponsor-link",
90+
cls: "github-issues-header-link",
8091
});
8192
sponsorLink.setAttribute("target", "_blank");
8293
const sponsorIcon = sponsorLink.createSpan({ cls: "github-issues-link-icon" });
@@ -87,7 +98,7 @@ export class GitHubTrackerSettingTab extends PluginSettingTab {
8798

8899
const kofiLink = linksContainer.createEl("a", {
89100
href: "https://ko-fi.com/lonoxx",
90-
cls: "github-issues-kofi-link",
101+
cls: "github-issues-header-link",
91102
});
92103
kofiLink.setAttribute("target", "_blank");
93104
const kofiIcon = kofiLink.createSpan({ cls: "github-issues-link-icon" });
@@ -98,7 +109,7 @@ export class GitHubTrackerSettingTab extends PluginSettingTab {
98109

99110
const bmcLink = linksContainer.createEl("a", {
100111
href: "https://buymeacoffee.com/lonoxx",
101-
cls: "github-issues-bmc-link",
112+
cls: "github-issues-header-link",
102113
});
103114
bmcLink.setAttribute("target", "_blank");
104115
const bmcIcon = bmcLink.createSpan({ cls: "github-issues-link-icon" });
@@ -298,7 +309,7 @@ export class GitHubTrackerSettingTab extends PluginSettingTab {
298309

299310
new Setting(syncContainer)
300311
.setName("Cleanup closed items after (days)")
301-
.setDesc("Delete local files for items closed longer than this many days")
312+
.setDesc("Delete files for items closed longer than X days")
302313
.addText((text) =>
303314
text
304315
.setPlaceholder("30")
@@ -343,12 +354,6 @@ export class GitHubTrackerSettingTab extends PluginSettingTab {
343354
const advancedContainer = containerEl.createDiv("github-issues-settings-group");
344355
new Setting(advancedContainer).setName("Advanced Settings").setHeading();
345356

346-
// Template variables help
347-
UIHelpers.addTemplateVariablesHelp(advancedContainer, 'issue');
348-
349-
// Persist blocks help
350-
UIHelpers.addPersistBlocksHelp(advancedContainer);
351-
352357
new Setting(advancedContainer)
353358
.setName("Date format")
354359
.setDesc("Format for dates in issue files (e.g., yyyy-MM-dd HH:mm:ss)")
@@ -448,7 +453,7 @@ export class GitHubTrackerSettingTab extends PluginSettingTab {
448453

449454
new Setting(advancedContainer)
450455
.setName("Escape hash tags")
451-
.setDesc("Escape # characters that are not valid Markdown headers to prevent unintended Obsidian tags (e.g., #134 becomes \\#134)")
456+
.setDesc("Escape # to prevent unintended Obsidian tags")
452457
.addToggle((toggle) =>
453458
toggle
454459
.setValue(this.plugin.settings.escapeHashTags)

src/settings/project-renderer.ts

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export class ProjectRenderer {
3535

3636
const issueFolderSetting = new Setting(standardIssueFolderContainer)
3737
.setName("Issues folder template")
38-
.setDesc("Folder path template. Variables: {project}, {owner}, {project_number}")
38+
.setDesc("Folder path template for issue storage")
3939
.addText((text) => {
4040
text
4141
.setPlaceholder("GitHub/{project}")
@@ -89,12 +89,10 @@ export class ProjectRenderer {
8989
new FolderSuggest(this.app, text.inputEl);
9090
});
9191

92-
// Issue filename template with FULL variable list
92+
// Issue filename template
9393
new Setting(issueStorageContainer)
9494
.setName("Issue filename template")
95-
.setDesc(
96-
"Variables: {number}, {title}, {author}, {status}, {project}, {type}, {labels}, {assignees}, {owner}, {repoName}, {labels_hash}, {created}, {updated}"
97-
)
95+
.setDesc("Template for issue filenames")
9896
.addText((text) =>
9997
text
10098
.setPlaceholder("Issue - {number}")
@@ -108,7 +106,7 @@ export class ProjectRenderer {
108106
// Issue Content Template Settings
109107
new Setting(issueStorageContainer)
110108
.setName("Use custom issue content template")
111-
.setDesc("Enable custom template file for issue content instead of the default format")
109+
.setDesc("Use custom template for issue content")
112110
.addToggle((toggle) => {
113111
toggle
114112
.setValue(project.useCustomIssueContentTemplate ?? false)
@@ -156,9 +154,9 @@ export class ProjectRenderer {
156154
});
157155
});
158156

159-
new Setting(issuesSettingsContainer)
157+
new Setting(issueStorageContainer)
160158
.setName("Include sub-issues")
161-
.setDesc("If enabled, sub-issues will be included in the generated files")
159+
.setDesc("Include sub-issues in generated files")
162160
.addToggle((toggle) =>
163161
toggle
164162
.setValue(project.includeSubIssues ?? false)
@@ -167,7 +165,6 @@ export class ProjectRenderer {
167165
await this.plugin.saveSettings();
168166
}),
169167
);
170-
}
171168

172169
// ===== PULL REQUESTS STORAGE SECTION =====
173170
new Setting(container).setName("Pull Requests Storage").setHeading();
@@ -185,7 +182,7 @@ export class ProjectRenderer {
185182

186183
new Setting(standardPrFolderContainer)
187184
.setName("Pull requests folder template")
188-
.setDesc("Folder path template. Variables: {project}, {owner}, {project_number}")
185+
.setDesc("Folder path template for PR storage")
189186
.addText((text) => {
190187
text
191188
.setPlaceholder("GitHub/{project}")
@@ -239,12 +236,10 @@ export class ProjectRenderer {
239236
new FolderSuggest(this.app, text.inputEl);
240237
});
241238

242-
// PR filename template with FULL variable list
239+
// PR filename template
243240
new Setting(prStorageContainer)
244241
.setName("PR filename template")
245-
.setDesc(
246-
"Variables: {number}, {title}, {author}, {status}, {project}, {type}, {labels}, {assignees}, {owner}, {repoName}, {labels_hash}, {created}, {updated}"
247-
)
242+
.setDesc("Template for pull request filenames")
248243
.addText((text) =>
249244
text
250245
.setPlaceholder("PR - {number}")
@@ -258,7 +253,7 @@ export class ProjectRenderer {
258253
// PR Content Template Settings
259254
new Setting(prStorageContainer)
260255
.setName("Use custom PR content template")
261-
.setDesc("Enable custom template file for PR content instead of the default format")
256+
.setDesc("Use custom template for PR content")
262257
.addToggle((toggle) => {
263258
toggle
264259
.setValue(project.useCustomPullRequestContentTemplate ?? false)

src/settings/repository-renderer.ts

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export class RepositoryRenderer {
9494

9595
new Setting(issuesSettingsContainer)
9696
.setName("Use custom folder")
97-
.setDesc("Instead of organizing issues by Owner/Repository, place all issues in a custom folder")
97+
.setDesc("Use custom folder instead of Owner/Repository structure")
9898
.addToggle((toggle) => {
9999
toggle
100100
.setValue(repo.useCustomIssueFolder)
@@ -116,7 +116,7 @@ export class RepositoryRenderer {
116116

117117
new Setting(customIssuesFolderContainer)
118118
.setName("Custom issues folder")
119-
.setDesc("Specific folder path where all issues will be placed (overrides the folder structure)")
119+
.setDesc("Custom folder path for all issues")
120120
.addText((text) => {
121121
text
122122
.setPlaceholder("e.g., Issues, GitHub/All Issues")
@@ -174,7 +174,7 @@ export class RepositoryRenderer {
174174
new Setting(issuesSettingsContainer)
175175
.setName("Default: Allow issue deletion")
176176
.setDesc(
177-
"If enabled, issue files will be set to be deleted from your vault when the issue is closed or no longer matches your filter criteria",
177+
"Delete issue files when closed or filtered out",
178178
)
179179
.addToggle((toggle) => {
180180
allowDeleteIssueToggle = toggle;
@@ -189,9 +189,7 @@ export class RepositoryRenderer {
189189

190190
new Setting(issuesSettingsContainer)
191191
.setName("Issue note template")
192-
.setDesc(
193-
"Template for issue note filenames. Available variables: {title}, {number}, {status}, {author}, {assignee}, {labels}, {repository}, {owner}, {repoName}, {type}, {created}, {updated}. Example: \"{title} - Issue {number}\""
194-
)
192+
.setDesc("Template for issue filenames")
195193
.addText((text) =>
196194
text
197195
.setPlaceholder("Issue - {number}")
@@ -204,7 +202,7 @@ export class RepositoryRenderer {
204202

205203
new Setting(issuesSettingsContainer)
206204
.setName("Use custom issue content template")
207-
.setDesc("Enable custom template file for issue content instead of the default format")
205+
.setDesc("Use custom template for issue content")
208206
.addToggle((toggle) => {
209207
toggle
210208
.setValue(repo.useCustomIssueContentTemplate)
@@ -258,7 +256,7 @@ export class RepositoryRenderer {
258256
new Setting(issuesSettingsContainer)
259257
.setName("Include issue comments")
260258
.setDesc(
261-
"If enabled, comments from issues will be included in the generated files",
259+
"Include comments in generated files",
262260
)
263261
.addToggle((toggle) =>
264262
toggle
@@ -272,7 +270,7 @@ export class RepositoryRenderer {
272270
new Setting(issuesSettingsContainer)
273271
.setName("Include closed issues")
274272
.setDesc(
275-
"If enabled, closed issues will also be created and updated (not just deleted after the cleanup period).",
273+
"Include closed issues in tracking",
276274
)
277275
.addToggle((toggle) =>
278276
toggle
@@ -297,7 +295,7 @@ export class RepositoryRenderer {
297295

298296
new Setting(issuesSettingsContainer)
299297
.setName("Include sub-issues")
300-
.setDesc("If enabled, sub-issues will be included in the generated files")
298+
.setDesc("Include sub-issues in generated files")
301299
.addToggle((toggle) =>
302300
toggle
303301
.setValue(repo.includeSubIssues ?? false)
@@ -394,7 +392,7 @@ export class RepositoryRenderer {
394392

395393
new Setting(pullRequestsSettingsContainer)
396394
.setName("Use custom folder")
397-
.setDesc("Instead of organizing pull requests by Owner/Repository, place all pull requests in a custom folder")
395+
.setDesc("Use custom folder instead of Owner/Repository structure")
398396
.addToggle((toggle) => {
399397
toggle
400398
.setValue(repo.useCustomPullRequestFolder)
@@ -407,7 +405,7 @@ export class RepositoryRenderer {
407405

408406
new Setting(customPRFolderContainer)
409407
.setName("Custom pull requests folder")
410-
.setDesc("Specific folder path where all pull requests will be placed (overrides the folder structure)")
408+
.setDesc("Custom folder path for all pull requests")
411409
.addText((text) => {
412410
text
413411
.setPlaceholder("e.g., Pull Requests, GitHub/All PRs")
@@ -462,9 +460,7 @@ export class RepositoryRenderer {
462460

463461
new Setting(pullRequestsSettingsContainer)
464462
.setName("Pull request note template")
465-
.setDesc(
466-
"Template for pull request note filenames. Available variables: {title}, {number}, {status}, {author}, {assignee}, {labels}, {repository}, {owner}, {repoName}, {type}, {created}, {updated}. Example: \"{title} - PR {number}\""
467-
)
463+
.setDesc("Template for pull request filenames")
468464
.addText((text) =>
469465
text
470466
.setPlaceholder("PR - {number}")
@@ -477,7 +473,7 @@ export class RepositoryRenderer {
477473

478474
new Setting(pullRequestsSettingsContainer)
479475
.setName("Use custom pull request content template")
480-
.setDesc("Enable custom template file for pull request content instead of the default format")
476+
.setDesc("Use custom template for PR content")
481477
.addToggle((toggle) => {
482478
toggle
483479
.setValue(repo.useCustomPullRequestContentTemplate)
@@ -533,7 +529,7 @@ export class RepositoryRenderer {
533529
new Setting(pullRequestsSettingsContainer)
534530
.setName("Default: Allow pull request deletion")
535531
.setDesc(
536-
"If enabled, pull request files will be set to be deleted from your vault when the pull request is closed or no longer matches your filter criteria. Automatically disabled when 'Include closed pull requests' is enabled.",
532+
"Delete PR files when closed or filtered out",
537533
)
538534
.addToggle((toggle) => {
539535
allowDeletePRToggle = toggle;
@@ -549,7 +545,7 @@ export class RepositoryRenderer {
549545
new Setting(pullRequestsSettingsContainer)
550546
.setName("Include pull request comments")
551547
.setDesc(
552-
"If enabled, comments from pull requests will be included in the generated files",
548+
"Include comments in generated files",
553549
)
554550
.addToggle((toggle) =>
555551
toggle
@@ -563,7 +559,7 @@ export class RepositoryRenderer {
563559
new Setting(pullRequestsSettingsContainer)
564560
.setName("Include closed pull requests")
565561
.setDesc(
566-
"If enabled, closed pull requests will also be created and updated (not just deleted after the cleanup period). This is useful for building a knowledge base.",
562+
"Include closed PRs in tracking",
567563
)
568564
.addToggle((toggle) =>
569565
toggle

0 commit comments

Comments
 (0)