cnblogs的GitHub同步markdown文件的blog如何识别文章的唯一性(身份ID如何判定)

本篇blog是写在GitHub的对应的仓库中的。
cnblogs会给终身用户提供一个把GitHub仓库中的markdown文件同步到cnblogs上的一个服务,本文就是使用这个服务同步到个人blog地址的:
问题1:何时触发blogs的同步?
当仓库中的markdown文件有更新时,cnblogs会自动同步到个人blog地址,但是,如果markdown文件没有更新,cnblogs不会同步。这时候的更新就是在对仓库内容进行推送的时候发生的,在推送动作发生时github会触发cnblogs的同步动作,将docs文件夹下新创建的文件(.md)同步到cnblogs中,并将docs文件夹下删除的文件(.md)进行对应的操作;其中,对新增文件和删除文件的判断是根据git push时的commit信息来判断的,即commit信息中包含新增或删除的文件名。
问题2:如何判断文章的唯一性?
虽然git commit的提交信息中有新增和删除的文件信息,但是,在cnblogs中,文章的唯一标识是文章的标题,即在文章的标题栏中输入的标题。
删除文件自然没有什么识别问题,只要对相应的文件执行对应操作即可;但是,对新增文件则需要进行一定的判断,因为git commit中的新增文件有可能是改名后的,也就是说文件被改名了,那么在git commit信息中记录的是两条操作,第一条是删除操作,第二条是新建操作。删除操作没有什么疑问的,但是这时候的新建操作就会出现问题。由于在cnblogs中,文章的唯一标识是文章的标题,即在文章的标题栏中输入的标题,那么在markdown文件改名时如果没有修改文件中的blog title的话,并且删除文件操作对应的并不是删除blogs的话(无操作或取消发布),那么cnblogs会认为该文件已存在而不执行新建操作。
如果对改名后的文件进行内容修改(不更改题目title),那么cnblogs也会认为该文件已存在,但是不会执行修改操作,而是把这一次git commit的原文件当作一个重复命名的新文件,然后把这个新文件以草稿的形式进行保存。
从而可以看出使用GitHub同步blogs的这种方式对于修改markdown文件名的支持是很不好的,如果你真的对markdown文件名进行修改,那么建议你先手动删除掉cnblogs中对应的文章,然后再对GitHub中的markdown文件进行修改,最后再对GitHub进行同步,这样cnblogs中才会将将你修改文件名后的文件以正确的blog形式进行发布。

