批量备份迁移Markdown文件中的图片解决方案
需求描述由于我平常写博客时都是使用的Typora,而使用Typora时最棘手的一个问题就是图片管理问题,由于Markdown中图片和内容是分离的,图片的保存方式无非是本地存储或者使用图床,对于经常写博客的同学来说,使用图床才是更好的选择,而我使用的就是 Typora + picGo + 蓝空图床 的组合套装来管理博客中的图片
但是这套组合依旧有个小问题,就是图片本地存储和远程存储只能二选一,要么保存到本地目录中,要么上传到图床,对于经常写博客的我来说,图片的管理,备份,迁移是个大问题。
小孩子才做选择,我希望写的每一篇文章,文章内的图片即能保存到以文章名称命名的本地文件夹里,又能正常使用图床,这样即便图床崩了,也有一份本地备份,而本地备份又能将图片和文章一起备份,比如上传到GitHub, 方便数据恢复。
还有一个重要的原因是,在没有搭建博客之前我习惯把文章发表到博客园上,所以作为白嫖党的我就顺理成章地使用了博客园的图床,但是由于博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,不愿加入太多广告而导致经营困难,一直在倒闭的边缘徘徊
了解更多详情可参考:
程序员都用过的博客园 ...
Hexo博客每天自动生成每日早报文章
一、介绍之前一直想做的功能,今天终于有机会来实现一下,正如描述那样,计划任务每天生成一篇文章用于展示每日新闻
具体效果如下
详情页如下所示
二、实现2.1、 仅固定单页面访问需要使用到 ALAPI 的 每日60秒早报 接口,可免费调用
注册登录后在 个人管理 => 个人中心 => 获取token
如果只想生成一个固定的静态页面访问,可以直接使用以下代码,替换自己的token即可
12345678910111213141516<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale= ...
Butterfly主题配置及美化
Butterfly主题介绍
官方文档:Hexo Butterfly 主题官方文档
GitHub 仓库:Hexo Butterfly 主题 GitHub 仓库
Hexo官网上面有非常多好看的主题,你可以选择自己喜欢的主题下载下来放到 themes文件夹下面
比较好看的主题有 Butterfly、Fluid、Matery、Kira 、Ayer 、Annie 。
Hexo Butterfly 主题是一个基于 Hexo 博客框架的优雅、简洁且功能丰富的主题。它受到了 Butterfly 主题的启发,提供了许多现代化的设计和功能,使得博客搭建和维护变得更加便捷和美观。以下是 Hexo Butterfly 主题的一些主要特点:
美观的设计:Hexo Butterfly 主题采用了现代化的设计风格,提供了多种配色方案和布局选项,可以根据个人喜好进行定制。
响应式设计:主题支持响应式设计,可以在不同设备上(如桌面、平板和手机)提供良好的阅读体验。
丰富的插件支持:Hexo Butterfly 主题集成了许多实用的插件,如搜索功能、评论系统、标签云、归档页面等,方便用户快速搭建功能齐全的博客。
S ...
Hexo自动部署
为了简化Hexo部署过程,你可以使用持续集成工具(如 GitHub Actions)来实现自动化部署。
GitHub Actions 是一个持续集成和持续交付 (CI/CD) 平台,允许你自动化你的构建、测试和部署管道。你可以创建工作流来构建和测试存储库的每个拉取请求,或将合并的拉取请求部署到生产环境。GitHub Actions 支持多种编程语言和技术栈,并且可以与 GitHub 的其他功能(如问题、拉取请求和讨论)无缝集成。
主要特点
自动化工作流:你可以创建自定义工作流来处理从代码提交到部署的整个软件开发周期。
事件触发:工作流可以由多种事件触发,如推送代码到仓库、创建拉取请求、发布新版本等。
并行执行:你可以并行运行多个作业,加快处理速度。
集成支持:支持与多种第三方服务集成,如 AWS、Azure、Google Cloud 等。
自定义容器:可以使用自定义容器来运行你的工作流。
基本概念
Workflow:一个可配置的自动化过程,包含一个或多个作业。
Job:一个工作流中的一个任务,包含多个步骤。
Step:一个作业中的一个单独的任务,可以是一个 shell ...
Hexo 自动备份
本文章介绍如何通过脚本自动备份并提交Hexo源码文件,包括 source,scaffolds,themes目录文件,及
package.json,_config.yml等文件,当然,需要的话也可备份博客主目录下所有目录及文件。如果想要了解更多关于Hexo目录结构的内容,可以参阅文章Hexo 目录结构。
自动备份 创建一个私有仓库用于存放Hexo源码文件,例如 blog_source
在博客主目录创建一个.ps1(powershell脚本)后缀的文件,例如 backup.ps1,粘贴下面的代码
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364# Author: 時光# Blog: https://shiguang666.eu.org# GitHub: https://github.com/shiguang-codingparam ( [alias("o")] [swi ...
Hexo插件开发步骤
Hexo的插件嵌入有两种方式,一种是通过脚本(Scripts)的方式引入,一种是通过插件(Packages)的方式将自定义的插件内容发布到npm上。本文主要介绍第二种,如果您的代码很简单,建议您编写脚本,您只需要把 JavaScript 文件放到主题目录的 scripts 文件夹,在启动时就会自动加载。具体操作可参考 Hexo 博客每天自动生成每日早报文章 中2.2相关介绍。
下面是引用官方的一段话,开发Hexo插件至少要包含 2 个文件:一个是主程序index.js,另一个是 package.json,描述插件的用途和所依赖的插件。package.json 中至少要包含 name, version, main 属性。
链接直达:https://hexo.io/zh-cn/docs/plugins
如果您的代码较复杂,或是您想要发布到 NPM 上,建议您编写插件。首先,在 node_modules 文件夹中建立文件夹,文件夹名称开头必须为 hexo-,如此一来 Hexo 才会在启动时加载;否则 Hexo 将会忽略它。
文件夹内至少要包含 2 个文件:一个是主程序,另一个是 pack ...
error: src refspec main does not match any
问题描述新克隆的仓库,提交代码时报错:
123D:\Workspace\shiguang-coding\MarkdownImageBackupTool>git push -u origin mainerror: src refspec main does not match anyerror: failed to push some refs to 'https://github.com/Shiguang-coding/MarkdownImageBackupTool.git'
如下图所示:
解决方法1、检查仓库有无.git文件夹,若没有则需重新.init
2、检查代码是否提交(commit),若尚未提交重新提交即可
操作步骤:
首先,检查下当前仓库状态
1git rm -- cached <file>
按照提示,移除缓存区内的文件,我这里移除了暂存区里的所有文件
1git status
可以看到提示有文件还没有提交,其实错误的原因很低级,就是忘记提交了
我们可以直接提交,或者移除暂存区不需要提交的文件,重新提交即可
再次检查下仓库状态,重新 ...
Failed to connect to github.com port 443 after 21042 ms: Couldn't connect to server
问题说明出现这种问题一般都是设置过代理导致本机系统端口号和git的端口号不一致导致的。
解决办法情况一:开启代理后出现该错误1、查看本机系统端口号:
设置 -> 网络和Internet -> 代理 -> 编辑代理服务器
2、设置git端口号和配置的代理端口号保持一致
如此处我的为10809
123456# 由于我经常频繁切换gitee和GitHub,所以没有进行全局配置,都是为每个仓库单独配置# 如果要全局配置,可以使用 --global 参数git config http.proxy 127.0.0.1:10809git config https.proxy 127.0.0.1:10809
也可直接修改仓库下的.git/config文件
添加如下配置:
1234[http] proxy = 127.0.0.1:10809[https] proxy = 127.0.0.1:10809
详细信息如下:
3、 检查git设置(可省略):
12345# 切换到仓库所在目录cd <rep_dir># 查看当前仓库git配置git config -l ...
【面试题】消息队列篇
以下内容来自网络资料整理,如有侵权请联系删除
MQRabbitMQKafka
YUM命令Python3与Python2命令不兼容问题
在执行yum命令安装Docker依赖时遇到如下错误
12345yum install -y yum-utils File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^SyntaxError: invalid syntax
deepseek给出的建议:
你遇到的错误是由于使用了过时的 Python 语法。具体来说,except KeyboardInterrupt, e: 这种写法在 Python 2.x 中是有效的,但在 Python 3.x 中已经被弃用了。在 Python 3.x 中,你应该使用 except KeyboardInterrupt as e: 这种语法。
解决方法:
检查 Python 版本:首先,确认你当前使用的 Python 版本。你可以通过以下命令查看:
1python --version
如果输出是 Python 3.x,那么你需要更新 yum 脚本以适应 Python 3 的语法。
更新 yum 脚本:如果 ...