Hexo主题导航栏添加二级菜单的简单方法
第一步,找到所使用主题的导航栏文件,例如:Ayer主题的位于hexo\themes\ayer\layout\_partial\sidebar.ejs
第二步,打开文件,找到文件对应生成菜单的位置,一般在<li></li>
内,在里面添加代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <ul class="nav nav-main"> <% for (var i in theme.menu){ %> <li class="nav-item"> <a class="nav-item-link" href="<%- url_for(theme.menu[i].path) %>"><%= i %></a> <% if (theme.menu[i].submenus) { %> <ul class="sub-menu"> <% for (var submenu in theme.menu[i].submenus){ %> <li> <small><a class="nav-item-link" href="<%- url_for(theme.menu[i].submenus[submenu].path) %>"><%= submenu %> </a></small> </li> <% } %> </ul> <% } %> </li> <% } %> </ul>
|
第三步,添加css,这是我的样式,当然可以自行修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <style> .nav-main li ul{ display: none; } .nav-main li:hover ul{ display:block; } .sub-menu{ position: absolute; background: #fff; padding: 5px; width: 8rem; z-index:1000; text-align: center; border-radius: 5px; box-shadow: 0 1px 40px -8px rgba(0,0,0,.5); -webkit-animation: fadeInUp .3s .1s ease both; list-style:none; } .nav-main li ul::before { content: ""; position: absolute; top: -20px; left: 50%; margin-left: -10px; border-width: 10px; border-style: solid; border-color: transparent transparent #fff transparent; } </style>
|
第四步,找到主题下的配置文件,如ayer的位于hexo\themes\ayer\_config.yml
,在需要的位置添加submenus,修改菜单menu信息,例如我的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| menu: 主页: { path: / } 说说: { path: /talks } 友链: { path: /friends } 随机: { path: /random.html } 留言: { path: /guestbook } 归档: { path: /archives ,submenus: { 分类: { path: /categories }, 标签: { path: /tags }, 相册: { path: /photos } } } 关于: { path: /about ,submenus: { 统计: { path: /analytics }, 监控: { path: https://monitor.justlovesmile.top } } }
|