为了更好的解决重命名markdown文件并且还没有修改对应的markdown文件中的title的话,那么我们最好是在进行同步设置时指定markdown文件删除动作对应删除blog的操作(误操作和取消发布都无法保证一致性),这样就可以保证一致性了。
从上面的分析可以看出,重命名后的markdown文件会导致cnblogs无法从GitHub上正确同步,这样的情况也会在你发表的blog被判定为不可见的情况。如果你在GitHub中的markdown文件同步到blogs上后被cnblogs判断为违规而可见权限变为不可见,那么在不修改GitHub中对应markdown文件名的情况下(也就是说不删除这个对应的markdown文件的情况下),那么所有对GitHub中的对应的该blog的markdown文件的所有更改均无法同步到cnblogs上的对应blog。换句话说,如果你的markdown文件对应的blog被判为违规,那么在此之后的所有对markdown文件的修改都不会被同步到cnblogs上。
cnblogs的GitHub同步markdown文件的blog如何识别文章的唯一性(身份ID如何判定)的更多相关文章
- git——同步本地文件到github上
参考教程: 1.https://blog.csdn.net/weixin_37769855/article/details/99439904 2.https://www.liaoxuefeng.com ...
- 为 github markdown 文件生成目录(toc)
业务需要 在编写 github 项目时,有时候会编写各种 README.md 等 markdown 文件,但是 github 默认是没有目录的. 于是就自己写了一个小工具. markdown-toc ...
- 为Markdown文件生成目录
缘由 思路 效果 代码实现 缘由 Markdown源生文件源生不支持目录,目前比较主流的生成目录的方式(各式插件),都是转化为HTML文件.虽然HTML文件可以生成眼花缭乱的目录,但是修改起来又没有M ...
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
centos shell编程4[分发系统] 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要 ...
- 利用Pandoc将markdown文件转化为pdf
利用Pandoc将markdown文件转化为pdf 准备工作 安装pandoc 安装MiKTeX 将markdown文件转换为pdf 准备工作 安装pandoc Windows下安装pandoc很容易 ...
- 利用github Pages和Jekyll搭建blog实践1
你必须要懂一点git和网页开发.安装了git,并且有github账户. github设计了Pages功能,允许用户自定义项目首页 github提供模板,允许站内生成网页,但也允许用户自己编写网页,然后 ...
- 解析Markdown文件生成React组件文档
前言 最近做的项目使用了微前端框架single-spa. 对于这类微前端框架而言,通常有个utility应用,也就是公共应用,里面是各个子应用之间可以共用的一些公共组件或者方法. 对于一个团队而言,项 ...
- [原创]使用Pandoc实现Markdown文件转PDF文件
Markdown写法简单明快,我十分喜欢,以至于我最近都想使用Markdown快速的进行测试说明书的写作,但是考虑到这文档是要进行交接的,一个.md的文件在内部传输还是有不便,于是就想到了能不能把Ma ...
- GitBook – 使用 GitHub 和 Markdown 制作书籍
GitBook 是一个命令行工具(也是 Node.js 库),让你能够使用 GitHub/Git 和 Markdown 构建出美丽的编程书籍,可以包含互动的练习.GitBook 支持使用多种语言构建书 ...
- 初遇Git与MarkDown 文件
新年好! 昨晚熬夜在学Git,稍微会了一些命令. 推荐大家去try.github.io上学习,这是GitHub提供的网页,它在网页提供了一个“伪”模拟器,根据网页的提示学习命令.网页上说15分钟就能学 ...
随机推荐
- 面试官:JDK中都用了哪些设计模式?
设计模式是前辈们经过实践验证总结的解决方案,帮助我们构建出更具可维护性.可扩展性和可读性的代码.当然,在面试的过程中,也会或多或少的被问到.那么今天,我们就来看一道设计模式中的常见面试问题:JDK 中 ...
- 在程序里面执行system(“cd /某个目录“),为什么路径切换不成功?
粉丝提问: 彭老师,问下,在程序里面执行system("cd /某个目录"),这样会切换不成功,为啥呢 实例代码: 粉丝的疑惑是明明第10行执行了cd /media操作, 为什么1 ...
- 学习redis问题记录
2024年5月25日 倒腾了很长时间 突然发现的问题 ide提示改为toList() 我顺便就改过去了 但是实际业务中redis序列化会产生无法反序列化的问题 造成缓存挂壁 业务直接G collect ...
- Kubernetes-2:Pod(k8s最小单元)概念及网络通讯方式
Pod概念及网络通讯方式 什么是Pod? Pod是Kubernetes的最小单元. 一个Pod是一组紧密相关的容器,是一起运行在同一个工作节点上,以及同一个Linux命名空间中.每个Pod就像是一个独 ...
- 😶🌫️ SpringBoot中MongoDB的骚操作用法
不知道大家在工作项目中有没有使用MongoDB,在哪些场景中使用.MongoDB作为NoSQL数据库,不像SQL数据库那样,可以使用Mybatis框架. 如果需要在SpringBoot中使用Mongo ...
- 千牛hook 旺旺hook,旺旺发消息call,千牛发消息call,千牛机器人,破解旺旺发消息代码,破解千牛发消息代码,反汇编旺旺发消息,反汇编千牛发消息,旺旺发消息组件,千牛发消息组件
由于工作需要,做了相关的编码,有demo,拿去后,直接按demo写代码即可实现千牛发消息,非常稳定.非反汇编找call,基本不怕千牛升级,原理是基于千牛架构做出来的,除非千牛改架构,已稳定使用2年,未 ...
- 【YashanDB知识库】自关联外键插入数据时报错:YAS-02033 foreign key constraint violated parent key not found
问题现象 使用如下的sql语句创建自关联外键表: drop table self_f_key; create table self_f_key(t1 number primary key not nu ...
- SSH 安全机制 及常见问题
常见问题: ssh_dispatch_run_fatal: Connection to {your_ip} port 22: invalid argument ssh -oKexAlgorithms= ...
- MDC – Material Design, Angular Material, MDC, MWC, Lit 的关系
前言 它们关系挺乱的, 而且不只是我一个人感觉乱 还有 所以这篇做一个整理吧. Material Design Google 的设计指南. 早年用于 Android Apps, 现在也用于 Web A ...
- 2How To Use Python On A Web Page With Jinja2 - Fla 21:30
# localhost:5000/user/John @app.route("/user/<name>") def user(name): return render_ ...