#!/bin/bash # SPDX-FileCopyrightText: 2023 - 2024 Thomas Buck # SPDX-License-Identifier: CERN-OHL-S-2.0+ # # ------------------------------------------------------------------------------ # | Copyright (c) 2023 - 2024 Thomas Buck | # | | # | This source describes Open Hardware and is licensed under the CERN-OHL-S v2 | # | or any later version. | # | | # | You may redistribute and modify this source and make products using it under | # | the terms of the CERN-OHL-S v2 (https://ohwr.org/cern_ohl_s_v2.txt) | # | or any later version. | # | | # | This source is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, | # | INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A | # | PARTICULAR PURPOSE. Please see the CERN-OHL-S v2 (or any later version) | # | for applicable conditions. | # | | # | Source location: https://github.com/drinkrobotics/dispensy | # | | # | As per CERN-OHL-S v2 section 4, should You produce hardware based on this | # | source, You must where practicable maintain the Source Location visible | # | on the external case of the Gizmo or other products you make using this | # | source. | # ------------------------------------------------------------------------------ INSCH="../hardware/dispensy.kicad_sch" INPCB="../hardware/dispensy.kicad_pcb" cd "$(dirname "$0")" if [ "$1" = "build" ] ; then echo "Generating plots" ../hardware/generate_plot.sh echo echo "Generating fab" ../hardware/generate_fab.sh echo fi rm -rf src/plot cp -r ../hardware/plot src for path in $INSCH do IN=`echo $path | sed "s:../hardware/::g"` o="src/inc_$IN.md" echo "Include for $IN at $o" rm -rf $o echo "" >> $o for f in `ls src/plot/$IN.svg/*.svg | sort -r`; do file=`echo $f | sed 's:src/:./:g'` name=`echo $f | sed "s:src/plot/$IN.svg/::g" | sed 's:.svg::g'` echo "Sheet at $name" echo "

$name

" >> $o echo "
" >> $o echo "" >> $o echo "" >> $o echo "
" >> $o echo >> $o echo "[Direct link to \`$name\`]($file)." >> $o echo >> $o done echo done plot_3d() { echo '' >> $1 echo "

Status: \"Preparing 3D model...\"

" >> $1 echo "
" >> $1 echo '' >> $1 } for path in $INPCB do IN=`echo $path | sed "s:../hardware/::g"` o="src/inc_$IN.md" file="plot/$IN.wrl" name=`echo $file | sed "s:plot/::g" | sed 's:.wrl::g'` echo "Include for $IN at $o, $file, $name" rm -rf $o plot_3d $o $name $file done echo echo "Generating docs" if [ "$1" = "serve" ] ; then mdbook serve --open elif [ "$1" = "build" ] ; then mdbook build else echo "Invalid command. 'build' or 'serve'." fi