美文网首页
用hexo在github上搭建个人博客笔记!

用hexo在github上搭建个人博客笔记!

作者: DragonersLi | 来源:发表于2017-07-05 15:34 被阅读729次

一、前提需要Git 和 node.js的支持!

Windows10 x64位 , github page 部署 hexo
nodejs官网下载地址:https://nodejs.org/en/

Git for Windows下载地址:https://git-for-windows.github.io/

Hexo 中文文档:https://hexo.io/zh-cn/docs/commands.html

Hexo Themes列表:https://hexo.io/themes/

next 主題风格配置:http://theme-next.iissnan.com/

Paste_Image.png

安装完成后通过查看版本看是否安装成功,git鼠标点击右键会有菜单显示。

Paste_Image.png Paste_Image.png

安装 hexo:

1.输入命令:npm install -g hexo (-g 是指全局安装 hexo)
2.查看安装成功与否,输入命令:hexo -v 查看会有版本等信息列出。
Paste_Image.png

3.新建项目文件(必须为空,否则会失败),右键运行Git Bash,输入命令:hexo init 会生成如下文件:

Paste_Image.png

输入 hexo s 命令,生成本地服务。然后浏览器输入 :http://localhost:4000/ 如果不出意外就会出现如下图:

Paste_Image.png

Paste_Image.png

如果无法访问,可能是端口号占用,更改服务端口号:hexo s -p 5000

二、

申请注册 gitHub 账号,官网地址:https://github.com/ ,登录创建 仓库 ,仓库名必须为(gitHub账号名).gitHub.io
例如:我的账号是:DiorsCoder,仓库名创建为: DiorsCoder.gitHub.io
Paste_Image.png
修改站点配置文件 DiorsCoder.github.io\ _config.yml
Paste_Image.png Paste_Image.png Paste_Image.png

安装 hexo-deployer-git 自动部署发布工具: npm instal lhexo-deployer-git --save

发布到 gitHub 输入如下命令:hexo clean && hexo g -d

不出意外浏览器访问: https://DiorsCoder.github.io 就能看的部署到线上的项目。

三、配置 SSH key

  1. ssh-keygen -t rsa -C "邮箱地址" 然后连续3次回车,最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容,打开你的github主页,进入个人设置 -> SSH and GPG keys -> New SSH key:
//生成 key
 ssh-keygen -t rsa -C "YourEmailAddress"
//检测 github 账号的 ssh 是否设置成功
ssh -T git@github.com
Paste_Image.png Paste_Image.png

配置 git 信息:


git config --global user.name "DiorsCoder" #  github用户名 
git config --global user.email  "YourEmailAddress" #github注册邮箱
git config --list #查看

Paste_Image.png

常用命令和报错处理:

hexo init  #执行站点的初始化
hexo g == hexo generate #生成静态页面。在生成时可以加上-d或--deploy参数在生成后立即部署。生成的静态文件在public文件夹下,没有则会自动建立。
hexo d == hexo deploy #将 .deploy 目录部署到 gitHub,也就是将public目录下生成的静态文件上传到某个特定的位置,部署时可以加上-g或--generate参数,在部署前先生成一遍静态文件。

hexo s == hexo server #开启预览访问端口(默认:4000,'ctr+c'关闭server),在本地http://localhost:4000启动一个hexo服务器,可以用来预览hexo站点的效果。
hexo n == hexo new  #新建一个markdown文件。
hexo new [layout] <title># [layout]是该文件的类型,取值有post、draft和page三种,分别对应新建文章、草稿、页面。在运行该命令时,会调用scaffolds下的对应模板。
hexo clean #清理Hexo缓存。该操作会强制Hexo清空已生成的全部静态文件以及Hexo自身的数据库,有时候相当有效(更换主题后建议运行)。
hexo publish <title>#发布某篇草稿(即将该markdown文件转移到_post文件夹下)

#命令可以复合使用:
hexo clean && hexo g -d

hexo new page message:生成菜单项:

Paste_Image.png Paste_Image.png

如果部署失败 (报错:Deployer not found: git,输入命令:npm install hexo-deployer-git --save 解决!)

Paste_Image.png

輸入 hexo d 命令部署失敗,綫上報錯404或者還是原來的樣子!解決辦法,刪除項目根目錄 .deploy_git 文件夾!重新執行命令: hexo d

