# Obsidian Literature Maintenance
Use this reference when working inside the user's Obsidian vault literature area:
```text
C:\Users\qyh15\Documents\Obsidian Vault\01 文献阅读
```
## Empty AI Note Cleanup
Target folder:
```text
01 文献阅读\00 AI总结笔记
```
Definition of an empty note:
- Markdown file under the target folder.
- After removing YAML frontmatter, standalone `---` separators, whitespace, ` `, `
`, empty `
\s*
|', '', 'Singleline') if ([string]::IsNullOrWhiteSpace($body)) { $empty += $_ } } $empty | Select-Object Name,Length 'EMPTY_COUNT=' + $empty.Count ``` Delete only after inspecting the dry-run count and at least a few representative files: ```powershell $empty | ForEach-Object { Remove-Item -LiteralPath $_.FullName } ``` After deletion, rerun the dry-run scan and confirm `EMPTY_COUNT=0`. ## Dataview Dashboard Folder Default dashboard folder: ```text 01 文献阅读\01 Dataview文献看板 ``` Recommended files: - `00 文献总览.md`: journal distribution, recent updates, missing rating/status. - `01 按期刊分类.md`: journal count ranking, one-row-per-paper detail table, high-impact journals, missing journal. - `02 驱动器相关.md`: actuator/robotic/soft robotics keyword views. - `03 综述与进展类.md`: review/recent/advances/progress/emerging/fundamentals/current/strategies views. - `04 按年份分类.md`: year grouping and count summaries. - `05 材料与关键词分类.md`: MXene, MOF, hydrogel/organogel/ionogel, cellulose/PVA/polymer, TENG. - `06 DOI明细.md`: DOI-heavy views separated from the main dashboard to avoid wide tables. Dataview source path: ```dataview FROM "01 文献阅读/00 AI总结笔记" ``` Use `TABLE WITHOUT ID` for cleaner tables. Avoid this pattern for visual dashboards: ```dataview TABLE rows.file.link AS 文章 GROUP BY journal ``` Also avoid the same pattern with other short grouping fields such as `year`, `status`, or `rating`: ```dataview TABLE rows.file.link AS 文章, rows.journal AS 期刊 GROUP BY year ``` These queries create one huge list per table cell. Short columns such as `year` then waste a large amount of horizontal space while the article list still wraps badly. Prefer a compact count table: ```dataview TABLE WITHOUT ID key AS 期刊, length(rows) AS 篇数 FROM "01 文献阅读/00 AI总结笔记" WHERE contains(tags, "literature") AND journal GROUP BY journal SORT length(rows) DESC, key ASC ``` For year grouping, use the same compact pattern: ```dataview TABLE WITHOUT ID key AS 年份, length(rows) AS 篇数 FROM "01 文献阅读/00 AI总结笔记" WHERE contains(tags, "literature") AND year GROUP BY year SORT key DESC ``` Then add a separate one-row-per-paper detail table: ```dataview TABLE WITHOUT ID file.link AS 文章, journal AS 期刊, year AS 年份 FROM "01 文献阅读/00 AI总结笔记" WHERE contains(tags, "literature") AND journal SORT journal ASC, year DESC, file.name ASC ``` If the page is already organized by a short field such as `year`, use that field for sorting but do not repeat it as a wide table column: ```dataview TABLE WITHOUT ID file.link AS 文章, journal AS 期刊 FROM "01 文献阅读/00 AI总结笔记" WHERE contains(tags, "literature") AND year SORT year DESC, journal ASC, file.name ASC ``` ## Dataview Table Width Keep main dashboard tables narrow. Put wide fields such as DOI, authors, and file modification times into separate detail pages. Optional CSS snippet: ```text .obsidian\snippets\literature-dataview.css ``` Recommended behavior: - `table-layout: fixed` - `width: 100%` - wrap long cell text with `overflow-wrap: anywhere` - first column about `42%`, second about `28%`, third about `10%` Enable the snippet in `.obsidian/appearance.json` with: ```json "enabledCssSnippets": [ "literature-dataview" ] ``` If Obsidian does not pick it up immediately, use `Settings > Appearance > CSS snippets > Refresh` or restart Obsidian. ## Rendering Troubleshooting If Dataview blocks show as code: - Confirm the Dataview community plugin is installed and enabled. - Switch from editing/live-preview into reading view if needed. - Reopen the note or restart Obsidian. - A real Dataview syntax issue usually shows an error, not a raw code block. ## Encoding Caution Some older generated notes may display mojibake in PowerShell output or Obsidian if the original generation used the wrong encoding. Do not bulk rewrite those notes unless the user asks for text repair. Dataview dashboards should primarily rely on frontmatter fields and file names until encoding is repaired.