当前位置:   article > 正文

【Hexo + Github 搭建自己的专属博客】

【Hexo + Github 搭建自己的专属博客】

目录

一、前提环境配置

1. 安装Git和NodeJS

2. 安装Hexo

3. 加载主题

4. 修改主题配置

二、搭建博客

1. 将博客部署在GitHub上

2. 写文章并上传

3. 配置一些特效

三、最终成果

​编辑


一、前提环境配置

1. 安装GitNodeJS

Windows 上使用 Git ,可以从 Git 官网直接 https://git-scm.com/downloads ,然后按默认选项安
装即可。安装完成后,在开始菜单里找到 “Git”->“Git Bash” ,蹦出一个类似命令行窗口的东西,就
说明 Git 安装成功!
Git 中绑定 Github 账号,打开 “Git Bash” ,在命令框中依次输入两行命令:
  1. git config --global user.name “Your Name”
  2. git config --global user.email email@example.com
  3. # 其中Your Name和email@example.com替换成上面注册时的账户名和邮箱
由于 Hexo 是基于 Node.js 驱动的一款博客框架,所以安装 NodeJS https://nodejs.org/en/downl
oad/ 并配置环境变量。
安装之后可以输入以下命令查看是否安装成功:
  1. git version
  2. node -v
  3. npm -v

2. 安装Hexo

以上环境准备好了就可使用 npm 开始安装 Hexo 了,在命令行输入执行如下命令:
npm install -g hexo-cli
安装 Hexo 完成后,在指定文件夹下打开 “Git Bash” ,再执行下列命令, Hexo 将会在指定文件夹中
新建所须要的文件:
  1. hexo init myBlog
  2. cd myBlog
  3. npm install
若是上面的命令都没报错的话,就恭喜了,运行 hexo s 命令,其中 s server 的缩写,在浏览
器中输入 http://localhost:4000 回车就能够预览效果了。

3. 加载主题

大家可以去官网上找自己喜欢的主题下载 https://hexo.io/themes/ 
随后将下载的主题文件夹放在 myblog/themes 中,在 _config.yml 文件中修改 theme hexo
theme-Chic(注意和主题文件名一致)
修改好之后在 “Git Bash” 中执行 hexo g 命令,然后再 hexo s ,在浏览器中输入 http://localhost:4
000 回车就能够预览修改主题后的效果了。

4. 修改主题配置

修改在主题文件夹下的 _config.yml 文件,完成自己个人的配置。
  1. # Header 主页面标题
  2. navname: Bentham's Blog
  3. # navigatior items 四个文件归类
  4. nav:
  5. Posts: /archives
  6. Categories: /category
  7. Tags: /tag
  8. About: /about
  9. # favicon 图标
  10. favicon: /favicon.ico
  11. # Profile 中间显示名字
  12. nickname: Jeremy Bentham
  13. ### this variable is MarkDown form.
  14. # 个人描述,可以修改成自己要显示的句子
  15. description: Lorem ipsum dolor sit amet, **consectetur adipiscing elit.**
  16. <br>Fusce eget urna vitae velit *eleifend interdum at ac* nisi.
  17. # 个人头像图片
  18. avatar: /image/avatar.jpeg
  19. # main menu navigation
  20. ## links key words should not be changed.
  21. ## Complete url after key words.
  22. ## Unused key can be commented out.
  23. # 下方超链接
  24. links:
  25. Blog: /archives
  26. # Category:
  27. # Tags:
  28. # Link:
  29. # Resume:
  30. # Publish:
  31. # Trophy:
  32. # Gallery:
  33. # RSS:
  34. # AliPay:
  35. ZhiHu: https://www.zhihu.com/people/sirice
  36. # LinkedIn:
  37. # FaceBook:
  38. # Twitter:
  39. # Skype:
  40. # CodeSandBox:
  41. # CodePen:
  42. # Sketch:
  43. # Gitlab:
  44. # Dribbble:
  45. Instagram:
  46. Reddit:
  47. # YouTube:
  48. # QQ:
  49. # Weibo:
  50. # WeChat:
  51. Github: https://github.com/Siricee
  52. # how links show: you have 2 choice--text or icon. 图标 or 文字
  53. links_text_enable: false
  54. links_icon_enable: true
  55. # Post page
  56. ## Post_meta
  57. post_meta_enable: true
  58. post_author_enable: true
  59. post_date_enable: true
  60. post_category_enable: true
  61. ## Post copyright
  62. post_copyright_enable: true
  63. post_copyright_author_enable: true
  64. post_copyright_permalink_enable: true
  65. post_copyright_license_enable: true
  66. post_copyright_license_text: Copyright (c) 2019 <a
  67. href="http://creativecommons.org/licenses/by-nc/4.0/">CC-BY-NC-4.0</a>
  68. LICENSE
  69. post_copyright_slogan_enable: true
  70. post_copyright_slogan_text: Do you believe in <strong>DESTINY</strong>?
  71. ## toc
  72. post_toc_enable: true
  73. # Page
  74. page_title_enable: true
  75. # Date / Time format
  76. ## Hexo uses Moment.js to parse and display date
  77. ## You can customize the date format as defined in
  78. ## http://momentjs.com/docs/#/displaying/format/
  79. date_format: MMMM D, YYYY
  80. time_format: H:mm:ss
  81. # stylesheets loaded in the <head>
  82. stylesheets:
  83. - /css/style.css

