个人博客

前言

GitHub page提供了免费的服务搭建

  1. 免费域名 xxx.github.io xxx是你的GitHub用户名
  2. 免费的代码存储空间
  3. 全是静态文件,快速访问
  4. git版本管理,能快速回滚或者切换的某个版本

准备工作

注册GitHub账号

(如果已拥有GitHub账号 无需重新注册)

点击sign in 页面的Create an account

注册页面信息填写:

注册完成之后直接登录

node环境

本地安装nodejs环境,此处就不在详细介绍安装了。

安装git

为了把本地的网页文件上传到github上面去,我们需要用到分布式版本控制工具————Git[下载地址]。

安装选项还是全部默认,只不过最后一步添加路径时选择Use Git from the Windows Command Prompt,这样我们就可以直接在命令提示符里打开git了。

安装完成后在命令提示符中输入git --version验证是否安装成功。

window需要安装git bash或者其他工具来支持git命令的使用

GitHub博客注册

接下来就是去GitHub上注册一个git page来存放我们的博客静态页面

点击新增项目

打开新增页面

填写新增信息。

填写注意事项:

  1. name填写XXX.github.io
  2. 上面的XXX就是你的GitHub用户名owner
  3. 一定要填写.github.io后缀 不然就创建成普通项目了

创建完成会自动生成https://gongchenghuigch.github.io/ 这样的访问地址

Repository那么一定要按规则填写 不然后期会出现博客代码提交不上去的问题

如果你的这个page地址已占用看是否能把它迁移到别的page下面

配置SSH key

在本地代码push是需要你的GitHub权限,但是直接使用用户名和密码太不安全了,所以我们使用ssh key来解决本地和服务器的连接问题。

本地公钥生成

ssh-keygen -t rsa -C "邮箱地址"

如果本地目录下面已存在 直接覆盖原有的就可以

GitHub配置

setting>SSH and GPG keys>New SSH key

copy本地刚刚生成的.ssh/id_rsa.pub里面的全部内容

每个人生成的目录地址可能是不一样的,可以在ssh生成的时候看到你本地的生成地址

检测是否添加成功

ssh -T git@github.com # 注意邮箱地址不用改

如果提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后会看到:

Hi gongchenghuigch! You’ve successfully authenticated, but GitHub does not provide shell access.

看到这个信息说明SSH已配置成功

git全局设置

git config --global user.name "xxx"// 你的github用户名,非昵称
git config --global user.email  "xxx@163.com"// 填写你的github注册邮箱

使用hexo

简介

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

hexo中文文档

原理

由于github pages存放的都是静态文件,博客存放的不只是文章内容,还有文章列表、分类、标签、翻页等动态内容,假如每次写完一篇文章都要手动更新博文目录和相关链接信息,相信谁都会疯掉,所以hexo所做的就是将这些md文件都放在本地,每次写完文章后调用写好的命令来批量完成相关页面的生成,然后再将有改动的页面提交到github。

安装hexo

npm install -g hexo-cli

初始化

在你电脑找一个文件目录下执行

$ hexo init <folder>
$ cd <folder>
$ npm install

执行完成会出现以下的目录结构:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

_config.yml网站的 配置 信息,您可以在此配置大部分的参数。

本地启动

hexo server 或者 hexo s

浏览器窗口访问http://localhost:4000 会出现以下页面:

这个是默认主题 比较丑陋;下面会介绍一些个人比较喜欢的主题。

发布

配置_config.yml中有关deploy的部分:

deploy:type: gitrepository: git@github.com:gongchenghuigch/gongchenghuigch.github.io.gitbranch: master

注意:

repository不要写成git clone的https的地址

错误写法:

deploy:type: gitrepository: https://github.com/gongchenghuigch/gongchenghuigch.github.io.gitbranch: master

配置完之后直接执行命令:

hexo d

执行完命名之后会在本地生成public打包的静态文件和.deploy_git提交git的编译之后的静态文件

public和.deploy_git下编译的静态文件如下:

如果在开发过程中想看的编译的静态文件直接执行命令:

hexo generate

注意:

在发布时如果本地已存在public需要执行hexo clean或者手动删除public目录,不然不会提交最新代码

新增文章

hexo new page test

hexo会创建source/test/index.md

hexo new page --path _posts/text "测试页面"

hexo会创建source/_posts/text.md同时页面title为“测试页面”

主题个性化设置

个人比较喜欢的主题是hexo-theme-matery,下面也都是基于这个主题的一些配置

主题下载

项目下面执行

git clone https://github.com/blinkfox/hexo-theme-matery.git themes/matery

更换根目录下的_config.yml配置文件中的theme参数

## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: matery

修改成你刚刚clone到本地要更换的主题

文章头部设置

/scaffolds/post.md修改为如下代码:

---
title: {{ title }}
date: {{ date }}
top: false
cover: false
password:
summary:
tags:
categories:
---

效果示例:

---
title: TypeScript声明文件
date: 2019-09-05 10:29:29
categories:
- TypeScript
tags:
- TypeScript
---

