Files
git.taskfile.build/library.md
T
Janik von Rotz fbdb1ff750 feat(task): add log-warning utility and document logging functions
- Introduce new `log-warning` bash script for colored warning output
- Add documentation for logging utilities in library.md
- Follows existing code style and documentation format
2025-11-19 10:29:43 +01:00

4.5 KiB

layout
layout
layouts/base.njk

Library

The repository of this website provides a library of reusable functions.

Clone the repository into your home folder and ensure it is updated regularly.

clone-taskfile(){
    if [[ ! -d "$HOME/taskfile.build" ]]; then
        echo -e '\033[38;5;214mGit\033[0m: Clone taskfile repo'
        git clone https://git.taskfile.build "$HOME/taskfile.build"
    else
        echo -e '\033[38;5;214mGit\033[0m: Pull taskfile repo'
        git -C "$HOME/taskfile.build" pull
    fi
}

In your task file import all commands from the taskfile library.

if [[ -d "$HOME/taskfile.build/bin" ]]; then
    for file in "$HOME/taskfile.build/bin/"*; do
        if [[ -f "$file" ]]; then
            source "$file"
        fi
    done
fi

Task

Configure the task commands.

OPEN_BROWSER=False

init-config-dir

printf "$column" "init-config-dir" "" "Setup task file config dir."

template-dotenv

printf "$column" "template-dotenv" "" "Generate .env from .env.template."

open-with-os

printf "$column" 'open-with-os' '' 'Open file or url with default application.'

open-url-with-delay

printf "$column" 'open-url-with-delay' '[url][delay]' 'Open url after n seconds."

Python

activate-venv

printf "$column" "activate-venv" "" "Activate or initialize Python virtual env."

Environment

create-odoo-env

printf "$column" "create-odoo-env" "[env]" "Create env file for Odoo instance."

create-nextcloud-env

printf "$column" "create-nextcloud-env" "[env]" "Create env file for Nextcloud Instance."

list-env

printf "$column" "list-env" "" "List env files."

show-env

printf "$column" "show-env" "[env]" "Output content of the env file."

copy-env

printf "$column" "copy-env" "[env][env]" "Copy env file."

edit-env

printf "$column" "edit-env" "[env]" "Open env file in default editor."

load-env

printf "$column" "load-env" "[env]" "Load and export env file."

rename-env

printf "$column" "rename-env" "[env][env]" "Rename env file."

remove-env

printf "$column" "remove-env" "[env]" "Remove environment config."

backup-env-files

printf "$column" "backup-env-files" "[path]" "Archive and copy env files to target location."

restore-env-files

printf "$column" "restore-env-files" "[path]" "Extract and copy env files from backup file."

LLM

commit-with-llm

printf "$column" "commit-with-llm" "" "Commit with llm generated commit message."

update-with-llm

printf "$column" "update-with-llm" "[glob][prompt]" "Feed files matching glob to LLM and apply changes."

Logging

log-warning

printf "$column" "log-warning" "" "Colored output for warnings."

Git

update-submodule

printf "$column" "update-submodule" "" "Update git submodules."

Pass

Set path to pass entry.

PASS_ENTRY=$(echo "env/${PWD##*/}" | tr '[:upper:]' '[:lower:]')

save-dotenv-to-pass

printf "$column" "save-dotenv-to-pass" "" "Store content of .env in pass entry."

load-dotenv-from-pass

printf "$column" "load-dotenv-from-pass" "" "Restore content to .env from pass entry."

KeePass

Set path to KeePass database and entry.

KEEPASS_DATABASE_FILE="/path/to/database.kdbx"
KEEPASS_DATABASE_KEY_FILE="/path/to/keepass.key"
KEEPASS_ENTRY=$(echo "env/${PWD##*/}" | tr '[:upper:]' '[:lower:]')

save-pass-to-keepass

printf "$column" "save-pass-to-keepass" "[pass][entry]" "Store password to KeePass entry."

get-pass-from-keepass

printf "$column" "get-pass-from-keepass" "[entry]" "Get password from KeePass entry."

save-dotenv-to-keepass

printf "$column" "save-dotenv-to-keepass" "" "Store content of .env in KeePass entry."

load-dotenv-from-keepass

printf "$column" "load-dotenv-from-keepass" "" "Restore content to .env from KeePass entry."

Docker

Set Docker env vars.

BUILDX_PLATFORM="linux/amd64"
CONTAINER_REGISTRY="janikvonrotz"
CONTAINER_TAG="python.casa:latest"
DOCKERFILE="image/Dockerfile"
DOCKER_CONFIG="$HOME/.docker/$CONTAINER_REGISTRY/"

login-docker

printf "$column" "login-docker" "[user][token]" "Run Docker login and create docker config."

build-image

printf "$column" "build-image" "[output]" "Build Docker image with buildx."