-
Notifications
You must be signed in to change notification settings - Fork 0
/
atom.xml
60 lines (38 loc) · 37.9 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Mr.keyans</title>
<subtitle>One interesting soul</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="http://yoursite.com/"/>
<updated>2018-02-23T02:56:05.056Z</updated>
<id>http://yoursite.com/</id>
<author>
<name>Mr.keyans</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>about</title>
<link href="http://yoursite.com/2018/01/23/about/"/>
<id>http://yoursite.com/2018/01/23/about/</id>
<published>2018-01-23T03:45:59.000Z</published>
<updated>2018-02-23T02:56:05.056Z</updated>
<content type="html"><![CDATA[<p>个人博客地址:<a href="http://www.wlbug.com" target="_blank" rel="noopener">http://www.wlbug.com</a><br><strong>搭建流程:</strong></p><p>搭建 Node.js 环境<br>搭建 Git 环境<br>GitHub 注册和配置<br>安装配置 Hexo<br>关联 Hexo 与 GitHub Pages<br>GitHub Pages 地址解析到个人域名<br>Hexo 的常用操作</p><a id="more"></a> <blockquote><p>搭建 Node.js 环境</p></blockquote><p>为什么要搭建 Node.js 环境? - 因为 Hexo 博客系统是基于 Node.js 编写的</p><p>Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以在非浏览器环境下,解释运行 JS 代码。</p><p>在 Node.js 官网:<a href="https://nodejs.org/en/" target="_blank" rel="noopener">https://nodejs.org/en/</a> 下载安装包</p><p>保持默认设置即可,一路Next,安装很快就结束了。</p><p>然后打开命令提示符,输入 node -v、npm -v,出现版本号则说明 Node.js 环境配置成功,第一步完成!!!</p><blockquote><p>搭建 Git 环境</p></blockquote><p>为什么要搭建 Git 环境? - 因为需要把本地的网页和文章等提交到 GitHub 上。</p><p>Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。</p><p>在 Git 官网:<a href="https://git-scm.com/" target="_blank" rel="noopener">https://git-scm.com/</a> 下载安装包</p><p>桌面右键,打开 Git Bush Here,输入 git –version,出现版本号则说明 Git 环境配置成功,第二步完成!!!</p><blockquote><p>GitHub 注册和配置</p></blockquote><p>GitHub 是一个代码托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。</p><p>Github注册:<a href="https://github.com/" target="_blank" rel="noopener">https://github.com/</a></p><p>创建仓库:Repository name 使用自己的用户名,仓库名规则:</p><p>注意:yourname 必须是你的用户名。</p><p>1<br>yourname/yourname.github.io</p><p>访问 yourname.github.io,如果可以正常访问,那么 Github 的配置已经结束了。</p><p>到此搭建 Hexo 博客的相关环境配置已经完成,下面开始讲解 Hexo 的相关操作</p><blockquote><p>安装配置 Hexo</p></blockquote><p>Hexo 是一个快速、简洁且高效的博客框架,使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。</p><p>强烈建议你花20分钟区读一读 Hexo 的官方文档:<a href="https://hexo.io/zh-cn/" target="_blank" rel="noopener">https://hexo.io/zh-cn/</a></p><p>使用 npm 安装 Hexo:在命令行中输入</p><p>1<br>npm install hexo-cli -g<br>然后你将会看到下图,可能你会看到一个WARN,但是不用担心,这不会影响你的正常使用。</p><p>查看Hexo的版本</p><p>1<br>hexo version</p><p>安装 Hexo 完成后,请执行下列命令来初始化 Hexo,用户名改成你的,Hexo 将会在指定文件夹中新建所需要的文件。</p><p>1<br>2<br>3<br>4<br>5<br>hexo init bxm0927.github.io<br>cd bxm0927.github.io<br>npm install<br>新建完成后,指定文件夹的目录如下:</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>.<br>├── .deploy #需要部署的文件<br>├── node_modules #Hexo插件<br>├── public #生成的静态网页文件<br>├── scaffolds #模板<br>├── source #博客正文和其他源文件,404、favicon、CNAME 都应该放在这里<br>| ├── _drafts #草稿<br>| └── _posts #文章<br>├── themes #主题<br>├── _config.yml #全局配置文件<br>└── package.json #npm 依赖等<br>运行本地 Hexo 服务</p><p>1<br>2<br>3<br>hexo server<br>或者<br>hexo s<br>您的网站会在 <a href="http://localhost:4000" target="_blank" rel="noopener">http://localhost:4000</a> 下启动。如果 <a href="http://localhost:4000" target="_blank" rel="noopener">http://localhost:4000</a> 能够正常访问,则说明 Hexo 本地博客已经搭建起来了,只是本地哦,别人看不到的。下面,我们要部署到Github。</p><p>注意1:执行hexo server提示找不到该指令</p><p>解决办法:在Hexo 3.0 后server被单独出来了,需要安装server,安装的命令如下:</p><p>1<br>2<br>3<br>sudo npm install hexo-server<br>或者<br>npm install hexo -server –save<br>关联 Hexo 与 GitHub Pages<br>我们如何让本地git项目与远程的github建立联系呢?用 SSH keys</p><p>生成SSH keys</p><p>输入你自己的邮箱地址</p><p>1<br>ssh-keygen -t rsa -C “[email protected]”<br>在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入,我们按回车不设置密码。</p><p>添加 SSH Key 到 GitHub</p><p>打开 C:\Users\bxm09.ssh\id_rsa.pub,此文件里面内容为刚才生成的密钥,准确的复制这个文件的内容,粘贴到 <a href="https://github.com/settings/ssh" target="_blank" rel="noopener">https://github.com/settings/ssh</a> 的 new SSH key 中</p><p>测试</p><p>可以输入下面的命令,看看设置是否成功,[email protected]的部分不要修改:</p><p>1<br>ssh -T [email protected]<br>如果是下面的反馈:</p><p>The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.<br>RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.<br>Are you sure you want to continue connecting (yes/no)?</p><p>不要紧张,输入yes就好,然后会看到:</p><p>1<br>Hi aierui! You’ve successfully authenticated, but GitHub does not provide shell access.<br>配置Git个人信息</p><p>现在你已经可以通过 SSH 链接到 GitHub 了,还有一些个人信息需要完善的。<br>Git 会根据用户的名字和邮箱来记录提交。GitHub 也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的。</p><p>1<br>2<br>git config –global user.name “bxm0927”<br>git config –global user.email “[email protected]”<br>配置 Deployment</p><p>在_config.yml文件中,找到Deployment,然后按照如下修改,用户名改成你的:</p><p>需要注意的是:冒号后面记得空一格!</p><p>1<br>2<br>3<br>4<br>5<br>6</p><h1 id="Deployment"><a href="#Deployment" class="headerlink" title="Deployment"></a>Deployment</h1><h2 id="Docs-https-hexo-io-docs-deployment-html"><a href="#Docs-https-hexo-io-docs-deployment-html" class="headerlink" title="Docs: https://hexo.io/docs/deployment.html"></a>Docs: <a href="https://hexo.io/docs/deployment.html" target="_blank" rel="noopener">https://hexo.io/docs/deployment.html</a></h2><p>deploy:<br> type: git<br> repo: [email protected]:bxm0927/bxm0927.github.io.git<br> branch: master<br>本地文件提交到 GitHub Pages</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>// 删除旧的 public 文件<br>hexo clean<br>// 生成新的 public 文件<br>hexo generate<br>或者<br>hexo g<br>// 开始部署<br>hexo deploye<br>或者<br>hexo d<br>在浏览器中输入 <a href="https://bxm0927.github.io" target="_blank" rel="noopener">https://bxm0927.github.io</a> (用户名改成你的)看到了 Hexo 与 GitHub Pages 已经成功关联了,哇哇哇哇哇哇,开心死你了,不要忘了回来给我点赞哟 ~</p><p>注意1:若上面操作失败,则需要提前安装一个扩展:</p><p>1<br>npm install hexo-deployer-git –save<br>注意2:如果在执行 hexo d 后,出现 error deployer not found:github 的错误(如下),则是因为没有设置好 public key 所致,重新详细设置即可。</p><p>Permission denied (publickey).<br>fatal: Could not read from remote repository.<br>Please make sure you have the correct access rights<br>and the repository exists.</p><p>注意3:怎么避免 .md 文件被解析?</p><p>Hexo原理就是hexo在执行hexo generate时会在本地先把博客生成的一套静态站点放到public文件夹中,在执行hexo deploy时将其复制到.deploy文件夹中。Github的版本库通常建议同时附上README.md说明文件,但是hexo默认情况下会把所有md文件解析成html文件,所以即使你在线生成了 README. md,它也会在你下一次部署时被删去。怎么解决呢?</p><p>在执行hexo deploy前把在本地写好的README.md文件复制到.deploy文件夹中,再去执行hexo deploy。</p><p>GitHub Pages 地址解析到个人域名<br>Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服 务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默 认提供的域名 github.io 或者自定义域名来发布站点。</p><p>看着博客的域名是二级域名,总有一种寄人篱下的感觉,为了让这个小窝看起来更加正式,我在阿里云上买了一个域名,打算将博客绑定自己的域名。</p><p>进行该绑定过程,其实就是一个重定向的过程。</p><p>在 GitHub 仓库的根目录下建立一个 CNAME 的文本文件(注意:没有扩展名),文件里面只能输入一个你的域名,不能加http://</p><p>1<br>www.wlbug.com<br>注意:CNAME 一定是在你 Github 项目的 master 根目录下</p><p>进入阿里云域名解析地址,添加解析:</p><p>记录类型选择CNAME<br>主机记录填www<br>解析线路选择默认<br>记录值填yourname.github.io<br>TTL值为10分钟<br>再添加一个解析,记录类型A<br>主机记录填www<br>解析线路选择默认<br>记录值填你GitHub 的ip地址(在cmd中ping:)<br>1<br>ping bxm0927.github.com</p><p>点击保存,等 1 分钟,访问下你自己的域名,一切就ok了。</p><p>域名绑定成功,域名解析成功,因此你在浏览中输入 www.wlbug.com,或 wlbug.com 就可以访问到博客了,输入 bxm0927.github.io 会重定向到 www.wlbug.com。过程:www 的方式,会先解析成 <a href="http://xxxx.github.io,然后根据" target="_blank" rel="noopener">http://xxxx.github.io,然后根据</a> CNAME 再变成 www</p><p>注意:CNAME文件在下次 hexo deploy的时候就消失了,需要重新创建,这样就很繁琐</p><p>方法一:每次 hexo d 之后,就去 GitHub 仓库根目录新建 CNAME文件</p><p>方法二:在 hexo g 之后, hexo d 之前,把CNAME文件复制到 “\public\” 目录下面,里面写入你要绑定的域名。</p><p>方法三(推荐):将需要上传至github的内容放在source文件夹,例如CNAME、favicon.ico、images等,这样在 hexo d 之后就不会被删除了。</p><p>方法四:通过安装插件实现永久保留</p><p>1<br>$ npm install hexo-generator-cname –save<br>之后在_config.yml中添加一条</p><p>1<br>2<br>plugins:</p><ul><li>hexo-generator-cname<br>需要注意的是:如果是在github上建立的CNAME文件,需要先clone到本地,然后安装插件,在deploy上去即可。CNAME只允许一个域名地址。</li></ul><p>注意1:每次生成的 CNAME 都是 yoursite.com 怎么解决?</p><p>修改 _config.yml</p><p>1<br>2<br>3<br>4<br>url: <a href="http://www.wlbug.com" target="_blank" rel="noopener">http://www.wlbug.com</a><br>root: /<br>permalink: :year/:month/:day/:title/<br>permalink_defaults:<br>Hexo 的常用操作<br>发表一篇文章<br>1<br>2<br>3<br>4<br>hexo new “文章标题”<br>D:\GitHub\Hexo\test>hexo new “文章标题”<br>INFO Created: D:\GitHub\Hexo\test\source_posts\文章标题.md<br>在本地博客文件夹 source_posts 文件夹下看到我们新建的 markdown 文件。</p><p>当然,我们也可以手动添加Markdown文件在source->_deploy文件夹下,其效果同样可以媲美hexo new</p><p>文章编辑好之后,运行生成、部署命令:</p><p>1<br>2<br>3<br>4<br>5<br>hexo clean<br>hexo g<br>hexo d<br>当然你也可以执行下面的命令,相当于上面两条命令的效果</p><p>1<br>2<br>3<br>hexo clean<br>hexo d -g<br>新建一个自定义页面<br>1<br>hexo new page folder</p><p>###文章如何添加多个标签</p><p>有两种多标签格式</p><p>1<br>2<br>3<br>4<br>5<br>6<br>tags: [a, b, c]<br>或<br>tags:</p><ul><li>a</li><li>b</li><li>c<br>显示部分文章内容<br>如果在博客文章列表中,不想全文显示,可以增加 <!-- more -->, 后面的内容就不会显示在列表。</li></ul><p>1<br><!--more--><br>更改主题<br>官方主题库:<a href="https://hexo.io/themes/" target="_blank" rel="noopener">https://hexo.io/themes/</a></p><p>Hexo主题非常,推荐使用 Next 为主题,请阅读 Next 的官方文档( <a href="http://theme-next.iissnan.com/" target="_blank" rel="noopener">http://theme-next.iissnan.com/</a> ),5 分钟快速安装。</p><p>再提示一点,大家可以hexo主题修改一步就hexo s看下变化,初次接触对参数不清楚。只有hexo s后在可以在本地浏览到效果,Ctrl+C 停止服务器。</p><p>添加插件<br>添加 sitemap 和 feed 插件</p><p>切换到你本地的 hexo 目 CIA ,在命令行窗口,输入以下命令</p><p>1<br>2<br>npm install hexo-generator-feed -save<br>npm install hexo-generator-sitemap -save<br>修改 _config.yml,增加以下内容</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12</p><h1 id="Extensions"><a href="#Extensions" class="headerlink" title="Extensions"></a>Extensions</h1><p>Plugins:</p><ul><li>hexo-generator-feed</li><li>hexo-generator-sitemap<br>#Feed Atom<br>feed:<br>type: atom<br>path: atom.xml<br>limit: 20<br>#sitemap<br>sitemap:<br>path: sitemap.xml<br>再执行以下命令,部署服务端</li></ul><p>1<br>hexo d -g<br>配完之后,就可以访问 <a href="https://bxm0927.github.io/atom.xml" target="_blank" rel="noopener">https://bxm0927.github.io/atom.xml</a> 和 <a href="https://bxm0927.github.io/sitemap.xml" target="_blank" rel="noopener">https://bxm0927.github.io/sitemap.xml</a> ,发现这两个文件已经成功生成了。</p><p>添加 404 页面<br>GitHub Pages 自定义404页面非常容易,直接在根目录下创建自己的404.html就可以。但是自定义404页面仅对绑定顶级域名的项目才起作用,GitHub默认分配的二级域名是不起作用的,使用hexo server在本机调试也是不起作用的。</p><p>其实,404页面可以做更多有意义的事,来做个404公益项目吧。</p><p>推荐使用腾讯公益404 <a href="http://www.qq.com/404/" target="_blank" rel="noopener">http://www.qq.com/404/</a> :</p><p>1<br>2<br>3<br>4<br>5<br>6</p><p><script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8" homepageurl="http://www.wlbug.com/" homepagename="回到我的主页"><br></script><br>复制上面代码,贴粘到目录下新建的404.html即可!</p><p>多PC同步管理博客<br>很多人可能家里一台笔记本,公司一个台式机,想两个同时管理博客,同时达到备份的博客主题、文章、配置的目的。下面就介绍一下用github来备份博客并同步博客。</p><p>A电脑备份博客内容到github<br>配置.gitignore文件。进入博客目录文件夹下,找到此文件,用sublime text 打开,在最后增加两行内容/.deploy_git和/public</p><p>初始化仓库。<br>在博客根目录下,在git bash下依次执行git init和git remote add origin 为远程仓库地址。</p><p>同步到远程仓库。<br>gitbash下依次执行以下命令</p><p>1<br>2<br>3<br>4<br>5<br>git add . #添加目录下所有文件<br>git commit -m “更新说明” #提交并添加更新说明<br>git push -u origin master #推送更新到远程仓库<br>B电脑拉下远程仓库文件<br>在B电脑上同样先安装好node、git、ssh、hexo,然后建好hexo文件夹,安装好插件,(然后选做:将备份到远程仓库的文件及文件夹删除),然后执行以下命令:</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>git init<br>git remote add origin <server><br>git fetch –all<br>git reset –hard origin/master<br>发布博客后同步<br>在B电脑发布完博客之后,记得将博客备份同步到远程仓库<br>执行以下命令:</server></p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>git add .</p><p>#可以用git master 查看更改内容<br>git commit -m “更新信息”<br>git push -u origin master #以后每次提交可以直接git push<br>平时同步管理<br>每次想写博客时,先执行:git pull进行同步更新。发布完文章后同样按照上面的 发布博客后同步 同步到远程仓库。</p><p>中文乱码<br>在 md 文件中写中文内容,发布出来后为乱码,原因是 md 的编码不对,将 md 文件另存为UTF-8编码的文件即可解决问题。</p><p>结束语<br>建站的系统有很多,如:</p><p>Hexo + GitHub Pages<br>Jekyll + GitHub Pages<br>WordPress + 服务器 + 域名<br>DeDeCMS + 服务器 + 域名<br>…<br>使用 Hexo + GitHub Pages 建站,有优点也有缺点:</p><p>GitHub Pages 不支持数据库管理,所以你只能做静态页面的博客,不能像其他博客(如 WordPress)那样通过数据库管理自己的博客内容。<br>但是,GitHub Pages 无需购置服务器,免服务器费的同时还能做负载均衡,github pages有300M免费空间。<br>个人博客真的有必要用数据库吗?答案是否定的。博客静态化,评论记录使用第三方的 网易云跟帖就可以了。静态的博客更有利于搜索引擎蜘蛛爬取,轻量化的感觉真的很好。<br>通过 Hexo 你可以轻松地使用 Markdown 编写文章,非常符合我的口味。Markdown 真的是专门针对程序员开发的语言啊,现在感觉没有 Markdown什么都不想写。什么富文本编辑器,什么word,太麻烦了!而且样式都好丑!效率太低!<br>推荐几个很好用的在线 Markdown 编辑器:</p><p>作业部落:<a href="https://www.zybuluo.com/mdeditor" target="_blank" rel="noopener">https://www.zybuluo.com/mdeditor</a><br>马克飞象:<a href="https://maxiang.io" target="_blank" rel="noopener">https://maxiang.io</a><br>推荐图床:</p><p>极简图床 + chrome 插件 + 七牛空间,七牛云储存提供10G的免费空间,以及每月10G的流量,存放个人博客外链图片最好不过了,七牛云储存还有各种图形处理功能、缩略图、视频存放速度也给力。</p>]]></content>
<summary type="html">
<p>个人博客地址:<a href="http://www.wlbug.com" target="_blank" rel="noopener">http://www.wlbug.com</a><br><strong>搭建流程:</strong></p>
<p>搭建 Node.js 环境<br>搭建 Git 环境<br>GitHub 注册和配置<br>安装配置 Hexo<br>关联 Hexo 与 GitHub Pages<br>GitHub Pages 地址解析到个人域名<br>Hexo 的常用操作</p>
</summary>
</entry>
<entry>
<title>hexo+Github</title>
<link href="http://yoursite.com/2018/01/17/hexo/"/>
<id>http://yoursite.com/2018/01/17/hexo/</id>
<published>2018-01-17T09:58:05.000Z</published>
<updated>2018-02-23T02:50:54.253Z</updated>
<content type="html"><![CDATA[<p>个人博客地址:<a href="http://www.wlbug.com" target="_blank" rel="noopener">http://www.wlbug.com</a><br><strong>搭建流程:</strong></p><p>搭建 Node.js 环境<br>搭建 Git 环境<br>GitHub 注册和配置<br>安装配置 Hexo<br>关联 Hexo 与 GitHub Pages<br>GitHub Pages 地址解析到个人域名<br>Hexo 的常用操作</p><blockquote><p>搭建 Node.js 环境</p></blockquote><p>为什么要搭建 Node.js 环境? - 因为 Hexo 博客系统是基于 Node.js 编写的</p><p>Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以在非浏览器环境下,解释运行 JS 代码。</p><p>在 Node.js 官网:<a href="https://nodejs.org/en/" target="_blank" rel="noopener">https://nodejs.org/en/</a> 下载安装包</p><p>保持默认设置即可,一路Next,安装很快就结束了。</p><p>然后打开命令提示符,输入 node -v、npm -v,出现版本号则说明 Node.js 环境配置成功,第一步完成!!!</p><blockquote><p>搭建 Git 环境</p></blockquote><p>为什么要搭建 Git 环境? - 因为需要把本地的网页和文章等提交到 GitHub 上。</p><p>Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。</p><p>在 Git 官网:<a href="https://git-scm.com/" target="_blank" rel="noopener">https://git-scm.com/</a> 下载安装包</p><p>桌面右键,打开 Git Bush Here,输入 git –version,出现版本号则说明 Git 环境配置成功,第二步完成!!!</p><blockquote><p>GitHub 注册和配置</p></blockquote><p>GitHub 是一个代码托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。</p><p>Github注册:<a href="https://github.com/" target="_blank" rel="noopener">https://github.com/</a></p><p>创建仓库:Repository name 使用自己的用户名,仓库名规则:</p><p>注意:yourname 必须是你的用户名。</p><p>1<br>yourname/yourname.github.io</p><p>访问 yourname.github.io,如果可以正常访问,那么 Github 的配置已经结束了。</p><p>到此搭建 Hexo 博客的相关环境配置已经完成,下面开始讲解 Hexo 的相关操作</p><blockquote><p>安装配置 Hexo</p></blockquote><p>Hexo 是一个快速、简洁且高效的博客框架,使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。</p><p>强烈建议你花20分钟区读一读 Hexo 的官方文档:<a href="https://hexo.io/zh-cn/" target="_blank" rel="noopener">https://hexo.io/zh-cn/</a></p><p>使用 npm 安装 Hexo:在命令行中输入</p><p>1<br>npm install hexo-cli -g<br>然后你将会看到下图,可能你会看到一个WARN,但是不用担心,这不会影响你的正常使用。</p><p>查看Hexo的版本</p><p>1<br>hexo version</p><p>安装 Hexo 完成后,请执行下列命令来初始化 Hexo,用户名改成你的,Hexo 将会在指定文件夹中新建所需要的文件。</p><p>1<br>2<br>3<br>4<br>5<br>hexo init bxm0927.github.io<br>cd bxm0927.github.io<br>npm install<br>新建完成后,指定文件夹的目录如下:</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>.<br>├── .deploy #需要部署的文件<br>├── node_modules #Hexo插件<br>├── public #生成的静态网页文件<br>├── scaffolds #模板<br>├── source #博客正文和其他源文件,404、favicon、CNAME 都应该放在这里<br>| ├── _drafts #草稿<br>| └── _posts #文章<br>├── themes #主题<br>├── _config.yml #全局配置文件<br>└── package.json #npm 依赖等<br>运行本地 Hexo 服务</p><p>1<br>2<br>3<br>hexo server<br>或者<br>hexo s<br>您的网站会在 <a href="http://localhost:4000" target="_blank" rel="noopener">http://localhost:4000</a> 下启动。如果 <a href="http://localhost:4000" target="_blank" rel="noopener">http://localhost:4000</a> 能够正常访问,则说明 Hexo 本地博客已经搭建起来了,只是本地哦,别人看不到的。下面,我们要部署到Github。</p><p>注意1:执行hexo server提示找不到该指令</p><p>解决办法:在Hexo 3.0 后server被单独出来了,需要安装server,安装的命令如下:</p><p>1<br>2<br>3<br>sudo npm install hexo-server<br>或者<br>npm install hexo -server –save<br>关联 Hexo 与 GitHub Pages<br>我们如何让本地git项目与远程的github建立联系呢?用 SSH keys</p><p>生成SSH keys</p><p>输入你自己的邮箱地址</p><p>1<br>ssh-keygen -t rsa -C “[email protected]”<br>在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入,我们按回车不设置密码。</p><p>添加 SSH Key 到 GitHub</p><p>打开 C:\Users\bxm09.ssh\id_rsa.pub,此文件里面内容为刚才生成的密钥,准确的复制这个文件的内容,粘贴到 <a href="https://github.com/settings/ssh" target="_blank" rel="noopener">https://github.com/settings/ssh</a> 的 new SSH key 中</p><p>测试</p><p>可以输入下面的命令,看看设置是否成功,[email protected]的部分不要修改:</p><p>1<br>ssh -T [email protected]<br>如果是下面的反馈:</p><p>The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.<br>RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.<br>Are you sure you want to continue connecting (yes/no)?</p><p>不要紧张,输入yes就好,然后会看到:</p><p>1<br>Hi aierui! You’ve successfully authenticated, but GitHub does not provide shell access.<br>配置Git个人信息</p><p>现在你已经可以通过 SSH 链接到 GitHub 了,还有一些个人信息需要完善的。<br>Git 会根据用户的名字和邮箱来记录提交。GitHub 也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的。</p><p>1<br>2<br>git config –global user.name “bxm0927”<br>git config –global user.email “[email protected]”<br>配置 Deployment</p><p>在_config.yml文件中,找到Deployment,然后按照如下修改,用户名改成你的:</p><p>需要注意的是:冒号后面记得空一格!</p><p>1<br>2<br>3<br>4<br>5<br>6</p><h1 id="Deployment"><a href="#Deployment" class="headerlink" title="Deployment"></a>Deployment</h1><h2 id="Docs-https-hexo-io-docs-deployment-html"><a href="#Docs-https-hexo-io-docs-deployment-html" class="headerlink" title="Docs: https://hexo.io/docs/deployment.html"></a>Docs: <a href="https://hexo.io/docs/deployment.html" target="_blank" rel="noopener">https://hexo.io/docs/deployment.html</a></h2><p>deploy:<br> type: git<br> repo: [email protected]:bxm0927/bxm0927.github.io.git<br> branch: master<br>本地文件提交到 GitHub Pages</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>// 删除旧的 public 文件<br>hexo clean<br>// 生成新的 public 文件<br>hexo generate<br>或者<br>hexo g<br>// 开始部署<br>hexo deploye<br>或者<br>hexo d<br>在浏览器中输入 <a href="https://bxm0927.github.io" target="_blank" rel="noopener">https://bxm0927.github.io</a> (用户名改成你的)看到了 Hexo 与 GitHub Pages 已经成功关联了,哇哇哇哇哇哇,开心死你了,不要忘了回来给我点赞哟 ~</p><p>注意1:若上面操作失败,则需要提前安装一个扩展:</p><p>1<br>npm install hexo-deployer-git –save<br>注意2:如果在执行 hexo d 后,出现 error deployer not found:github 的错误(如下),则是因为没有设置好 public key 所致,重新详细设置即可。</p><p>Permission denied (publickey).<br>fatal: Could not read from remote repository.<br>Please make sure you have the correct access rights<br>and the repository exists.</p><p>注意3:怎么避免 .md 文件被解析?</p><p>Hexo原理就是hexo在执行hexo generate时会在本地先把博客生成的一套静态站点放到public文件夹中,在执行hexo deploy时将其复制到.deploy文件夹中。Github的版本库通常建议同时附上README.md说明文件,但是hexo默认情况下会把所有md文件解析成html文件,所以即使你在线生成了 README. md,它也会在你下一次部署时被删去。怎么解决呢?</p><p>在执行hexo deploy前把在本地写好的README.md文件复制到.deploy文件夹中,再去执行hexo deploy。</p><p>GitHub Pages 地址解析到个人域名<br>Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服 务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默 认提供的域名 github.io 或者自定义域名来发布站点。</p><p>看着博客的域名是二级域名,总有一种寄人篱下的感觉,为了让这个小窝看起来更加正式,我在阿里云上买了一个域名,打算将博客绑定自己的域名。</p><p>进行该绑定过程,其实就是一个重定向的过程。</p><p>在 GitHub 仓库的根目录下建立一个 CNAME 的文本文件(注意:没有扩展名),文件里面只能输入一个你的域名,不能加http://</p><p>1<br>www.wlbug.com<br>注意:CNAME 一定是在你 Github 项目的 master 根目录下</p><p>进入阿里云域名解析地址,添加解析:</p><p>记录类型选择CNAME<br>主机记录填www<br>解析线路选择默认<br>记录值填yourname.github.io<br>TTL值为10分钟<br>再添加一个解析,记录类型A<br>主机记录填www<br>解析线路选择默认<br>记录值填你GitHub 的ip地址(在cmd中ping:)<br>1<br>ping bxm0927.github.com</p><p>点击保存,等 1 分钟,访问下你自己的域名,一切就ok了。</p><p>域名绑定成功,域名解析成功,因此你在浏览中输入 www.wlbug.com,或 wlbug.com 就可以访问到博客了,输入 bxm0927.github.io 会重定向到 www.wlbug.com。过程:www 的方式,会先解析成 <a href="http://xxxx.github.io,然后根据" target="_blank" rel="noopener">http://xxxx.github.io,然后根据</a> CNAME 再变成 www</p><p>注意:CNAME文件在下次 hexo deploy的时候就消失了,需要重新创建,这样就很繁琐</p><p>方法一:每次 hexo d 之后,就去 GitHub 仓库根目录新建 CNAME文件</p><p>方法二:在 hexo g 之后, hexo d 之前,把CNAME文件复制到 “\public\” 目录下面,里面写入你要绑定的域名。</p><p>方法三(推荐):将需要上传至github的内容放在source文件夹,例如CNAME、favicon.ico、images等,这样在 hexo d 之后就不会被删除了。</p><p>方法四:通过安装插件实现永久保留</p><p>1<br>$ npm install hexo-generator-cname –save<br>之后在_config.yml中添加一条</p><p>1<br>2<br>plugins:</p><ul><li>hexo-generator-cname<br>需要注意的是:如果是在github上建立的CNAME文件,需要先clone到本地,然后安装插件,在deploy上去即可。CNAME只允许一个域名地址。</li></ul><p>注意1:每次生成的 CNAME 都是 yoursite.com 怎么解决?</p><p>修改 _config.yml</p><p>1<br>2<br>3<br>4<br>url: <a href="http://www.wlbug.com" target="_blank" rel="noopener">http://www.wlbug.com</a><br>root: /<br>permalink: :year/:month/:day/:title/<br>permalink_defaults:<br>Hexo 的常用操作<br>发表一篇文章<br>1<br>2<br>3<br>4<br>hexo new “文章标题”<br>D:\GitHub\Hexo\test>hexo new “文章标题”<br>INFO Created: D:\GitHub\Hexo\test\source_posts\文章标题.md<br>在本地博客文件夹 source_posts 文件夹下看到我们新建的 markdown 文件。</p><p>当然,我们也可以手动添加Markdown文件在source->_deploy文件夹下,其效果同样可以媲美hexo new</p><p>文章编辑好之后,运行生成、部署命令:</p><p>1<br>2<br>3<br>4<br>5<br>hexo clean<br>hexo g<br>hexo d<br>当然你也可以执行下面的命令,相当于上面两条命令的效果</p><p>1<br>2<br>3<br>hexo clean<br>hexo d -g<br>新建一个自定义页面<br>1<br>hexo new page folder</p><p>###文章如何添加多个标签</p><p>有两种多标签格式</p><p>1<br>2<br>3<br>4<br>5<br>6<br>tags: [a, b, c]<br>或<br>tags:</p><ul><li>a</li><li>b</li><li>c<br>显示部分文章内容<br>如果在博客文章列表中,不想全文显示,可以增加 <a id="more"></a>, 后面的内容就不会显示在列表。</li></ul><p>1<br><!--more--><br>更改主题<br>官方主题库:<a href="https://hexo.io/themes/" target="_blank" rel="noopener">https://hexo.io/themes/</a></p><p>Hexo主题非常,推荐使用 Next 为主题,请阅读 Next 的官方文档( <a href="http://theme-next.iissnan.com/" target="_blank" rel="noopener">http://theme-next.iissnan.com/</a> ),5 分钟快速安装。</p><p>再提示一点,大家可以hexo主题修改一步就hexo s看下变化,初次接触对参数不清楚。只有hexo s后在可以在本地浏览到效果,Ctrl+C 停止服务器。</p><p>添加插件<br>添加 sitemap 和 feed 插件</p><p>切换到你本地的 hexo 目 CIA ,在命令行窗口,输入以下命令</p><p>1<br>2<br>npm install hexo-generator-feed -save<br>npm install hexo-generator-sitemap -save<br>修改 _config.yml,增加以下内容</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12</p><h1 id="Extensions"><a href="#Extensions" class="headerlink" title="Extensions"></a>Extensions</h1><p>Plugins:</p><ul><li>hexo-generator-feed</li><li>hexo-generator-sitemap<br>#Feed Atom<br>feed:<br>type: atom<br>path: atom.xml<br>limit: 20<br>#sitemap<br>sitemap:<br>path: sitemap.xml<br>再执行以下命令,部署服务端</li></ul><p>1<br>hexo d -g<br>配完之后,就可以访问 <a href="https://bxm0927.github.io/atom.xml" target="_blank" rel="noopener">https://bxm0927.github.io/atom.xml</a> 和 <a href="https://bxm0927.github.io/sitemap.xml" target="_blank" rel="noopener">https://bxm0927.github.io/sitemap.xml</a> ,发现这两个文件已经成功生成了。</p><p>添加 404 页面<br>GitHub Pages 自定义404页面非常容易,直接在根目录下创建自己的404.html就可以。但是自定义404页面仅对绑定顶级域名的项目才起作用,GitHub默认分配的二级域名是不起作用的,使用hexo server在本机调试也是不起作用的。</p><p>其实,404页面可以做更多有意义的事,来做个404公益项目吧。</p><p>推荐使用腾讯公益404 <a href="http://www.qq.com/404/" target="_blank" rel="noopener">http://www.qq.com/404/</a> :</p><p>1<br>2<br>3<br>4<br>5<br>6</p><p><script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8" homepageurl="http://www.wlbug.com/" homepagename="回到我的主页"><br></script><br>复制上面代码,贴粘到目录下新建的404.html即可!</p><p>多PC同步管理博客<br>很多人可能家里一台笔记本,公司一个台式机,想两个同时管理博客,同时达到备份的博客主题、文章、配置的目的。下面就介绍一下用github来备份博客并同步博客。</p><p>A电脑备份博客内容到github<br>配置.gitignore文件。进入博客目录文件夹下,找到此文件,用sublime text 打开,在最后增加两行内容/.deploy_git和/public</p><p>初始化仓库。<br>在博客根目录下,在git bash下依次执行git init和git remote add origin 为远程仓库地址。</p><p>同步到远程仓库。<br>gitbash下依次执行以下命令</p><p>1<br>2<br>3<br>4<br>5<br>git add . #添加目录下所有文件<br>git commit -m “更新说明” #提交并添加更新说明<br>git push -u origin master #推送更新到远程仓库<br>B电脑拉下远程仓库文件<br>在B电脑上同样先安装好node、git、ssh、hexo,然后建好hexo文件夹,安装好插件,(然后选做:将备份到远程仓库的文件及文件夹删除),然后执行以下命令:</p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>git init<br>git remote add origin <server><br>git fetch –all<br>git reset –hard origin/master<br>发布博客后同步<br>在B电脑发布完博客之后,记得将博客备份同步到远程仓库<br>执行以下命令:</server></p><p>1<br>2<br>3<br>4<br>5<br>6<br>7<br>git add .</p><p>#可以用git master 查看更改内容<br>git commit -m “更新信息”<br>git push -u origin master #以后每次提交可以直接git push<br>平时同步管理<br>每次想写博客时,先执行:git pull进行同步更新。发布完文章后同样按照上面的 发布博客后同步 同步到远程仓库。</p><p>中文乱码<br>在 md 文件中写中文内容,发布出来后为乱码,原因是 md 的编码不对,将 md 文件另存为UTF-8编码的文件即可解决问题。</p><p>结束语<br>建站的系统有很多,如:</p><p>Hexo + GitHub Pages<br>Jekyll + GitHub Pages<br>WordPress + 服务器 + 域名<br>DeDeCMS + 服务器 + 域名<br>…<br>使用 Hexo + GitHub Pages 建站,有优点也有缺点:</p><p>GitHub Pages 不支持数据库管理,所以你只能做静态页面的博客,不能像其他博客(如 WordPress)那样通过数据库管理自己的博客内容。<br>但是,GitHub Pages 无需购置服务器,免服务器费的同时还能做负载均衡,github pages有300M免费空间。<br>个人博客真的有必要用数据库吗?答案是否定的。博客静态化,评论记录使用第三方的 网易云跟帖就可以了。静态的博客更有利于搜索引擎蜘蛛爬取,轻量化的感觉真的很好。<br>通过 Hexo 你可以轻松地使用 Markdown 编写文章,非常符合我的口味。Markdown 真的是专门针对程序员开发的语言啊,现在感觉没有 Markdown什么都不想写。什么富文本编辑器,什么word,太麻烦了!而且样式都好丑!效率太低!<br>推荐几个很好用的在线 Markdown 编辑器:</p><p>作业部落:<a href="https://www.zybuluo.com/mdeditor" target="_blank" rel="noopener">https://www.zybuluo.com/mdeditor</a><br>马克飞象:<a href="https://maxiang.io" target="_blank" rel="noopener">https://maxiang.io</a><br>推荐图床:</p><p>极简图床 + chrome 插件 + 七牛空间,七牛云储存提供10G的免费空间,以及每月10G的流量,存放个人博客外链图片最好不过了,七牛云储存还有各种图形处理功能、缩略图、视频存放速度也给力。</p>]]></content>
<summary type="html">
这是对文中的描述,会显示在主页上
</summary>
<category term="博客" scheme="http://yoursite.com/tags/%E5%8D%9A%E5%AE%A2/"/>
<category term="github" scheme="http://yoursite.com/tags/github/"/>
</entry>
</feed>