博文

目前显示的是标签为“blogger”的博文

Hermes 白嫖 stepfun/step-3.5-flash 调用 Blogger API 翻译并发布blogspot博客文章

图片
前言 上一篇我们测试了 Blogger API 的能力 ,  那么能拿TA干点什么呢? 技术的世界里, 英文使用者也是重要的组成部分. 那么, 把技术文章翻译成英文发布吧. 实践 问 hermes 用当前blogger api能看到我有几个blog吗? 答 问 hermes 在 https://zelikk.blogspot.com/   中找到 https://zelikk.blogspot.com/2026/03/cpa-cliproxyapi.html 翻译为英文, 发布在 https://icdyct.blogspot.com/ 注意, 所有 HTML 标签 保留 得到 https://icdyct.blogspot.com/2026/04/self-built-cpa-cliproxyapi-aggregating.html ======== 后记 完成这个任务时, hermes 对接的是 Nous Portal 提供的 免费的 stepfun/step-3.5-flash

用 Blogger API 修改博客文章

图片
前言 之前玩了 用LLM-WIKI技能分析博客文章之间的关系生成相关推荐 当时没有实现自动方案, 最终的修改是人肉手动的. 思路 Blogger 有 API 可以用. 在 AI "手把手"的陪伴下, 我启用了Blogger API, 设置了 OAuth 权限, 下载了 OAuth 凭据. 然后就开始让 hermes 来操作 blog 先简单测试了一下发布blog. OK 接着测试了一下修改blog, 尾部添加 "相关推荐". OK 实践 添加一些测试文章 接下来, 和 hermes说 假设你处于不知道 https://icdyct.blogspot.com/  上面已经发表了什么内容 的状态, 你做这样一件事情 遍历这个博客的每篇文章 如果文章的url是 表格中的 page, 那么在文章末尾添加以下表格中的 link1, link2, link3 这个表格是 | page | link1 | link2 | link3 | | 页面 | 链接1 | 链接2 | 链接3 | | 页面 |---|------|------|-----| | https://icdyct.blogspot.com/2026/04/test-4.html | https://icdyct.blogspot.com/2026/04/test-5.html | https://icdyct.blogspot.com/2026/04/test-6.html | https://icdyct.blogspot.com/2026/04/test-7.html | | https://icdyct.blogspot.com/2026/04/test-5.html | https://icdyct.blogspot.com/2026/04/test-6.html | https://icdyct.blogspot.com/2026/04/test-7.html | https://icdyct.blogspot.com/2026/04/test-8.html | | https://icdyct.blogspot.com/2026/04/test-6.html | https://icdyct.blogspot.com/2026/04/test-7.html | ...

用Cloudflare Snippet实现反代blogspot

图片
前言 最近看到有人应用 cloudflare 的 snippet 实现 像 worker 一样的节点功能. 思路 看来,  一方面, 免费用户也有机会使用 snippet 了. 另一方面, snippet 的功能也增强了, 和worker 的区别更小了. 那么我就想用snippet实现之前用worker实现的反代blogspot的效果. 实践 uniproxy里面的语法比较老, 是这样的 addEventListener('fetch', event => {     event.respondWith(handleRequest(event.request)) }) 用在snippet的话, 要改成这样的 export default {   async fetch(request, env, ctx) {     try {       return await handleRequest(request, env, ctx);     } catch (e) {       return new Response(e.message || "Internal Error", { status: 500 });     }   }, }; 我让GPT做了转换.  从结果来看, 就除了这一点变化, 其它代码全部保持原样. 已上传Github https://github.com/crazypeace/cloudflare-workers-uniproxy/blob/master/snippet.js 反代blogspot的worker代码 把需求发给GPT 当我把同样一份代码用于 worker 和  snippet  有没有办法识别当前环境是 worker 还是 snippet, 从而 打开 或关闭 KV相关的代码逻辑? 结果是判断是否存在绑定KV的环境变量. 这个逻辑本身也挺好的, 即使是用于worker, 也可以避免在worker的环境下, 用户没有绑定KV而产生异常. 已上传Github https://github.com/crazypeace/cf-wo...

Blogger 首页显示博文的标签

图片
前言 我想促进访问者跳转到更多的博文. 在单篇博文的页面, 我把 标签放在了文章的标题下面. 我想在首页也实现类似的效果. 分析 打开 blogger 后台 - 主题背景 - 修改HTML 跳转到 Blog1 段. 阅读HTML, 发现是这里显示标签 并且有逻辑判断是否为博文页面. 我们修改为 <b:includable id='postLabels'> <b:if cond='data:widget.type == &quot;Blog&quot;'>   <b:include name='super.postLabels'/> </b:if> </b:includable> 可以注意到  data:view.isSingleItem and   被删除了. 效果 成功了. ======== 精彩推荐 《在 Blogger 的内容中使用 markdown》 《用Stylebot插件 修改blogger编辑器宽度 隐藏右栏》 《用Cloudflare Snippet实现反代blogspot》

