原文链接

什么是 Hexo ?

Hexo 是一个简单快速的静态博客框架,可以通过编辑 Markdown 文档生成好看的静态博客。

搭建 Hexo

要求

安装 Hexo 十分简单,只需要 Node.js 和 Git 即可。

Node.js

最好的安装方式是使用 nvm

cURL:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

安装好 nvm 之后,重启终端,然后通过

$ nvm install 0.12

来安装 Node.js

Git

Mac 用户:Homebrew

安装 Hexo

$ npm install -g hexo-cli

需要注意的是,这里的 npm 相关命令,最好都使用管理员权限操作,否则可能会报错

如何使用 Hexo

一旦安装完毕 Hexo,即可通过如下命令在指定文件夹中初始化 Hexo:

  1. $ hexo init <folder>
  2. $ cd <folder>
  3. $ npm install

配置 Hexo

  1. # Hexo Configuration
  2. # Site
  3. title: Hexo #博客标题
  4. subtitle: #博客副标题
  5. description: #博客描述
  6. author: John Doe #作者名字
  7. email: #邮箱地址
  8. language: #语言 中国大陆简体中文的标准语系地区码是zh-CN 台灣是正體中文zh-TW
  9. # URL
  10. url: http://yoursite.com #博客地址
  11. root: / #博客根目录
  12. permalink: :year/:month/:day/:title/ #博客url地址结构
  13. tag_dir: tags
  14. archive_dir: archives
  15. category_dir: categories
  16. code_dir: downloads/code
  17. permalink_defaults:
  18. # Directory
  19. source_dir: source
  20. public_dir: public
  21. # Writing
  22. new_post_name: :title.md # File name of new posts
  23. default_layout: post
  24. titlecase: false # Transform title into titlecase
  25. external_link: true # Open external links in new tab
  26. filename_case: 0
  27. render_drafts: false
  28. post_asset_folder: false
  29. relative_link: false
  30. highlight:
  31. enable: true
  32. line_number: true
  33. tab_replace:
  34. # Category & Tag
  35. default_category: uncategorized
  36. category_map:
  37. tag_map:
  38. # Archives
  39. archive: 1 #设置为1 是全部展示
  40. category: 2
  41. tag: 2
  42. # Server
  43. port: 4000 #本地服务器端口是4000
  44. server_ip: localhost #本地服务器地址
  45. logger: false
  46. logger_format: dev
  47. # Date / Time format
  48. date_format: MMM D YYYY #日期格式
  49. time_format: H:mm:ss #时间格式
  50. # Pagination
  51. ## Set per_page to 0 to disable pagination
  52. per_page: 10
  53. pagination_dir: page
  54. # Disqus
  55. disqus_shortname: #disqus的用户名称
  56. # Extensions
  57. theme: landscape #主题设置
  58. exclude_generator:
  59. # Deployment
  60. deploy:
  61. type:

完善页面

  1. hexo new page "about"

用于创建 about 页面

Hexo 常用插件

Plugins, Hexo官方插件列表地址

RSS

安装hexo-generator-feed插件即可

npm install hexo-generator-feed

阅读进度

Sitemap

给搜索引擎使用

  1. npm install hexo-generator-sitemap

装完之后 记得在全局配置里面开启插件

  1. plugins:
  2. - hexo-generator-feed
  3. - hexo-generator-sitemap

Git

用于发布

  1. npm install hexo-deployer-git --save

baidu sitemap

  1. npm install hexo-generator-baidu-sitemap@0.1.1 --save

sitemap

  1. npm install hexo-generator-sitemap --save

Gitalk

  • 用于管理评论
  1. # Gitalk
  2. # Demo: https://gitalk.github.io
  3. gitalk:
  4. enable: true
  5. github_id: samwei12 # Github repo owner
  6. repo: Gitalk # Repository name to store issues 注意这里必须要填名称,而不是链接
  7. client_id: # Github Application Client ID
  8. client_secret: # Github Application Client Secret
  9. admin_user: samwei12 # GitHub repo owner and collaborators, only these guys can initialize github issues 这里填名称即可,可以是数组
  10. distraction_free_mode: true # Facebook-like distraction free mode
  11. # Gitalk's display language depends on user's browser or system environment
  12. # If you want everyone visiting your site to see a uniform language, you can set a force language value
  13. # Available values: en, es-ES, fr, ru, zh-CN, zh-TW
  14. language:

