From b50a639d9d98a7c2f6df347102f12c812eb11143 Mon Sep 17 00:00:00 2001 From: "Glenn Y. Rolland" Date: Thu, 6 Apr 2023 20:22:22 +0200 Subject: [PATCH] chore: Remove script/docmachine* scripts now we have real tools --- scripts/docmachine | 135 ------------------------------------ scripts/docmachine-scaffold | 86 ----------------------- 2 files changed, 221 deletions(-) delete mode 100755 scripts/docmachine delete mode 100755 scripts/docmachine-scaffold diff --git a/scripts/docmachine b/scripts/docmachine deleted file mode 100755 index 07850a6..0000000 --- a/scripts/docmachine +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/sh -# vim: set ft=sh: - -# Set defaults -BASEDIR="$(pwd)" -BASEHASH="$(echo "$BASEDIR" |sha256sum |head -c7)" -ACTION="watch" -VERBOSITY="0" -DOCKER_IMAGE=glenux/docmachine:latest -DOCKER_OPT_TTY="-t" - -gxt_usage() { - echo "Usage: $0 [options]" - echo "" - echo "-d, --data-dir DIR Content directory" - echo "-a, --action ACTION Action (watch, build, shell, etc.)" - echo "-t, --tty Enable TTY mode (needed for shell)" - echo "-v, --verbose Enable verbosity" - echo "-h, --help Show this help" -} - -# Parse arguments -while [ $# -gt 0 ]; do - ARG="${1:-}" - OPT="${2:-}" - shift - - # echo "DEBUG: ARG=$ARG OPT=$OPT" - - case "$ARG" in - -a|--action) - shift # argument requires a parameter - if [ -z "$OPT" ]; then - >&2 echo "ERROR: missing argument for --action" - exit 1 - fi - ACTION="$OPT" - ;; - -d|--data-dir) - shift # argument requires a parameter - if [ -z "$OPT" ]; then - >&2 echo "ERROR: missing argument for --data-dir" - exit 1 - fi - if [ ! -d "$OPT" ]; then - >&2 echo "ERROR: argument for --data-dir must be a directory" - exit 1 - fi - BASEDIR="$(cd "$OPT" && pwd)" - ;; - -h|--help) - >&2 gxt_usage - exit 0 - ;; - -T|--no-tty) - DOCKER_OPT_TTY="" - ;; - -v|--verbosity) - VERBOSITY="$((VERBOSITY+1))" - ;; - *) - >&2 gxt_usage - >&2 echo "ERROR: unknown option '$ARG'" - exit 1 - ;; - esac -done - -echo "basedir = $BASEDIR" -echo "docker_image = $DOCKER_IMAGE" -echo "action = $ACTION" - -## Detect Marp SCSS -if [ -f "$BASEDIR/.marp/theme.scss" ]; then - DOCKER_OPT_MARP_THEME="-v $BASEDIR/.marp:/app/.marp" - echo "Theme: detected Marp files. Adding option to command line ($DOCKER_OPT_MARP_THEME)" -else - echo "Theme: no theme detected. Using default files" -fi - -## Detect Mkdocs configuration - old format (full) -if [ -f "$BASEDIR/mkdocs.yml" ]; then - >&2 echo "Mkdocs: detected mkdocs.yml file. Please rename to mkdocs-patch.yml" - exit 1 -fi - -## Detect Mkdocs configuration - new format (patch) -if [ -f "$BASEDIR/mkdocs-patch.yml" ]; then - DOCKER_OPT_MKDOCS_CONFIG="-v $BASEDIR/mkdocs-patch.yml:/app/mkdocs-patch.yml" - echo "Mkdocs: detected mkdocs-patch.yml file. Adding option to command line ($DOCKER_OPT_MKDOCS_CONFIG)" -else - echo "Mkdocs: no mkdocs-patch.yml detected. Using default files" -fi - -## Detect slides -if [ -d "$BASEDIR/slides" ]; then - DOCKER_OPT_MARP_PORT="-p 5200:5200" -fi - -## Detect docs -if [ -d "$BASEDIR/docs" ]; then - DOCKER_OPT_MKDOCS_PORT="-p 5100:5100" -fi - -if [ "$VERBOSITY" -gt 0 ]; then - set -x -fi - -DOCKER_NAME="docmachine-$BASEHASH" -DOCKER_CID="$(docker ps -f "name=$DOCKER_NAME" -q)" - -if [ -n "$DOCKER_CID" ]; then - docker kill "$DOCKER_NAME" -fi - -docker run -i $DOCKER_OPT_TTY \ - --name "$DOCKER_NAME" \ - --rm \ - --shm-size=1gb \ - -e "EXT_UID=$(id -u)" \ - -e "EXT_GID=$(id -g)" \ - -v "$BASEDIR/docs:/app/docs" \ - -v "$BASEDIR/slides:/app/slides" \ - -v "$BASEDIR/images:/app/images" \ - -v "$BASEDIR/_build:/app/_build" \ - $DOCKER_OPT_MKDOCS_CONFIG \ - $DOCKER_OPT_MARP_THEME \ - $DOCKER_OPT_MKDOCS_PORT \ - $DOCKER_OPT_MARP_PORT \ - "$DOCKER_IMAGE" "$ACTION" - -if [ "$VERBOSITY" -gt 0 ]; then - set +x -fi - diff --git a/scripts/docmachine-scaffold b/scripts/docmachine-scaffold deleted file mode 100755 index c36d8ca..0000000 --- a/scripts/docmachine-scaffold +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env ruby -# frozen_string_literal: true - -require 'fileutils' -require 'find' -require 'thor' -require 'colorize' - -EXCLUDE_LIST = ['.git', 'node_modules'].freeze -SKEL_DIR = ENV['HOME'] + '/src/Glenux.Teaching/teaching-boilerplate' - -if ! File.directory? SKEL_DIR - warn "ERROR: missing #{SKEL_DIR}" - exit 1 -end - -# TeachingCli -class TeachingCli < Thor - desc 'create PROJECT', 'Create PROJECT directory' - def create(target) - # Create dir - if target.empty? - warn 'Target not specified' - exit 1 - end - - puts "Creating project #{target}" - FileUtils.mkdir_p target - - # Create structure - Find.find(SKEL_DIR) do |path| - if EXCLUDE_LIST.include? File.basename(path) - Find.prune - next - end - next unless File.directory?(path) - - shortpath = path.gsub(SKEL_DIR, '').gsub(%r{^/}, '') - next if shortpath.empty? - - targetpath = File.join(target, shortpath) - print "Creating directory #{shortpath}… " - FileUtils.mkdir_p targetpath - puts 'ok'.green - end - - # Create files if possible - Find.find(SKEL_DIR) do |path| - if EXCLUDE_LIST.include? File.basename(path) - Find.prune - next - end - - next if File.directory?(path) - - shortpath = path.gsub(SKEL_DIR, '').gsub(%r{^/}, '') - next if shortpath.empty? - - targetpath = File.join(target, shortpath) - print "Creating file #{shortpath}… " - - # File does not exist => install it - unless File.exist? targetpath - FileUtils.cp path, targetpath - puts 'ok (installed)'.green - next - end - - # File exist & different - unless system 'cmp', '--quiet', path, targetpath - if File.exist? targetpath + '.new' - puts 'error (pease solve previous conflict)'.red - else - puts 'warning (conflict when creating file)'.yellow - FileUtils.cp path, targetpath + '.new' - end - next - end - - puts 'ok (identical)'.green - FileUtils.cp path, targetpath - end - end -end - -TeachingCli.start(ARGV)