[实战干货]30分钟快速搭建hexo3.7.0 + next主题6.4教程(持续更新)

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 许可协议。转载请注明出处!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343