为你的Hexo博客添加新页面


为你的Hexo博客添加新页面

前言

由于自己收藏了很多各式各样的网站,很多都很有价值,一直都在存在浏览器书签中,由于书签网站比较多,东西比较杂乱。需要整理,正好想将自己的网站整理出来放到自己的Blog上。于是想做一个书签网站分享页。

今天来说下如何在 Hexo 博客中添加一个简单的静态导航页面!(针对主题文件格式为 ejs 的)

首先看下效果吧!(以Hexo-themes-matery主题为例)

书签

新建页面

由于是要在导航栏中另起新的一页,因此需要新建一个页面:

hexo new page tabs # tabs 新建页面名称,可自由选择

修改页面格式

修改tabs目录下的index.md的格式:

title: 书签
date: 2020-07-13 17:14:02
type: "tabs"
layout: "tabs"

设置页面名称为“书签”,类型和布局为tabs。这一步是必须的,否则无法让.ejs文件生效,页面也将无法成功解析。

在主题配置文件中添加新建页面

需要将页面能在导航栏看到就需要在主题配置文件中加入新建的页面信息:

# main menu navigation url and icon
# 配置菜单导航的名称、路径和图标icon.
menu:
  Index:
    url: /
    icon: fas fa-home
  Tags:
    url: /tags
    icon: fas fa-tags
  Categories:
    url: /categories
    icon: fas fa-bookmark
  Archives:
    url: /archives
    icon: fas fa-archive
  About:
    url: /about
    icon: fas fa-user-circle
  Contact:
    url: /contact
    icon: fas fa-comments
  Friends:
    url: /friends
  书签:        # 新建页面index.md文件中titile的参数
    url: /tabs     # 表示路径,代表根目录source文件夹下tabs文件夹下
    icon: fas fa-location-arrow     # 显示在导航栏上的图标
    #fa-location-arrow来自https://fontawesome.com/icons?d=gallery

新建ejs文件

上一步将我们新建的页面放到了导航栏,能让我们有入口进入了,接下来就是布置进入这个新建页面后呈现的内容了。

在主题目录下layout下新建 tabs.ejs,除拓展名为.ejs外,文件名要求和之前的统一:

<div class="navi-height bg-cover pd-header ">
    <div class=" link-box container">
        <!-- 搜索框 -->
        <div class="baidu baidu-2 large-screen">
            <form name="f" action="https://www.baidu.com/" target="_blank">
                <div id="Select-2">
                    <div class="Select-box-2" id="baidu">
                        <ul style="height: 46px;">
                            <li class="this_s">百 · 度</li>
                            <li class="bing_s">必 · 应</li>
                            <li class="google_s">谷 · 歌</li>
                            <li class="baidu_s">百 · 度</li> // <li></li>定义列表项
                        </ul>  // <ul></ul>定义无序列表
                    </div> <input name="wd" id="kw-2" maxlength="100" autocomplete="off" type="text">
                </div>
                <div class="qingkong" id="qingkong" title="清 · 空" style="display: none;">x</div> <input value="搜 · 索"
                    id="su-2" type="submit">
                <ul class="keylist"></ul>
            </form>
        </div> <!-- 链接 -->
        <div class="row tags-posts ">
            <div class="col s12 m6 l4 friend-div" data-aos="zoom-in-up">
                <div class="card">
                    <div class="jj-list-tit">娱乐 · 影视</div>
                    <ul class="jj-list-con">
                        <li><a href="https://www.jd.com/" class="link-3" target="_blank">京东</a>
                        <li><a href="https://www.taobao.com/" class="link-3" target="_blank">淘宝</a></li>
                        <li><a href="https://www.tmall.com/" class="link-3" target="_blank">天猫</a></li>
                        </li>
                        <li><a href="https://v.qq.com/" class="link-3" target="_blank">腾讯视频</a></li>
                        <li><a href="http://www.iqiyi.com/" class="link-3" target="_blank">爱奇艺</a></li>
                        <li><a href="https://www.bilibili.com/" class="link-3" target="_blank">哔哩哔哩</a> </li>
                        <li><a href="https://music.163.com/" class="link-3" target="_blank">网易云音乐</a></li>
                        <li><a href="https://y.qq.com/" class="link-3" target="_blank">QQ音乐</a></li>
                        <li><a href="http://www.kugou.com/" class="link-3" target="_blank">酷狗音乐</a></li>
                    </ul>
                </div>
            </div>
            <div class="col s12 m6 l4 friend-div" data-aos="zoom-in-up">
                <div class="card">
                    <div class="jj-list-tit">社区 · Code</div>
                    <ul class="jj-list-con">
                        <li><a href="https://www.mobaijun.com/contact/" class="link-3" target="_blank">留言</a></li>
                        <li><a href="https://github.com/" class="link-3" target="_blank">GitHub</a></li>
                        <li><a href="https://coding.net/" class="link-3" target="_blank">Coding</a></li>
                        <li><a href="https://juejin.im/" class="link-3" target="_blank">掘金</a></li>
                        <li><a href="https://gitee.com/" class="link-3" target="_blank">码云</a></li>
                        <li><a href="https://www.csdn.net/" class="link-3" target="_blank">CSDN</a></li>
                        <li><a href="https://www.jianshu.com/" class="link-3" target="_blank">简书</a></li>
                        <li><a href="https://segmentfault.com/" class="link-3" target="_blank">思否</a></li>
                        <li><a href="https://cloud.tencent.com/developer/" class="link-3" target="_blank">云+社区</a></li>
                    </ul>
                </div>
            </div>
            <div class="col s12 m6 l4 friend-div" data-aos="zoom-in-up">
                <div class="card">
                    <div class="jj-list-tit">实用 · 工具</div>
                    <ul class="jj-list-con">
                        <li><a href="https://mdnice.com/" class="link-3" target="_blank">Nice编辑器</a></li>
                        <li><a href="https://translate.google.cn/" class="link-3" target="_blank">谷歌翻译</a></li>
                        <li><a href="https://www.uupoop.com/" class="link-3" target="_blank">在线PS</a></li>
                        <li><a href="https://www.processon.com/" class="link-3" target="_blank">思维导图</a></li>
                        <li><a href="https://wallhaven.cc/" class="link-3" target="_blank">超清壁纸</a></li>
                        <li><a href="https://cli.im/" class="link-3" target="_blank">二维码</a></li>
                        <li><a href="http://www.yinfans.me/" class="link-3" target="_blank">音范思</a></li>
                        <li><a href="https://www.52pojie.cn/" class="link-3" target="_blank">吾爱破解</a></li>
                        <li><a href="https://my.openwrite.cn/" class="link-3" target="_blank">OW分发</a></li>
                    </ul>
                </div>
            </div>
            <div class="col s12 m6 l4 friend-div" data-aos="zoom-in-up">
                <div class="card">
                    <div class="jj-list-tit">编程 · 学习</div>
                    <ul class="jj-list-con">
                        <li><a href="https://www.oschina.net/" class="link-3" target="_blank">开源中国</a></li>
                        <li><a href="https://htmldog.com/" class="link-3" target="_blank">HTML狗</a></li>
                        <li><a href="https://www.icourse163.org/" class="link-3" target="_blank">中国大学慕课</a></li>
                        <li><a href="https://www.imooc.com/" class="link-3" target="_blank">慕课网</a></li>
                        <li><a href="http://www.wxapp-union.com/" class="link-3" target="_blank">小程序</a></li>
                        <li><a href="https://www.runoob.com/" class="link-3" target="_blank">菜鸟教程</a></li>
                        <li><a href="https://blog.51cto.com/" class="link-3" target="_blank">51CTO</a></li>
                        <li><a href="https://www.shiyanlou.com/library/" class="link-3" target="_blank">实验楼</a></li>
                        <li><a href="https://spring.io/" class="link-3" target="_blank">Spring</a></li>
                    </ul>
                </div>
            </div>
            <div class="col s12 m6 l4 friend-div" data-aos="zoom-in-up">
                <div class="card">
                    <div class="jj-list-tit">资讯 · 趋势</div>
                    <ul class="jj-list-con">
                        <li><a href="https://www.huxiu.com/" class="link-3" target="_blank">虎嗅</a></li>
                        <li><a href="https://insights.stackoverflow.com/" class="link-3" target="_blank">技术调查</a></li>
                        <li><a href="http://www.asciiworld.com/" class="link-3" target="_blank">摸鱼</a></li>
                        <li><a href="https://sspai.com/" class="link-3" target="_blank">少数派</a></li>
                        <li><a href="https://zh.wikihow.com/" class="link-3" target="_blank">WikeHom</a></li>
                        <li><a href="https://www.awesomes.cn/rank?sort=hot" class="link-3" target="_blank">前端趋势</a></li>
                        <li><a href="https://github-trending.com/" class="link-3" target="_blank">GitHub趋势</a></li>
                        <li><a href="https://www.tiobe.com/" class="link-3" target="_blank">编程趋势</a></li>
                        <li><a href="https://trends.google.com/" class="link-3" target="_blank">Google趋势</a></li>
                    </ul>
                </div>
            </div>
            <div class="col s12 m6 l4 friend-div" data-aos="zoom-in-up">
                <div class="card">
                    <div class="jj-list-tit">搜索 · 其他</div>
                    <ul class="jj-list-con">
                        <li><a href="https://ac.scmor.com/" class="link-3" target="_blank">谷歌镜像</a></li>
                        <li><a href="http://www.pansoso.com/" class="link-3" target="_blank">网盘搜索</a></li>
                        <li><a href="http://tool.mkblog.cn/music/" class="link-3" target="_blank">音乐搜索</a></li>
                        <li><a href="https://www.dytt8.net/" class="link-3" target="_blank">电影天堂</a></li>
                        <li><a href="https://carbon.now.sh/" class="link-3" target="_blank">代码图片</a></li>
                        <li><a href="https://www.zhipin.com/" class="link-3" target="_blank">Boos</a></li>
                        <li><a href="https://fontawesome.com/" class="link-3" target="_blank">图标库</a></li>
                        <li><a href="https://www.qvdv.com/tools/qvdv-guid.html" class="link-3" target="_blank">在线工具</a>
                        </li>
                        <li><a href="http://zhongguose.com/" class="link-3" target="_blank">中国色</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <script> /*选择搜索引擎*/ $('.Select-box ul').hover(function () { $(this).css('height', 'auto') }, function () { $(this).css('height', '40px') }); $('.Select-box-2 ul').hover(function () { $(this).css('height', 'auto') }, function () { $(this).css('height', '46px') }); $('.Select-box li').click(function () { var _tihs = $(this).attr('class'); var _html = $(this).html(); if (_tihs == 'baidu_s') { _tihs = 'https://www.baidu.com/s'; _name = 'wd'; } if (_tihs == 'google_s') { _tihs = 'https://www.google.com/search'; _name = 'q'; } if (_tihs == 'bing_s') { _tihs = 'https://www.bing.com/search'; _name = 'q'; } $('.baidu form').attr('action', _tihs); $('.this_s').html(_html); $('#kw').attr('name', _name); $('.Select-box ul').css('height', '40px') }); $('.Select-box-2 li').click(function () { var _tihs = $(this).attr('class'); var _html = $(this).html(); if (_tihs == 'baidu_s') { _tihs = 'https://www.baidu.com/s'; _name = 'wd'; } if (_tihs == 'google_s') { _tihs = 'https://www.google.com/search'; _name = 'q'; } if (_tihs == 'bing_s') { _tihs = 'https://www.bing.com/search'; _name = 'q'; } $('.baidu form').attr('action', _tihs); $('.this_s').html(_html); $('#kw-2').attr('name', _name); $('.Select-box-2 ul').css('height', '48px') }); //清空输入框内容 $('.qingkong').click(function () { cls(); $(this).css('display', 'none') }); function cls() { var sum = 0; var t = document.getElementsByTagName("INPUT"); for (var i = 0; i < t.length; i++) { if (t[i].type == 'text') { ++sum; t[i].value = "";//清空 } } } //清空输入框按钮的显示和隐藏 function if_btn() { var btn_obj = document.getElementById("kw") || document.getElementById("kw-2"); var cls_btn = document.getElementById("qingkong"); var btn_obj_val; var times; //当元素获得焦点时 if (btn_obj == '' || btn_obj == null) { return false; //如果没有找到这个元素,则将函数返回,不继续执行 } btn_obj.onfocus = function () { times = setInterval(function () { btn_obj_val = btn_obj.value; if (btn_obj_val != 0) { cls_btn.style.display = "block"; } else { cls_btn.style.display = "none"; } }, 200); } //元素失去焦点时 btn_obj.onblur = function () { clearInterval(times); } } </script>
    </div>
