惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

win or mac clash 无 TUN 让 Antigravity、Chrome 强制 proxy(解决 Antigravity 无法加载选择 model、自动更新无法登录、跳转) 【大杂烩】在 pnpm 中直接修改 node_modules(.pnpm) 中的依赖项,项目中持久化 - pnpm 中的依赖处理、幽灵依赖、寻址规则等 在 html 中直接使用 Esm、Jsx 脚本快速调试和使用 React@19 和 Vue@3 源码,解决 React19 UMD 构建等问题 一键在本地批量检测并升级更新 package.json 中的模块依赖,ncu(npm-check-updates)在 npm、pnpm 或 workspace 项目中的使用教程 解决 Mac Docker Desktop 中启动出现的问题合集 通过阿里云、腾讯云无服务器搭建自定义的企业域名邮箱,实现在 QQ邮箱 收发等功能(附腾讯 SMTP 和 IMAP) 解决使用代理(clash 等)进行 SSH 连接(如 Github ssh key clone/push)出现 kex_exchange_identification 错误 静态文件资源 cdnjs, jsdelivr 抖音字节国内快速 CDN 镜像推荐【2025】- 仍在使用 bootcdn 和 staticfile CDN 请注意验证资源的完整性(SRI) pnpm monorepo 中管理依赖的最佳实践,与 Catalogs(目录)协议的使用(monorepo 中统一版本管理) Web 安全中的 Secure Contexts(安全上下文)- 解决在本地中使用 clipboard 或 Crypto 等 API 限制或关闭上下文限制 使用 serve 配合 openssl 或 mkcert 创建本地自签名可信任的证书 - 创建本地 TLS\SSL https 协议服务 利用 Github Actions 和 Acme 自动申请、更新和部署至阿里云、腾讯云 CDN Lets Encrypt SSl\TLS ECC RSA 双证书 【CSS】解决在 flex 容器中使用 align-content 或 justify-content 属性 center 居中时的溢出滚动和截断问题 - 理解 safe 关键字 在线工具 - 一键获取下载抖音无水印视频、抖音去水印解析工具、下载抖音无水印高清图集【2025 最新】 【React Router】v6 data router 在非组件(或工具方法)中如何优雅的跳转路由 【React】为什么路由跳转时页面滚动高度不会被重置(保留上个页面高度)?理解 history scrollRestoration 的场景与使用,以及如何使用 React Router 重置和跳转前保留滚动高度 【React】在本地 Html 中快速 debug(调试)React 源码 【React】结合源码和 EventLoop 分析 - 为什么 useLayoutEffect 会阻止 DOM 重绘(而 useEffect 闪烁)?为什么其内部 useState 会“同步”执行? React Compiler - 解放在函数中编程时的性能焦虑(React Conf 2024)附 Next 在线演示 在 github actions 中获取时间,并转换为中国标准时间(中国时区) 【npm】npm ci - npm clean install,在 CI、CD 中保持构建的一致性和可重复性 eslint 9.x 升级或使用指南,eslint.config.js 配置,包含 react、typescript、prettier 等常用配置升级迁移 使用 Spicetify 自定义 Spotify - 歌词翻译、全屏展示、主题替换 在 node 中快速代理请求(Proxy),解决跨域或请求转发问题 - http-proxy-middleware 修改请求体和返回 在 Hexo 中使用 AI(Gemini、deepseek、Azure)生成文章摘要,支持自定义模板。hexo-ai-summaries 插件文档(默认适配主题 Butterfly) 解决在 webstorm 或 idea 等 jetbrains 工具中遇到 Git 无法 force push,或 force push 灰色禁用无法点击(protected branches) 一文吃透 pnpm 如何使用 workspace 构建 monorepo,与 npm、yarn 的用法对比(pnpm 9.x 内部安装依赖问题 link-workspace-packages) 【Node】Corepack - 解决 pnpm 或 yarn 的多版本管理、解决本地版本与 packageManager 中的版本一致性问题 解决 npm、cnpm 或 pnpm install 遇到 certificate has expired (证书已过期) npm、yarn、pnpm 设置最新国内镜像源(附官方镜像源和最新阿里源),以及 nrm 的使用教程【2025】 解决从 docker desktop 内镜像 linux 创建的容器,启动就停止、无法启动等问题(无进程容器) docker(docker desktop)中设置国内镜像源加速(阿里云、中科大),以及代理和容器代理设置,解决桌面端无法登陆就退出问题 【CSS】解决外边距重叠(重合)引起的 margin 垂直方向(top、bottom)不生效,无作用的问题 【CSS】CSS-Nesting:CSS 嵌套写法 —— 有望替代 less sass 的原生嵌套 【CSS】解决移动端(高清方案)下在谷歌浏览器中出现 字体大小布局异常,和设置的 font-size 不符(Text Autosizer、Font Boosting) 【CSS】主流 UI 库都在用的逻辑伪类选择器 not、where、is、has 【windows 11】使用 wePe 纯净 制作pe启动盘 安装\重装\升级 windows 11(windows 10)详细教程,附 windows 11 跳过联网、分区等教程 【webpack】Externals(外部扩展)浅析 - webpack 5 【Windows】一句话(一键、一分钟、一段代码)清除 Windows 11(10) 快捷方式角标(小箭头) 【Git】cherry-pick 使用场景介绍,如何在 WebStorm 中使用 cherry-pick;(从分支中提取 commit 功能) 【message-channel】了解频繁出现在框架的 Message Channel,及在事件循环(Event Loop)中的表现 【web-worker】浅析 useWorker 库如何只需函数方法即可在 worker 内运行;如何区分 Web Socket、Web Worker和Service Worker? 【React】理解学习 React 17中的批处理 与 18 批处理 为何用谷歌(Chrome)浏览器下载PDF时有时预览有时下载? 【less】Parent Selectors & 和 &&(多个父选择器的用法及回顾)
hexo-seo-submit,Hexo 博客 SEO 优化插件 - 每日定时自动或手动提交链接至百度、Bing、Google,支持 Github Actions 和 Coding Jenkins 等CI(Hexo 插件编写)
kshao · 2024-06-12 · via

