Deploy Hugo static websites to AWS
Project description
CDK-Hugo-Deploy
This is an AWS CDK Construct for easily deploying Hugo Static websites to AWS S3 behind SSL/Cloudfront.
Usage
Before deploying, run the hugo
command in your Hugo project to generate a built site in the public
directory.
Typescript
import { App, Stack, StackProps } from 'aws-cdk-lib';
import { HugoDeploy } from 'cdk-hugo-deploy';
export class MyStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
new HugoDeploy(this, 'HugoDeploy', {
publicDir: 'path/to/hugo-project/public',
domainName: 'example.com' // Domain you already have a hosted zone for
});
}
Python
from constructs import Construct
from aws_cdk import Stack
from cdk_hugo_deploy import HugoDeploy
class MyStack(Stack):
def __init__(self, scope: Construct, id: str, **kwargs):
super().__init__(scope, id, **kwargs)
HugoDeploy(self, "HugoDeploy",
public_dir="path/to/hugo-project/public",
domain_name="example.com"
)
Prerequisites
Assumes that there is already a Route53 hosted zone for domainName
that can be looked up
Why this construct?
Other constructs for deploying Single Page Applicationis (SPA) such as CDK-SPA-Deploy don't account for how Hugo handles paths that end in /
.
This construct includes a Cloudfront Function to rewrite paths to ensure /path/to/page/
will request /path/to/page/index.html
from the S3 Origin.
Contributing
Please open an issue with any updates/features you'd like on this
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cdk_hugo_deploy-0.0.346-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7d2d2c73d9362859a24781e20d73996901da42dd8c6c22e9f2757407637f3d8 |
|
MD5 | 72fc61e2df1c0ce89d39d2f1ca13a8be |
|
BLAKE2b-256 | 15a4d006497d2641366e1d30b22c7b7705ea5467bbdf664555b4935f481dc981 |