Paste_Image.png
Paste_Image.png Paste_Image.png

如果部署失败,报错(Could not read from remote repository.)

解决办法:删除当前key,然后重新生成key,执行(三、配置 SSH key) ,然后从新生成部署。
Paste_Image.png Paste_Image.png Paste_Image.png
提示如下图则说明部署成功:
Paste_Image.png
浏览器输入:https://dragonersli.github.io/ 就可以看到项目了,然后后面就是各种配置了。

卸载Hexo :3.0.0版本执行npm uninstall hexo-cli -g,之前版本执行npm uninstall hexo -g。

站点部分配置如下:

# Site #站点信息
title: blog Name #标题
subtitle: Subtitle #副标题
description: my blog desc #描述
author: me #作者
language: zh-CN #语言
timezone: Asia/Shanghai #时区
# URL
url: http://yoururl.com   #用于绑定域名, 其他的不需要配置
root: /
#permalink: :year/:month/:day/:title/
permalink: posts/title.html
permalink_defaults:

# Directory #目录
source_dir: source #源文件
public_dir: public #生成的网页文件
tag_dir: tags #标签
archive_dir: archives #归档
category_dir: categories #分类
code_dir: downloads/code
i18n_dir: :lang #国际化
skip_render:

# Writing #写作
new_post_name: :title.md #新文章标题
default_layout: post #默认模板(post page photo draft)
titlecase: false #标题转换成大写
external_link: true #新标签页里打开连接
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight: #语法高亮
  enable: true
  line_number: true #显示行号
  auto_detect: true
  tab_replace:

# Category & Tag #分类和标签
default_category: uncategorized #默认分类
category_map:
tag_map:

# Date / Time format #日期时间格式
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss

# Pagination #分页
per_page: 10 #每页文章数, 设置成 0 禁用分页
pagination_dir: page

# Extensions #插件和主题
## 插件: http://hexo.io/plugins/
## 主题: http://hexo.io/themes/
theme: next

# Deployment #部署, 同时发布在 GitHub 和 GitCafe 上面
deploy:
- type: git
  repo: git@github.com:DiorsCoder/DiorsCoder.github.io.git,gitcafe-pages
- type: git
  repo: git@github.com:DiorsCoder/DiorsCoder.github.io.git,master
message: '站点更新: {{ now("YYYY-MM-DD HH:mm:ss") }}' 
# Disqus #Disqus评论系统
disqus_shortname: 

plugins: #插件,例如生成 RSS 和站点地图的
- hexo-generator-feed
- hexo-generator-sitemap
    
  

四、主题安装:


git clone https://github.com/iissnan/hexo-theme-next themes/next  #next主题
 
git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia  #yilia主题
Paste_Image.png

经常修改主题配置文件之后,执行 hexo clean && hexo g -d 命令部署失败,查看错误信息如下:

Paste_Image.png

主题配置文件问题有可能是空格问题,也有可能是配置问题。


next 主题添加网站运行天数和访问量:

运行天数:


 //在最后一个div中追加 
<span>   |   </span>
<span id="showDays"></span>

//修改blog\themes\next\layout\_partials\footer.swig文件,在后面追加 
<script>
    var birthDay = new Date('09/1/2016');
    var now = new Date();
    var duration = now.getTime() - birthDay.getTime();
    var total= Math.floor(duration / (1000 * 60 * 60 * 24));
    document.getElementById('showDays').innerHTML='本站已运行' + total + '天';
</script>

访客量和访客人数:


{# 新增代码 #}
<script async src="https://dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<div style="margin:-20px;position: absolute;right:265px;">
<dl style="float:left">
  <dt style="float:left">
    <dd style="float:left;width:300px">
      <span style="float:right">     |</span>
      <span style="float:right">本站总访问量<span><span style="float:right" id="busuanzi_value_site_pv"></span>
    </dd>
  </dt>
  <dt style="float:left;width:300px">
    <dd>
      <span style="float:left">     </span>
      <span style="float:left">您是第</span>
      <span style="float:left" id="busuanzi_value_site_uv"></span>
      <span style="float:left">个小伙伴</span>
    </dd>
  </dt>
</dl>
</div>
{# 结束 #}
<!--新增代码-->

添加代码示例:

Paste_Image.png

效果如下:

Paste_Image.png

相关文章

网友评论

      本文标题:用hexo在github上搭建个人博客笔记!

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