前言

hexo-seo-submit 插件,支持在 GithubCoding 平台中每天自动提交你的最新文章链接(或本地手动)至搜索引擎,让搜索引擎更快的收录你的文章。同样也支持命令行调用,支持多种场景~

插件由 typescript 编写,支持自动部署。有编码能力且有需求的话可以提 PR 哦~

现在很多插件都支持了 actions 中的自动化,由于早期入手 Hexo 时,追求访问速度(双线部署)选择 coding部署静态资源,也由于距离 github 过于遥远的原因~ 时常连接不上他。
哈哈,coding 虽然有优点不多,总归离得近~

点点 Star,感谢感谢~~

hexo-seo-submit

需要快速开发 Hexo 插件的同学,可以使用 corgii 快速生成插件模板,支持 typescript 哦。

pnpm dlx corgii@latest <folder-name>
# or
pnpm dlx corgii@latest

安装

npm install hexo-seo-submit
yarn add hexo-seo-submit
pnpm add hexo-seo-submit

使用

更改配置后,需要 hexo generate 后部署

github actions 中使用

在根目录中的 _config.yml 中配置插件。

需要注意!生成后的 actions 文件路径为:root/public/.github/workflows/hexo-seo-submit.yml,由于点开头的文件或文件夹默认被 hexo-deployer-git忽略,你需要在 _config.ymldeploy 中增加 ignore_hidden 配置。
若你不需要 deploy 的相关配置可忽略。

默认触发分支为 master,可自行更改

_config.yml

hexo-seo-submit: CI: # cron: 0 4 * * * # branch: master # default master enable: true baidu: enable: true google: enable: true bing: enable: true deploy: type: git repo: https://github.com/<username>/<project> # 注意~ ignore_hidden: false # 忽略隐藏文件及文件夹(目录)

配置环境变量

复制申请凭证中获取的值,注意粘贴时需去除引号name 可以直接复制表格

Name Value 说明
baidu_token 百度的 token
bing_apikey 必应的 apikey
google_private_key —–BEGIN PRIVATE KEY—–\n…..\n—–END PRIVATE KEY—–\n 谷歌的 private_key
google_client_email 谷歌的 client_email

谷歌的 private_key 在带引号或不带引号复制粘贴时,在 actions 变量输入框中将表现不一(如下的图一和图二)。带引号复制粘贴会在使用时转义 换行符\n => \\n or \\\\n),目前理论解决该问题,若遇到 routines::unsupported 可尝试直接复制粘贴引号内的内容~

图一:复制粘贴引号内的内容
图二:复制粘贴包含引号内容,再去除引号

[{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/google-key-1.webp","alt":"复制引号内的内容","title":""},{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/google-key-2.webp","alt":"复制的内容包含引号","title":""}]

在 Coding 中使用

启用后,运行 hexo generate 会在 public 下生成 Jenkinsfile。与 github CI 不同的是,触发规则和构建计划需要手动配置。

_config.yml

hexo-seo-submit: CI: enable: true platform: coding baidu: enable: true google: enable: true bing: enable: true

创建 构建计划

项目 => 持续集成 => 构建计划 创建一个新的构建计划。(注意~ 请选择使用代码库中的 Jenkinsfile

[{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmmxy07h9j30b40ug76k.webp?imageMogr2/thumbnail/!50p","dataset":{"originPic":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmmxy07h9j30b40ug76k.webp","thumbnail":""}},{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmmt10atqj31ts11e4ed.webp?imageMogr2/thumbnail/!50p","dataset":{"originPic":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmmt10atqj31ts11e4ed.webp","thumbnail":""}}]