二、搭建博客

1. 将博客部署在GitHub

点击 Start project 或者下面的 new repository 建立一个新的仓库,注意 Github 仅能使用一个同
名仓库的代码托管一个静态站点 ,这里注意仓库名一定要是: 用户名 .github.io
配置 SSH key ,要使用 git 工具首先要配置一下 SSH key ,为部署本地博客到 Github 作准备。
  1. git config --global user.name "用户名"
  2. git config --global user.email "邮箱地址"
  3. ssh-keygen -t rsa -C '上面的邮箱'
按照提示完成三次回车,便可生成 ssh key ,采用以下指令也可以查看自己的 ssh
cat ~/.ssh/id_rsa.pub
首次使用还须要确认并添加主机到本机 SSH 可信列表。若返回 Hi xxx! You've successfully
authenticated, but GitHub does not provide shell access. 内容,则证实添加成功。
ssh -T git@github.com
登陆 Github 上添加刚刚生成的 SSH key ,按如下步骤添加,右上角点击头像 -> settings -> SSH
and GPG keys ,建立一个新的 SSH key, 标题随便, key 就填刚才生成那个,确认建立,这样在你
的 SSH keys 列表里就会看到你刚刚添加的密钥。

此时,本地和 Github 的工做作得差不了,是时候把它们两个链接起来了。你也能够查看官网的部署
教程。先不着急,部署以前还须要修改配置和安装部署插件。第一:打开项目根目录下的
_config.yml 配置文件配置参数。拉到文件末尾,填上以下配置。 第二要安装一个部署插件 hexo-deployer-git ,打开 “Git Bach” ,输如以下指令:
npm install hexo-deployer-git --save
最后执行如下两条命令就能够部署上传啦,如下 g generate 缩写, d deploy 缩写
  1. hexo g # 先生成
  2. hexo d # 部署到Github上
这时用浏览器输入 用户名 .github.io 就可以访问刚才的网站啦。

2. 写文章并上传

博客搭好了,就开始写文章了,这里简单介绍一下,详细的文档能够看 hexo 官网。新建文章,输
入如下命令便可
hexo new '文章标题'
执行完成后能够在 /source/_posts 下看到一个 文章标题 .md” 的文章文件啦。 .md 就是 Markdown
格式的文件,具体用法能够在网上找一下,语法仍是比较简单的。
  1. ---
  2. title: blogTest
  3. date: 2021-08-20 18:07:21
  4. tags: Test
  5. categories: blog1
  6. ---
  7. ### 1. This is a blog Test
  8. * First
  9. * Second
  10. ---
  11. ### 2. Show Text
  12. * **这是加粗**
  13. > *这是斜体*
之后依次输入以下命令:
  1. hexo g # 生成文件
  2. hexo s # 本地服务器查看网站
  3. hexo d # 部署到Github 上

3. 配置一些特效

雪花特效: themes\hexo - theme - Chic\layout\index.ejs 中添加如下代码:
  1. <!-- 雪花特效 -->
  2. <script type="text/javascript"
  3. src="https://libs.baidu.com/jquery/1.8.3/jquery.js"></script>
  4. <script type="text/javascript"
  5. src="https://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
  6. <script type="text/javascript" src="/js/snow.js"></script>
