From ed9d3e5c76d96937826ef5f19b4946d38c26a0d5 Mon Sep 17 00:00:00 2001 From: g_it Date: Wed, 8 Apr 2026 12:07:10 +0200 Subject: [PATCH] . --- .checks/pre-push | 220 +++++++++++++++++++++++----------------------- content/fucked.md | 9 ++ 2 files changed, 119 insertions(+), 110 deletions(-) diff --git a/.checks/pre-push b/.checks/pre-push index 89e5ff8..3a90fd4 100755 --- a/.checks/pre-push +++ b/.checks/pre-push @@ -1,126 +1,126 @@ -# #!/usr/bin/env bash -# # PRE-PUSH -# # Check the repo for dependency, language, vulnerability, and build issues +#!/usr/bin/env bash +# PRE-PUSH +# Check the repo for dependency, language, vulnerability, and build issues -# set -euo pipefail +set -euo pipefail -# # Setting log colours -# RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m' +# Setting log colours +RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m' -# echo -e "${GREEN}Running pre-push checks...${NC}" +echo -e "${GREEN}Running pre-push checks...${NC}" -# # Start time tracking -# START_TIME=$(date +%s) +# Start time tracking +START_TIME=$(date +%s) -# # Setting paths -# REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)" -# CONTENT_DIR="$REPO_ROOT/content" -# ZENSICAL_CFG_PATH="$REPO_ROOT/zensical.toml" -# SITE_DIR="$REPO_ROOT/deploy" -# LOG_DIR="$REPO_ROOT/.checks/logs" -# mkdir -p "$LOG_DIR" +# Setting paths +REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)" +CONTENT_DIR="$REPO_ROOT/content" +ZENSICAL_CFG_PATH="$REPO_ROOT/zensical.toml" +SITE_DIR="$REPO_ROOT/deploy" +LOG_DIR="$REPO_ROOT/.checks/logs" +mkdir -p "$LOG_DIR" -# # Cleanup old logs -# rm -f "$LOG_DIR/*" +# Cleanup old logs +rm -f "$LOG_DIR/*" -# # Cleanup function -# cleanup() { -# trap - EXIT INT TERM -# if [[ -n "${SERVER_PID:-}" ]] && ps -p "$SERVER_PID" >/dev/null 2>&1; then -# kill "$SERVER_PID" >/dev/null 2>&1 || true -# for _ in {1..30}; do ps -p "$SERVER_PID" >/dev/null 2>&1 || break; sleep 0.1; done -# fi -# } -# trap cleanup EXIT INT TERM +# Cleanup function +cleanup() { + trap - EXIT INT TERM + if [[ -n "${SERVER_PID:-}" ]] && ps -p "$SERVER_PID" >/dev/null 2>&1; then + kill "$SERVER_PID" >/dev/null 2>&1 || true + for _ in {1..30}; do ps -p "$SERVER_PID" >/dev/null 2>&1 || break; sleep 0.1; done + fi +} +trap cleanup EXIT INT TERM -# # Function to run commands and log output -# run_command() { -# local cmd="$1" -# local logfile="$2" -# echo -e "${GREEN}Running ${cmd}...${NC}" -# $cmd >"$logfile" 2>&1 || { echo -e "${RED}${cmd} failed. See $logfile${NC}"; exit 1; } -# } +# Function to run commands and log output +run_command() { + local cmd="$1" + local logfile="$2" + echo -e "${GREEN}Running ${cmd}...${NC}" + $cmd >"$logfile" 2>&1 || { echo -e "${RED}${cmd} failed. See $logfile${NC}"; exit 1; } +} -# # Running independent checks in parallel -# { -# # Trivy check for vulnerabilities -# if command -v trivy &>/dev/null; then -# run_command "trivy fs . --exit-code 1 --severity CRITICAL,HIGH,MEDIUM,LOW,UNKNOWN --no-progress --scanners vuln" "$LOG_DIR/trivy.log" -# else -# echo -e "${YELLOW}Trivy not installed. Skipping vulnerability scan.${NC}" -# fi -# } & +# Running independent checks in parallel +{ + # Trivy check for vulnerabilities + if command -v trivy &>/dev/null; then + run_command "trivy fs . --exit-code 1 --severity CRITICAL,HIGH,MEDIUM,LOW,UNKNOWN --no-progress --scanners vuln" "$LOG_DIR/trivy.log" + else + echo -e "${YELLOW}Trivy not installed. Skipping vulnerability scan.${NC}" + fi +} & -# { -# # Trufflehog check for passwords and secrets -# if command -v trufflehog &>/dev/null && command -v jq &>/dev/null; then -# TMPF="$(mktemp)" -# trufflehog filesystem . --json >"$TMPF" 2>"$LOG_DIR/trufflehog.log" || true -# if jq -e 'select(.verified==true)' "$TMPF" | grep -q .; then -# cp "$TMPF" "$LOG_DIR/trufflehog-findings.json" -# echo -e "${RED}Verified secrets found. See $LOG_DIR/trufflehog-findings.json${NC}" -# rm -f "$TMPF"; exit 1 -# fi -# rm -f "$TMPF" -# else -# echo -e "${YELLOW}TruffleHog or jq not installed. Skipping secrets scan.${NC}" -# fi -# } & +{ + # Trufflehog check for passwords and secrets + if command -v trufflehog &>/dev/null && command -v jq &>/dev/null; then + TMPF="$(mktemp)" + trufflehog filesystem . --json >"$TMPF" 2>"$LOG_DIR/trufflehog.log" || true + if jq -e 'select(.verified==true)' "$TMPF" | grep -q .; then + cp "$TMPF" "$LOG_DIR/trufflehog-findings.json" + echo -e "${RED}Verified secrets found. See $LOG_DIR/trufflehog-findings.json${NC}" + rm -f "$TMPF"; exit 1 + fi + rm -f "$TMPF" + else + echo -e "${YELLOW}TruffleHog or jq not installed. Skipping secrets scan.${NC}" + fi +} & -# { -# # Dependabot dependency vulnerability check -# if command -v npm &>/dev/null && [[ -f package.json ]]; then -# run_command "npm audit --audit-level=high" "$LOG_DIR/npm-audit.log" -# elif command -v pip &>/dev/null && [[ -f requirements.txt ]]; then -# run_command "pip list --outdated" "$LOG_DIR/pip-outdated.log" -# if grep -q "upgradable" "$LOG_DIR/pip-outdated.log"; then -# echo -e "${YELLOW}Outdated Python dependencies found. See $LOG_DIR/pip-outdated.log${NC}" -# fi -# else -# echo -e "${YELLOW}No dependency management files found. Skipping dependency checks.${NC}" -# fi -# } & +{ + # Dependabot dependency vulnerability check + if command -v npm &>/dev/null && [[ -f package.json ]]; then + run_command "npm audit --audit-level=high" "$LOG_DIR/npm-audit.log" + elif command -v pip &>/dev/null && [[ -f requirements.txt ]]; then + run_command "pip list --outdated" "$LOG_DIR/pip-outdated.log" + if grep -q "upgradable" "$LOG_DIR/pip-outdated.log"; then + echo -e "${YELLOW}Outdated Python dependencies found. See $LOG_DIR/pip-outdated.log${NC}" + fi + else + echo -e "${YELLOW}No dependency management files found. Skipping dependency checks.${NC}" + fi +} & -# # Wait for all background jobs to finish -# wait +# Wait for all background jobs to finish +wait -# # Lint markdown files using markdownlint-cli2 -# if command -v markdownlint-cli2 &>/dev/null; then -# MD_FILES="$(git diff HEAD~1 HEAD --name-only --diff-filter=ACM | grep -E '\.md$' || true)" -# if [[ -n "$MD_FILES" ]]; then -# echo -e "${GREEN}Running markdownlint...${NC}" -# echo "$MD_FILES" | xargs markdownlint-cli2 >"$LOG_DIR/markdownlint.log" 2>&1 || { -# echo -e "${RED}markdownlint-cli2 failed. See $LOG_DIR/markdownlint.log${NC}"; exit 1; -# } -# else -# echo -e "${YELLOW}No committed Markdown files found. Skipping markdown check.${NC}" -# fi -# else -# echo -e "${YELLOW}markdownlint-cli2 not installed. Skipping markdown check.${NC}" -# fi +# Lint markdown files using markdownlint-cli2 +if command -v markdownlint-cli2 &>/dev/null; then + MD_FILES="$(git diff HEAD~1 HEAD --name-only --diff-filter=ACM | grep -E '\.md$' || true)" + if [[ -n "$MD_FILES" ]]; then + echo -e "${GREEN}Running markdownlint...${NC}" + echo "$MD_FILES" | xargs markdownlint-cli2 >"$LOG_DIR/markdownlint.log" 2>&1 || { + echo -e "${RED}markdownlint-cli2 failed. See $LOG_DIR/markdownlint.log${NC}"; exit 1; + } + else + echo -e "${YELLOW}No committed Markdown files found. Skipping markdown check.${NC}" + fi +else + echo -e "${YELLOW}markdownlint-cli2 not installed. Skipping markdown check.${NC}" +fi -# # Lint language using Vale -# if command -v vale &>/dev/null && [[ -f "$REPO_ROOT/.vale.ini" ]]; then -# echo -e "${GREEN}Running Vale...${NC}" -# VALE_FILES="$(git diff HEAD~1 HEAD --name-only --diff-filter=ACM | grep -E '\.md$' || true)" -# if [[ -n "$VALE_FILES" ]]; then -# echo "$VALE_FILES" | xargs vale >"$LOG_DIR/vale.log" 2>&1 || { -# echo -e "${RED}Vale issues. See $LOG_DIR/vale.log${NC}"; exit 1; -# } -# else -# echo -e "${YELLOW}No committed Markdown files found. Skipping Vale check.${NC}" -# fi -# else -# echo -e "${YELLOW}Vale not installed or .vale.ini missing. Skipping Vale.${NC}" -# fi +# Lint language using Vale +if command -v vale &>/dev/null && [[ -f "$REPO_ROOT/.vale.ini" ]]; then + echo -e "${GREEN}Running Vale...${NC}" + VALE_FILES="$(git diff HEAD~1 HEAD --name-only --diff-filter=ACM | grep -E '\.md$' || true)" + if [[ -n "$VALE_FILES" ]]; then + echo "$VALE_FILES" | xargs vale >"$LOG_DIR/vale.log" 2>&1 || { + echo -e "${RED}Vale issues. See $LOG_DIR/vale.log${NC}"; exit 1; + } + else + echo -e "${YELLOW}No committed Markdown files found. Skipping Vale check.${NC}" + fi +else + echo -e "${YELLOW}Vale not installed or .vale.ini missing. Skipping Vale.${NC}" +fi -# # Build the site using Zensical to check for build errors -# if ! command -v zensical >/dev/null 2>&1; then -# echo -e "${RED}Zensical not installed; cannot build docs.${NC}"; exit 1 -# fi -# run_command "zensical build --clean" "$LOG_DIR/zensical-build.log" +# Build the site using Zensical to check for build errors +if ! command -v zensical >/dev/null 2>&1; then + echo -e "${RED}Zensical not installed; cannot build docs.${NC}"; exit 1 +fi +run_command "zensical build --clean" "$LOG_DIR/zensical-build.log" -# # End time tracking and calculate duration -# END_TIME=$(date +%s) -# DURATION=$((END_TIME - START_TIME)) -# echo -e "${GREEN}Push checks completed in $DURATION seconds.${NC}" +# End time tracking and calculate duration +END_TIME=$(date +%s) +DURATION=$((END_TIME - START_TIME)) +echo -e "${GREEN}Push checks completed in $DURATION seconds.${NC}" diff --git a/content/fucked.md b/content/fucked.md index 6000f76..e27a5cc 100644 --- a/content/fucked.md +++ b/content/fucked.md @@ -1,6 +1,15 @@ Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? +asdfasd asdfgasdfgdfs sdfgsdffg dfgsdfgsdfg + fdgs + +THE WORD IS TEH BIRD + + +Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? + + asdfasd asdfgasdfgdfs sdfgsdffg dfgsdfgsdfg fdgs