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:
|
||||
# stable site
|
||||
- name: build_stable
|
||||
image: klakegg/hugo:ext-alpine-ci
|
||||
image: floryn90/hugo:ext-alpine-ci
|
||||
user: root
|
||||
environment:
|
||||
HUGO_SECURITY_HTTP_URLS: none
|
||||
commands:
|
||||
|
@ -15,7 +16,8 @@ steps:
|
|||
|
||||
# staging site
|
||||
- name: build_staging
|
||||
image: klakegg/hugo:ext-alpine-ci
|
||||
image: floryn90/hugo:ext-alpine-ci
|
||||
user: root
|
||||
environment:
|
||||
HUGO_SECURITY_HTTP_URLS: none
|
||||
commands:
|
||||
|
@ -78,5 +80,3 @@ steps:
|
|||
# `${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}**
|
||||
#
|
||||
# ${DRONE_PULL_REQUEST_TITLE}](${DRONE_COMMIT_LINK})
|
||||
|
||||
# provoke build
|
Loading…
Reference in a new issue