Hextra Starter Template

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
  • .gitignore
  • .gitpod.yml
  • LICENSE
  • README.md
  • go.mod
  • go.sum
  • hugo.yaml
  • netlify.toml
  • 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.json file 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.toml is 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 an extensions.json file located in the workspace .vscode folder where you can add a list of extensions identifiers ({publisherName}.{extensionName}).

    Docs > CONFIGURE > Extensions > Extension Marketplace (Visual Studio Code)

    .gitignore

        A gitignore file 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.mod file 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 of go.mod files in the go.sum file.

    go.mod file reference (The Go Programming Language)

    go.mod
    module github.com/imfing/hextra-starter-template
    
    go 1.21
    
    require github.com/imfing/hextra v0.11.1 // indirect

    Warning

    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, or hugo.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.