Hexo搭建中的一些问题

文章目录

参考资料:
hexo你的博客
使用Hexo搭建博客
关于 Hexo 的若干问题
快速开始Hexo的正确姿势
把Hexo同时部署到GitHub和GitCafe

一直想自己搭个blog玩玩,主要是在别人平台总是感觉有所束缚不管写什么东西都要审核半天,同时也想自己学习下一些网页知识。但行动一直没有。在今年5月份的时候终于有了行动,租了个digitalocean的ubuntu的vps想自己在上面搭个vpn自己用然后也能跑个wordpress的博客。开始还用得很舒服,但是之后就是每天崩溃也不知道是自己搭的问题还是vps的问题最后人也崩溃了就果断放弃了。。。。。。
然后之后看了github也能搭blog,而且看了效果也不错。就果断试试效果果然不错哈哈,而且搭建也简单再也不用什么apache,mysql什么的了。而且免费还能自己绑定域名。
搭建方法就是参考资料中的,先看1然后一步步跟着来然后搭好了再看2 3 很详细。但是中间也遇到过一些问题所以这里也总结一下。

##a.整个blog系统的架构
由于web不是很懂,这里就只是我的理解。本地端就是自己电脑上需要的主要是mygit+node.js+hexo(主要作用主要是将本地的网页组合成静态的网页就不需要什么服务器解析了只需要访问的浏览器解析),然后服务端需要一个gitbub pages项目(这边主要作用就是一个云存储器)。然后分享和统计用的百度、评论用的多说

##b.本地端hexo目录
.
├── .deploy
├── public
├── scaffolds
├── scripts
|——–node_modules
├── source
| ├── _drafts
| └── _posts
├── themes
├── _config.yml
└── package.json
.deploy:执行hexo deploy命令部署到GitHub上的内容目录和public目录下文件差不多,最终的显示效果由这个目录下文件决定
public:执行hexo generate命令,输出的静态网页内容目录,即由hexo各个小部件主题模版然后生成的静态网页

  • scaffolds:layout模板文件目录,其中的md文件可以添加编辑,就是你使用hexo n命令生成的md文件的模版。
    scripts:扩展脚本目录,这里可以自定义一些javascript脚本
    node_modules:使用npm install –save安装的插件目录
    source:文章源码目录,该目录下的markdown和html文件均会被hexo处理。该页面对应repo的根目录,404文件、favicon.ico文件,CNAME文件等都应该放这里,该目录下可新建页面目录。这个目录相当重要就是你blog首先生成的位置。你写的blog网页这些都应该先放到这个目录下然后由这个目录下的文件生成hexo g的源目录就是这个
    _drafts:草稿文章
    _posts:发布文章
    themes:主题文件目录
    _config.yml:全局配置文件,大多数的设置都在这里
    package.json:应用程序数据,指明hexo的版本等信息,类似于一般软件中的关于按钮

##c.在后期模块配置可能会遇到的问题
npm install –save 安装插件后,也按照网上的教程配置了但插件没有被最终显示出来。比如hexo-generator-feed应该生成的Rss auto.xml未生成。这里主要还是网上的教程和现在的不一样导致的其实在安装后的插件目录下有应该怎样配置的信息README.md按照这里面说的配置就没错了。比如rss就该这样
feed:
type: atom
path: atom.xml
limit: 20

##d.常用命令

  • npm install -g hexo 安装
  • hexo help #查看帮助
  • hexo init #初始化一个目录
  • hexo new “postName” #新建文章
  • hexo new page “pageName” #新建页面
  • hexo generate #生成网页,可以在 public 目录查看整个网站的文件
  • hexo server #本地预览,’Ctrl+C’关闭
  • hexo deploy #部署.deploy目录
  • hexo clean #清除缓存,强烈建议每次执行命令前先清理缓存,每次部署前先删除 .deploy 文件夹
  • hexo deploy -g = hexo d -g
  • hexo server -g = hexo s -g
    简写:
  • hexo n == hexo new
  • hexo g == hexo generate
  • hexo s == hexo server
  • hexo d == hexo deploy
    安装插件,为插件名
  • npm install –save
  • npm update #升级
  • npm uninstall #卸载
    安装主题
  • git clone themes/
    主题列表:hexo themes
    写文章
    $ hexo new [layout] #建立新文章,默认在_posts下,layout=”draft”时发布的是草稿<br>$ hexo publish <filename> #将_drafts下的文件放到_posts下,也就是发布草稿</filename>

##e.不同电脑使用hexo写blog
由于hexo是生成静态blog的工具,所以只要在不同的电脑上安装了git+node.js+hexo,然后将不同的blog目录拷贝到不同的电脑就可以了。这里我使用的是onedriver同步到不同的电脑

##f.不想文章马上同步到服务器上
hexo n draft “文件名” 这样就创建了一个草稿页面

##g.不想文章链接中含有中文

  • 直接把生成的md文件名改成英文的或则不含有中文的就可以了。。。。。。。。。。至少我现在只知道这个方法
  • 不想hexo文章链接是时间格式的只需要把_config.yml文件中的permalink项改了就好,我的是permalink: :category/:title/
    另一种方式:
    1
    2
    3
    4
    5
    6
    7
    ---
    title: Hexo搭建中的一些问题 //标题
    date: 2014-12-24 // 日期
    categories: 代码笔记 //文章分类
    tags: Hexo //文章tags
    permalink: 7 //文章的url别名
    ---

##h.新建页面
hexo new page “about”
然后你会发现source里面多了个目录about,里面有个index.md。其实你也可以手动建立。页面的格式和文章一样。
接着把链接加上,themes/<theme_name>/_config.yml里面的menu一项,添加一行About: /about

##i.为hexo中文章生成一个目录
详细

##j.同时上传到gitcafe和github,国内用gitcafe国外github加速
把Hexo同时部署到GitHub和GitCafe


DNSPOD解析设置

注意在整个过程中可能出现更改了设置但是没反应,试试清空哈dns缓存系统和浏览器的pconfig /flushdns、chrome://net-internals/#dns i。

##j.为blog添加站内搜索

##k.出现一些意想不到的问题
有时候当你做出了一些修改后,但是hexo d -g之后出现的结果不是你想要的。基本上有两种可能性:

  • 1.修改了生成正确但部署不成功(g成功d不成功)
  • 2.修改了生成不成功部署成功(g不成功d成功)
    对于第一种情况可以查看浏览器中的页面是否和本地生成的html文件是否相同,可以等待一段时间等待github端更新成功后就可以成功了。
    第二种情况就是你操作全部正确且部署成功,但是就是得不到想要的结果。本地缓存.deploy_git也删除了,但还是不成功 这种就是hexo自身的问题直接先hexo clean再hexo d -g基本就可以成功了,类似这个问题hexo 如何删除“分类”?自己发布文章时,把分类写错了,并且deploy了,现在文章的分类已经是正确的,但发现“分类”这里写错的仍存在(如下图)。如何删除呢?

##l.从GitCafe迁徙到Coding可能出现的问题

1.从GitCafe迁移过来后最大变化是Coding的Pages服务支持Hexo不是很有好,只有使用Coding的演示代替但是Coding的免费演示不支持绑定自定义域名。

基本和GitCafe完美兼容,能达到之前的效果,之前是因为资源没加载完导致显示不正确,以为不兼容,Pages服务也支持自定义域名也支持(coding有pages服务和演示功能这两个不一样)

2.公钥部署不成功,ssh: connect to host coding.net port 22: Connection refused上传公钥之后ssh -T不成功,求解决办法
由于是弄完之后写的,后续再更新吧。。。

上一篇: Visual Studio使用备注