1234567891011121314151617181920212223242526272829 |
- #!/usr/bin/env bash
- # SPDX-License-Identifier: MIT
- # This script checks consistency between the filenames and the page title.
- # Usage: ./scripts/wrong-filename.sh
- # Output file for recording inconsistencies
- OUTPUT_FILE="inconsistent-filenames.txt"
- # Remove existing output file (if any)
- rm -f "$OUTPUT_FILE"
- touch "$OUTPUT_FILE"
- IGNORE_LIST=("exclamation mark" "caret" "dollar sign" "tilde" "percent sign" "curly brace" "history expansion" "qm move disk" "umount" "rename" "pacman d" "pacman f" "pacman q" "pacman r" "pacman s" "pacman t" "pacman u" "parted")
- set -e
- # Iterate through all Markdown files in the 'pages' directories
- find pages* -name '*.md' -type f | while read -r path; do
- # Extract the expected command name from the filename
- COMMAND_NAME_FILE=$(basename "$path" | head -c-4 | sed 's/nix3/nix/' | sed 's/\.fish//' | sed 's/\.js//' | sed 's/\.1//' | tr '-' ' ' | tr '[:upper:]' '[:lower:]')
- # Extract the command name from the first line of the Markdown file
- COMMAND_NAME_PAGE=$(head -n1 "$path" | tail -c+3 | sed 's/--//' | tr '-' ' ' | tr '[:upper:]' '[:lower:]')
- # Check if there is a mismatch between filename and content command names
- if [[ "$COMMAND_NAME_FILE" != "$COMMAND_NAME_PAGE" && ! ${IGNORE_LIST[*]} =~ $COMMAND_NAME_PAGE ]]; then
- echo "Inconsistency found in file: $path: $COMMAND_NAME_PAGE should be $COMMAND_NAME_FILE" >> "$OUTPUT_FILE"
- fi
- done
|