1.0.9 • Published 4 months ago

hexo-deployer-tencent v1.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

hexo-deployer-tencent

一个 Hexo 部署插件,用于将静态文件上传到腾讯云对象存储(COS)并刷新 CDN 缓存。

功能概述

该插件提供以下功能:

  • 将指定路径的静态文件上传至腾讯云对象存储,通过 MD5 校验仅上传变更内容。
  • 支持根据配置自动清理对象存储(COS)中的冗余文件,默认关闭此功能。
  • 依据配置,使用指定域名刷新变更文件的 CDN 缓存,支持配置多个域名。
  • 可根据配置文件,在刷新 CDN 缓存时过滤指定目录下的文件,灵活控制刷新范围。
  • 支持根据配置,在刷新 CDN 时将永久链接尾部的 index.html 转换为根路径形式。

安装使用

  1. 在 Hexo 项目根目录下运行以下命令安装插件:

    npm install hexo-deployer-tencent
  2. 运行以下命令生成并部署静态文件:

    hexo generate && hexo deploy

配置示例

在 Hexo 的 _config.yml 中添加以下配置:

deploy:
  type: tencent-cos
  secret_id: your_secret_id
  secret_key: your_secret_key
  bucket: your_bucket
  region: your_region
  upload_dir: public  # 默认上传 Hexo 的 public 目录
  cdn_domains:
      - domain: https://static.example.com
        ignore_extensions: ['.html']
      - domain: https://example.com
        ignore_paths: ['/js', '/css', '/img']
  remove_remote_files: true  # 是否删除 COS 中多余的远程文件
  refresh_index_page: true  # 是否将 index.html 刷新为根路径
  concurrency: 10  # 腾讯云 API 并发数

cdn_domains 支持配置多个域名,适用于一个存储桶绑定多个自定义域名的场景,可通过 ignore_pathsignore_extensions 灵活指定 CDN 刷新时需要过滤的目录或文件格式。

属性说明

属性名类型是否必填默认值描述
secret_idString腾讯云 API 的 Secret ID,用于身份验证。
secret_keyString腾讯云 API 的 Secret Key,用于身份验证。
bucketString腾讯云 COS 的存储桶名称,例如 my-bucket-1250000000
regionString存储桶所在区域,例如 ap-guangzhou
upload_dirString本地上传目录,相对于 Hexo 根目录,通常为 public
cdn_domainsArray[]CDN 加速域名列表,每项可包含 ignore_paths,未设置则不刷新 CDN。
cdn_domains.domainString加速域名,以 https://http:// 开头。
cdn_domains.ignore_pathsArray忽略路径,支持多个相对(upload_dir)路径。
cdn_domains.ignore_extensionsArray忽略格式,例:'.html', '.txt'
remove_remote_filesBooleanfalse是否删除 COS 中不在本地文件列表中的远程文件。
refresh_index_pageBooleanfalse是否将 index.html 的 CDN 刷新 URL 转换为根路径(例如 /)。
concurrencyNumber10文件上传和 CDN 刷新的并发数,受限于腾讯云 API 并发限制。

注意事项

  • 必填项secret_idsecret_keybucketregionupload_dir 是必须提供的。
  • 可选项:未设置的可选项将使用默认值,默认行为是上传文件但不删除远程文件或刷新 CDN。
  • 路径处理upload_dir 是相对于 Hexo 项目根目录的路径,通常应设置为 public
  • 永久链接:当永久链接中去除尾部的 index.html 时,CDN 刷新缓存时应刷新 / 而非 /index.html

处理流程

处理流程

许可证

MIT License

1.0.9

4 months ago

1.0.8

4 months ago

1.0.7

4 months ago

1.0.6

4 months ago

1.0.5

4 months ago

1.0.3

4 months ago

1.0.2

4 months ago

1.0.1

4 months ago

1.0.0

4 months ago