alicelinux

A lightweight musl + clang/llvm + libressl + busybox distro
git clone https://codeberg.org/emmett1/alicelinux
Log | Files | Refs | README | LICENSE

build.sh (1100B)


      1 #!/bin/sh -e
      2 
      3 rm -rf public
      4 mkdir -p public
      5 
      6 if [ ! -f md2html.sh ]; then
      7 	curl -LO https://codeberg.org/emmett1/md2html/raw/branch/main/md2html.sh || { rm -f md2html.sh; exit 1; }
      8 fi
      9 chmod +x md2html.sh
     10 
     11 for i in $(find . -type f -name "*.html" | sed 's|^\./||'); do
     12 	dir=${i%/*}
     13 	file=${i##*/}
     14 	title=${dir##*/}
     15 	[ "$dir" = "$file" ] && {
     16 		title=home; dir=
     17 	}
     18 	mkdir -p public/$dir
     19 	echo "copy html for $i..."
     20 	{
     21 		sed "s/@TITLE@/$title/g" header
     22 		cat $i
     23 		cat footer
     24 	} > public/$dir/$file
     25 done
     26 
     27 # docs
     28 cat docs/header > docs/index.md
     29 for f in docs/*.md; do
     30 	case $f in */index.md) continue;; esac
     31 	title=$(head -n1 $f)
     32 	file=${f##*/}
     33 	echo "- [$title](./${file%.md}.html)" >> docs/index.md
     34 done
     35 
     36 for i in $(find . -type f -name "*.md" | sed 's|^\./||'); do
     37 	dir=${i%/*}
     38 	file=${i##*/}
     39 	title=${dir##*/}
     40 	[ "$dir" = "$file" ] && {
     41 		title=home; dir=
     42 	}
     43 	mkdir -p public/$dir
     44 	echo "generating html for $i..."
     45 	{
     46 		sed "s/@TITLE@/$title/g" header
     47 		./md2html.sh $i
     48 		cat footer
     49 	} > public/$dir/${file%.md}.html
     50 done
     51 
     52 rm -f docs/index.md
     53 
     54 if [ -d assets ]; then
     55 	cp -ra assets public/
     56 fi
     57 
     58 exit 0