Files
menav/templates/components/navigation.hbs
rbetree efd1683e2b feat(router): 支持?page=深链接&错误路由回退
- 导航/子菜单 href 统一为 ?page=<id>[#<slug>],支持复制/新开直达
- 启动时解析 ?page= 并同步导航高亮;子菜单跳转可组合 hash 定位分类
- 输入无效 pageId 时自动纠正 URL 到首页(replaceState,避免“内容回退但地址栏仍错误”)
- 构建生成 dist/404.html:将 /<id>(或 /<repo>/<id>)回跳到 /?page=<id> 并保留 hash
2026-01-07 17:29:48 +08:00

24 lines
970 B
Handlebars

<div data-container="nav-items">
{{#each this}}
<div class="nav-item-wrapper">
<a href="?page={{id}}" class="nav-item{{#if isActive}} active{{/if}}{{#if active}} active{{/if}}" data-page="{{id}}" data-type="nav-item" data-id="{{id}}" data-name="{{name}}" data-icon="{{icon}}">
<div class="icon-container">
<i class="{{icon}}"></i>
</div>
<span class="nav-text" data-editable="nav-item-name">{{name}}</span>
{{#if submenu}}<i class="fas fa-chevron-down submenu-toggle"></i>{{/if}}
</a>
{{#if submenu}}
<div class="submenu">
{{#each submenu}}
<a href="?page={{../id}}#{{#if slug}}{{slug}}{{else}}{{name}}{{/if}}" class="submenu-item" data-page="{{../id}}" data-category="{{name}}" data-category-id="{{#if slug}}{{slug}}{{else}}{{name}}{{/if}}">
<i class="{{icon}}"></i>
<span>{{name}}</span>
</a>
{{/each}}
</div>
{{/if}}
</div>
{{/each}}
</div>