程序员的资源宝库

网站首页 > gitee 正文

采用Gitee Pages Gridea 批处理 搭建个人主页(win10)

sanyeah 2024-03-29 14:41:29 gitee 7 ℃ 0 评论

这样就可以啦!以后发博客只需要两步

  1. Gridea编辑,预览同步(并不是真正同步,而是编译好静态网页)
  2. 运行批处理文件

1.了解 Gridea 的原理

Gridea 是优秀的开源静态网页编译器。希望Gridea 越来越好,我们都能享受分享的快乐!

如果打不开 Gridea,可以等一等,可能单纯就是卡掉了

我们主要可以利用相关主题,通过GUI快速进行部署

更多详细内容请见

Gridea.dev

2.注册Gitee账号,打开Gitee Pages

在此不做详述,只需要参考任何一个 Hexo 或者 jekerll + Gitee 的教程即可

一个很棒的教程,和Hexo相关的之后我们交给 Gridea

我们的目的只是用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)

这样就可以啦!以后发博客只需要两步

  1. Gridea编辑,预览同步(并不是真正同步,而是编译好静态网页)
  2. 运行批处理文件

欢迎大家交流!也希望 Gridea 尽早支持 Gitee,有更多好平台可以供我们使用!

欢迎大家来我的博客

references

使用Gitee+Hexo搭建个人博客

搭建Gridea+gitee+Valine评论+Valine-Admin评论后台的个人博客

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表