From f44e983f148454ddfbe592aa0f0d35d6c4fc219e Mon Sep 17 00:00:00 2001
From: Alexander Bilz <mail@alexbilz.com>
Date: Sat, 13 Jul 2024 15:47:44 +0000
Subject: [PATCH] feat: add devcontainer
---
.devcontainer/Dockerfile | 38 +++++++++++++++++++
.gitignore | 1
.devcontainer/devcontainer.json | 46 +++++++++++++++++++++++
3 files changed, 84 insertions(+), 1 deletions(-)
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 0000000..960e283
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1,38 @@
+# Update the NODE_VERSION arg in docker-compose.yml to pick a Node version: 18, 16, 14
+ARG NODE_VERSION=16
+FROM mcr.microsoft.com/devcontainers/javascript-node:${NODE_VERSION}
+
+# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version.
+ARG VARIANT=hugo
+# VERSION can be either 'latest' or a specific version number
+ARG VERSION=latest
+
+# Download Hugo
+RUN apt-get update && apt-get install -y ca-certificates openssl git curl && \
+ rm -rf /var/lib/apt/lists/* && \
+ case ${VERSION} in \
+ latest) \
+ export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\
+ esac && \
+ echo ${VERSION} && \
+ case $(uname -m) in \
+ aarch64) \
+ export ARCH=ARM64 ;; \
+ *) \
+ export ARCH=64bit ;; \
+ esac && \
+ echo ${ARCH} && \
+ wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-${ARCH}.tar.gz && \
+ tar xf ${VERSION}.tar.gz && \
+ mv hugo /usr/bin/hugo
+
+# Hugo dev server port
+EXPOSE 1313
+
+# [Optional] Uncomment this section to install additional OS packages you may want.
+#
+# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
+# && apt-get -y install --no-install-recommends <your-package-list-here>
+
+# [Optional] Uncomment if you want to install more global node packages
+# RUN sudo -u node npm install -g <your-package-list-here>
\ No newline at end of file
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..2765d8c
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,46 @@
+{
+ "name": "Hugo (Community)",
+ "build": {
+ "dockerfile": "Dockerfile",
+ "args": {
+ // Update VARIANT to pick hugo variant.
+ // Example variants: hugo, hugo_extended
+ // Rebuild the container if it already exists to update.
+ "VARIANT": "hugo",
+ // Update VERSION to pick a specific hugo version.
+ // Example versions: latest, 0.73.0, 0,71.1
+ // Rebuild the container if it already exists to update.
+ "VERSION": "latest",
+ // Update NODE_VERSION to pick the Node.js version: 12, 14
+ "NODE_VERSION": "14"
+ }
+ },
+
+ // Configure tool-specific properties.
+ "customizations": {
+ // Configure properties specific to VS Code.
+ "vscode": {
+ // Set *default* container specific settings.json values on container create.
+ "settings": {
+ "html.format.templating": true
+ },
+
+ // Add the IDs of extensions you want installed when the container is created.
+ "extensions": [
+ "bungcip.better-toml",
+ "davidanson.vscode-markdownlint"
+ ]
+ }
+ },
+
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
+ "forwardPorts": [
+ 1313
+ ],
+
+ // Use 'postCreateCommand' to run commands after the container is created.
+ // "postCreateCommand": "uname -a",
+
+ // Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
+ "remoteUser": "node"
+}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index b3bfa3d..a23e1d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,5 +4,4 @@
!.hugo/version
.hugo_build.lock
/node_modules
-.devcontainer
exampleSite/public/
--
Gitblit v1.10.0