%% DATAVIEW_PUBLISHER: start
```dataviewjs
const pages = dv.pages('"Public/Assessment commentary"')
.where(p => p.publish)
.sort(p => [p.file.folder.split("/")[2], p.file.folder.split("/")[3], p.created]);
let currentYear = "";
let currentClass = "";
let lines = [];
for (const p of pages) {
const year = p.file.folder.split("/")[2];
const cls = p.file.folder.split("/")[3];
if (year !== currentYear) {
currentYear = year;
currentClass = "";
lines.push(`## ${year}`);
}
if (cls !== currentClass) {
currentClass = cls;
lines.push(`### ${cls}`);
}
lines.push(`- ${p.file.link}`);
}
lines.join("\n")
```
%%
## 2025–2026
### 12Z
- [[Public/Assessment commentary/2025–2026/12Z/Practice Exam Paper 2.md|Practice Exam Paper 2]]
- [[Public/Assessment commentary/2025–2026/12Z/NEA Analysis.md|NEA Analysis]]
%% DATAVIEW_PUBLISHER: end %%