GoogleAnalytics

阅读时间统计

local_search

  • 本地搜索
  1. # Local search
  2. # Dependencies: https://github.com/theme-next/hexo-generator-searchdb
  3. local_search:
  4. enable: true
  5. # If auto, trigger search by changing input.
  6. # If manual, trigger search by pressing enter key or search button.
  7. trigger: auto
  8. # Show top n results per article, show all results by setting to -1
  9. top_n_per_article: 1
  10. # Unescape html strings to the readable one.
  11. unescape: false

发布到 Github

拥有自己的 GithubPage

  1. 创建一个与自己用户名相同的项目
  2. 随便上传个文件,上传 master 分支
  3. 新建 hexo 分支,并切换到该分支,推送到远程

发布

  • 配置里,新增
  1. deploy:
  2. type: git
  3. repo: https://github.com/samwei12/samwei12.git
  4. branch: master
  • 然后
  1. // 生成静态文件
  2. hexo g
  3. // 发布
  4. hexo d

即可

绑定个人域名

购买域名

  • 可以从阿里云上购买域名, 目前我购买了 samwei12.com 这个域名,几个注意事项:

    • 需要实名认证
    • 需要备案

域名备案

绑定域名

迁移到新电脑

  • 最近又是好久没有写博客了,换了新电脑之后需要重新配置,这次记录下还原步骤,下次再遇到可以提高效率。

还原博客文件

  • 我采用的办法是将博客相关内容专门放到 hexo 分支上,然后 git 仓库的默认分支设置为 hexo,切换电脑之后直接拉取最新代码。

安装依赖

  1. 首先先把主题和插件安装下来

    1. 我使用的主题是 https://github.com/theme-next/hexo-theme-next.git, 这里推荐把主题的配置文件放到 _data文件夹下,好处是即使换了电脑,配置重新拉取代码仍然同步
    2. 阅读进度插件: https://github.com/theme-next/theme-next-reading-progress
    3. 字体插件:https://github.com/theme-next/theme-next-han
  2. 根目录下执行 npm install
  3. hexo g && hexo s 本地测试是否部署成功

注意事项

参考文档

