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.233-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8319617561fee133d7f9b792644b5beecabe2426b043fb499b45d289dc1d39c5 |
|
MD5 | efa56eba72cc76f528c09a1359a6975b |
|
BLAKE2b-256 | 6a496d4ef470a5e8460b947f8de007c6158e014d6cc56ff109410e02c808ff69 |