美文网首页
使用next主题配置博客基本信息

使用next主题配置博客基本信息

作者: 拾忆_aa | 来源:发表于2018-03-05 17:10 被阅读309次

    在上篇文章中提到了如何免费通过github和hexo创建一个自己的博客,在此将通过next为例,演示一遍配置的过程(喜欢其他主题的可以在此绕过了)

    一、前言

    常用命令及文件地址:

    部署到本地预览查看三部曲:
    hexo clean (清除缓存)
    hexo g (生成静态网页)
    hexo s (本地启动预览查看)
    
    部署到git服务器上:
    hexo deploy 
    
    博客配置文件地址:
    ~/blog/_config.yml
    主题配置文件地址
    ~/blog/themes/next/_config.yml
    

    后面不再重复解释

    二、next主题的安装和基本配置

    (一)安装

    首先从github上clone到本地,在终端cd 到blog文件夹(即你通过Hexo init生成的根目录),然后在终端输入命令:

    git clone https://github.com/iissnan/hexo-theme-next themes/next
    

    进入blog的全局配置文件:_config.yml (在blog文件夹下 /blog/_config.yml)

    找到theme字段:设置为

    theme: next
    

    此时可以查看下主题是否配置成功,执行上面提到的三部曲( 终端cd到blog文件夹 执行 hexo clean , hexo g , hexo s
    然后访问http://localhost:4000/,在本地查看效果,进行预览

    (二) 基本信息的配置

    更多的博客和主题的配置可参考 hexo官方文档next主题文档,如不想那么麻烦,可以继续往下看,下面就是我使用的一些常用的功能,足够自己使用了

    1、网站标题、作者、语言

    在博客配置文件_config.yml中进行如下配置

    # Site
    title: 拾忆的技术博客
    subtitle: 小白的技术成长之路
    description: 小白的技术成长之路
    author: 拾忆
    language: zh-Hans
    timezone: Asia/Shanghai (如不填,则表示默认电脑的时区)
    

    这里设置标题作者名字等信息,其中language一项最好配置成zh-Hans(简体中文),(查看next主题支持哪些语言 可查看~/blog/themes/next/languages文件夹)

    2、next主题的风格设置

    在主题配置文件_config.yml中进行如下配置

    next默认有四种风格,可根据自己喜欢的样式去设置查看

    # Schemes
    #scheme: Muse
    scheme: Mist
    #scheme: Pisces
    #scheme: Gemini
    

    我这里使用的是Mist样式,其中#表示注释,使用哪种去掉前面的#即可,后不再说明

    3、设置菜单选项

    打开主题配置文件:

    先奉上我的配置方便大家去参考:

    menu:
      home: / || home
      categories: /categories || th
      about: /about || user
      archives: /archives || archive
      tags: /tags || tags
      #schedule: /schedule/ || calendar
      #sitemap: /sitemap.xml || sitemap
      #commonweal: /404/ || heartbeat
    
    # Enable/Disable menu icons.
    menu_icons:
      enable: true
      # Icon Mapping.
      home: home
      about: user
      categories: th
      tags: tags
      archives: archive
    

    其中menu表示配置菜单内容,menu_icons表示菜单图片,如需使用图片则在menu中设定值的后面加上 || 图片名

    (1)常用的默认菜单项,其中home和archives两页是系统默认的就有的,其他的需要自己创建,后面会讲到

    键值 设定值 显示文本(简体中文)
    home home: / 主页
    archives archives: / 归档页
    categories categories: /categories 分类页
    tags tags: /tags 标签页
    about about: /about 关于页面

    (2)设置菜单项的显示文本。在第一步中设置的菜单的名称并不直接用于界面上的展示。Hexo 在生成的时候将使用 这个名称查找对应的语言翻译,并提取显示文本。这些翻译文本放置在 NexT 主题目录下的 languages/{language}.yml ({language} 为你所使用的语言)。

    以简体中文为例,若你需要添加一个菜单项,比如 something。那么就需要修改简体中文对应的翻译文件 languages/zh-Hans.yml,在 menu 字段下添加一项:

    menu:
      home: 首页
      archives: 归档
      categories: 分类
      tags: 标签
      about: 关于
    

    (3)设定菜单项的图标,对应的字段是 menu_icons。 此设定格式是 item name: icon name,其中 item name 与上一步所配置的菜单名字对应,icon name 是 Font Awesome 图标的 名字,去掉前缀icon-(或使用图标库中的图片名称)。而 enable 可用于控制是否显示图标,你可以设置成 false 来去掉图标。next主题默认集成了识别Font Awesome图片的方式,只需要在里面找到想要图标的名称,就可以拿过来使用

    # Enable/Disable menu icons.
    menu_icons:
      enable: true
      # Icon Mapping.
      home: home
      about: user
      categories: th
      tags: tags
      archives: archive
    

    请注意键值(如 home)的大小写要严格匹配

    4、创建上述菜单选项中对应的页面

    (1)分类页面

    终端中cd 进入blog文件夹,执行 hexo new page "categories" 然后在~/blog/source 文件夹中即可看到categories文件夹,打开里面的index.md文件,设置如下(注意:后面要加空格):

    ---
    title: 分类 (title可以自定义)
    type: categories (记住你写的type类型,后面分类文章需要使用)
    ---
    

    这时候上一步中菜单项的配置才会生效

    menu:
        home: /
        archives: /archives
        categories: /categories
    

    这时候如运行本地查看会发现打开后没有任何东西,下面会告诉大家使用方法

    (2)标签页面

    同分类界面相同,终端中cd 进入blog文件夹,执行 hexo new page "tags" 然后在~/blog/source 文件夹中即可看到tags文件夹,打开里面的index.md文件,设置如下(注意:后面要加空格):

    ---
    title: 标签 (title可以自定义)
    type: tags (记住你写的type类型,后面分类文章需要使用)
    ---
    

    运行打开后同样什么都不会有

    (3)关于页面

    同理,打开index.md文件后,只需要配置标题即可

    ---
    title: 自我介绍
    date: 2018-02-28 17:11:54
    ---
    

    然后下面填写正文即可(这是我使用的方式,但是“关于”界面也可以使用其他方式配置,如配置个链接等,这里大家自行百度即可)

    5、给文章添加分类和标签

    首先创建一个文章,上篇文章末尾有讲到,终端cd 进入blog文件夹,执行 hexo new "文章名字",打开文章(在~/blog/source/_posts文件夹下),然后进行如下配置:

    ---
    title: 标题
    date: 2018-03-02 09:36:14
    tags: [blog] (注意:使用[],将需要添加的标签写进去,多个标签用,分隔,categories同理)
    categories: [blog]
    ---
    

    保存,此时再去运行查看,点击分类和标签页面就会看到自己的文章了,不再是空的了

    但是经过上述操作,发现每创建一篇文章都要在上面去加标签等字段,如果后期功能多的话,可能会要加很多字段,比较麻烦,这里有个比较相对容易的方式不用每次都去添加那些字段
    首先打开文件 ~/blog/scaffolds/post.md ,进行如下配置:

    ---
    title: {{ title }}
    date: {{ date }}
    tags: {{ tags }}
    categories: 
    ---
    
    你会发现,之后再创建文章时,文章上方会自动添加这些字段
    

    6.修改作者头像并旋转

    打开主题配置文件,修改字段 avatar, 值设置成头像的链接地址

    将头像放置主题目录下的 source/uploads/ (新建 uploads 目录若不存在)
    配置为:

    avatar: /uploads/avatar.png

    或者 放置在 source/images/ 目录下
    配置为:

    avatar: /images/avatar.png

    或直接放上链接,如:
    avatar: http://example.com/avatar.png

    此时头像设置完成,如需实现旋转效果则按如下过程:

    打开~\blog\themes\next\source\css_common\components\sidebar\sidebar-author.styl,在里面添加如下代码:

    .site-author-image {
      display: block;
      margin: 0 auto;
      padding: $site-author-image-padding;
      max-width: $site-author-image-width;
      height: $site-author-image-height;
      border: $site-author-image-border-width solid $site-author-image-border-color;
    
      /* 头像圆形 */
      border-radius: 80px;
      -webkit-border-radius: 80px;
      -moz-border-radius: 80px;
      box-shadow: inset 0 -1px 0 #333sf;
    
      /* 设置循环动画 [animation: (play)动画名称 (2s)动画播放时长单位秒或微秒 (ase-out)动画播放的速度曲线为以低速结束 
        (1s)等待1秒然后开始动画 (1)动画播放次数(infinite为循环播放) ]*/
     
    
      /* 鼠标经过头像旋转360度 */
      -webkit-transition: -webkit-transform 1.0s ease-out;
      -moz-transition: -moz-transform 1.0s ease-out;
      transition: transform 1.0s ease-out;
    }
    
    img:hover {
      /* 鼠标经过停止头像旋转 
      -webkit-animation-play-state:paused;
      animation-play-state:paused;*/
    
      /* 鼠标经过头像旋转360度 */
      -webkit-transform: rotateZ(360deg);
      -moz-transform: rotateZ(360deg);
      transform: rotateZ(360deg);
    }
    
    /* Z 轴旋转动画 */
    @-webkit-keyframes play {
      0% {
        -webkit-transform: rotateZ(0deg);
      }
      100% {
        -webkit-transform: rotateZ(-360deg);
      }
    }
    @-moz-keyframes play {
      0% {
        -moz-transform: rotateZ(0deg);
      }
      100% {
        -moz-transform: rotateZ(-360deg);
      }
    }
    @keyframes play {
      0% {
        transform: rotateZ(0deg);
      }
      100% {
        transform: rotateZ(-360deg);
      }
    }
    

    7.头像下方添加自己的github等信息

    打开主题配置文件,找到social字段,配置如下,大家可根据自己情况去配置,图片的使用方法同菜单栏一样

    social:
      GitHub: https://github.com/username || github
      #E-Mail: 
      #Google: https://plus.google.com/yourname || google
      #Twitter: https://twitter.com/yourname || twitter
      #FB Page: https://www.facebook.com/yourname || facebook
      #VK Group: https://vk.com/yourname || vk
      #StackOverflow: https://stackoverflow.com/yourname || stack-overflow
      #YouTube: https://youtube.com/yourname || youtube
      #Instagram: https://instagram.com/yourname || instagram
      #Skype: skype:yourname?call|chat || skype
    
    social_icons:
      enable: true
      #icons_only: false
      #transition: false
      GitHub: github
    

    8.给站点添加友情链接功能

    打开主题配置文件,进行如下配置:

        links_title: 友情链接
        links:
            #百度: http://www.baidu.com/
            #新浪: http://example.com/
    

    三、next主题的高级配置和一些炫酷的效果

    (一) 增加评论系统

    百度了一下最新的消息,当前版本的next主题中已经内置支持了各种各样的评论系统,但由于政策的原因(需要实名评论),导致大多数的评论插件都已经失效了,而国外的一些加载比较慢。

    这里附上gitment的评论集成方式集成流程

    gitment(依托于github issue,能够自己管理,而且被墙的概率小),不过兼容性不太好(需要chrome内核才行),本人使用的gitment,有一个小问题,就是每次发布文章时需要登录下自己的github账号去初始化一下评论,评论功能才能使用,否则会提示“未开放评论”

    Hypercomments 是国外的一个第三方评论平台

    多说 在2017年06月01日就关闭评论服务了

    网易云跟贴 2017年08月01日也停止服务了

    来必力 (韩国人弄的)总是乱码

    DISQUS 外国的,加载慢


    (二) 隐藏网页底部powered By Hexo / 强力驱动

    打开主题配置文件,找到如下图位置,将powered设置为 false,theme下的enable 设置为 false

    picture10

    (三) 设置首页文章列表不显示全文(只显示预览)

    • 进入hexo博客项目的themes/next目录
    • 打开_config.yml文件
    • 搜索"auto_excerpt",找到如下部分:
        # Automatically Excerpt. Not recommand.
        # Please use <!-- more --> in the post to control excerpt accurately.
        auto_excerpt:
          enable: false
          length: 150
    
    • 把enable改为对应的false改为true,length设置下,然后hexo d -g,再进主页,问题就解决了!

    (四) 增加本地搜索功能

    添加百度/谷歌/本地 自定义站点内容搜索

    1. 安装 hexo-generator-searchdb,在站点的根目录下执行以下命令:

       npm install hexo-generator-searchdb --save
      
    2. 编辑博客配置文件,新增以下内容到任意位置:

       search:
             path: search.xml
             field: post
             format: html
             limit: 10000
      
    3. 编辑主题配置文件,启用本地搜索功能:

       # Local search
       local_search:
         enable: true
      

    (五)其他炫酷效果可参考 hexo的next主题个性化教程:打造炫酷网站


    最后附上博客地址 拾忆的博客

    相关文章

      网友评论

          本文标题:使用next主题配置博客基本信息

          本文链接:https://www.haomeiwen.com/subject/frihfftx.html