hexo和zblog的简单介绍
- ZBLOG
- 2022-12-19 14:42:53
- 12
本篇文章给大家谈谈hexo和zblog,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
hexo管理文章
使用如下命令你可以新建一篇文章
当然你也可以直接在 blog\source\_posts 目录下直接新建一个yourtitle.md文件,这样就算是新建了一篇文章,但是这样创建的文章需要在最上方添加如下说明:
hexo似乎没有专门的命令来删除一篇文章吧,删除的手法也很简单,就是在 blog\source\_posts 目录下直接删除指定文章,刷新一下你的网站就可以看到变化了。
文章的修改应该是很频繁的吧,其实就是打开你想修改的文件,直接在里面修改保存,但是这样似乎见不到效果,很多时候你刷新一下页面只能见到如下情况:
如果真的遇到了,最粗暴的方法就是在git上使用上按住键盘Ctrl+C关闭服务器,之后再使用 hexo s 开启服务器,就可以看到变化了。
如何将csdn的博客文章搬到hexo
配置环境
安装Node(必须)
作用:用来生成静态页面的
到Node.js官网下载相应平台的最新版本,一路安装即可。
安装Git(必须)
作用:把本地的hexo内容提交到github上去.
安装Xcode就自带有Git,我就不多说了。
申请GitHub(必须)
作用:是用来做博客的远程创库、域名、服务器之类的,怎么与本地hexo建立连接等下讲。
github账号我也不再啰嗦了,没有的话直接申请就行了,跟一般的注册账号差不多,SSH Keys,看你自己了,可以不配制,不配置的话以后每次对自己的博客有改动提交的时候就要手动输入账号密码,配置了就不需要了,怎么配置我就不多说了,网上有很多教程。
正式安装Hexo
Node和Git都安装好后,首先创建一个文件夹,如blog,用户存放hexo的配置文件,然后进入blog里安装Hexo。
执行如下命令安装Hexo:
sudo npm install-g hexo
初始化然后,执行init命令初始化hexo,命令:
hexo init
好啦,至此,全部安装工作已经完成!blog就是你的博客根目录,所有的操作都在里面进行。
生成静态页面
hexo generate(hexo g也可以)
本地启动
启动本地服务,进行文章预览调试,命令:
hexo server
浏览器输入
我不知道你们能不能,反正我不能,因为我还有环境没配置好
配置Github
建立Repository
建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io】,固定写法
然后建立关联,我的blog在本地/Users/leopard/blog,blog是我之前建的东西也全在这里面,有:
_config.yml node_modules public source
db.json package.json scaffolds themes
现在我们需要_config.yml文件,来建立关联,命令:
vim _config.yml
翻到最下面,改成我这样子的
deploy:
type: git
repo:
branch:master
然后执行命令:
npm install hexo-deployer-git--save
网上会有很多说法,有的type是github, 还有repository最后面的后缀也不一样,是github.com.git,我也踩了很多坑,我现在的版本是hexo: 3.1.1,执行命令hexo -vsersion就出来了,貌似3.0后全部改成我上面这种格式了。
忘了说了,我没用SSH Keys如果你用了SSH Keys的话直接在github里复制SSH的就行了,总共就两种协议,相信你懂的。
然后,执行配置命令:
hexo deploy
然后再浏览器中输入就行了,我的github的账户叫leopardpan,把这个改成你github的账户名就行了
部署步骤
每次部署的步骤,可按以下三步来进行。
hexo clean
hexo generate
hexo deploy
一些常用命令:
hexo new"postName" #新建文章
hexo new page"pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help # 查看帮助
hexo version #查看Hexo的版本
报错总结
ERROR Deployer not found: git 或者 ERROR Deployer not found: github
解决方法: npm install hexo-deployer-git --save
如发生报错: ERROR Process failed: layout/.DS_Store , 那么进入主题里面layout和_partial目录下,使用删除命令:
rm-rf.DS_Store
ERROR Plugin load failed: hexo-server
原因:
Besides,utilities are separated into a standalone module.hexo.util is not reachable anymore.
解决方法,执行命令:
sudo npm install hexo-server
执行命令hexo server,提示:Usage: hexo ....
原因:
我认为是没有生成本地服务
解决方法,执行命令:
npm install hexo-server--save
提示:hexo-server@0.1.2 node_modules/hexo-server
如何用github-hexo搭建一个静态博客
Hexo搭建Github静态博客
1. 环境环境
1.1 安装Git
请参考【1】
1.2 安装node.js
下载:
可以下载 node-v0.10.33-x64.msi
安装时直接保持默认配置即可。
2. 配置Github
1.1 建立Repository
建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io】
1.2 配置SSH-Key
参考【1】
3. 安装Hexo
关于Hexo的安装配置过程,请以官方Hexo【2】给出的步骤为准。
3.1 Installation
打开Git命令行,执行如下命令
$ npm install -g hexo
3.2 Quick Start
1. Setup your blog
在电脑中建立一个名字叫「Hexo」的文件夹(比如我建在了D:\Hexo),然后在此文件夹中右键打开Git Bash。执行下面的命令
$ hexo init
[info] Copying data
[info] You are almost done! Don't forget to run `npm install` before you start b
logging with Hexo!
Hexo随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,运行 npm install(在 /D/Hexo下)
npm install
会在D:\Hexo目录中安装 node_modules。
2. Start the server
运行下面的命令(在 /D/Hexo下)
$ hexo server
[info] Hexo is running at . Press Ctrl+C to stop.
表明Hexo Server已经启动了,在浏览器中打开 ,这时可以看到Hexo已为你生成了一篇blog。
你可以按Ctrl+C 停止Server。
3. Create a new post
新打开一个git bash命令行窗口,cd到/D/Hexo下,执行下面的命令
$ hexo new "My New Post"
[info] File created at d:\Hexo\source\_posts\My-New-Post.md
刷新,可以发现已生成了一篇新文章 "My New Post"。
NOTE:
有一个问题,发现 "My New Post" 被发了2遍,在Hexo server所在的git bash窗口也能看到create了2次。
$ hexo server
[info] Hexo is running at . Press Ctrl+C to stop.
[create] d:\Hexo\source\_posts\My-New-Post.md
[create] d:\Hexo\source\_posts\My-New-Post.md
经验证,在hexo new "My New Post" 时,如果按Ctrl+C将hexo server停掉,就不会出现发2次的问题了。
所以,在hexo new文章时,需要stop server。
4. Generate static files
执行下面的命令,将markdown文件生成静态网页。
$ hexo generate
该命令执行完后,会在 D:\Hexo\public\ 目录下生成一系列html,css等文件。
5. 编辑文章
hexo new "My New Post"会在D:\Hexo\source\_posts目录下生成一个markdown文件:My-New-Post.md
可以使用一个支持markdown语法的编辑器(比如 Sublime Text 2)来编辑该文件。
6. 部署到Github
部署到Github前需要配置_config.yml文件,首先找到下面的内容
# Deployment
## Docs:
deploy:
type:
然后将它们修改为
# Deployment
## Docs:
deploy:
type: github
repository: git@github.com:zhchnchn/zhchnchn.github.io.git
branch: master
NOTE1:
Repository:必须是SSH形式的url(git@github.com:zhchnchn/zhchnchn.github.io.git),而不能是HTTPS形式的url(),否则会出现错误:
$ hexo deploy
[info] Start deploying: github
[error] is not a valid repositor URL!
使用SSH url,如果电脑没有开放SSH 端口,会致部署失败。
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
NOTE2:
如果你是为一个项目制作网站,那么需要把branch设置为gh-pages。
7. 测试
当部署完成后,在浏览器中打开() ,正常显示网页,表明部署成功。
8. 总结:部署步骤
每次部署的步骤,可按以下三步来进行。
hexo clean
hexo generate
hexo deploy
9. 总结:本地调试
1. 在执行下面的命令后,
$ hexo g #生成
$ hexo s #启动本地服务,进行文章预览调试
浏览器输入,查看搭建效果。此后的每次变更_config.yml 文件或者新建文件都可以先用此命令调试,尤其是当你想调试新添加的主题时。
2. 可以用简化的一条命令
hexo s -g
3.3 命令总结
3.3.1 常用命令
复制代码
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help # 查看帮助
hexo version #查看Hexo的版本
复制代码
3.3.2 复合命令
hexo deploy -g #生成加部署
hexo server -g #生成加预览
命令的简写为:
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
4 配置Hexo
4.1 配置文件介绍
下面的各个部分的介绍,请直接参考【3】。
1. 默认目录结构介绍
2. _config.yml配置文件介绍
NOTE:在修改_config.yml配置文件时,按照【3】的介绍进行修改后,重新 hexo clean 或者hexo deploy时,可能会出现如下错误:
复制代码
$ hexo clean
[error] { name: 'HexoError',
reason: 'can not read a block mapping entry; a multiline key may not be an imp
licit key',
mark:
{ name: null,
buffer: '# Hexo Configuration\n## Docs:
tml\n## Source: \n\n# Site\ntitle: Zhchnchn\nsubt
itle: Coding on the way\ndescription: Zhchnchn\'s blog\nauthor: Zhchnchn\nemail:
115063497@qq.com\nlanguage:zh-CN\n\n# URL\n## If your site is put in a subdirect
......
,
position: 249,
line: 12,
column: 0 },
message: 'Config file load failed',
domain:
{ domain: null,
_events: { error: [Function] },
_maxListeners: 10,
members: [ [Object] ] },
domainThrown: true,
stack: undefined }
复制代码
我的_config.yml配置文件是一个空行,所以错误肯定在前面,经过对比发现,我前面修改了一下 # Site的各项设置,在冒号:后面没留空格导致了该问题,请对比一下下面的区别:
错误的设置:
author:Zhchnchn
email:XXX@qq.com
language:zh-CN
正确的设置:
author: Zhchnchn
email: XXX@qq.com
language: zh-CN
3. 各个主题下的目录介绍(hexo\themes\下的modernist主题为例)
4.2 安装主题
Hexo提供了很多主题,具体可参见Hexo Themes【4】。这里我选择使用Pacman主题。具体设置方法如下【5】
4.2.1 安装
1. 将Git Shell 切到/D/Hexo目录下,然后执行下面的命令,将pacman下载到 themes/pacman 目录下。
$ git clone themes/pacman
2. 修改你的博客根目录/D/Hexo下的config.yml配置文件中的theme属性,将其设置为pacman。
3. 更新pacman主题
cd themes/pacman
git pull
NOTE:先备份_config.yml 文件后再升级
4.2.2 配置
如果pacman的默认设置不能满足需要的话,你可以修改 /themes/pacman/下的配置文件_config.yml来定制。
各个config的含义,请参考【5】中的介绍。
4.2.3 评论框
静态博客要使用第三方评论系统,pacman配置了多说评论系统(/themes/pacman/_config.yml),默认关闭,只要将其打开即可:false-true。直接用你的微博/豆瓣/人人/百度/开心网帐号登录多说,即可发表平评论。
#### Comment
duoshuo:
enable: true ## duoshuo.com
short_name: ## duoshuo short name.
4.2.3 统计
1. pacman配置了google analysis系统(/themes/pacman/_config.yml),默认关闭,将其打开。
2. 需要注册google analysis服务,以获得 跟踪 ID。
如果已有google账户的话,可以直接注册。注册时,需要正确填写 网站的URL。注册成功后,会得到一个跟踪ID,以及一段跟踪代码。
3. pacman配置了google analysis系统,将其打开
#### Analytics
google_analytics:
enable: true
id: UA-57032437-1 ## e.g. UA-1766729-8 your google analytics ID.
site: auto ## e.g. yangjian.me your google analytics site or set the value as auto.
4. 在themes\pacman\layout\_partial\google_analytics.ejs 中,已经将google的跟踪代码添加进来了【3】。
复制代码
% if (theme.google_analytics.enable){ %
script type="text/javascript"
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//','ga');
ga('create', '%= theme.google_analytics.id %', '%= theme.google_analytics.site %');
ga('send', 'pageview');
/script
% } %
复制代码
而且会将/themes/pacman/_config.yml中的id和site值读取进来。
5. 如果设置不起作用,请试试在\themes\pacman\layout\_partial\head.ejs文件中最后,/head之前,添加上下面的语句试试。
%- partial('google_analytics') %
4.3 Custom 404页面
1. 网上大多数教程都将其说的极其简单:“直接在根目录下创建自己的 404.html 就可以”。但我却在这儿废了不少时间,究其原因是大家觉得太简单而说的不够明白。“根目录下”指的不是Hexo目录下,而是Hexo/source目录下。
2. 404.html的内容可以设置为下面的内容【6】(NOTE: _config.yml中的permalink_defaults属性不需要修改)。
复制代码
---
layout: default
---
html
head
meta charset="UTF-8" /
title404/title
/head
body
script type="text/javascript" src="" charset="utf-8"/script
/body
/html
复制代码
也可以简化为这一行:
script type="text/javascript" src="" charset="utf-8"/script
4.4 安装插件
4.4.1 sitemap插件
1. 可以将你站点地图提交给搜索引擎,文件路径\sitemap.xml。
2. 安装
$ npm install hexo-generator-sitemap
3. 启用,修改Hexo\_config.yml,增加以下内容
复制代码
# Extensions
Plugins:
- hexo-generator-sitemap
#sitemap
sitemap:
path: sitemap.xml
复制代码
4. 使用方法
(1)访问 ,即可看到站点地图。
(2)那么怎么将它显示在页面中呢【7】?
可以修改themes/pacman(也就是你正在使用的那个theme)下的 _config.yml,在 menu 节点下添加下面的内容(下面要介绍的RSS插件也同样)
menu:
Home: /
Archives: /archives
Rss: /atom.xml
Sitemap: /sitemap.xml
修改后的效果如图所示:
5. 如何向google提交sitemap
Sitemap 可方便管理员通知搜索引擎他们网站上有哪些可供抓取的网页。向google提交自己hexo博客的sitemap,有助于让别人更好地通过google搜索到自己的博客。
如何向google提交sitemap,请参考【8】。
6. 升级插件
$ npm update
7. 卸载插件
$ npm uninstall hexo-generator-sitemap
4.4.2 feed插件
1. RSS的生成插件,你可以在配置显示你站点的RSS,文件路径\atom.xml。
2. 安装
$ npm install hexo-generator-feed
3. 启用,修改Hexo\_config.yml,增加以下内容
复制代码
# Extensions
Plugins:
- hexo-generator-feed
- hexo-generator-sitemap
#Feed Atom
feed:
type: atom
path: atom.xml
limit: 20
复制代码
4.使用方法
参见sitemap插件介绍
5. 优化Hexo
5.1 添加“Fork me on Github” ribbon
给blog主页添加一个“Fork me on Github”的绶带(ribbon)【9】,比如选择了红色的ribbon,将相应代码复制到Hexo正在使用的theme下layout.ejs中。比如我使用的pacman theme,那么将下面的代码(注意将you改为你自己的github上的注册名)
a href=""img style="position: absolute; top: 0; left: 0; border: 0;" src="" alt="Fork me on GitHub" data-canonical-src=""/a
粘贴到 themes\pacman\layout\layout.ejs中,放置在 最后,标签/body之前即可。
6 其他
6.1 中文乱码
在md 文件中写中文内容,发布出来后为乱码,原因是md的编码不对,将md文件另存为“UTF-8”编码的文件即可解决问题。
References
【1】Windows下Git安装指南()
【2】Hexo ()
【3】hexo你的博客()
【4】Hexo All Themes()
【5】Pacman主题介绍()
【6】hexo添加404页面()
【7】如何搭建一个独立博客——简明Github Pages与Hexo教程()
【8】如何向google提交sitemap(详细)()
【9】GitHub Ribbons()
hexo和zblog的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、hexo和zblog的信息别忘了在本站进行查找喔。
本文由admin于2022-12-19发表在靑年PHP官网,如有疑问,请联系我们。
本文链接:http://www.qnphp.com/post/98833.html