首页 > 其他分享 >cnblogs的GitHub同步markdown文件的blog如何识别文章的唯一性(身份ID如何判定)

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

时间:2024-09-24 14:35:48浏览次数:6  
标签:文件 GitHub cnblogs markdown blog 同步



本篇blog是写在GitHub的对应的仓库中的。


cnblogs会给终身用户提供一个把GitHub仓库中的markdown文件同步到cnblogs上的一个服务,本文就是使用这个服务同步到个人blog地址的:

https://cnblogs.com/xyz



问题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文件会导致cnblogs无法从GitHub上正确同步,这样的情况也会在你发表的blog被判定为不可见的情况。



标签:文件,GitHub,cnblogs,markdown,blog,同步
From: https://www.cnblogs.com/xyz/p/18429096

相关文章

  • 【Unity】 HTFramework框架(五十六)MarkdownText:支持运行时解析并显示Markdown文本
    更新日期:2024年9月15日。Github源码:[点我获取源码]Gitee源码:[点我获取源码]索引MarkdownText支持的Markdown语法标题强调文本表格嵌入图像超链接使用MarkdownText设置项运行时属性解析使用ID模式嵌入图像MarkdownTextMarkdownText为UGUIText的扩展加强版,支持在运行时解析并显......
  • github pages使用cloudflare加速自定义域名概要
    首先,整个操作涉及三个管理方githubpagescloudflare的DNS解析设置自定义域名的解析设置其次,你需要知悉这些内容DNS及CNAME解析githubpages的基本部署域名的基础管理cloudflare的基本域名添加及解析管理概要步骤githubpages部分在githubpages页面,先启用部署(Build......
  • 代码管理系统简介与部署git、gitHub、gitLab
            在开发一个项目时,如果只有几十行代码或几百行代码时维护还算简单,但是当代码数量达到一定程度或两三个人共同开发一个项目时,就很容易会出现代码混乱、冲突、排错难等问题。当代码编写完成以后发现整个项目运行不了时,提交的代码也无法确认到责任人,导致维护项目时......
  • markdown学习
    标题#号加空格一级标题两个#加空格二级标题三个#加空格字体加粗两边加两个✳号斜体两边加一个✳斜体加粗两边加三个✳两边加两个波浪号引用引用,>加空格分割线---图片英文!+【图片名称】+(图片地址)超链接[地址名称](跳转地址)点击跳转到学习地址列表数字加点你也......
  • 让人眼前一亮的开源项目「GitHub 热点速览」
    时隔两周,我又带着让人眼前一亮的开源项目回来了!告别数据线、蓝牙、WiFi和网络,只需用手机的摄像头扫描一张动图条形码(需安装应用),就能在设备间传输文件的libcimbar,一款无需联网和蓝牙的文件传输工具,仅用摄像头传输数据。用Rust编写的PostgreSQL数据库命令行管理工具rainfro......
  • Hexo-GitHub部署魔改第一步-config
    Hexo-GitHub部署魔改第一步_config.yml1.config.yml#HexoConfiguration##Docs:https://hexo.io/docs/configuration.html##Source:https://github.com/hexojs/hexo/#Site#设置博客的标题title:YourBlogTitle#子标题,可选subtitle:'xxxxx'#博客的描述,可选......
  • MarkDown下载、安装、和使用
    1下载记得先关闭你的杀毒软件通过百度网盘分享的文件:MarkdownPad+注册机+Awesomium_sdk.rar链接:https://pan.baidu.com/s/1l3YMwKIbYEstrT1yxJJlVA?pwd=6wff提取码:6wff备用地址:链接:https://pan.baidu.com/s/1HqnKWXDUpxHvF6TtVl6BKA提取码:h4vt2安装参考 https://www.ji......
  • vue3.0使用v-md-editor预览markdown文件
    1.安装依赖npmi@kangc/v-md-editor-S2.在main.js文件中引用注册组件import{createApp}from'vue';//预览组件以及样式importVMdPreviewfrom'@kangc/v-md-editor/lib/preview';import'@kangc/v-md-editor/lib/style/preview.css';importgithubThe......
  • Chirpy+Github
    相关网址Chirpy示例:网页上有官方教程,我写的肯定不全Chirpy示例仓库:这个就是包含官方教程的那个示例的仓库Chirpy模板仓库:直接fork这个仓库,快速搭建,没有多余的东西RealFaviconGenerator:生成图片替换原来的蚂蚁图片fontawesome:扩展侧边栏时,图标可以从这里找......
  • 震撼!AI实时生成游戏,每秒20帧,谷歌扩散模型最新突破一夜爆火,附论文介绍和GitHub代码
    震撼!AI实时生成游戏,每秒20帧,谷歌扩散模型最新突破一夜爆火,附论文介绍和GitHub代码。“比Sora还震撼”,AI可以实时生成游戏了!谷歌DeepMind打造出了首个完全AI驱动的实时游戏引擎——GameNGen。在单个谷歌TPU上,它以每秒20帧模拟起了经典射击类游戏DOOM(毁灭战士)。所有游戏画面都是根据......