配置节点池

如果你需要提交至 Google 的话,需要在构建计划设置 基础信息 中选择可以连接 Google 的节点

配置触发

触发规则 中可配置触发条件,例如:main 分支提交时触发和定时触发等。注意点保存

[{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmn9pfhxvj32i00tmtl6.webp?imageMogr2/thumbnail/!50p","dataset":{"originPic":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmn9pfhxvj32i00tmtl6.webp","thumbnail":""}},{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmn9p74jxj316e0yctfb.webp?imageMogr2/thumbnail/!50p","dataset":{"originPic":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmn9p74jxj316e0yctfb.webp","thumbnail":""}}]

配置变量

变量都不需要引号,复制粘贴 google_private_key 时需保持格式正确,建议连带引号复制,再去除即可

Name Value 说明
baidu_token 百度的 token
bing_apikey 必应的 apikey
google_private_key —–BEGIN PRIVATE KEY—–\n…..\n—–END PRIVATE KEY—–\n 谷歌的 private_key
google_client_email 谷歌的 client_email

[{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmn9q8iowj31p80mkk08.webp?imageMogr2/thumbnail/!50p","dataset":{"originPic":"https://static.ksh7.com/post/docs-hexo-seo-submit/0085UwQ9gy1hqmn9q8iowj31p80mkk08.webp","thumbnail":""}},{"url":"https://static.ksh7.com/post/docs-hexo-seo-submit/google-key-3.webp","alt":"","title":""}]

本地 deploy

本地执行 hexo deploy 时,hexo-seo-submit 会将 public 中生成的 urls 提交至搜索引擎、
你需要将申请的 Baidu tokenBing apikeyGoogle json 填入。如果你的网络环境连接 google 较慢的话,可以尝试使用 proxy 字段,支持 https
最后在 deploy 中配置启用该插件即可。

hexo-seo-submit:
  baidu:
    enable: true
    token: you baidu token
  google:
    enable: true
    accountKeysJSonFile: google.json
    proxy: http://127.0.0.1:7890
  bing:
    enable: true
    apiKey: your bing api key

# 注意在此处配置
deploy:
  - type: hexo-seo-submit

详细参数

hexo-seo-submit 配置参数描述

命令行使用

help

npx hexo-seo-submit -h
# or
npx hexo-seo-submit google -h

command

# baidu
$ npx hexo-seo-submit baidu -t <your baidu token> -s https://ksh7.com -f baidu.txt

# bing
# must .json file, Eg: { siteUrl: 'https://ksh7.com', urlList: ['xxx'] }
$ npx hexo-seo-submit bing -k <you bing api key> -f examples/files/bing.json

# google
# use Environment variables
$ export PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n..."
$ npx hexo-seo-submit google -f examples/files/baidu.txt -p http://127.0.0.1:7890 -m <your client_email here> -key "$PRIVATE_KEY"

# use json file
$ npx hexo-seo-submit google -f examples/files/baidu.txt -p http://127.0.0.1:7890 -a examples/files/google-keys.json

注意事项

  1. 搜索引擎中的 path 更改时注意后缀应于默认值保持一致
  2. google 连接缓慢?请使用 proxy 字段
  3. google push 失败?请注意 google_private_key 的格式
  4. 插件在CI中会抛出错误,但不会终止任务,首次需观察日志输出。

申请凭证

百度

百度站长平台 => 普通收录 => 资源提交 中得到 token

http://data.zz.baidu.com/urls?site=https://ksh7.com&token=***********

效果查看

一般 T+1,或查看 actions 中的运行日志。

Google

启用 Web Search Indexing API

创建 服务账号

点击 管理 按钮(API启用后即可看到),进入 凭据 菜单,选择 创建凭据 => 服务账号

填写 服务账号ID服务名称 可选,随后可直接点击 完成

创建 密钥

点击创建好的服务账号,点击 密钥 => 添加密钥,选择 创建新密钥,选择 JSON 格式,点击 创建,下载 json 文件

内容如下,在 github secrets 中分别对应 google_private_keygoogle_client_email。如果你为本地部署的话,该文件将是 accountKeysJSonFile 字段的值。
注意,在 github 中,复制 private_key 时不需要 引号,在 coding 中复制需要 引号

{
  "private_key": "-----BEGIN PRIVATE KEY-----\nxxxxxx\n-----END PRIVATE KEY-----\n",
  "client_email": "googleindexing@elated-guild-298003.iam.gserviceaccount.com"
}

授权 Google Search Console

验证

Bing

关联资源

API 密钥

点击右上角的 设置 => API 访问 => 复制 API 密钥 即可

验证

URL 提交菜单中可验证

star star ~

hexo-seo-submit