Add Dataview and Bases generators (Toolbox Phase 2)

Two more inside-LMS generators under /tools, completing the 6-tool set:
- Dataview: DQL builder (TABLE/LIST/TASK/CALENDAR, FROM/WHERE/SORT/LIMIT),
  output wrapped in a dataview code block
- Bases: .base YAML builder (views, filters and:, order, sort, groupBy, limit);
  filter expressions emitted as single-quoted YAML scalars for safety

Syntax verified against official Obsidian docs (research workflow). Audit fix:
Bases sort entries use 'column:' (not 'property:') per documented working .base
files; 'property:' is kept only for groupBy. 14 new tests (47 total).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-24 10:04:09 +05:00
parent 1aa99b9def
commit 6317dade9e
12 changed files with 505 additions and 3 deletions
@@ -6,5 +6,17 @@
"ref": "obsidian-community/obsidian-style-settings",
"version": "1.x",
"types": ["heading", "class-toggle", "class-select", "variable-text", "variable-number", "variable-number-slider", "variable-select", "variable-color", "info-text"]
},
"dataview": {
"ref": "blacksmithgu/obsidian-dataview (DQL)",
"version": "0.5.x",
"queryTypes": ["TABLE", "LIST", "TASK", "CALENDAR"],
"dataCommands": ["FROM", "WHERE", "SORT", "GROUP BY", "FLATTEN", "LIMIT"]
},
"bases": {
"ref": "Obsidian Bases (core, .base YAML)",
"version": "obsidian-1.9+ table/cards, 1.10+ list/map",
"sections": ["filters", "formulas", "properties", "summaries", "views"],
"viewTypes": ["table", "cards", "list", "map"]
}
}
+5 -1
View File
@@ -1,10 +1,12 @@
export type ToolId = "callout" | "frontmatter" | "theme" | "style-settings";
export type ToolId = "callout" | "frontmatter" | "theme" | "style-settings" | "dataview" | "bases";
export const TOOL_IDS: ToolId[] = [
"callout",
"frontmatter",
"theme",
"style-settings",
"dataview",
"bases",
];
export interface ToolMeta {
@@ -20,4 +22,6 @@ export const TOOLS: ToolMeta[] = [
{ id: "frontmatter", title: "Генератор YAML-frontmatter", description: "Шаблоны свойств заметок: типы, дефолты, теги.", icon: "FileCode2" },
{ id: "theme", title: "Генератор темы / CSS-переменных", description: "Палитра → набор CSS-переменных темы Obsidian.", icon: "Palette" },
{ id: "style-settings", title: "Генератор Style Settings", description: "Комментарии-настройки для плагина Style Settings.", icon: "SlidersHorizontal" },
{ id: "dataview", title: "Генератор Dataview", description: "Запросы DQL: таблицы, списки и задачи по заметкам.", icon: "Table2" },
{ id: "bases", title: "Генератор Bases", description: "Базы Obsidian (.base): представления с фильтрами.", icon: "Database" },
];