</div>
<style>
    * {
        margin: 0;
        padding: 0;
        font-family: "微软雅黑"
    }
    ul,li,h1,h2,h3,h4,h5,h6,p,form,dl,dt,dd {
        margin: 0px;
        padding: 0px;
        font-size: 14px;
        font-weight: normal;
    }

    img {
        border-style: none;
    }

    li {
        list-style: none;
        float: left
    }

    a {
        text-decoration: none
    }

    .card {
        background-color: rgba(25, 240, 229, 0);
        width: 96%;
        margin-left: 2%
    }

    .baidu {
        float: left;
        margin-left: 100px;
    }

    .baidu form {
        position: relative
    }

    .Select-box ul {
        height: 40px;
        position: absolute;
        left: -1px;
        top: 0px;
        z-index: 9999;
        background: #FFF;
        border: 1px solid #ccc;
        border-top: none;
        overflow: hidden
    }

    .Select-box li {
        width: 60px;
        line-height: 40px;
        font-size: 14px;
        color: #484848;
        border: 0;
        cursor: pointer;
    }

    .Select-box li:hover {
        background: #3385ff;
        color: #FFF;
    }

    .Select-box .this_s {
        color: #317ef3;
    }

    .Select-box .this_s:hover {
        background: #FFF;
        color: #317ef3;
    }

    .qingkong {
        position: absolute;
        right: 120px;
        top: 12px;
        width: 18px;
        height: 18px;
        background: rgba(0, 0, 0, 0.1);
        border-radius: 18px;
        line-height: 16px;
        color: #666666;
        cursor: pointer;
        text-align: center;
        font-size: 14px;
        display: none;
    }

    .qingkong:hover {
        background: rgba(0, 0, 0, 0.2);
    }

    .qingkong:active {
        background: rgba(0, 0, 0, 0.3);
    }

    .baidu-2 {
        width: 100%;
        height: 110px;
        margin: 0 auto;
        background: none;
        padding-top: 50px;
    }

    .baidu-2 form {
        width: 520px;
        margin: 0 auto;
    }

    .baidu-2 input {
        padding: 13px 8px;
        opacity: 0.9;
        font-size: 15px;
    }

    #Select-2 {
        float: left;
    }

    .Select-box-2 {
        text-align: center;
        float: left;
        position: relative;
    }

    .Select-box-2 ul {
        height: 46px;
        position: absolute;
        left: 0px;
        top: 1px;
        z-index: 9999;
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid #ccc;
        border-top: none;
        overflow: hidden
    }

    .Select-box-2 li {
        width: 60px;
        line-height: 46px;
        font-size: 15px;
        color: #484848;
        border: 0;
        cursor: pointer;
    }

    .Select-box-2 li:hover {
        background: #3385ff;
        color: #FFF;
    }

    .Select-box-2 .this_s {
        color: #317ef3;
    }

    .Select-box-2 .this_s:hover {
        background: none;
        color: #317ef3;
    }

    #kw-2 {
        width: 335px;
        outline: 0;
        border: 1px solid #ccc;
        background: rgba(255, 255, 255, 0.2);
        color: #000000;
        padding-left: 70px;
        font-weight: bold;
    }

    /*修改搜索框样式*/
    #su-2 {
        width: 90px;
        background: blue;
        border: none;
        border-top: #3385ff 1px solid;
        border-bottom: 1px solid #2d78f4;
        color: #FFF;
        cursor: pointer;
        /*去轮廓阴影*/
        outline: none;
    }

    /*光标移动到搜索框颜色*/
    #su-2:hover {
        background: blue;
        border-bottom: 1px solid blue;
    }

    #su-2:active {
        background: blue;
        box-shadow: inset 1px 1px 3px blue;
        -webkit-box-shadow: inset 1px 1px 3px blue;
    }

    .jj-list-tit {
        font-size: 16px;
        line-height: 25px;
        color: #ffffff;
        width: 100%;
        padding-left: 38.5%;
    }

    .jj-list-con {
        overflow: hidden;
        margin: 0 auto
    }

    /*控制网站列表间距*/
    .jj-list-con li {
        width: 31.333%;
        margin: 1%;
    }

    .link-3 {
        display: block;
        background: rgba(0, 0, 0, .35);
        color: #FFF;
        font-size: 13px;
        text-align: center;
        line-height: 35px;
        padding: 4px 0;
        border-radius: 2px;
        transition: all 0.2s
    }

    .link-3:hover {
        background: rgba(0, 0, 0, .45);
        font-size: 15px;
        font-weight: bold
    }

    /*1栏 小于584*/
    @media only screen and (max-width: 584px) {
        .navi-height {
            height: 1300px;
        }

        .link-box {
            margin-top: 5%;
        }

        .large-screen {
            display: none;
        }
    }

    /* 2栏 大于584 小于993px */
    @media only screen and (min-width: 584px) and (max-width: 993px) {
        .navi-height {
            height: 800px;
        }

        .link-box {
            margin-top: 5%;
        }

        .large-screen {
            display: none;
        }
    }

    /*3栏 大于993px*/
    @media only screen and (min-width: 993px) {
        .navi-height {
            position: absolute;
            width: 100%;
            height: 100%;
        }
    }

    /* 隐藏footer */
    .page-footer {
        display: none;
    }
