美文网首页
[实战干货]30分钟快速搭建hexo3.7.0 + next主题

[实战干货]30分钟快速搭建hexo3.7.0 + next主题

作者: 东行不西游 | 来源:发表于2018-10-24 21:04 被阅读0次

    30分钟即可完成一个带评论、打赏、搜索、RSS、分类、标签等功能的博客
    高效的搭建让博主更加专注于内容的生产

    欢迎关注博主的个人博客 东行不西游

    准备工作

    1. 必须安装git和node,官网有各平台详细的安装过程
    1. 准备一张头像和网站favicon
    • 200*200方形或圆形头像 (用来显示作者头像)
    • 32*32的favicon (浏览器打开网站标签的一个ico)
    1. hexo全局的图标配置信息均来自fontawesome
    2. 所有的配置项在修改的时候一定要记住 冒号 后是有一个空格的,不然保存后 在执行 hexo server 会失败

    开始安装

    git和node安装完后进入到博客的文件夹内,执行下面代码(均在终端操作)

    $ npm install hexo-cli -g  #全局安装hexo命令
    $ hexo init blog           #在当前目录下,初始化hexo一个名为blog项目
    $ cd blog                  #进入该目录
    $ git clone https://github.com/theme-next/hexo-theme-next themes/next #安装next主题
    $ npm install              #安装项目必备插件
    $ hexo server              #本地启动项目
    

    如果以上步骤均正确可以 点击即可看到博客首页 或 浏览器输入 localhost:4000 即可看到博客首页,如不能请检查之前的步骤是否正确,此时你已经完成了50%的工作


    先找到 <font size="2" color="blue">站点配置文件</font> blog/_config.yml
    重要提示:修改每一个配置的时候都可以刷新页面观看修改结果,如果不显示可以在终端的博客目录执行

    $ hexo clean
    $ hexo server
    

    站点配置

    1. 先设置hexo的next主题
      找到theme后修改为:
      theme: next #配置成刚下载的next主题
      
    2. 配置hexo网站相关信息
      找到site的设置 按下面备注修改相关信息
      # Site
      title: 东行不西游  #网站标题
      subtitle: 风在前,无惧!  #网站副标题
      description: 心猿不定,意马四驰  #描述,介绍网站的
      keywords: python,php,mysql,滑雪,摄影 #网站的关键字
      author: Bowen #博主姓名
      language: zh-CN #语言  zh-CN 是简体中文
      timezone: UTC #时区
      
    3. 设置hexo永久链接
      设置永久链接的目的是为了便于分享和seo优化.这样别人收藏地址后不会出现链接失效
      # URL
      url: https://dangbowen.com #网站的首页地址
      root: / #网站的根目录设置
      permalink: :year/:month/:day/:title.html # 这种 
      设置的url表现为2018/10/18/hello-world.html 样式
      
      默认链接样式可修改为 (permalink配置只能有一种,关闭某种开头加 #)
      permalink: :category/:title.html #用分类和博客title当做url地址
      
    4. 设置hexo中的默认分类
      找到 Category & Tag
      # Category & Tag
      default_category: default  #这里设置一个默认分类名称,如果第3条永久链接设置为 permalink: category/:title/ 那么没有分类的博客就会被放在default这个分类下进行归档
      

    额外配置:hexo如何配置git信息(可跳过!后续新开一贴详细介绍)
    github和coding都提供page服务,这样我们就可以把博客静态资源发布到这2个仓库,然后用域名来访问博客,所有人都可以通过浏览器来观看你的博客.双仓库格式如下:

    deploy:
      type: git
      repo:
          github: https://github.com/{your_name}/{your_name}.github.io,master #github 提供page的服务要求仓库名必须为 {your_name}.github.io 格式 比如你的github用户名为 abc 那么你必须建立一个 abc.github.io仓库
          coding: https://git.coding.net/{your_name}/{your_name}.git,master #coding要求page服务的仓库名为 用户名 一样 .例如:用户名为abc 仓库名也必须为abc  
    

    先找到 <font size="2" color="red">主题配置文件</font> blog/themes/next/_config.yml ,修改配置的时候都可以刷新页面观看修改结果,如果不显示可以在终端的博客目录执行

    $ hexo clean
    $ hexo server
    

    主题配置

    1. 配置hexo网站的favicon
      把准备好的favicon放在 blog/themes/next/source/images/

      favicon:
        small: /images/favicon-16x16-next.png #把favicon名修改成你自己的
        medium: /images/favicon-32x32-next.png 
      
    2. 配置hexo中的tag,categories菜单
      默认菜单只开启了首页和归档,hexo所有图标均来自fontawesome

      menu: #菜单设置为 菜单名: /菜单目录 || 菜单图标名字
        home: / || home 
        about: /about/ || user
        tags: /tags/ || tags
        categories: /categories/ || th
        archives: /archives/ || archive
        commonweal: /404/ || heartbeat
      menu_settings:
        icons: true  #显示图标
        badges: true  #显示统计信息
      
    3. 手动生成hexo菜单对应文件
      新菜单开启后是没有对应文件的,所以要手动生成about,tags,categories和404页面,这里我们将404替换成腾讯的公益页面
      新建about页面

      $ cd blog
      $ hexo new page about #about就是普通的布局一般用来介绍站点信息和博主信息等
      

      新建一个tags页面

      $ cd blog
      $ hexo new page tags
      

      找到tags文件 blog/source/tags/index.md 编辑它,在头部修改为

      ---
      title: All tags
      date: 2018-10-01 13:58:44 #时间随意
      type: "tags" #类型一定要为tags
      comments: false #提示找个页面不需要评论,后续评论插件那里会详细介绍
      ---
      

      新建一个categories页面

      $ cd blog
      $ hexo new page categories
      

      找到categories文件 blog/source/categories/index.md 编辑它,在头部修改为

      ---
      title: 分类
      date: 2018-10-15 00:03:57
      type: "categories"
      comments: false
      ---
      

      新建一个404页面

      $ cd blog
      $ hexo new page 404
      

      找到404文件 blog/source/404/index.md 编辑它,内容全部替换成如下

      <!DOCTYPE html>
      <html lang="en">
      <head>
      <meta charset="UTF-8">
      <title>404</title>
      </head>
      <body>
      <script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8" homePageUrl="/" homePageName="返回"></script> 
      </body></html>
       ```
      
    4. 配置hexo本地搜索
      安装插件,终端进入 cd blog 后执行:

      npm install hexo-generator-searchdb --save
      

      主题配置文件如下:

      local_search:
        enable: true
        trigger: auto
        top_n_per_article: 1
        unescape: false
      

      站点配置文件新添加如下代码:

      search:
        path: search.xml
        field: post
        format: html
        limit: 100
      
    5. 设置hexo中的rss订阅
      rss需要安装一个插件,终端进入 cd blog 后执行:

      npm install hexo-generator-feed --save
      

      刷新主页就可以看到rss

    6. 配置hexo站点的footer信息
      底部footer可以开关显示hexo版权,theme版权,还有建站时间等个性化配置

      footer:
        since: 2015   #建站开始时间
        icon:
          name: user  #设置 建站初始时间和至今时间中间的图标 默认是一个'小人像'更改user为heart可以变成一个'心'
          color: "#808080" #更改图标的颜色 红色为 '#ff0000'
        powered:
          enable: true #是否开启hexo驱动
          version: true #是否开启hexo版本号
        theme:
          enable: true #是否开启theme驱动
          version: true #是否开启主题版本号
        custom_text: Hosted by <a target="_blank" rel="external nofollow" href="https://pages.coding.me"><b>Coding Pages</b></a> #这里的底部标识是为了添加coding page服务时的版权声明 打开注释就可以看到底部有一个 hosted by coding pages
      
    7. 配置hexo中next主题样式选择
      next一共提供了4种首页样式,按照自己喜好选择一个,切记选择一个其他主题后其他的主题之前一定要加上#

      # Schemes
      scheme: Muse
      #scheme: Mist
      #scheme: Pisces
      #scheme: Gemini
      
    8. hexo网站next主题侧边栏宽度,头像信息,头像设置圆形和头像旋转

      sidebar:
        position: left  #选择pisces 或者 gemini 主题是 可以 选择侧边栏 位置 调整左边或者右边
        #position: right
        width: 300   # muse mist 主题 可以控制侧边栏的宽度 
        display: post   #如果是muse mist 主题 可以选择 侧边栏弹出动作  post 是 只在内容页弹出
        #display: always  #全局弹出
        #display: hide    #全局隐藏侧边栏 右下角有角标唤出
        #display: remove  #移除侧边栏
      avatar:
        url: /images/avatar.gif  #设置头像资源的位置
        rounded: false  #开启圆形头像
        opacity: 1    #不透明的比例  0 就是完全透明
        rotated: false  #开启旋转
      
    9. hexo中next主题的社交信息和友链配置

      social: #和菜单设置格式一样  社交名字: 社交url || 社交图标 ,图标信息还是[fontawesome](https://fontawesome.com/v4.7.0/icons)
        GitHub: https://github.com/yourname || github
        E-Mail: mailto:yourname@gmail.com || envelope
        Google: https://plus.google.com/yourname || google
      
      social_icons:
        enable: true  #显示社交图标
        icons_only: false #只显示图标的开关
      
      # Blog rolls
      links_icon: link  #友链的图标 参考上文
      links_title: Links #友链的title  比如你可以更改为 友情链接
      links_layout: block #友链摆放的样式,按块 一行一个
      #links_layout: inline #按线摆放,一行很多个 切记 同时只能一种样式
      links:
        Title: http://example.com/  #友链的地址
      
    10. hexo中next主题首页文章不展示全文显示摘要,自动截取摘要和点击阅读全文跳转顶部

      scroll_to_more: true  #点击阅读全文后是否跳到<!--more-->标记处,设为false时点击阅读全文可以从头阅读
      auto_excerpt: #是否自动截取摘要
        enable: false #设置为true则自动截取150字当做首页摘要
        length: 150   #自动截取的字数
      
    11. hexo中next主题首页文章属性显示创建时间,修改时间,分类

      post_meta:
        item_text: false  # 设为true 可以一行显示 文章的所有属性
        created_at: true  #显示创建时间
        updated_at:
          enabled: true   #显示修改的时间
          another_day: true #设true时 如果创建时间和修改时间一样则显示一个时间
        categories: true  #显示分类信息
      
    12. hexo中的next增加页面阅读统计,字数统计,阅读时长
      新增busuanzi阅读统计

      busuanzi_count:
        enable: false  #设true 开启
        total_visitors: true  #总阅读人数 uv数
        total_visitors_icon: user  #阅读总人数的图标
        total_views: true  #总阅读次数 pv数
        total_views_icon: eye  #阅读总次数的图标
        post_views: true #开启内容阅读次数
        post_views_icon: eye #内容页阅读数的图标
      

      新增字数统计,阅读时长,先安装插件

      $ npm install hexo-symbols-count-time --save
      

      主题配置信息如下:

      symbols_count_time:
        separated_meta: true  # false 会显示一行
        item_text_post: true  # 显示属性名称,设为false后只显示图标和统计数字,不显示属性的文字
        item_text_total: true #底部footer是否显示字数统计属性文字
        awl: 4 #计算字数的一个设置,没设置过
        wpm: 275 #一分钟阅读的字数
      

      站点配置新增如下:

      symbols_count_time:
       #文章内是否显示
        symbols: true
        time: true
       # 网页底部是否显示
        total_symbols: true
        total_time: true
      
    13. hexo中next主题给内容页里的代码块新增复制按钮

      codeblock:
        copy_button:
          enable: true #增加复制按钮的开关
          show_result: true #点击复制完后是否显示 复制成功 结果提示
      
    14. hexo中next主题文章主页配置微信公众号

      # Wechat Subscriber
      wechat_subscriber:
        enabled: true
        qcode: /images/wechat-qcode.jpg #微信公众号的二维码
        description: 这是我的公众号  #公众号描述文字
      
    15. hexo中next主题配置微信,支付宝打赏

      # Reward
      reward_comment: 一毛也是爱~  #打赏描述
      wechatpay: /images/wechat_pay.png #微信支付的二维码图片地址
      alipay: /images/ali_pay.png  #支付宝的地址
      #bitcoin: /images/bitcoin.png #这个是设置比特币的...
      
    16. hexo中next主题新增 相关文章推荐
      安装推荐文章的插件

      $ npm install hexo-related-popular-posts --save
      

      主题配置信息如下:

      related_posts:
        enable: true
        title: 相关文章推荐 # 属性的命名
        display_in_home: false #false代表首页不显示
        params:
          maxCount: 5 #最多5条
          #PPMixingRate: 0.0 #可以看github上 这个相关度介绍
          #isDate: true #是否显示 日期
          #isImage: false #是否显示配图
          isExcerpt: false #是否显示摘要
      
    17. hexo中next主题的文章原创申明
      给每一个原创文章开启版权保护

      post_copyright:
        enable: true #设置true就开启了
        license: <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" rel="external nofollow" target="_blank">CC BY-NC-SA 4.0</a>
      
    18. hexo中next主题更改code高亮样式

      highlight_theme: normal #可选值为 normal | night | night eighties | night blue | night bright 这几个挑一个喜欢的
      
    19. hexo中next主题添加评论-Valine
      点击官网leancloud注册账号,获取自己的appid,appkey,再看valine官网设置下自己的leancloud

      valine:
        enable: true # 开启评论
        appid:  ~~~  # 刚申请 leancloud 的 appid
        appkey:  ~~~ # 刚生情 leancloud 的 appkey
        notify: false # 是否邮件推送 详情看 https://github.com/xCss/Valine/wiki
        verify: false # 
        placeholder: Just go go # 评论框里的placeholder信息
        avatar: mm # gravatar style
        guest_info: nick,mail,link # custom comment header
        pageSize: 10 # 一页显示的评论条数
        visitor: false # 
      
    20. hexo中next主题配置网页body背景动态效果
      4个效果同时只能开启一个

      canvas_nest: false
      three_waves: false
      canvas_lines: false
      canvas_sphere: false
      

    常见问题

    1. 为什么hexo server报错?
      检查最近修改的配置文件中的各个配置项冒号后是否有空格,某些样式选择是否唯一
    2. 为什么menu设置完后,点击各个菜单无效,href=""现象?
      检查站点配置文件relative_link: false 如为true 改为 false即可

    最后的最后

    由于6.4比5.x多了很多以前个性定制的配置,使得个性化的配置操作简单很多,不用修改样式和源码即可完成以前的定制效果,所以主题的更新还是要看个人的需求,如果功能够用的情况下还是保证创作博客为主,毕竟内容才是最能吸引读者的,共勉.

    欢迎关注博主的个人博客 东行不西游,今天是10月24日,祝大家也祝自己节日快乐

    本文作者: Bowen
    本文原创链接: https://dangbowen.com/hexo/ad0bedc4.html
    版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

    相关文章

      网友评论

          本文标题:[实战干货]30分钟快速搭建hexo3.7.0 + next主题

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