···9797 F)
9898 CUSS_FOOTER_FILE="${CUSS_TEMPLATE_DIR}/$OPTARG"
9999 ;;
100100- l)
101101- cmd_make_list "$OPTARG"
102102- return
103103- ;;
104100 m)
105105- makefile
101101+ cmd_make_makefile
106102 return
107103 ;;
108104 ?)
···117113118114 # generate cuss makefile in tmp folder
119115 makefiletmp=$(mktemp)
120120- makefile > "$makefiletmp"
116116+ cmd_make_makefile > "$makefiletmp"
121117122118 export CUSS="$0"
123119 export CUSS_TEMPLATE_DIR
···134130 rm "$makefiletmp"
135131}
136132137137-cmd_make_list() {
138138- case "$1" in
139139- m)
140140- cmd_make_list_md
133133+cmd_make_makefile() {
134134+ mf="\
135135+ src = \$(shell \$(CUSS) list markdown)
136136+ out = \$(src:.md=.html)
137137+ deps = \$(shell \$(CUSS) list asset)
138138+139139+ site: \$(out)
140140+141141+ print-%:
142142+ @echo \$* = \$(\$*)
143143+144144+ %.html: %.md
145145+ \$(CUSS) generate \$< > \$@"
146146+147147+ echo "$mf" | unexpand -t 4 | sed 's/^\t//'
148148+}
149149+150150+cmd_list() {
151151+ case "${1:-}" in
152152+ markdown|m)
153153+ cmd_list_md
141154 ;;
142142- a)
143143- cmd_make_list_assets
155155+ asset|a)
156156+ cmd_list_asset
144157 ;;
145158 *)
146159 usage
···148161 esac
149162}
150163151151-cmd_make_list_md() {
164164+cmd_list_md() {
152165 _find ./ -name '*.md' -type f
153166}
154167155155-cmd_make_list_assets() {
168168+cmd_list_asset() {
156169 _find ./ -regextype egrep \
157170 -regex '.*\.(jpg|png|gif|css|tpl)' -type f
158171}
159172160160-makefile() {
161161- mf="\
162162- src = \$(shell \$(CUSS) make -lm)
163163- out = \$(src:.md=.html)
164164- deps = \$(shell \$(CUSS) make -la)
165165-166166- site: \$(out)
167167-168168- print-%:
169169- @echo \$* = \$(\$*)
170170-171171- %.html: %.md
172172- \$(CUSS) generate \$< > \$@"
173173-174174- echo "$mf" | unexpand -t 4 | sed 's/^\t//'
175175-}
176176-177173usage() {
178174 echo "Usage: $(basename "$0") command [options]"
179175 echo
180176 echo "Commands:"
181177 echo " generate Build HTML from single Markdown file"
182178 echo " make Build entire site"
179179+ echo " list List source and assets in site"
183180 echo
184181 echo "Command 'generate' is:"
185182 echo " generate <markdown> [html]"
···189186 echo " -T <dir> Set template directory to dir"
190187 echo " -H <file> Set header file file (relative to -T)"
191188 echo " -F <file> Set footer file file (relative to -T)"
192192- echo " -l <type> List all files of type in site"
193189 echo " -m Output the cuss Makefile"
194190 echo
195195- echo " <type> is:"
196196- echo " m Markdown files"
197197- echo " a Asset files (jpg|png|gif|css|tpl)"
191191+ echo "Command 'list' is:"
192192+ echo " list <type>"
193193+ echo
194194+ echo " <type> is:"
195195+ echo " markdown, m Markdown files .md"
196196+ echo " asset, a Asset files .(jpg|png|gif|css|tpl)"
198197 exit
199198}
200199···207206 make)
208207 shift
209208 cmd_make "$@"
209209+ ;;
210210+ list)
211211+ shift
212212+ cmd_list "$@"
210213 ;;
211214 *)
212215 usage
+2-2
tests/make.bats
···3939}
40404141test_make_list_m() { #@test
4242- run ../../cuss make -l m
4242+ run ../../cuss list markdown
4343 check_output "${src[@]}"
4444}
45454646test_make_list_a() { #@test
4747- run ../../cuss make -l a
4747+ run ../../cuss list asset
4848 check_output "${ass[@]}"
4949}
5050