RomanticQq

保持对生活的热爱,唯有生活不可被辜负

0%

前言:我尝试了好几种床图,不是在电脑端加载不出来,就是有各种各样的限制,最后找到了gitee,因为服务器在国内,访问速度也是比较快,空间也没有限制,算是比较理想的一种吧。一开始我用vscode+PicGo插件,等到快成的时候,图片是上传上去了,但是加载不出来,我尝试了sm.msgithub,最后抛弃了vsCode+PicGo插件,选择了PicGo客户端和gitee

  1. 注册gitee账号
    去官网注册账号gitee
  2. 新建gitee仓库

  3. 获得gitee的token
    登录gitee官网,点击头像/设置/私人令牌/生成令牌

    点击提交后复制生成的令牌,在配置的时候要使用
  4. 下载gitee
    点击PicGo下载,有不同的版本,都可以
    下载成功后按照提示默认安装即可
  5. 配置gitee
    默认状态下PicGo是没有gitee,因此先安装插件gitee-uploader

    这时,点击图床设置,已经有gitee图床的设置
    1
    2
    3
    4
    5
    1:打开新建的仓库,看地址栏,若地址栏为https://gitee.com/A/B,则需要填A/B
    2:默认为master就可以
    3:把刚才生成的token粘贴到这里
    4:path为创建的仓库存放图片的文件夹名,可以为image,可任意填写
    5:其余开心就好
  6. 升华
    为更方便地获取截图外链,安装picgo-plugin-quick-capture,实现截图上传一步搞定
  7. Typora+PicGo+gitee配置
    如果用TyporaMarkdown文章,还需要对Typora进行配置,找到文件/偏好设置/图像

    在typora中,当插入本地图片时,会自动转换成gitee外链

tips

  1. 通过上面的操作已经实现了快速上传和快速截图上传功能,当我们要用本地图片生成外链时,先复制一下本地图片(就是选中图片按下Ctrl+c),然后按下快速上传的快捷键,此时外链已经生成,在需要插入图片的位置Ctrl+V就可以了
  2. 当使用快速截图上传时,如果是直接截图的话,截完图后直接Ctrl+V就可以了,但如果是截完图后需要写批注,那么截的图并不一定可以自动上传,需要按下快速上传的快捷键,然后再Ctrl+V
  3. 通过PicGo可以查看和删除上传的图片

方法一

  1. 在blog的本地文件的根目录中打开git Bash,然后执行
    npm install hexo-asset-image --save

  2. 打开blog根目录下的配置文件_config.yml,修改
    post_asset_folder: true //由false改为true
    此时,当执行hexo n 文章名的时候,会在_post目录下新建同名的一个文件夹和一个后缀名为.md的文件

  3. 打开/node_modules/hexo-asset-image/index.js 用下面代码替换
    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
    'use strict';
    var cheerio = require('cheerio');

    // http://stackoverflow.com/questions/14480345/how-to-get-the-nth-occurrence-in-a-string
    function getPosition(str, m, i) {
    return str.split(m, i).join(m).length;
    }

    var version = String(hexo.version).split('.');
    hexo.extend.filter.register('after_post_render', function(data){
    var config = hexo.config;
    if(config.post_asset_folder){
    var link = data.permalink;
    if(version.length > 0 && Number(version[0]) == 3)
    var beginPos = getPosition(link, '/', 1) + 1;
    else
    var beginPos = getPosition(link, '/', 3) + 1;
    // In hexo 3.1.1, the permalink of "about" page is like ".../about/index.html".
    var endPos = link.lastIndexOf('/') + 1;
    link = link.substring(beginPos, endPos);

    var toprocess = ['excerpt', 'more', 'content'];
    for(var i = 0; i < toprocess.length; i++){
    var key = toprocess[i];

    var $ = cheerio.load(data[key], {
    ignoreWhitespace: false,
    xmlMode: false,
    lowerCaseTags: false,
    decodeEntities: false
    });

    $('img').each(function(){
    if ($(this).attr('src')){
    // For windows style path, we replace '\' to '/'.
    var src = $(this).attr('src').replace('\\', '/');
    if(!/http[s]*.*|\/\/.*/.test(src) &&
    !/^\s*\//.test(src)) {
    // For "about" page, the first part of "src" can't be removed.
    // In addition, to support multi-level local directory.
    var linkArray = link.split('/').filter(function(elem){
    return elem != '';
    });
    var srcArray = src.split('/').filter(function(elem){
    return elem != '' && elem != '.';
    });
    if(srcArray.length > 1)
    srcArray.shift();
    src = srcArray.join('/');
    $(this).attr('src', config.root + link + src);
    console.info&&console.info("update link as:-->"+config.root + link + src);
    }
    }else{
    console.info&&console.info("no src attr, skipped...");
    console.info&&console.info($(this));
    }
    });
    data[key] = $.html();
    }
    }
    });
  4. 把自己想用的图片放在新建的文件夹(文章名的文件夹)中,在test.md中引用是![](图片的文件名)

