维护更新博客

文章更新

文章是以.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目录下执行:

    new post "post1"```,会在source->_posts文件夹内生成一个.md文件。
    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
    61
    62
    63
    64
    65
    66
    67
    - 编辑该文件(遵循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。