如何使用 Hexo 搭建个人博客的更多相关文章

  1. 利用Hexo搭建个人博客-博客发布篇

    通过 <利用Hexo搭建个人博客-环境搭建篇> 以及 <利用Hexo搭建个人博客-博客初始化篇>,我们了解到了利用Hexo搭建个人博客需要的环境以及配置,下面这篇文章将会介绍如 ...

  2. 利用Hexo搭建个人博客-博客初始化篇

    上一篇博文 <利用Hexo搭建个人博客-环境搭建篇> 中,我们讲解了利用Hexo搭建个人博客应该要配置哪些环境.相信大家已经迫不及待的想要知道接下来应该要怎么把自己的博客搭起来了,下面,让 ...

  3. 利用Hexo搭建个人博客-环境搭建篇

    我是一个爱写博客进行总结分享的人.然而,有着热爱写博客并且深知写博客好处的我,却没有好好的把这个习惯坚持下来.如今毕业已经一年多了吧,每一次与师弟师妹们聊天,我总会意味深长的建议他们,一定要定期梳理总 ...

  4. 使用Hexo搭建github博客步骤,超简便

    categories: 工具 tags: git Windows 搭建博客 你只需要node环境和一个github账号就可以开工啦! 本教程适合于Windows环境,Mac教程也大同小异 利用hexo ...

  5. 使用Hexo搭建GitHub博客(2018年Mac版)

    关于本文 本文仅记录自己学习搭建Hexo博客之时,搭建过程中掉坑的历程总结,对零基础起步的观众朋友可能缺乏某些基础技术的指导,请优先食用下述两篇优质教程: [2018更新]小白独立搭建博客-Githu ...

  6. hexo搭建个人博客

    本文讲述如何用`hexo`搭建个人博客,并托管到`github`.不需要租赁服务器,可完成网站博客的搭建. 安装Hexo安装hexo之前,要先下载安装Node.js和Git,百度搜索找到下载即可.[G ...

  7. 使用github和hexo搭建静态博客

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 终于写这篇文章了,这是我使用github和hexo搭建博客的一些心得,希望能给大家一点帮助.少走点弯路.刚接触github,只是用来存项目的版本, ...

  8. gitee+hexo搭建个人博客

    通过gitee和hexo搭建个人博客 首先准备软件: git (提供命令git) git官网 notepad++(方便编辑)notepad++官网 nodejs(hexo依赖)nodejs官网 7z( ...

  9. 使用Hexo搭建个人博客并部署到GitHub或码云上全过程

    一.前言 如上图所示:GitHub有Github Pages,而码云也有码云 Pages 1.Github Pages或Gitee Pages是什么呢? Github Pages或者Gitee Pag ...

  10. Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...

随机推荐

  1. 异步回调实现- Guava Retryer

    为什么要使用重试利器Retryer 在实际开发中我们经常会遇到需要轮询查询一个接果,实现轮询的方式有很多种,我们经常要写许多代码,有时还会怕写出的代码有bug,如果已经有轮子了,我们就没必要重复造轮子 ...

  2. Net6 DI源码分析Part4 CallSiteFactory ServiceCallSite

    Net6 CallSiteFactory ServiceCallSite, CallSiteChain abstract class ServiceCallSite ServiceCallSite是个 ...

  3. 微信小程序音频播放 InnerAudioContext 的用法

    今天项目上涉及到了微信小程序播放音频功能,所以今天跟着一些教程做了个简单的播放器 1.实现思路 刚开始想着有没有现成的组件可以直接用,找到了微信的媒体组件 audio,奈何看着 1.6.0版本开始,该 ...

  4. Solution -「LOCAL」「cov. 牛客多校 2020 第三场 I」礼物

    \(\mathcal{Description}\)   给定排列 \(\{a_n\}\),求字典序第 \(K\) 大的合法排列 \(\{b_n\}\).称一个排列 \(\{p_n\}\) 合法,当且仅 ...

  5. Vue脚手架报错 Component name "Student" should always be multi-word vue/multi-word-component-names

    报错信息分析: 新手在第一个次使用脚手架的时候难免会遇到各种各样奇怪的问题,最近在学习Vue的过程中就出现了如下问题 通过阅读报错信息可知: 是我们的组件名有一些问题,(报错信息翻译过来大概就是组件名 ...

  6. Eureka工作原理及心跳机制

    Eureka原理 1.基本原理上图是来自eureka的官方架构图,这是基于集群配置的eureka:处于不同节点的eureka通过Replicate进行数据同步Application Service为服 ...

  7. Vue2.0源码学习(6) - 组件注册

    组件注册 前言 在 Vue.js 中,除了它内置的组件如 keep-alive.component.transition.transition-group 等,其它用户自定义组件在使用前必须注册.在开 ...

  8. 前端防抖,double click 克星

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. [Java]Java入门笔记(一):IDE设置、部分快捷键

    一.Eclipse 软件设置 注意 同一时间,工作空间只能使用1个. 1.1 创建程序的步骤 创建项目Java Project 注意:项目名不要使用数字,也不要以数字开头: 选择"Use d ...

  10. 一个命令让redis服务端所有信息无所遁形~(收藏吃灰系列)

    1.info命令作用 在redis客户端执行INFO 命令以便于计算机解析和人工阅读的简单格式返回有关redis服务端的所有信息和统计数据. 可选参数可用于选择特定的信息部分: Server 服务器基 ...