蜘蛛网特效: themes\hexo - theme - Chic\layout\layout.ejs 中添加如下代码:
  1. <script>
  2. !
  3. function() {
  4. function n(n, e, t) {
  5. return n.getAttribute(e) || t
  6. }
  7. function e(n) {
  8. return document.getElementsByTagName(n)
  9. }
  10. function t() {
  11. var t = e("script"),
  12. o = t.length,
  13. i = t[o - 1];
  14. return {
  15. l: o,
  16. z: n(i, "zIndex", -1), //置于主页面背后
  17. o: n(i, "opacity", .5), //线条透明度
  18. c: n(i, "color", "0,0,0"), //线条颜色
  19. n: n(i, "count", 100) //线条数量
  20. }
  21. }
  22. function o() {
  23. a = m.width = window.innerWidth ||
  24. document.documentElement.clientWidth || document.body.clientWidth,
  25. c = m.height = window.innerHeight ||
  26. document.documentElement.clientHeight || document.body.clientHeight
  27. }
  28. function i() {
  29. r.clearRect(0, 0, a, c);
  30. var n, e, t, o, m, l;
  31. s.forEach(function(i, x) {
  32. for (i.x += i.xa, i.y += i.ya, i.xa *= i.x > a || i.x < 0 ? -1 :
  33. 1, i.ya *= i.y > c || i.y < 0 ? -1 : 1, r.fillRect(i.x - .5, i.y - .5, 1,
  34. 1), e = x + 1; e < u.length; e++) n = u[e],
  35. null !== n.x && null !== n.y && (o = i.x - n.x, m = i.y - n.y, l
  36. = o * o + m * m, l < n.max && (n === y && l >= n.max / 2 && (i.x -= .03 * o,
  37. i.y -= .03 * m), t = (n.max - l) / n.max, r.beginPath(), r.lineWidth = t /
  38. 2, r.strokeStyle = "rgba(" + d.c + "," + (t + .2) + ")", r.moveTo(i.x, i.y),
  39. r.lineTo(n.x, n.y), r.stroke()))
  40. }),
  41. x(i)
  42. }
  43. var a, c, u, m = document.createElement("canvas"),
  44. d = t(),
  45. l = "c_n" + d.l,
  46. r = m.getContext("2d"),
  47. x = window.requestAnimationFrame || window.webkitRequestAnimationFrame
  48. || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||
  49. window.msRequestAnimationFrame ||
  50. function(n) {
  51. window.setTimeout(n, 1e3 / 45)
  52. },
  53. w = Math.random,
  54. y = {
  55. x: null,
  56. y: null,
  57. max: 2e4
  58. };
  59. m.id = l,
  60. m.style.cssText = "position:fixed;top:0;left:0;z-index:" + d.z +
  61. ";opacity:" + d.o,
  62. e("body")[0].appendChild(m),
  63. o(),
  64. window.onresize = o,
  65. window.onmousemove = function(n) {
  66. n = n || window.event,
  67. y.x = n.clientX,
  68. y.y = n.clientY
  69. },
  70. window.onmouseout = function() {
  71. y.x = null,
  72. y.y = null
  73. };
  74. for (var s = [], f = 0; d.n > f; f++) {
  75. var h = w() * a,
  76. g = w() * c,
  77. v = 2 * w() - 1,
  78. p = 2 * w() - 1;
  79. s.push({
  80. x: h,
  81. y: g,
  82. xa: v,
  83. ya: p,
  84. max: 6e3
  85. })
  86. }
  87. u = s.concat([y]),
  88. setTimeout(function() {
  89. i()
  90. },
  91. 100)
  92. } ();
  93. </script>

三、最终成果

我的博客网址:https://wudreamer.github.io/    欢迎大家访问哈!

另外这个网址我还也没有买服务器和域名来进行备案,因此可能访问不稳定,后期会加以修正。

这个前端主题也是在hexo中找来后修改的,等过阵子后有时间再写个自己独属的主题。

如果对这个喜欢主题的话可评论找我!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/337223
推荐阅读
相关标签
  

闽ICP备14008679号