导航配置

根目录_config.yml配置

title: gongchenghui
subtitle: 浅夏晴空
description: 北冥有鱼,其名为鲲,鲲之大,不知其几千里也;化而为鸟,其名为鹏.
keywords: gongchenghui,github
author: 浅夏晴空
language: zh-CN
timezone:

主题配置themes/matery/_config.yml

menu:主页:url: /icon: fa-home标签:url: /tagsicon: fa-tags分类:url: /categoriesicon: fa-bookmark工具:url: /friendsicon: fa-rocket归档:url: /archivesicon: fa-archive关于:url: /abouticon: fa-user-circle-o

效果:

标签

页面文章标签配置:

---
title: nvm版本管理
date: 2019-09-05 10:29:29
tags:
- nodejs
- npm
- nvm
---

在每个md文件的头部添加tags标签属性, 标签下面可以写任意的标签value值;

文章里面展示效果如下(左侧):

导航上配置完标签之后需要在本地新建标签的目录

hexo new page tags

切换到标签页展示如下:

点击每个标签都能筛选出该标签下对应的文章。

分类

文章分类配置:

---
title: nvm版本管理
date: 2019-09-05 10:29:29
categories:
- nodejs
---

文章内部展示效果如下(右侧):

导航上配置完分类之后需要在本地新建分类的目录

hexo new page categories

切换到分类页展示如下:

404页面

原来的主题没有404页面,首先在/source/目录下新建一个404.md,内容如下:

---
title: 404
date: 2017-07-19 16:41:10
type: "404"
layout: "404"
description: "你访问的页面被外星人叼走了 :("
---

然后在/themes/matery/layout/目录下新建一个404.ejs文件,内容如下:

<style type="text/css">/* don't remove. */.about-cover {height: 75vh;}
</style><div class="bg-cover pd-header about-cover"><div class="container"><div class="row"><div class="col s10 offset-s1 m8 offset-m2 l8 offset-l2"><div class="brand"><div class="title center-align">404</div><div class="description center-align"><%= page.description %></div></div></div></div></div>
</div><script>// 每天切换 banner 图.  Switch banner image every day.$('.bg-cover').css('background-image', 'url(/medias/banner/' + new Date().getDay() + '.jpg)');
</script>

效果如下:

添加建站时间

修改/themes/matery/layout/_partial/footer.ejs文件,在最后加上

