hexo-deployer-s3
Amazon S3 deployer plugin for Hexo
Installation
$ npm install hexo-deployer-s3 --save
Options
You can configure this plugin in _config.yml
.
# You can use this:deploy:type: s3bucket: <S3 bucket>aws_key: <AWS id key> // Optional, if the environment variable `AWS_ACCESS_KEY_ID` is setaws_secret: <AWS secret key> // Optional, if the environment variable `AWS_SECRET_ACCESS_KEY` is setaws_cli_profile: <an AWS CLI profile name, e.g. 'default'> // Optionalconcurrency: <number of connections> // Optionalregion: <region> // Optional, see https://github.com/LearnBoost/knox#regionheaders: <headers in JSON format> // pass any headers to S3, usefull for metadata cache setting of Hexo assetsprefix: <prefix> // Optional, prefix ending in /delete_removed: <true|false> // if true will delete removed files from S3. Default: true
If you installed the AWS command-line tool and provided your credentials via aws configure
,
you can re-use those credentials. Specify a value for aws_cli_profile
, such as "default",
and leave aws_key
, aws_secret
, and region
blank.
If you provide key, secret, and/or region explicitly or via the environment,
they will override what's in your AWS CLI profile.
Example: header Cache-Control
deploy:type: s3bucket: my-site-bucketheaders: {CacheControl: 'max-age=604800, public'}
This will set "Cache-Control" header in every file deployed to max-age 1 week. This solves "Leverage browser caching" on most page speed analyzers. For custom metadata use:
headers: {Metadata : { x-amz-meta-mykey: "my value" }}
Contributors
- Josh Strange (joshstrange; original implementation)
- Josenivaldo Benito Jr. (JrBenito)
License
MIT