mirror of https://github.com/curbengh/hexo-yam
				
				
				
			| Bumps [oven-sh/setup-bun](https://github.com/oven-sh/setup-bun) from 1 to 2. - [Release notes](https://github.com/oven-sh/setup-bun/releases) - [Commits](https://github.com/oven-sh/setup-bun/compare/v1...v2) --- updated-dependencies: - dependency-name: oven-sh/setup-bun dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
|---|---|---|
| .github | ||
| lib | ||
| test | ||
| .gitignore | ||
| .npmrc | ||
| .snyk | ||
| LICENSE | ||
| README.md | ||
| bunfig.toml | ||
| index.js | ||
| package.json | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	hexo-yam
Yet Another Minifier for Hexo. Minify HTML, JS, CSS, SVG, XML and JSON. Compress static web assets using gzip, brotli and zstd.
Table of contents
Installation
$ npm install --save hexo-yam
Options
minify:
  enable: true
  previewServer: true
  html:
  css:
  js:
  svg:
  gzip:
  brotli:
  xml:
  json:
- enable - Enable the plugin. Defaults to true.
- previewServer - Disable the plugin when running hexo server. Defaults totrue.
- html - See HTML section
- css - See CSS section
- js - See JS section
- svg - See SVG section
- gzip - See Gzip section
- brotli - See Brotli section
- xml - See XML section
- json - See JSON section
HTML
minify:
  html:
    enable: true
    exclude:
- enable - Enable the plugin. Defaults to true.
- priority - Plugin's priority. Defaults to 10. Set lower value to set higher priority and vice versa.
- verbose - Verbose output. Defaults to false.
- exclude - Exclude files. Support wildcard pattern(s) in a string or array.
- globOptions - See globbing section.
For more options, see HTMLMinifier.
CSS
minify:
  css:
    enable: true
    exclude:
      - "*.min.css"
- enable - Enable the plugin. Defaults to true.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- exclude - Exclude files. Support wildcard pattern(s) in a string or array.
- level - Optimization level. Defaults to 2.
- globOptions - See globbing section.
For more options, see clean-css.
JS
minify:
  js:
    enable: true
    exclude:
      - "*.min.js"
- enable - Enable the plugin. Defaults to true.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- exclude - Exclude files. Support wildcard pattern(s) in a string or array.
- compress - Compress options.
- mangle - Mangle variable names. Defaults to true. Pass an object to specify mangle options.
- output - Output options.
- To retain comments, output: {comments: true}.
 
- To retain comments, 
- globOptions - See globbing section.
For more options, see Terser.
SVG
minify:
  svg:
    enable: true
    include:
      - "*.svg"
      - "!*.min.svg"
- enable - Enable the plugin. Defaults to true.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- include - Include files. Support wildcard pattern(s) in a string or array.
- Exclude *.min.svgby default.
 
- Exclude 
- plugins - Plugin options.
- Examples:
 plugins: # Retain comments removeComments: false # Do not remove unused ID attributes cleanupIds: false- For more options, see svgo.
 
- globOptions - See globbing section.
XML
Remove whitespaces in xml.
minify:
  xml:
    enable: false
    include:
      - "*.xml"
      - "!*.min.xml"
- enable - Enable the plugin. Defaults to false.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- include - Include files. Support wildcard pattern(s) in a string or array.
- Exclude *.min.xmlby default.
 
- Exclude 
- removeComments - Remove comments in xml. Defaults to true.
- globOptions - See globbing section.
For more options, see minify-xml.
JSON
Remove whitespaces in json.
minify:
  json:
    enable: false
    include:
      - "*.json"
      - "!*.min.json"
- enable - Enable the plugin. Defaults to false.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- include - Include files. Support wildcard pattern(s) in a string or array.
- Exclude *.min.jsonby default.
 
- Exclude 
- globOptions - See globbing section.
Gzip
minify:
  gzip:
    enable: true
    include:
      - "*.html"
      - "*.css"
      - "*.js"
      - "*.txt"
      - "*.ttf"
      - "*.atom"
      - "*.stl"
      - "*.xml"
      - "*.svg"
      - "*.eot"
      - "*.json"
- enable - Enable the plugin. Defaults to true.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- include - Include files. Support wildcard pattern(s) in a string or array.
- Support one-liner, include: ['*.html','*.css','*.js'].
- Must include asterisk and single quotes. .htmlis invalid.'*.html'is valid.
 
- Support one-liner, 
- globOptions - See globbing section.
- level - Compression level; lower value may results in faster compression but slightly larger (compressed) file. Range 1-9. Defaults to9, or the value ofzlib.constants.Z_BEST_COMPRESSION
Brotli
minify:
  brotli:
    enable: true
    include:
      - "*.html"
      - "*.css"
      - "*.js"
      - "*.txt"
      - "*.ttf"
      - "*.atom"
      - "*.stl"
      - "*.xml"
      - "*.svg"
      - "*.eot"
      - "*.json"
- enable - Enable the plugin. Defaults to true.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- include - Include files. Support wildcard pattern(s) in a string or array.
- globOptions - See globbing section.
- level - Compression level. Range 1-11. Defaults to11, or the value ofzlib.constants.BROTLI_MAX_QUALITY
Zstd
minify:
  zstd:
    enable: false
    include:
      - "*.html"
      - "*.css"
      - "*.js"
      - "*.txt"
      - "*.ttf"
      - "*.atom"
      - "*.stl"
      - "*.xml"
      - "*.svg"
      - "*.eot"
      - "*.json"
- enable - Enable the plugin. Defaults to false.
- priority - Plugin's priority. Defaults to 10.
- verbose - Verbose output. Defaults to false.
- include - Include files. Support wildcard pattern(s) in a string or array.
- globOptions - See globbing section.
- level - Compression level. Range 1-22. Defaults to3, or the value ofDEFAULT_LEVEL
Cannot find module '@mongodb-js/zstd-linux-x64-gnu'
npm install --save @mongodb-js/zstd-linux-x64-gnu
- @mongodb-js/zstd-darwin-arm64 (Apple Silicon)
- @mongodb-js/zstd-darwin-x64 (Intel Mac)
- @mongodb-js/zstd-linux-arm64-gnu
- @mongodb-js/zstd-linux-arm64-musl (Alpine)
- @mongodb-js/zstd-linux-x64-gnu
- @mongodb-js/zstd-linux-x64-musl (Alpine)
- @mongodb-js/zstd-win32-x64-msvc
Globbing
Use "globOptions" to customise how glob patterns match files. Refer to micromatch for available options.
- basename is enabled by default, unless the pattern has a slash.
- basename is disabled depending on each pattern.
- This means the following options would work,
exclude:
  - "*foo.html" # basename is enabled
  - "**/bar/*/*.html" # basename is automatically disabled
  - "*baz.css" # basename is enabled
globOptions:
  basename: true # default
- This behaviour doesn't apply to pattern that starts with !(negation).
- This limitation only applies to include:option used in svg, gzip and brotli.
- This means the following options would not work,
include:
  - "!foo.svg"
  - "!**/bar/*/*.svg"
globOptions:
  basename: true
- basename will stay disabled, if explicitly disabled in "globOptions".
Credits
All credits go to the following work:
- hexo-neat by rozbo
- gzip feature is inspired by hexo-generator-optimize