From d81da22dfffee5b692136851bacdcd944e4bc912 Mon Sep 17 00:00:00 2001 From: Marco Ferrari Date: Sat, 19 Oct 2024 20:04:38 +0200 Subject: [PATCH] docs: wip --- config/mkdocs/home-lab-docs/mkdocs.yaml | 6 ++++ scripts/build-arduino-project.sh | 3 +- scripts/build-mkdocs-site.sh | 48 +++++++++++++++++++++++++ scripts/common.sh | 3 ++ scripts/run-ansible.sh | 6 ++-- 5 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 config/mkdocs/home-lab-docs/mkdocs.yaml create mode 100755 scripts/build-mkdocs-site.sh diff --git a/config/mkdocs/home-lab-docs/mkdocs.yaml b/config/mkdocs/home-lab-docs/mkdocs.yaml new file mode 100644 index 000000000..526a692ef --- /dev/null +++ b/config/mkdocs/home-lab-docs/mkdocs.yaml @@ -0,0 +1,6 @@ +# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json +docs_dir: "../../../../docs" +site_name: Home Lab docs +site_url: https://ferrarimarco.github.io/home-lab +theme: + name: material diff --git a/scripts/build-arduino-project.sh b/scripts/build-arduino-project.sh index 3a6aec4fc..ab1493b48 100755 --- a/scripts/build-arduino-project.sh +++ b/scripts/build-arduino-project.sh @@ -37,8 +37,7 @@ if [ -n "${ARDUINO_BOARD_PORT}" ]; then if [ ! -e "${ARDUINO_BOARD_PORT}" ]; then echo "[ERROR] ${ARDUINO_BOARD_PORT} is not available." # Ignoring because those are defined in common.sh, and don't need quotes - # shellcheck disable=SC2086 - exit ${ERR_ARGUMENT_EVAL} + exit "${ERR_ARGUMENT_EVAL}" fi if [ "${ARDUINO_UPLOAD:-"true"}" = "true" ]; then diff --git a/scripts/build-mkdocs-site.sh b/scripts/build-mkdocs-site.sh new file mode 100755 index 000000000..4f2fe4e88 --- /dev/null +++ b/scripts/build-mkdocs-site.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +# shellcheck source=/dev/null +. "./scripts/common.sh" + +# renovate: datasource=docker packageName=squidfunk/mkdocs-material versioning=docker +MKDOCS_CONTAINER_IMAGE_VERSION="9.5.41" +MKDOCS_CONTAINER_IMAGE="squidfunk/mkdocs-material:${MKDOCS_CONTAINER_IMAGE_VERSION}" + +echo "Running mkdocs: ${MKDOCS_CONTAINER_IMAGE}" + +SUBCOMMAND="${1}" +echo "Subcommand: ${SUBCOMMAND}" + +RUN_CONTAINER_COMMAND=( + docker run + --rm +) + +if [ -t 0 ]; then + RUN_CONTAINER_COMMAND+=( + --interactive + --tty + ) +fi + +RUN_CONTAINER_COMMAND+=( + --name "mkdocs" + --volume "$(pwd)":/docs + --volume /etc/localtime:/etc/localtime:ro + "${MKDOCS_CONTAINER_IMAGE}" +) + +if [[ "${1}" == "serve" ]]; then + RUN_CONTAINER_COMMAND+=( + "serve" + "--dev-addr=0.0.0.0:8000" + "--config-file" config/mkdocs/home-lab-docs/mkdocs.yaml + ) +elif [[ "${1}" == "bootstrap" ]]; then + RUN_CONTAINER_COMMAND+=( + "new" + . + ) +fi + +echo "Run container command: ${RUN_CONTAINER_COMMAND[*]}" +"${RUN_CONTAINER_COMMAND[@]}" diff --git a/scripts/common.sh b/scripts/common.sh index 4ad974006..64d4dea33 100755 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -15,6 +15,9 @@ CD_CONTAINER_URL="ferrarimarco/home-lab-cd:latest" GITHUB_TOKEN_PATH="$(pwd)/.github-personal-access-token" +# shellcheck disable=SC2034 +HOME_LAB_DOCS_CONFIGURATION_FILE_PATH="config/mkdocs/home-lab-docs/mkdocs.yml" + _DOCKER_INTERACTIVE_TTY_OPTION= if [ -t 0 ]; then _DOCKER_INTERACTIVE_TTY_OPTION="-it" diff --git a/scripts/run-ansible.sh b/scripts/run-ansible.sh index a40ef20e7..df36f817b 100755 --- a/scripts/run-ansible.sh +++ b/scripts/run-ansible.sh @@ -65,8 +65,7 @@ if [ -n "${ANSIBLE_TEST_DISTRO:-}" ]; then ANSIBLE_TEST_PLAYBOOK_FULL_PATH="config/ansible/molecule/default/${ANSIBLE_TEST_PLAYBOOK_PATH}" if [ ! -f "${ANSIBLE_TEST_PLAYBOOK_FULL_PATH}" ]; then echo "The playbook file does not exist: ${ANSIBLE_TEST_PLAYBOOK_FULL_PATH}" - # shellcheck disable=SC2086 - exit ${ERR_ANSIBLE_TEST_MISSING_PLAYBOOK} + exit "${ERR_ANSIBLE_TEST_MISSING_PLAYBOOK}" fi COMMAND_TO_RUN="${COMMAND_TO_RUN} --env ANSIBLE_TEST_DISTRO=${ANSIBLE_TEST_DISTRO}" @@ -86,8 +85,7 @@ else if [ ! -f "${ANSIBLE_VAULT_PASSWORD_FILE_PATH}" ]; then echo "The Ansible vault password file does not exist: ${ANSIBLE_VAULT_PASSWORD_FILE_PATH}" - # shellcheck disable=SC2086 - exit ${ERR_ANSIBLE_MISSING_PASSWORD_FILE} + exit "${ERR_ANSIBLE_MISSING_PASSWORD_FILE}" fi fi