feat(settings): add documentation link to settings panel

Add a prominent link to tasknotes.dev documentation below the tab
navigation in the settings panel.
This commit is contained in:
callumalpass 2025-12-07 12:42:23 +11:00
parent 779e7cd5f3
commit d239cd3be8
13 changed files with 183 additions and 22 deletions

View file

@ -62,6 +62,7 @@ Example:
## Changed
- Added documentation link to settings panel (links to tasknotes.dev)
- Reorganized settings panel for improved discoverability
- Removed "Defaults" tab - default values are now configured alongside each property in the Task Properties tab
- Moved task filename format settings to the Title property section

View file

@ -280,6 +280,8 @@
"views.releaseNotes.header": "5939771f391859041bc57e5e05b04235b1ef8ee7",
"views.releaseNotes.viewAllLink": "b37e5d2fb2faa630817557713df6363f4bd0f5cc",
"views.releaseNotes.starMessage": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"settings.header.documentation": "9e9cf3221a30246219863f1d2366e36cb580debc",
"settings.header.documentationUrl": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"settings.tabs.general": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"settings.tabs.taskProperties": "770bd2ee4e0a455df6d1332def9c6c58f44994bc",
"settings.tabs.modalFields": "845994b6dc76bcf20937120037f61e4234dc332b",
@ -294,7 +296,7 @@
"settings.features.instantConvert.toggle.name": "16369b5153949a6d227abdbcd6c22892fba063a1",
"settings.features.instantConvert.toggle.description": "eed5789a053bf142162f60467c1fa80c1ed7830c",
"settings.features.instantConvert.folder.name": "ee5974b000e8f6a84b0ad1dae3a0b0f106b5e7b2",
"settings.features.instantConvert.folder.description": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"settings.features.instantConvert.folder.description": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"settings.features.nlp.header": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",
"settings.features.nlp.description": "632a9af312f20952951f9f58447b064ffa833a08",
"settings.features.nlp.enable.name": "e9b0bfb15d333ee3d894a349ed2a9f9e297be154",

View file