<script language = javascript >function siteTime() {window.setTimeout("siteTime()", 1000);var seconds = 1000;var minutes = seconds * 60;var hours = minutes * 60;var days = hours * 24;var years = days * 365;var today = new Date();var todayYear = today.getFullYear();var todayMonth = today.getMonth() + 1;var todayDate = today.getDate();var todayHour = today.getHours();var todayMinute = today.getMinutes();var todaySecond = today.getSeconds();var t1 = Date.UTC(2018, 08, 11, 00, 00, 00); //北京时间2018-2-13 00:00:00 var t2 = Date.UTC(todayYear, todayMonth, todayDate, todayHour, todayMinute, todaySecond); var diff = t2 - t1; var diffYears = Math.floor(diff / years); var diffDays = Math.floor((diff / days) - diffYears * 365); var diffHours = Math.floor((diff - (diffYears * 365 + diffDays) * days) / hours); var diffMinutes = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours) / minutes); var diffSeconds = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours - diffMinutes * minutes) / seconds); document.getElementById("sitetime").innerHTML = "本站已运行 " +diffYears+" 年 "+diffDays + " 天 " + diffHours + " 小时 " + diffMinutes + " 分钟 " + diffSeconds + " 秒"; } siteTime();
</script>

然后在适当位置加上一下代码

<span id="sitetime"></span>

如:

 <div class="col s12 m8 l8 copy-right"><span id="sitetime"></span> <br>本站由&copy;<a href="https://gongchenghuigch.github.io/" target="_blank">gongchenghui</a>基于<a href="https://hexo.io/" target="_blank">Hexo</a> 的<a href="https://github.com/blinkfox/hexo-theme-matery" target="_blank">hexo-theme-matery</a>主题搭建.

添加萌萌的动漫人物

先看看添加卡通人物之后的效果:

??

安装插件

npm install --save hexo-helper-live2d

安装下载动画人物库 如:

npm install live2d-widget-model-z16 -D

根目录_config.yml配置里面添加:

live2d: enable: true scriptFrom: local pluginRootPath: live2dw/ pluginJsPath: lib/ pluginModelPath: assets/ tagMode: false log: false model: use: live2d-widget-model-z16 display: position: right width: 150 height: 300 mobile: show: true react: opacity: 0.7

动画库的样式示例:

Epsilon2.1

Gantzert_Felixander:

ni-j:

nico:

shizuku:

z16:

动漫人物只好不要和不蒜子一起使用,不然不蒜子会显示不出来。

添加网易云音乐

如何在文章里面插入音乐呢?

打开网易云音乐网页版,找到你自己想听的音乐

点击生成外链接:

然后把里面的HTML代码复制到你的文章里面就可以了。

添加搜索

安装搜索插件:

npm install hexo-generator-search --save

根目录_config.yml配置:

search:path: search.xmlfield: post

hexo+github+hexo-theme-matery搭建个人免费博客相关推荐

  1. github page hexo博客gitee_利用Github和hexo搭建个人免费博客

    利用Github和hexo搭建个人免费博客详细过程: 概述: 详细的介绍了利用github和hexo搭建免费的博客,内容详细,浅显易懂,容易上手,大家一起进来看看吧! 1.配置Github相关操作: ...

  2. 基于hexo搭建个人免费博客——基本设置和了解

    2017年最新基于hexo搭建个人免费博客--基本设置和了解 前言 前面的文章已经能让大家搭建起自己的博客,并通过网络访问了,通过基础的发布文章和编辑既可以实现博客的运作了,其他的一些包括分页和标签. ...

  3. hexo部署成功但是没效果_使用 Hexo+GitHub 搭建个人免费博客教程(小白向)

    前言 近些年来很多用户都喜欢使用 GitHub Pages 来搭建 Hexo 静态博客网站,其最吸引人的莫过于完全免费使用,并且非常稳定. 虽然搭建时比较麻烦,有点折腾,但是配置完成后,基本不需要操心 ...

  4. 个人博客代码_Jekyll + Github Pages 搭建个人免费博客

    今天亲手通过 Jekyll 搭建了一套免费博客,搭建步骤其实超级简单.你不需要购买域名,也不需要购买服务器,就可以轻松拥有你自己的博客.Jekyll 的核心是一个文本转换引擎.它的方便之处在于支持多种 ...

  5. 【Gitee + Hexo】从0开始搭建自己的博客网站

    每一名开发者,都期望有属于自己的技术博客网站,这其中更多的人依赖CSDN.博客园.掘金等去分享技术性文章.本文的目的是带着大家快速搭建一个属于自己的免费博客网站,其实现原理:先用Hexo 把提前写好的 ...

  6. 2017年最新基于hexo搭建个人免费博客——从零开始

    前言 搭建此博客是因为通过github上了解到github pages进而知道了可以把静态网页博客托管给github仓库 或许您已经通Git + Hexo 搭建个人博客网站了解到如何通过HEXO + ...

  7. 在Github和oschina上搭建自己的博客网站

    在Github上搭建 - 参考链接 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门 GitHub + Jekyll 搭建并美化个人网站 用Jekyll搭建的Git ...

  8. 利用Github免费搭建个人主页(个人博客)

    之前闲着, 利用Github搭了个免费的个人主页. 涉及: Github注册 Github搭建博客 域名选购 绑定域名 更多 一  Github注册 在地址栏输入地址:http://github.co ...

  9. hexo搭建自己的博客并部署至免费的github服务器教程

    hexo搭建自己的博客并部署至免费的github服务器教程-mac版本 打开终端,输入sudo su -命令进入root用户 输入npm install -g hexo-cli (前提是按照了node ...

最新文章

  1. 有人说 Maven 很简单,我却被 伤害 过
  2. php 算年龄,PHP计算年龄、
  3. 如何隐藏win32 console application的console窗口
  4. 模拟电路--单电源差分运算放大电路方案
  5. 一次比较麻烦的性能问题诊断及解决
  6. 需求跟踪矩阵模板_大连电视台采用无跟踪虚拟技术升级多套节目
  7. Oracle数据库在.net连接问题总结
  8. 数据探查与可视化平台 Caravel
  9. vue watch 经常监听不到_VUE处理 组件赋值 watch 监听不到赋值问题
  10. c#值类型,引用练习,ref,out
  11. 大数据分析系统创新平台与生态建设
  12. NDK crash分析方法
  13. 《文明之光》吴军 著,读书笔记
  14. html单元格边框斜线,excel表头三斜线 将线条的两端放在单元格的边框上
  15. Personalized Federated Learning with Moreau Envelopes论文阅读+代码解析
  16. [论文阅读]PointRend: Image Segmentation as Rendering
  17. python--圆周率的计算
  18. Java 写数据到文件
  19. python glove训练模型_gensim加载Glove预训练模型
  20. 创新实训(1)——小组成员初步讨论,进行小组分工,明确项目范围项目范围

热门文章

  1. Android开发笔记(一百一十四)发布工具
  2. java 斗地主 案例
  3. 数据库设计(五)第一范式(1NF)?
  4. 初识Scrapy,在充满爬虫的世界里做一个好公民
  5. Linux服务器配置和管理:虚拟机安装CentOS6.7
  6. Xamarin只言片语3——Xamarin.Android下支付宝(Alipay SDK)使用
  7. 理解思科IPS系统的traffic flow notifications
  8. ado.net Oracle中一次执行多条sql语句
  9. 小毛thinking:why c# sucks and python rocks
  10. AJAX for Java简单表数据查询实例