Use maintained Hugo image for CI + add devcontainer config
This commit is contained in:
parent
d03d9fef68
commit
9c0de66d7e
56
.devcontainer/Dockerfile
Normal file
56
.devcontainer/Dockerfile
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04
|
||||||
|
|
||||||
|
ARG USER=vscode
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN usermod -s /usr/bin/zsh ${USER}
|
||||||
|
|
||||||
|
# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version.
|
||||||
|
ARG VARIANT=hugo_extended
|
||||||
|
# VERSION can be either 'latest' or a specific version number
|
||||||
|
ARG VERSION=latest
|
||||||
|
|
||||||
|
# Download Hugo
|
||||||
|
RUN 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
|
||||||
|
|
||||||
|
|
||||||
|
USER ${USER}
|
||||||
|
ARG HOME=/home/${USER}
|
||||||
|
WORKDIR ${HOME}
|
||||||
|
|
||||||
|
ARG PNPM_HOME=${HOME}/.local/share/pnpm
|
||||||
|
ENV PATH="${PNPM_HOME}:$PATH"
|
||||||
|
RUN <<EOT
|
||||||
|
wget -qO- https://get.pnpm.io/install.sh | ENV="${HOME}/.zshrc" SHELL=/bin/zsh sh -
|
||||||
|
pnpm env use -g lts
|
||||||
|
EOT
|
||||||
|
|
||||||
|
ARG OHMYZSH_HOME=${HOME}/.oh-my-zsh
|
||||||
|
|
||||||
|
# ARG OHMYZSH_THEME=${OHMYZSH_HOME}/custom/themes
|
||||||
|
# RUN <<EOT
|
||||||
|
# git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${OHMYZSH_THEME}/powerlevel10k
|
||||||
|
# sed -i 's|ZSH_THEME="devcontainers"|ZSH_THEME="powerlevel10k/powerlevel10k"|g' .zshrc
|
||||||
|
# echo 'POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true' >> .zshrc
|
||||||
|
# EOT
|
||||||
|
|
||||||
|
RUN <<EOT
|
||||||
|
hugo completion zsh > ${OHMYZSH_HOME}/plugins/git/_hugo
|
||||||
|
EOT
|
51
.devcontainer/devcontainer.json
Normal file
51
.devcontainer/devcontainer.json
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{
|
||||||
|
"name": "Hugo & pnpm",
|
||||||
|
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile"
|
||||||
|
},
|
||||||
|
|
||||||
|
// 👇 Features to add to the Dev Container. More info: https://containers.dev/implementors/features.
|
||||||
|
// "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} },
|
||||||
|
|
||||||
|
// 👇 Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||||
|
// "forwardPorts": [],
|
||||||
|
|
||||||
|
// 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": [
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-front-matter
|
||||||
|
"eliostruyf.vscode-front-matter",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=rusnasonov.vscode-hugo
|
||||||
|
"rusnasonov.vscode-hugo",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode
|
||||||
|
"budparr.language-hugo-vscode",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-hugo-themer
|
||||||
|
"eliostruyf.vscode-hugo-themer",
|
||||||
|
// https://marketplace.visualstudio.com/items?itemName=kaellarkin.hugo-shortcode-syntax
|
||||||
|
"kaellarkin.hugo-shortcode-syntax",
|
||||||
|
|
||||||
|
// "csstools.postcss",
|
||||||
|
|
||||||
|
// "esbenp.prettier-vscode",
|
||||||
|
// "tamasfe.even-better-toml",
|
||||||
|
// "naumovs.color-highlight",
|
||||||
|
// "GitHub.vscode-pull-request-github",
|
||||||
|
// "eamodio.gitlens",
|
||||||
|
"davidanson.vscode-markdownlint",
|
||||||
|
"streetsidesoftware.code-spell-checker"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"remoteUser": "vscode",
|
||||||
|
|
||||||
|
"postCreateCommand": "pnpm install-completion zsh"
|
||||||
|
}
|
|
@ -4,7 +4,8 @@ name: default
|
||||||
steps:
|
steps:
|
||||||
# stable site
|
# stable site
|
||||||
- name: build_stable
|
- name: build_stable
|
||||||
image: klakegg/hugo:ext-alpine-ci
|
image: floryn90/hugo:ext-alpine-ci
|
||||||
|
user: root
|
||||||
environment:
|
environment:
|
||||||
HUGO_SECURITY_HTTP_URLS: none
|
HUGO_SECURITY_HTTP_URLS: none
|
||||||
commands:
|
commands:
|
||||||
|
@ -15,7 +16,8 @@ steps:
|
||||||
|
|
||||||
# staging site
|
# staging site
|
||||||
- name: build_staging
|
- name: build_staging
|
||||||
image: klakegg/hugo:ext-alpine-ci
|
image: floryn90/hugo:ext-alpine-ci
|
||||||
|
user: root
|
||||||
environment:
|
environment:
|
||||||
HUGO_SECURITY_HTTP_URLS: none
|
HUGO_SECURITY_HTTP_URLS: none
|
||||||
commands:
|
commands:
|
||||||
|
@ -78,5 +80,3 @@ steps:
|
||||||
# `${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}**
|
# `${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}**
|
||||||
#
|
#
|
||||||
# ${DRONE_PULL_REQUEST_TITLE}](${DRONE_COMMIT_LINK})
|
# ${DRONE_PULL_REQUEST_TITLE}](${DRONE_COMMIT_LINK})
|
||||||
|
|
||||||
# provoke build
|
|
Loading…
Reference in a new issue