@ -1124,6 +1124,14 @@
"source": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"translation": "3886f7795b91fd4ed8d6fcdf37424e5e0b59857d"
},
"settings.header.documentation": {
"source": "9e9cf3221a30246219863f1d2366e36cb580debc",
"translation": "9e9cf3221a30246219863f1d2366e36cb580debc"
},
"settings.header.documentationUrl": {
"source": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"translation": "da82363e11623a8de821a85a3478909ac7ec4fa1"
},
"settings.tabs.general": {
"source": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"translation": "21a7b4ecae6d99d7c9ae0fe00f0cc0a33f1e2b6f"
@ -1181,8 +1189,8 @@
"translation": "a541248bdf00311c6909e85ed49f8a60c9ea9491"
},
"settings.features.instantConvert.folder.description": {
"source": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"translation": "2e0757ba233919acd3ac5ae46f8b168c83cf6f98"
"source": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"translation": "17486005628baac00ec8c047ea023cb1c42fce50"
},
"settings.features.nlp.header": {
"source": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",
@ -8650,6 +8658,14 @@
"source": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"translation": "f41b51d65c2637f895c175954e78a9c70d470034"
},
"settings.header.documentation": {
"source": "9e9cf3221a30246219863f1d2366e36cb580debc",
"translation": "9e9cf3221a30246219863f1d2366e36cb580debc"
},
"settings.header.documentationUrl": {
"source": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"translation": "da82363e11623a8de821a85a3478909ac7ec4fa1"
},
"settings.tabs.general": {
"source": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"translation": "9239ee2cda84eca4c3440e2a7b50148af67da3d4"
@ -8707,8 +8723,8 @@
"translation": "5e5eaaf314eee9d7e9c8ff39976fe09a799118d3"
},
"settings.features.instantConvert.folder.description": {
"source": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"translation": "cb5f4d53c5eb64d1cb28e215aed6661490e9dbdb"
"source": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"translation": "1fb23ba9dabd5414106abea7f0e36b1e845102a5"
},
"settings.features.nlp.header": {
"source": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",
@ -16176,6 +16192,14 @@
"source": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"translation": "25d41272c6bff10b1fba1a61f6db2e8f9df40425"
},
"settings.header.documentation": {
"source": "9e9cf3221a30246219863f1d2366e36cb580debc",
"translation": "9e9cf3221a30246219863f1d2366e36cb580debc"
},
"settings.header.documentationUrl": {
"source": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"translation": "da82363e11623a8de821a85a3478909ac7ec4fa1"
},
"settings.tabs.general": {
"source": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"translation": "5376df989fac86247d5cd9f983d11ece28e75fcd"
@ -16233,8 +16257,8 @@
"translation": "72805f98121ccb3c39e45a8f2bc7dd3c56d30990"
},
"settings.features.instantConvert.folder.description": {
"source": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"translation": "21c71cfc8f0da27d78330fa4fef9d54eb5f30434"
"source": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"translation": "7b8143d67c72876fb9930fd00b005d09381da471"
},
"settings.features.nlp.header": {
"source": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",
@ -23702,6 +23726,14 @@
"source": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"translation": "e3b958998079c079c491b83f4f167887d8ba3c01"
},
"settings.header.documentation": {
"source": "9e9cf3221a30246219863f1d2366e36cb580debc",
"translation": "9e9cf3221a30246219863f1d2366e36cb580debc"
},
"settings.header.documentationUrl": {
"source": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"translation": "da82363e11623a8de821a85a3478909ac7ec4fa1"
},
"settings.tabs.general": {
"source": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"translation": "f0aaccbc0dcda37daa045cb4cda85177bedafdb0"
@ -23759,8 +23791,8 @@
"translation": "7cc42907acec2e352c3d2e68c7e2087f6d336d07"
},
"settings.features.instantConvert.folder.description": {
"source": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"translation": "66186af97aaeb7a2593510cef34025007165767f"
"source": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"translation": "54963b20aa549d3d17d76b9f7bf70f683ae0017a"
},
"settings.features.nlp.header": {
"source": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",
@ -31228,6 +31260,14 @@
"source": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"translation": "f347d38134f66ff8ef403261cc2fe0a178bd59ff"
},
"settings.header.documentation": {
"source": "9e9cf3221a30246219863f1d2366e36cb580debc",
"translation": "9e9cf3221a30246219863f1d2366e36cb580debc"
},
"settings.header.documentationUrl": {
"source": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"translation": "da82363e11623a8de821a85a3478909ac7ec4fa1"
},
"settings.tabs.general": {
"source": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"translation": "b6748d4ef8da162bb20fac1ced933e17c4f2a11b"
@ -31285,8 +31325,8 @@
"translation": "2c0358b1aee5525eb8e1f2d7767e3cf1c189efc6"
},
"settings.features.instantConvert.folder.description": {
"source": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"translation": "dc47dc73d7b892e85e28f2adc94b028e87e8090c"
"source": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"translation": "74a241bba4f841528a71eee9cdadcf31086c21c2"
},
"settings.features.nlp.header": {
"source": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",
@ -38754,6 +38794,14 @@
"source": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"translation": "c2f8b36f59bc9f660cf0c1bd566fde7f11490dd6"
},
"settings.header.documentation": {
"source": "9e9cf3221a30246219863f1d2366e36cb580debc",
"translation": "9e9cf3221a30246219863f1d2366e36cb580debc"
},
"settings.header.documentationUrl": {
"source": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"translation": "da82363e11623a8de821a85a3478909ac7ec4fa1"
},
"settings.tabs.general": {
"source": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"translation": "fdd17d17b54069e4f68253b0af0b1a50d389b199"
@ -38811,8 +38859,8 @@
"translation": "5c563bc4cf90c6941d79b8df0d0600142bb7c1a0"
},
"settings.features.instantConvert.folder.description": {
"source": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"translation": "c38b79923fd4d29eaff9859cdb10c79b240748f9"
"source": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"translation": "79a9fdc5ec3efd53d942c87a77d1024d8bf00326"
},
"settings.features.nlp.header": {
"source": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",
@ -46280,6 +46328,14 @@
"source": "de98980ccdae9c93e30d1172d4c15c059ea0508c",
"translation": "68e964844caa7bf91e74ffd31d2121483f126d1c"
},
"settings.header.documentation": {
"source": "9e9cf3221a30246219863f1d2366e36cb580debc",
"translation": "9e9cf3221a30246219863f1d2366e36cb580debc"
},
"settings.header.documentationUrl": {
"source": "da82363e11623a8de821a85a3478909ac7ec4fa1",
"translation": "da82363e11623a8de821a85a3478909ac7ec4fa1"
},
"settings.tabs.general": {
"source": "9239ee2cda84eca4c3440e2a7b50148af67da3d4",
"translation": "f1484fa78b69777c083f5b19555ee4d232d70163"
@ -46337,8 +46393,8 @@
"translation": "45ed959248436133c93867ff84ab12059ede7c27"
},
"settings.features.instantConvert.folder.description": {
"source": "33e796dabe717d64dd57a6c2291295faf43e9a9d",
"translation": "2b77cf1580df101829235ace73aa8c05c28128d2"
"source": "4eb3a6b40716481ba7e89ffebaab20c1e5e89881",
"translation": "ec72bd6d2d63718c6c9ccfcf1e88e4ce93402840"
},
"settings.features.nlp.header": {
"source": "94d1773bc1b2af94b263c23d3b39694a5bab7e88",

View file

@ -178,6 +178,10 @@ export const de: TranslationTree = {
refresh: "Kalenderabonnements aktualisieren",
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
groups: {
dateNavigation: "Datumsnavigation",
events: "Ereignisse",
@ -405,6 +409,10 @@ export const de: TranslationTree = {
},
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "Allgemein",
taskProperties: "Aufgabeneigenschaften",
@ -432,7 +440,7 @@ export const de: TranslationTree = {
},
folder: {
name: "Ordner für konvertierte Aufgaben",
description: "Ordner, in dem aus Checkboxen konvertierte Aufgaben erstellt werden. Verwende {{currentNotePath}} für relativ zur aktuellen Notiz, {{currentNoteTitle}} für aktuellen Notiztitel",
description: "Ordner, in dem aus Checkboxen konvertierte Aufgaben erstellt werden. Leer lassen, um den Standard-Aufgabenordner zu verwenden. Verwende {{currentNotePath}} für den Ordner der aktuellen Notiz oder {{currentNoteTitle}} für einen Unterordner mit dem Notiztitel.",
},
},
nlp: {

View file

@ -407,6 +407,10 @@ export const en: TranslationTree = {
},
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "General",
taskProperties: "Task Properties",

View file

@ -178,6 +178,10 @@ export const es: TranslationTree = {
refresh: "Actualizar suscripciones de calendario",
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
groups: {
dateNavigation: "Navegación por fecha",
events: "Eventos",
@ -405,6 +409,10 @@ export const es: TranslationTree = {
},
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "General",
taskProperties: "Propiedades de tareas",
@ -432,7 +440,7 @@ export const es: TranslationTree = {
},
folder: {
name: "Carpeta para tareas convertidas",
description: "Carpeta donde se crearán las tareas convertidas desde casillas de verificación. Usa {{currentNotePath}} para relativo a la nota actual, {{currentNoteTitle}} para título de nota actual",
description: "Carpeta donde se crearán las tareas convertidas desde casillas de verificación. Dejar vacío para usar la carpeta de tareas predeterminada. Usa {{currentNotePath}} para la carpeta de la nota actual, o {{currentNoteTitle}} para una subcarpeta con el título de la nota.",
},
},
nlp: {

View file

@ -178,6 +178,10 @@ export const fr: TranslationTree = {
refresh: "Actualiser les abonnements calendrier",
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
groups: {
dateNavigation: "Navigation par date",
events: "Événements",
@ -405,6 +409,10 @@ export const fr: TranslationTree = {
},
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "Général",
taskProperties: "Propriétés des tâches",
@ -432,7 +440,7 @@ export const fr: TranslationTree = {
},
folder: {
name: "Dossier pour les tâches converties",
description: "Dossier où les tâches converties depuis les cases à cocher seront créées. Utilisez {{currentNotePath}} pour un chemin relatif à la note actuelle, {{currentNoteTitle}} pour le titre de la note actuelle",
description: "Dossier où les tâches converties depuis les cases à cocher seront créées. Laisser vide pour utiliser le dossier de tâches par défaut. Utilisez {{currentNotePath}} pour le dossier de la note actuelle, ou {{currentNoteTitle}} pour un sous-dossier nommé d'après la note.",
},
},
nlp: {

View file

@ -178,6 +178,10 @@ export const ja: TranslationTree = {
refresh: "カレンダー購読を更新",
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
groups: {
dateNavigation: "日付ナビゲーション",
events: "イベント",
@ -405,6 +409,10 @@ export const ja: TranslationTree = {
},
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "一般",
taskProperties: "タスクプロパティ",
@ -432,7 +440,7 @@ export const ja: TranslationTree = {
},
folder: {
name: "変換されたタスクのフォルダー",
description: "チェックボックスから変換されたタスクが作成されるフォルダー。現在のノートに相対的にするには{{currentNotePath}}を使用、現在のノートのタイトルには{{currentNoteTitle}}を使用",
description: "チェックボックスから変換されたタスクが作成されるフォルダー。空白のままにするとデフォルトのタスクフォルダーが使用されます。{{currentNotePath}}で現在のノートのフォルダー、{{currentNoteTitle}}でノートのタイトルを持つサブフォルダーを指定できます。",
},
},
nlp: {

View file

@ -178,6 +178,10 @@ export const pt: TranslationTree = {
refresh: "Atualizar inscrições de calendário"
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
groups: {
dateNavigation: "Navegação de Data",
events: "Eventos",
@ -405,6 +409,10 @@ export const pt: TranslationTree = {
}
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "Geral",
taskProperties: "Propriedades da Tarefa",
@ -432,7 +440,7 @@ export const pt: TranslationTree = {
},
folder: {
name: "Pasta para tarefas convertidas",
description: "Pasta onde tarefas convertidas de caixas de seleção serão criadas. Use {{currentNotePath}} para relativo à nota atual, {{currentNoteTitle}} para o título da nota atual"
description: "Pasta onde tarefas convertidas de caixas de seleção serão criadas. Deixe vazio para usar a pasta de tarefas padrão. Use {{currentNotePath}} para a pasta da nota atual, ou {{currentNoteTitle}} para uma subpasta com o título da nota."
}
},
nlp: {

View file

@ -178,6 +178,10 @@ export const ru: TranslationTree = {
refresh: "Обновить calendar subscriptions",
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
groups: {
dateNavigation: "Навигация по датам",
events: "События",
@ -405,6 +409,10 @@ export const ru: TranslationTree = {
},
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "Общие",
taskProperties: "Свойства задач",
@ -432,7 +440,7 @@ export const ru: TranslationTree = {
},
folder: {
name: "Папка для преобразованных задач",
description: "Папка, в которой будут создаваться задачи, преобразованные из флажков. Используйте {{currentNotePath}} для относительного пути к текущей заметке, {{currentNoteTitle}} для заголовка текущей заметки",
description: "Папка, в которой будут создаваться задачи, преобразованные из флажков. Оставьте пустым для использования папки задач по умолчанию. Используйте {{currentNotePath}} для папки текущей заметки или {{currentNoteTitle}} для подпапки с названием заметки.",
},
},
nlp: {

View file

@ -178,6 +178,10 @@ export const zh: TranslationTree = {
refresh: "刷新日历订阅",
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
groups: {
dateNavigation: "日期导航",
events: "事件",
@ -405,6 +409,10 @@ export const zh: TranslationTree = {
},
},
settings: {
header: {
documentation: "Documentation",
documentationUrl: "https://tasknotes.dev",
},
tabs: {
general: "常规",
taskProperties: "任务属性",
@ -432,7 +440,7 @@ export const zh: TranslationTree = {
},
folder: {
name: "已转换任务的文件夹",
description: "从复选框转换的任务将在其中创建的文件夹。使用{{currentNotePath}}相对于当前笔记,{{currentNoteTitle}}用于当前笔记标题",
description: "从复选框转换的任务将在其中创建的文件夹。留空则使用默认任务文件夹。使用{{currentNotePath}}表示当前笔记的文件夹,或使用{{currentNoteTitle}}表示以笔记标题命名的子文件夹。",
},
},
nlp: {

View file

@ -130,6 +130,15 @@ export class TaskNotesSettingTab extends PluginSettingTab {
});
});
// Add documentation link after tabs
const docsHeader = containerEl.createDiv("settings-header");
const docsLink = docsHeader.createEl("a", {
text: translate("settings.header.documentation"),
href: translate("settings.header.documentationUrl"),
cls: "settings-header-link",
});
docsLink.setAttr("target", "_blank");
// Create tab content containers
const tabContentsEl = containerEl.createDiv(
"settings-tab-contents settings-view__tab-contents"

View file

@ -2,6 +2,39 @@
SETTINGS VIEW - MINIMAL CLEAN STRUCTURE
================================================ */
/* ================================================
SETTINGS HEADER
================================================ */
.tasknotes-plugin .settings-header {
display: flex;
justify-content: flex-start;
margin-bottom: var(--tn-spacing-md);
margin-top: calc(-1 * var(--tn-spacing-sm));
}
.tasknotes-plugin .settings-header-link {
display: inline-flex;
align-items: center;
gap: var(--tn-spacing-xs);
color: var(--text-accent);
text-decoration: none;
font-size: var(--font-ui-small);
padding: var(--tn-spacing-xs) var(--tn-spacing-sm);
border-radius: var(--radius-s);
transition: background-color 0.15s ease;
}
.tasknotes-plugin .settings-header-link:hover {
background-color: var(--background-modifier-hover);
text-decoration: none;
}
.tasknotes-plugin .settings-header-link::after {
content: "↗";
font-size: 0.85em;
}
/* ================================================
TAB NAVIGATION
================================================ */