维护更新博客

文章更新

文章是以.md文件存储的, 该文件遵循markdown规则. 为了更好的, 更为高效的编写文章. 需更进一步的进行设置

文章中添加图片

  • 用七牛云等网络图床方式添加图片

    所谓图床,就是储存图片的服务器,支持创建图片的对外链接地址便于引用。使用时只要引入图片的绝对地址就可以,方便简单。

    图床分为免费和收费的。无论是国内还是国外的免费图床都存在隐患,毕竟小本买卖,一旦停止服务,图片自然也就变成了小红叉。收费图床稳定一些,不管从服务还是稳定性上,都更推荐收费图床。

    目前大家推荐比较多的国内图床:

    • 七牛云储存
      新注册用户可免费使用 10G 存储空间。
    • 极简图床
      其实也是依赖七牛云储存账号的。
  • 本地存储的方式添加图片(我使用的方法)

    • 开启资源文件夹功能. 在 _config.yml 文件中设置

      1
      post_asset_folder: true
    • 在根目录下执行:

      1
      npm install https://github.com/CodeFalling/hexo-asset-image --save
    • 确保在 source/_posts 下创建和 markdown 文件同名的文件夹,里面存放需要的图片,然后在 markdown 中插入图片

      1
      ! [hexo image] (hexo/image.png "悬停信息")

文章中添加下载资源

  • 在source目录下新建download文件夹,将需要上传的文件复制到该目录, 例如xx.xls.

  • 在_posts博文中,插入:

    1
    [点击下载](/download/xx.xls "悬停信息")

值得注意的是, txt/md/jpg/png等格式点击会直接在浏览器打开, 想下载的话, 需要复制链接到下载软件中下载

更新文章文件

根目录命令行输入hexo new <模板> <文章名>新建文章
其中<模板>scaffolds中,默认情况下有三个模板postdraftpage

参数 功能 路径
post 新建文章 /source/_posts/
draft 新建草稿 /source/_drafts/
page 新建页面(标签页,分类页等) /source/

更新普通文章

  • 在blog目录下执行hexo new post “post1”,会在source->_posts文件夹内生成一个.md文件。
  • 编辑该文件(遵循Markdown规则)
  • 修改起始字段
    • title 文章的标题
    • date 创建日期 (文件的创建日期 )
    • updated 修改日期 ( 文件的修改日期)
    • comments 是否开启评论 true
    • tags 标签 //建议使用分类
    • categories 分类 //建议使用分类
    • permalink url中的名字(文件名)
  • 编写正文内容(MakeDown)
  • hexo clean 删除本地静态文件(Public目录),可不执行。
  • hexo g 生成本地静态文件(Public目录)
  • hexo d 将本地静态文件推送至github

多终端更新备份博客内容

异地同步博客内容

现在电脑已经很普及了,因为一般来说我们都是公司一台电脑,家里一台电脑,那么如何将两台电脑上博客的内容同步内,即两台电脑上都可以编辑更新博客?

要解决这个问题,首先我们要清楚我们博客文件的组成:

  • node_modules
  • public
  • scaffolds
  • source
  • themes
  • _config_yml
  • db.json
  • package.json
  • .deploy_git

  以上为利用hexo生成的博客全部内容,那么当我们执行hexo d时,正真被推送到github上的又有哪些内容呢?
  我们可以看下github上的tengzhangchao.github.io项目,发现里面只有Public目录下的内容。也就是说,我们博客上呈现的内容,其实就是public下的文件内容。那么这个Pulic目录是怎么生成的呢?
  一开始hexo init的时候是没有public目录的,而当我们运行hexo g命令时,public目录被生成了,换句话说hexo g命令就是用来生成博客文件的(会根据_config.yml,source目录文件以及themes目录下文件生成)。同样当我们运行hexo clean命令时,public目录被删除了。
  好了,既然我们知道了决定博客显示内容的只有一个Public目录,而public目录又是可以动态生成的,那么其实我们只要在不同电脑上同步可以生成Public目录的文件即可。

以下文件以及目录是必须要同步的:

  • source
  • themes
  • _config.yml
  • db.json
  • package.json
  • .deploy_git

  同步的方式有很多种,可以每次更新后都备份到一个地址。我采用github去备份,也就是新建一个项目用来存放以上文件,每次更新后推送到github上,用作备份同步。
  同步完必须的文件后,怎么再其他电脑上也可以更新博客呢?
  前提假设我们现在配置了一台新电脑,里面没有安装任何有关博客的东西,那么我们开始吧:

  • 下载node.js并安装(官网下载安装),默认会安装npm。
  • 下载安装git(官网下载安装)
  • 下载安装hexo。方法:打开cmd 运行npm install -g hexo(要翻墙)
  • 新建一个文件夹,如MyBlog
  • 进入该文件夹内,右击运行git,输入:hexo init(生成hexo模板,可能要翻墙)

  我们重复了一开始搭建博客的步骤,重新生成了一个新的模板,这个模板中包含了hexo生成的一些文件。

  • git clone 我们备份的项目,生成一个文件夹,如:MyBlogData

  • 将MyBlog里面的node_modules、scaffolds文件夹复制到MyBlogData里面。

  • 做完这些,从表面上看,两台电脑上MyBlogData目录下的文件应该都是一样的了。那么我们运行hexo g以及hexo d

如果会报错,这是因为.deploy_git没有同步,在MyBlogData目录内运行npm install hexo-deployer-git –save, 那么再hexo g与hexo d试试就可以了


总结流程:当我们每次更新MyBlog内容后,先利用hexo将public推送到github,然后再将其余必须同步的文件利用git推送到github。