</style>
<% if (theme.banner.enable) { %>
<script>
    // 每天切换 banner 图.  Switch banner image every day.
    var bannerUrl = "<%- theme.jsDelivr.url %><%- url_for('/medias/banner/') %>" + new Date().getDay() + '.jpg';
    $('.bg-cover').css('background-image', 'url(' + bannerUrl + ')');
</script>
<% } else { %>
<script>
    $('.bg-cover').css('background-image', 'url(<%- theme.jsDelivr.url %><%- url_for('/medias/banner/0.jpg') %>)');
</script>
<% } %>

总结

大体上看整个过程只有三步:

  • 使用hexo new page page_name命令新建页面出来;
  • 设置新页面的布局格式;(使用的是tabs.ejs的布局文件);
  • 在配置文件中设置新建页面的写入导航栏列表中;
  • 写好tab.ejs布局文件;
  • hexo cl && hexo g && hexo d重新生成部署网页。

评论
 上一篇
地下线整体道床轨道施工 地下线整体道床轨道施工
一、土建结构移交 参与人员:工程部测量和技术人员、机电人员; 情况调查:对混凝土下料口、隧道内止排水情况、预埋件、预留管道、水电接口等施工情况调查 提前准备:做好各种施工的技术方案、机械设备、水电准备工作。 出现问题上报及时监理 二
2020-08-02
下一篇 
使用Shell脚本自定义命令 使用Shell脚本自定义命令
前言无论是在搭建自己的个人博客过程中还是平时的工作生活中,都会有文件备份的习惯,有些文件往往比较重要,需要经常性的打包备份一次。就我在搭建Hexo博客而言,每次都要清理public文件夹后将文件进行打包备份,移动到其他文件夹或者网盘存储。每
2020-07-12
  目录