采用Gitee Pages + Gridea + 批处理 搭建个人主页(win10)
这样就可以啦!以后发博客只需要两步
- Gridea编辑,预览同步(并不是真正同步,而是编译好静态网页)
- 运行批处理文件
1.了解 Gridea 的原理
Gridea 是优秀的开源静态网页编译器。希望Gridea 越来越好,我们都能享受分享的快乐!
如果打不开 Gridea,可以等一等,可能单纯就是卡掉了
我们主要可以利用相关主题,通过GUI快速进行部署
更多详细内容请见
2.注册Gitee账号,打开Gitee Pages
在此不做详述,只需要参考任何一个 Hexo 或者 jekerll + Gitee 的教程即可
我们的目的只是用Gridea编译markdown 成为静态网页,并且添加链接等的功能
至于Git ,我们之后用命令实现
注册好之后,其实我们并不需要令牌,请保证仓库是公开的,另外注意个人信息安全
3.充分利用Gridea 特性,完成静态网页生成
一个细节问题:如何选择主题
选择主题之后大家可以自行配置,这并不影响主页的部署/
关于服务器设置
选择Github,可以按照自己的情况进行修改
至于为什么这样设置,本人不是特别清楚
我的想法是尽可能和github 对照着来,因为其实本质上我们都是要利用一个远端仓库,相关链接的作用,好像是体现在超链接上面
这里推荐 VSCode
Gridea 生成静态网页
编辑好之后如果我们点击了 Test Connection
,肯定是连不上的
在这里建议大家不要过多的点击Test Connection,主要尝试 Sync 和 Preview就好,因为Test 貌似会建立一个.git 文件夹
如果大家可以连上,那么我的这篇博客也就没什么意义了
希望Gridea 继续加油,早日实现对国内Gitee的支持,coding pages 的Page 域名已经是随机分配的了,所以没有采用
莫慌,Preview成功预览之后,点击 Sync
报错是正常的,如果连上了,也恭喜你呀哈哈
核心经验分享:bat + git
这时候,我们可以关掉Gridea了
橙色圈出来的是需要涉及到的部分,蓝色的部分是我自己的文件,其他文件应该是相同的
这里最重要的就是 output文件
可以打开看一下,里面已经有了.git ,还有很多css + html
放弃掉Gridea 产生的.git,用 gitee
替换github
这样做的主要目的是防止之后需要出现的pull 等操作,否则比较麻烦
替换的代码可以用任何一种语言。我尝试过bat,但是很奇怪地非常慢……
这里给出python 代码,遍历所有文件,并且替换字符串,路径设置为对应的 output
import os
path = 'E:\\gridea_source\\output'
exclude_path = '.git'
ori = 'XXX.github.io'
tar = 'XXX.gitee.io'
def get_filelist(dir):
filelist = []
for home, dirs, files in os.walk(path):
dirs[:] = [d for d in dirs if not d[0] == '.']
print(dirs)
for filename in files:
# 文件名列表,包含完整路径
filelist.append(os.path.join(home, filename))
# 文件名列表,只包含文件名
# Filelist.append( filename)
return filelist
if __name__ == "__main__":
filelist = get_filelist(dir)
print("#files = "+str(len(filelist)))
try:
for file in filelist:
with open(file, 'w+') as f:
f.write(f.read().replace(ori, tar))
input("OK")
except Exception as e:
print(str(e))
input("Error")
# 别忘了关闭文件
f.flush()
f.close()
之后采用 pyinstaller
编译为 exe,方便调用
pyinstaller
编译为 exe采用命令pyinstaller -F replace.py(对应的python文件名)
编译好之后,其他文件夹删掉就可以,只留下.exe
批处理拉取远程仓库,更新文件
首先,我们在output
同级建立一个 COMMIT
文件夹
cd "./COMMIT"
git init
git remote add origin https://gitee.com/ZXYFrank/ZXYFrank.git
git fetch
git reset --hard origin/master
git branch --set-upstream-to=origin/master master
采用以上命令拉取远程仓库到 COMMIT
start "../replace.exe"
然后运行一下编译好的exe,换掉含有 github的链接
cd "../output"
rd /s/q .git
cd ".."
xcopy /e/c/h/z/y "./output" "./COMMIT"
采用删掉output 当中的git文件,(剩下的就是干货了),用 xcopy
复制到COMMIT
里面
cd /d "./COMMIT"
rem pushing
git add .
set /p id= "Enter Message: "
git commit -m "%id%"
git push -u origin master
echo "Don't forget to deploy!"
pause
之后切换到 COMMIT,开始经典commit push 操作
代码合起来之后,保存成 .bat,之后运行就好
cd "./COMMIT"
git init
git remote add origin https://gitee.com/ZXYFrank/ZXYFrank.git
git fetch
git reset --hard origin/master
git branch --set-upstream-to=origin/master master
start "../replace.exe"
rem delete git
cd "../output"
rd /s/q .git
cd ".."
xcopy /e/c/h/z/y "./output" "./COMMIT"
cd /d "./COMMIT"
rem pushing
git add .
set /p id= "Enter Message: "
git commit -m "%id%"
git push -u origin master
echo "Don't forget to deploy!"
pause
一定别忘了部署!
另外提醒大家一下,部署好之后如果效果没有发生变化,可以清空一下浏览器的缓存(尤其是Cookie)
这样就可以啦!以后发博客只需要两步
- Gridea编辑,预览同步(并不是真正同步,而是编译好静态网页)
- 运行批处理文件
欢迎大家交流!也希望 Gridea 尽早支持 Gitee,有更多好平台可以供我们使用!
references
本文来自博客园,作者:ZXYFrank,转载请注明原文链接:https://www.cnblogs.com/zxyfrank/p/gridea-win10.html