用Stylebot插件 修改blogger编辑器页面 显示被折叠的工具栏按钮

图片
前言 书接上文 我们已经隐藏了bloger编辑器的右栏 但工具栏在空间足够的条件下, 还是产生了折叠分栏. 本文就来解决这个问题. 分析 通过 F12 开发者工具, 分析 工具栏的 HTML 内容 发现, 就在这个工具栏里面, 有些按钮被隐藏了. 也就是说, HTML内容里是有的, 但是页面上不显示. 面向GPT开发 因为GPT文本输入字数限制, 我们需要将工具栏的HTML内容保存为文件, 再上传给GPT. HTML 环境 我有一个工具栏, HTML内容见文件 工具栏中包含一些按钮 有些按钮是显示的, 有些按钮是隐藏的 我现在需要将工具栏下的所有按钮都设置为显示 要求使用设定页面元素CSS的方式 按钮可能是动态的, 所以不要指定按钮的 class, 而要从按钮与工具栏的HTML层级关系分析. 把上述需求发给GPT, 得到 .Qy5T6b.O3LMFb.QduVPe * {     /* 强制元素显示。display: initial 尝试恢复元素的默认显示类型,通常比强制 display: block 更安全。 */     display: initial !important;          /* 确保元素可见 (覆盖 visibility: hidden) */     visibility: visible !important;     /* 确保元素不透明 (覆盖 opacity: 0) */     opacity: 1 !important;          /* 移除可能导致元素被灰色化或隐藏的滤镜效果 */     filter: none !important; } 实践与调试 在 Stylebot 中设置刚刚GPT给的结果, 得到 可以看到有初步效果, 但是显示得太多了. 继续在F12模式下进行简单的分析. 可以看到 下拉菜单选项啊, 说明文字啊, 都显示出来了. 如果我们限制 只显示到 按钮这一层, 会是什么效果呢? 问了一下GPT CSS语法,  改成这样 .Qy5T6b.O3LMFb.QduVPe ...

用Stylebot插件 修改blogger编辑器宽度 隐藏右栏

图片
Stylebot https://chromewebstore.google.com/detail/stylebot/oiaejidbmkiecgbjeifoejpgmdaleoha 思路基于 上一篇 用Stylish插件修改blogger编辑器宽度 我今天有个想法, 专心写的时候, 右边栏那些 东西我其实不关心. 不如把它们隐藏起来好了.  这样我的编辑区域又能变大一点. 经过一番 F12 工具的使用. 最终结果 www.blogger.com/blog/*/edit/* /* 左栏撑满 */ .fmzcZd {     padding-right: 20px; } /* 编辑区最大化 */ .a89Sje {   max-width: 100%; } /* 右栏隐藏 */ .vW7mGd {   display: none; } 使用效果如下 尾巴 其实对我来说, 还不算 完美.  因为工具栏 还是有个 ...  但实际上的宽度是够的 Github https://github.com/crazypeace/blogger-editor-css ======== 相关推荐 《在 Blogger 的内容中使用 markdown》 《Blogger 首页显示博文的标签》 《Blogger引入google的code-prettify实现代码高亮》

Cloudflare worker 反代 blogspot 实现免翻墙域名镜像站 path关键词屏蔽

图片
前面实现了一个反代 blogspot 实现免翻墙域名镜像站 .  用KV中保存需要屏蔽的path的方式, 做到了, 指定path显示固定页面, 而不是原页面的功能. 有的用户也许会觉得, 写了一篇不想在墙内显示的博文, 还要去KV里面添加一条记录, 好麻烦呀. 还有一个办法, 就是对path先进行关键字筛选, 含有关键字的path, 直接就显示固定页面, 不需要去查KV了. 比如, 我在写博文的时候, 就有自定义链接的习惯, 会在 xxx.html 的这个xxx里面 包含博文的主题 https://zelikk.blogspot.com//2022/01/v2ray-caddy-ws-tls-cdn.html 利用GPT开发, 把 项目的work.js 丢进去, 附上这么一段话 GPT返回的结果有问题. 直接return Response 再多打几句. 这样的结果就对了. 更新到Github https://github.com/crazypeace/cf-worker-proxy-blogspot 演示站 https://crazypeace.eu.org/

Cloudflare worker 反代 blogspot 实现免翻墙域名镜像站 绑定KV屏蔽path列表

