- The generated "Contents" section isn't useful - Non-standard, causing confusion on how to update README.md - It's already out of sync Remove galp3-c and darp5, as we never released the firmware due to issues with the touchpad and keyboard. Add gaze16-3060-b variant. Make "Schematics" a subsection of "Supported models". Remove directory from list of paths to update in `scripts/readmes.sh`. Signed-off-by: Tim Crawford <tcrawford@system76.com>
		
			
				
	
	
		
			78 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
README_DIRS=(
 | 
						|
    apps
 | 
						|
    libs
 | 
						|
    models
 | 
						|
    tools
 | 
						|
)
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
cargo build --manifest-path "scripts/modeltool/Cargo.toml" --release
 | 
						|
 | 
						|
MODELTOOL="$(realpath "scripts/modeltool/target/release/modeltool")"
 | 
						|
 | 
						|
function readme_model {
 | 
						|
    echo -e "\x1B[1m$1\x1B[0m" >&2
 | 
						|
 | 
						|
    pushd "$1" > /dev/null
 | 
						|
        cp README.md.in README.md
 | 
						|
 | 
						|
        echo -e "\n## Contents\n" >> README.md
 | 
						|
        "$MODELTOOL" . >> README.md
 | 
						|
    popd > /dev/null
 | 
						|
}
 | 
						|
 | 
						|
for dir in models/*/
 | 
						|
do
 | 
						|
    readme_model "${dir%/}"
 | 
						|
done
 | 
						|
 | 
						|
function readme_line {
 | 
						|
    echo -e "  \x1B[1m$1\x1B[0m" >&2
 | 
						|
 | 
						|
    name="$(basename "$1")"
 | 
						|
    description=""
 | 
						|
 | 
						|
    readme="$(find "$1" -maxdepth 1 -iname README.md)"
 | 
						|
    if [ -n "$readme" ]
 | 
						|
    then
 | 
						|
        # Get first line, removing the trailing pounds and spaces
 | 
						|
        description=" - $(head -n 1 "$readme" | sed -e 's/^[#[:space:]]*//')"
 | 
						|
    fi
 | 
						|
 | 
						|
    submodule="$(git submodule status "$1" 2> /dev/null | cut -d ' ' -f 3 || true)"
 | 
						|
    if [ "$submodule" == "$1" ]
 | 
						|
    then
 | 
						|
        # Link to submodule URL
 | 
						|
        origin="$(git -C "$1" remote get-url origin)"
 | 
						|
        echo "- [$name]($origin)$description"
 | 
						|
    else
 | 
						|
        # Link to directory
 | 
						|
        echo "- [$name](./$1)$description"
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function readme_dir {
 | 
						|
    echo -e "\x1B[1m$1\x1B[0m" >&2
 | 
						|
 | 
						|
    pushd "$1" > /dev/null
 | 
						|
        cp README.md.in README.md
 | 
						|
 | 
						|
        echo -e "\n## Contents\n" >> README.md
 | 
						|
        for dir in */
 | 
						|
        do
 | 
						|
            if ! git check-ignore --quiet "${dir}"
 | 
						|
            then
 | 
						|
                readme_line "${dir%/}" >> README.md
 | 
						|
            fi
 | 
						|
        done
 | 
						|
    popd > /dev/null
 | 
						|
}
 | 
						|
 | 
						|
for dir in "${README_DIRS[@]}"
 | 
						|
do
 | 
						|
    readme_dir "$dir"
 | 
						|
done
 |