方法二

  1. \blog\source目录下新建image文件夹
  2. 把想要插入的图片都放入image文件夹下
  3. 在插入图片的位置引用![](/image/图片名)即可
    :按照这种方式插入可能会在本地图片加载不出来,上传后就可以加载出来了;若上传后还加载不出来,检查blog根目录下的配置文件_config.ymlpost_asset_folder:是否为false

方法三

用图床实现插入图片,也是最推荐的一种,具体见hexo+PicGo+gitee图床

备份

  1. 在github的博客仓库创建新的分支backup
  2. 打开git Bash Here,输入

    1
    npm install hexo-git-backup --save
  3. 添加提交设置:打开blog/_config.yml在最后添加

    1
    2
    3
    4
    backup:
    type: git
    repository:
    github: git@github.com:Romanticqq/romanticqq.github.io.git,backup(提交的github地址,分支名)
  4. 当要对代码备份时,执行hexo d即备份成功

恢复

  1. 把github的博客仓库backup分支的内容下载到本地
  2. 依次执行下列命令
    1
    2
    3
    4
    npm install hexo-cli -g # 如果是新电脑,要先执行这一行,安装hexo环境
    npm install hexo #先只执行这一行,如果hexo s报错再考虑执行下面的
    npm install
    npm install hexo-deployer-git
  3. 本地文件恢复,hexo s开启本地服务,在浏览器输入http://localhost:4000测试是否正常

    当遇到提交失败时

    1
    2
    3
    OpenSSL SSL_read: Connection was reset, errno 10054
    //在hexo d之前执行命令
    git config --global http.sslVerify "false"

部署

  1. 注册github账号(有github账号的可跳过)
  2. 登录后,新建一个代码仓库名为:github账号名.github.io,权限为public

  3. 实现git和github的链接

    1. 鼠标右键打开git Bash Here
    2. 在git Bash Here中设置
      1
      2
      git config --global user.name "Your Name"
      git config --global user.email "email@example.com"
    3. 然后再输入,获取密钥
      1
      ssh-keygen -t rsa -C "your_email@example.com" 
      按照提示默认下一步,生成两个文件,按照所给出的路径,用记事本打开id_rsa.pub,并复制
      1. 打开github的settings/SSH and GPG keys
        点击SSH keys旁边的新建,在Title处给密钥起一个名字,并把密钥粘贴到Key处,
      2. 输入ssh -T git@github.com判断git和github是否连接成功
  4. 添加提交设置:打开blog/_config.yml在最后添加
    1
    2
    3
    4
    deploy:
    type: git
    repo: https://github.com/Romanticqq/romanticqq.github.io.git //提交的github仓库地址
    branch: master //分支名
  5. 进行部署
    1
    2
    3
    4
    5
    hexo clean //清理public的内容
    hexo g //生成静态内容
    hexo d //部署上传
    可能在上传时会报错,此时需要执行下面一句命令行
    npm install hexo-deployer-git --save
  6. 访问
    在浏览器地址栏输入https://仓库名.github.io,即可访问

准备工作

  1. 下载node.js
  2. 下载git
  3. 配置环境变量
    1. 在node.js的安装目录下创建的创建两个文件夹,分别为node_global和node_cache
    2. 配置:此电脑/属性/高级系统设置/环境变量,先找到用户环境变量Path,然后点击编辑,新建,把node_global的绝对路径添加上去,确定
    3. 然后找到系统环境变量的Path,点击编辑、新建,把nodejs的安装目录的绝对路径添加上去
  4. 更换node.js的源
    1. 设置淘宝镜像源
      npm config set registry https://registry.npm.taobao.org
    2. 查看使用的镜像源
      npm config get registry
    3. 安装淘宝镜像源
      npm install -g cnpm --registry=https://registry.npm.taobao.org
      :可以更改也可以不更改,更换成国内的源后下载速度会变快,更改后以后执行npm命令要换成cnpm

在本地搭建hexo

  1. 在本地的任何一个磁盘创建一个文件夹blog(名字随意起),为本地存储博客的文件夹
  2. 依次执行下列代码
    1
    2
    3
    4
    5
    npm install hexo-cli -g
    hexo init blog
    cd blog
    npm install
    hexo server
    1. 访问http://localhost:4000

选择自己喜欢的主题

  1. 打开hexo主题官网,选择自己喜欢的主题下载
  2. 下载完成后放在博客本地的文件夹里面,路径如:F:\blog\themes
  3. 修改配置文件F:\blog_config.yml
    搜索:theme关键字
    修改theme后的主题名,例如
    theme: next(切记:冒号和next之间有一个空格)
  4. 再次访问http://localhost:4000,看主题是否发生了变化,若主题改变了则说明主题修改成功了。
  5. 此时,博客本地搭建的已经成功了!

  1. 注意要在安装库文件的目录下使用cmd,然后用命令安装
  2. 当安装完库成功后,import库发现不存在,可能是因为库的安装路径不在当前Python库的搜索路径内,所以没被找到.
    解决方法:
    (1)把库的路径加入搜索路径内;
    (2)当安装Anaconda使,自带了Python,因此删掉自己安装的Python后再重新安装库即可,这样就会自动安装在搜索目录下了(新手尽量只装一个Python)