Hextra Starter Template
Initial Structure
The folder and file structure at the Initial commit was as follows.
- devcontainer.json
- pages.yml
- extensions.json
- _index.md
- leaf.md
- _index.md
- first-page.md
- _index.md
- about.md
CI/CD
devcontainer.json
The Visual Studio Code Dev Containers extension lets you use a container as a full-featured development environment. It allows you to open any folder inside (or mounted into) a container and take advantage of Visual Studio Code’s full feature set. A
devcontainer.jsonfile in your project tells VS Code how to access (or create) a development container with a well-defined tool and runtime stack. This container can be used to run an application or to separate tools, libraries, or runtimes needed for working with a codebase.
— Docs > DEV CONTAINERS > Overview (Visual Studio Code)
pages.yml
Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you’d like, including CI/CD, and combine actions in a completely customized workflow.
— GitHub Actions documentation
netlify.toml
The
netlify.tomlis a configuration file that specifies how Netlify builds and deploys your site — including redirects, branch and context-specific settings, and more.
— Build > Configure Builds > File-based configuration (Netlify Documentation)
Development Environment
extensions.json
A good set of extensions can make working with a particular workspace or programming language more productive and you’d often like to share this list with your team or colleagues. You can create a recommended list of extensions for a workspace with the Extensions: Configure Recommended Extensions (Workspace Folder) command.
In a single folder workspace, the command creates anextensions.jsonfile located in the workspace.vscodefolder where you can add a list of extensions identifiers ({publisherName}.{extensionName}).
— Docs > CONFIGURE > Extensions > Extension Marketplace (Visual Studio Code)
.gitignore
A
gitignorefile specifies intentionally untracked files that Git should ignore. Files already tracked by Git are not affected.
— Reference > Guides > gitignore (Git)
.gitpod.yml
Gitpod is not simply “moving your laptop into the cloud”. One key benefit of using a Cloud Development Environment (CDE) is reproducibility. When your workspace is configured, opening a new workspace is effortless—allowing you to fully embrace ephemeral development environments.
— Workspaces > Overview (ONA)
Hugo Configuration
content/**
A content format is a markup language for creating content. Typically Markdown, but may also be HTML, AsciiDoc, Org, Pandoc, or reStructuredText. Moreover, it means all blog sources.
(Ref. Hugo > Docs > Content management)
go.mod & go.sum
Each Go module is defined by a
go.modfile that describes the module’s properties, including its dependencies on other modules and on versions of Go.
At go 1.21 or higher: The go command is more careful about keeping checksums ofgo.modfiles in thego.sumfile.
— go.mod file reference (The Go Programming Language)
module github.com/imfing/hextra-starter-template
go 1.21
require github.com/imfing/hextra v0.11.1 // indirectWarning
I plan to keep the theme fixed to a specific version and track updates manually.
hugo.yaml
Configure your site using files, directories, and environment variables. Create a site configuration file in the root of your project directory, naming it
hugo.toml,hugo.yaml, orhugo.json, with that order of precedence.
— Docs > Configuration > All settings (Hugo)
Note
The best configuration file is a short configuration file.
Etc. - LICENSE & README.md
Hanc marginis exiguitas non caperet.