Abstract:实现在github上搭建page.实现在github上的pull/push加速.实现gitee对github 的导入,使得gitee具有备份功能.
就是为github搭建代理,包括加速http和ssh.然后搭建github pages.
实现了之后,我问我自己为什么要选择jekyll呢,那是何等的折磨.搭建方案不重要,重要的是我的博客文字.
Keywords:github pages,hexo
参考文献
[1] 代理服务器与ssh和git - cc的小站 (kouyt5.github.io)
[2] Git Stash命令的使用 - 简书 (jianshu.com)
[3] Hexo 最常用的几个命令_到现在负的博客-CSDN博客
github的pull/push加速问题
私钥是否能通用,gitee和github能同时用一个公钥吗?
按照原理,我认为是可以的.因为仓库才能决定要发往哪个地方.
先尝试使用github专用的密钥
实验过程
1 测试了一下,git init
.config
文件只是有core,没有用户名邮箱之类的东西.
2 加入ssh-key,这是gitea使用的.测试git clone
.
成功,但有问题.原因是没找到私钥github
.原来是我写了两个Host,一个私钥是github
,一个私钥是gitea
的,虽然文件名字不带gitea.遂删除一个Host,继续测试.成功.
我想测试网速问题.但是通过ssh -T
终端说but github does not provide shell access
.先测试一下能不能push.不能push,原因是没有用户名和邮箱,添加上,测试.成功.但是网速273kb,有点慢,加点文件试一下,测试.938kb,还可以呀,关掉vpn,测试.成功,网速1m多,可以呀,还要啥自行车,为啥ssh连接github不用vpn也很快呢.哪个没有用户名的原因可能是我的gitea中邮箱是liji@gitea.com,而github是qq邮箱,所以才不让我用,所以我要把密钥改成gitee的.还是不行,是不是密钥都被污染了?重新生成新的密钥试一试,测试.
最终我放弃了.我就这样吧,每一个仓库我都用local的用户名和邮箱.不折腾了.
3 实验: ssh加速的github测试?
1)测试方案一
1 | 基于http的git和基于http或socks5的代理 |
结果都不行,这好像是Linux的
**注意[http] proxy=http://user:password@ip:1080
**还好我们的没有用户名和密码限制,直接输入@后边的ip及之后内容就可以了.
- 测试2 [^1]
1 | ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -H 127.0.0.1:10809 %h %p |
结果可以
条件 | 下载速度 |
---|---|
ssh 无 | 1.30m/s |
ssh socks5 | 1.15m/s |
ssh http | 1.34m/s |
合着费了半天劲,没啥用呀.
4 实验: ssh实现github不用设置gitconfig或者用户名和邮箱也能push?
- 使用如下设置去push?
1 | Host github.com |
不行,改成User Smithol
也不行.可能需要重新来.
- 如下设置去push
1 | github |
不行,估计现在改了user git 会还是不行
- 如下设置去push
1 | github |
不行
4)设置.gitconfig
文件
1 | [user] |
设置完了居然就能push了.
5)在4)基础上去掉user呢.
结果是可以的,看来就是和.gitconfig
有关.
6)如果.gitconfig
改成没有邮箱呢?
不行
- 如下设置
.gitconfig
呢
1 | [user] |
可以的.但是感觉不太合适,命令行添加多个邮箱应该报错吧?
总之,也算是解决了不能push的问题.最终如下设置.gitconfig
即可.
1 | [user] |
我好像明白了,gitconfig可以不用正确的Email,或者name。这个只是说明是谁修改的,至于你叫啥啥来头,没必要。
1 | [user] |
git pull实验[2]及常用命令
改动后的文件会影响git的正常拉取(git提示先处理本地的改动才可以拉取)
1 | git stash |
github page实现
1github寻找模板
在github上搜索jekyll,或jekyll pages,好看的就fork,最后pull到本地改成自己的.
2 不错的安装hexo的网站
用 Hexo 和 GitHub Pages 搭建博客 | 途探生灵 (ryanluoxu.github.io)
3 最终选择了chirpy jekyll主题
遇到的问题
1)原始主题在linux系统中完成,而且删除index.html文件,不然page老是显示这个界面
- 可能会用到docker.将s2020020922加入docker组
1 | sudo groupadd docker #添加docker用户组 |
4 哦,我亲爱的hexo
由于chirpy老是没法添加分类,这就很烦。我决定放弃jekyll,选择大众化的hexo,还是稳定的好呀,烂大街也没事,重要的是内容.
1)安装git和node.js,node是js的运行环境.
2)安装Hexo
1 | npm config set registry https://registry.npm.taobao.org #国内镜像,在用户下的.npmrc中. |
其他常用命令
1 | hexo clean #清除db.json,public.网络异常时就使用这个重新生成网页. |
目录结构
1 | . |
- 与github连接
就是把public
文件夹上传到Page的仓库.
方法一:把Page的git放在public文件夹,push文件
方法二: 如下
1 | npm install hexo-deployer-git --save #安装此库 |
4)自动部署hexo
参考文献
目的是使用github的actions,要创建.github/workflows/deploy.yml
,有时间再看,想起了被jekyll支配的恐惧.
- 更换主题
当然是next了.
有人使用了
git submodule add https://github.com/theme-next/hexo-theme-next themes/next
,可我不需要,我的hexo项目中就没有.git
文件,也就不能submodule
了.所以我是在theme文件下用
git clone git@github.com:Smithol/hexo-theme-next.git ./next
_config.yml
中theme
添加theme:next
就可以使用next主题了
- next 中 为tags等添加page
1 | hexo new page "tags" |
- next添加标签云
参考文献
参考文献: Hexo博客Next主题建立标签云hexo-tag-cloud及效果展示_AomanHao的博客-CSDN博客
修改内容可以去github找hexo-tag-cloud.
8)常见问题
参考文献
这篇文章解决了很多问题.
1 | 文章部分显示 |
- next 自带的标签云
自带的标签云太小了。在theme/next/_config.yml
修改tagcloud
.
1 | tagcloud: |
#666即#6666666.颜色0-255即00-ff.
- 官方文档yyds
参考文献
nexT官方文档: 开始使用 - NexT 使用文档 (iissnan.com)
- 博客名字颜色
参考文献
找到\themes\next\source\css\_common\outline\header\site-meta.styl
文件。编辑修改.brand{}
里color
参数配置为#fc6423
(橘色)
12)喜欢的博客主题
我的jekyll呀
- 添加图片
参考文献
1 | npm install https://github.com/CodeFalling/hexo-asset-image --save #download |