Florida Mesh - https://AreYouMeshingWith.us/ website
Infrastructure for this project is managed using Terraform in the terraform/ directory. The deployment leverages AWS Amplify for hosting, branch previews, and custom domain management.
Key components provisioned:
- AWS Amplify App: Hosts the static website, connects to the Git repository, and enables automatic branch creation/deletion for preview environments.
- AWS Amplify Branch: Configures the
mainbranch as the production branch and enables pull request previews. - AWS Amplify Domain Association: Associates your custom domain (and the
mta-stssubdomain) with the Amplify app, using a custom ACM certificate for HTTPS.
Notably:
- All static site hosting, CDN, and branch preview functionality are managed by AWS Amplify.
- No S3, CloudFront, or Route53 resources are directly managed in the Terraform code.
- DNS and ACM certificate management are assumed to be handled outside this Terraform configuration, except for referencing the ACM certificate.
See terraform/ for all configuration files and variables.
The website is generated by Hugo static HTML generator that is then deployed into the infrastructure managed via Terraform. The HB Framework used for the theme layout requires the Hugo extended version along with additional build tools. If you want to run a local dev server to test you will need the build tool installed.
Prerequisites:
- Hugo Extended (required for HB Framework)
- Node.js & npm
- HB Build Tools
With the prerequisite build tools installed you can run a local dev server to work on you can proceed with the following workflow:
npm ci
npm run devThis will run a local webserver that you can connect to and view your work.
Troubleshooting:
- If you see errors about missing Hugo features, ensure you have the extended version.
- If npm commands fail, check your Node.js version (recommend v18+).
This project supports GitHub Codespaces for a fully configured, cloud-based development environment. The included devcontainer provides all necessary tools and dependencies for local development and deployment.
- Git (latest, built from source)
- Go and common Go utilities, with the Go extension
- Node.js, npm, and eslint
- Hugo static site generator
- Terraform CLI, with optional TFLint and Terragrunt, and the Terraform extension
- Click the Code button on the repository page and select Open with Codespaces.
- Wait for the environment to build and initialize.
- All required tools are pre-installed and available on the
PATH. - The Hugo development server starts automatically—no need to run
hugo servermanually. - Use the integrated terminal and editor for development, testing, and deployment.
- Run Terraform commands:
terraform init terraform plan terraform apply
- Run Go or Node.js tools:
Usego,node, ornpmas needed. - Common Hugo tasks:
- Create new content:
hugo new blog/my-first-post.md
- Check site configuration:
hugo config
- Tidy Hugo modules (update/download required modules):
hugo mod tidy
- Create new content:
For more details, see the .devcontainer directory
If you would like to contribute, fork this repository and work on your content changes/updates. When you are satisfied submit your PR back to this repository to have it included.
Contribution steps:
- Fork this repo and create a new branch for your changes.
- Make your changes and commit with clear messages.
- Run
npm run devto test locally. - Push your branch and open a Pull Request.
- Add yourself to
content/authors/if you are a new contributor.
The most common Hugo command you'll need to understand will be hugo new content as most of the site configuration and theming will not need to be modified. It is beneficial to understand the Hugo directory structure to better understand how things work together.
.
├── Dockerfile
├── LICENSE
├── README.md
├── archetypes/ # Default content `kind`s
│ ├── blog.md
│ ├── docs.md
│ ├── gallery.md
│ └── tutorials.md
├── assets/
│ ├── favicon.ico
│ ├── hb/
│ ├── images/
│ │ └── logo.png
│ ├── jsconfig.json
│ └── mask-icon.svg
├── config/
├── content/
│ ├── _index.md
│ ├── archives/ # Contents managed by Hugo
│ │ ├── 2025/
│ │ │ └── _index.md
│ │ └── _index.md
│ ├── authors/ # If you contribute be sure to add yourself as an author
│ │ ├── _index.md
│ │ └── jbouse/
│ │ └── _index.md
│ ├── blog/ # Blog articles would go under here
│ │ └── _index.md
│ ├── categories/ # Contents managed by Hugo
│ │ └── _index.md
│ ├── docs/ # Documentation pages would go under here
│ │ ├── _index.md
│ │ ├── installation/
│ │ │ └── _index.md
│ │ └── introduction/
│ │ └── index.md
│ ├── gallery/ # Image gallery directories can go here
│ │ └── _index.md
│ ├── series/ # Contents managed by Hugo
│ │ └── _index.md
│ └── tags/ # Contents managed by Hugo
│ └── _index.md
├── docker-compose.yml
├── go.mod
├── go.sum
├── layouts/
├── package-lock.json
├── package.json
├── renovate.json
└── terraform/ # Terraform Infrastructure as Code