图片
灵感 我有了一个想法, 想提高我这个博客在GFW墙内搜索引擎的曝光. 思路 1. 需要有一个没有被墙的域名, 用来访问我的博客 2. 我不想使用blogspot的自定义域名方案.  一是, 我原来的域名已经在墙外的搜索引擎中存在多年. 二是, 如果改为使用自己的域名, 我就需要维护域名的解析. 如果遇到攻击, 域名解析受影响, 我需要额外做不少工作.  3. 所以我需要一个没有被墙的域名作为镜像站 4. 作为墙内可以直接访问的域名, 显示的内容也应该是不涉及翻墙的. 所以需要屏蔽掉直接描述翻墙节点搭建, 翻墙工具使用的博文. 具体细节 1. Cloudflare worker反代是好多年的技术了. 可以做到显示 html 的效果. 2. 图片 来自 https://blogger.googleusercontent.com 可以用 uniproxy 的技术. 在第1步获得html之后, 把里面所有访问 https://blogger.googleusercontent.com 的链接前面加上 uniproxy  3. CSS 对于 blogspot 来说, 是内嵌在html中的. 4. js 我不想管了, 在我的blogspot中, 对页面的阅读影响不大.  5. 跳转到其它页面的链接 在第1步获得html之后, 查找替换, 把blogspot域名替换为免翻墙域名. 6. worker绑定一个KV, 里面保存我不希望在墙内显示的链接. 当访问这些链接时, 显示一个固定的页面. 落实 反代 worker 在google中搜索"cloudflare worker 反代 代码", 没想到直接就给了AI结果 因为本项目体量不大, 而现在的各个GPT上下文都足够大, 哪怕我的M$ copilot使用受限了, 我也可以直接把全量代码复制粘贴, 再附上我的功能描述, 丢给gemini啊 chatgpt啊 去生成代码. chatgpt 5.0 有限额, 但是我的项目比较简单, 哪怕降级成 GPT-4 也有用. 具体的调试过程还是有点繁琐的, 就是遇到个问题, 复制代码加上报错信息(或者是自己想要做到什么功能的描述), 丢给GPT, 得到答案, 再部署应用, 再测试, ... 不断循环, ... 最终成果 Github htt...

Blogger 不换行空格NBSP问题的后续

图片
上一篇讲到我发现了我的博文的代码段有可能含有NBSP的问题. 今天偶然发现, 复制代码段的按钮, 得到的结果会含有NBSP. 比如, 下面的例子. 用鼠标选择, 右键菜单复制, 得到的结果是左边的. 点击代码段的复制按钮, 得到的结果是右边的. (包含一些NBSP字符) 我拿我的代码和问题描述去问 claude. 方案1 将innerText改为textContent 具体实施 https://crazypeace.github.io/blogger-replace-blockquote-to-pre/blockquote-add-copy-button1.js 测试结果不对. 不仅继续含有NBSP, 而且换行也没有了. 拿上面的问题继续问 claude 方案2 在innerText得到的结果中, 针对性地清理NBSP 原有的代码是"浓缩"为一整行的JS, 我很难在里面找到特定的位置修改, 也担心眼睛看花修改错. 所以我把原有的一整行JS丢给claude, 要求修改后输出同样的一整行给我. 我再落实到自己的代码中, 具体实施 https://crazypeace.github.io/blogger-replace-blockquote-to-pre/blockquote-add-copy-button2.js 测试结果不错, NBSP没有了.  不过, 原文中的 1个空行, 会变成2个空行. 不影响使用, 不管了. ======== 最终采用方案2, 同步到原项目中 https://crazypeace.github.io/blogger-replace-blockquote-to-pre/blockquote-add-copy-button.js 我的项目的使用者不需要做改动.

在 Blogger 的内容中使用 markdown

图片
群里有人讨论如何在blogger中使用markdown 思路 以前在 短链转markdown日记本 的方案中, 页面内容<textarea>中是markdown格式文本, 外面再挂一段简单的JS转换markdown到HTML.

Blogger给blockquote代码段添加复制按钮

图片
上回书说到 , 我还是回到了用blockquote显示代码的方案. 那么, 没有复制按钮还是不方便呀.

Blogger最适合我的 还是不用代码高亮 / code-prettify / Prism / highlight.js

图片
除了 google 的  code-prettify , 其实我也尝试过 Prism 和 highlight.js Prism 用法 在blogspot的模板里添加 <link href='https://cdn.jsdelivr.net/npm/prismjs@1.29.0/themes/prism.min.css' rel='stylesheet'/> <script src='https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-core.min.js'/> <script src='https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/autoloader/prism-autoloader.min.js'/> 效果 Prism没有自动识别代码的功能. 需要写blog时, 切换到html模式手动写 pre code 以及指定代码类型 可以有下面这样的效果. (当然, 配色方案能找到很多选择) highlight.js 用法 <link href='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css' rel='stylesheet'/> <script src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js'/> <script>hljs.initHighlightingOnLoad();</script> 效果 highlight.js可以自动识别代码类型, 不过也不怎么准, bash识别成 Ruby 如果想bash识别准确, 每行命令前面要打那个#号. 那这样又不方便直接复制之后在命令行里直接粘贴运行了. 对JS代码的判断还正常. 还有一个最大的问题, 我把blockquote替换为pre code之后, highlight.js总...

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

搭 Docker版 Sub-Store订阅转换专家 带 http-meta 实现 集合订阅 测延迟 排序 筛选 生成新订阅 定时任务上传Gist

酒馆SillyTavern 用中文讲故事 修改角色卡 修改AI生成的历史记录