refactor: implement template-driven node tree and human-readable vault layout
Unified Node model: added template_id, fs_path, archived, sort_order fields. Template registry: system templates embedded as JSON (folder/project/client/ document/recipe), with Registry for enabled/disabled/filtered access. SafeDisplayNameToPathSegment: human-readable path segments with Cyrillic support, illegal char replacement, uniqueness via numeric suffixes. Sidebar refactored: system views (Today/Inbox/Activity) separate from workspace tree. Creation menu built dynamically from enabled templates. Create/Rename/Move: physical folder operations with fs_path update, recursive descendant path updates. DB migration 012: adds template_id, fs_path, archived columns. Vault migration command: rebuilds fs_path for existing nodes. Tests: safename, registry, node model, repository integration. Docs: VAULT_LAYOUT.md, TEMPLATES.md, PLAN.md updated. i18n: nav.system, nav.workspace, template.*, common.rename/archive, migrate.* keys added to ru.json and en.json.
This commit is contained in:
@@ -7,6 +7,11 @@ export default {
|
||||
'nav.recipes': 'Recipes',
|
||||
'nav.documents': 'Documents',
|
||||
'nav.archive': 'Archive',
|
||||
'nav.system': 'System',
|
||||
'nav.workspace': 'Workspace',
|
||||
'nav.noNodes': 'No nodes',
|
||||
'nav.openFolder': 'Open folder',
|
||||
'nav.createInside': 'Create inside',
|
||||
|
||||
'tab.overview': 'Overview',
|
||||
'tab.notes': 'Notes',
|
||||
|
||||
@@ -15,6 +15,11 @@ export default {
|
||||
'nav.syncNow': 'Синхронизировать',
|
||||
'nav.selectPrompt': 'Выберите раздел или дело',
|
||||
'nav.brand': 'Верстак',
|
||||
'nav.system': 'Системное',
|
||||
'nav.workspace': 'Рабочее пространство',
|
||||
'nav.noNodes': 'Нет узлов',
|
||||
'nav.openFolder': 'Открыть папку',
|
||||
'nav.createInside': 'Создать внутри',
|
||||
|
||||
'tab.overview': 'Обзор',
|
||||
'tab.notes': 'Заметки',
|
||||
|
||||
Reference in New Issue
Block a user