Mercurial > hg > Members > atton > seminar_slides
annotate build.sh @ 11:9dca7035ab93
Generate index page for slides
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 31 Jan 2014 23:26:36 +0900 |
parents | 455db4624bce |
children | daf59131cdb8 |
rev | line source |
---|---|
1 | 1 #/bin/sh |
2 | |
6
f6d65d2a806f
Split const definitions into config/definition.sh
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
3 # source definitions |
f6d65d2a806f
Split const definitions into config/definition.sh
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
4 . `dirname $0`/config/definition.sh |
2
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
5 |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
6 # functions |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
7 |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
8 command_check() { |
6
f6d65d2a806f
Split const definitions into config/definition.sh
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
9 if !(which ${build_command} >& /dev/null;) then |
f6d65d2a806f
Split const definitions into config/definition.sh
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
10 echo ${build_command} not found |
2
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
11 exit |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
12 fi |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
13 } |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
14 |
10
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
15 slide_name_from_full_path() { |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
16 echo $1 | sed -e 's/.[^.]*$/.html/' |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
17 } |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
18 |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
19 |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
20 need_build() { |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
21 slide_name=`slide_name_from_full_path $1` |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
22 |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
23 if [ "${slide_name}" -ot "$1" ]; then |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
24 return 0 # if exist slide and newer than src, not needed. |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
25 fi |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
26 |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
27 return 1 |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
28 } |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
29 |
2
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
30 build() { |
6
f6d65d2a806f
Split const definitions into config/definition.sh
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
31 ${build_command} build $1 -o `dirname $1` ${build_template_option} |
4
ab0287707334
Support exec build scirpt in any working directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
2
diff
changeset
|
32 } |
2
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
33 |
11
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
34 find_sources() { |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
35 find "$(dirname $0)/${slide_root_dirname}" -name "${build_target_filename}" |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
36 } |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
37 |
4
ab0287707334
Support exec build scirpt in any working directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
2
diff
changeset
|
38 build_slides() { |
11
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
39 target_list=`find_sources` |
4
ab0287707334
Support exec build scirpt in any working directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
2
diff
changeset
|
40 for target in ${target_list}; do |
10
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
41 if need_build $target; then |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
42 build $target |
455db4624bce
Check update on build
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
43 fi |
4
ab0287707334
Support exec build scirpt in any working directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
2
diff
changeset
|
44 done |
2
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
45 } |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
46 |
11
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
47 build_index() { |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
48 rm -f ${index_source_name} |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
49 touch ${index_source_name} |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
50 |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
51 slide_list=`find_sources` |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
52 for slide in ${slide_list}; do |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
53 title=`head -5 $slide | grep "title[ ]*:" | sed -e 's/^title[ ]*:[ ]*//'` |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
54 date=`basename $(dirname $slide)` |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
55 echo "* ${date} : [$title]($(slide_name_from_full_path $slide))" >> ${index_source_name} |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
56 done |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
57 |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
58 kramdown ${index_source_name} --template "$(dirname $0)/${index_template_file}" > ${index_file_name} |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
59 } |
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
60 |
2
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
61 |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
62 # main |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
63 |
635d8af3f795
Fix build script, check command
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
1
diff
changeset
|
64 command_check |
4
ab0287707334
Support exec build scirpt in any working directory
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
2
diff
changeset
|
65 build_slides |
11
9dca7035ab93
Generate index page for slides
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
10
diff
changeset
|
66 build_index |