1
+ #! /bin/bash
2
+
3
+ # Step 1 use pandoc to convert README.md to index.rst
4
+ find . -type f -name " README.md" \
5
+ -execdir pandoc -f markdown -t rst -s -o " index.rst" {} \; \
6
+ # -delete
7
+
8
+ # Step 2 move uml/* of every pattern to images/path_to_pattern/uml/*
9
+ # find . -type d -name "uml" \
10
+ # -exec bash -c 'mkdir -p images/${1:2}' funcname {} \; \
11
+ # -exec bash -c 'mv ${1}/* images/${1:2}' funcname {} \; \
12
+ # -delete
13
+
14
+ # Step 3 change the content of index.rst
15
+ # embed php files in index.rst
16
+ for INDEX in $( find . -type f -name " index.rst" )
17
+ do
18
+ # fix figure to image, add align center
19
+ sed -i " s|.. figure::|.. image::|g" ${INDEX}
20
+ sed -i " /:alt:/{n;d}" ${INDEX}
21
+ sed -i " s| Alt.*| :align: center|" ${INDEX}
22
+
23
+ BASEDIR=$( dirname ${INDEX} )
24
+
25
+ # fix image path uml/uml.png to images/path_to_pattern/uml/uml.png
26
+ # sed -i "s|uml/uml.png|/images/${BASEDIR:2}/uml/uml.png|g" ${INDEX}
27
+
28
+ # embed pattern files
29
+ echo -e " \nCode\n----\n" >> ${INDEX}
30
+ echo -e " You can also find these code on \` GitHub\` _\n" >> ${INDEX}
31
+
32
+ for PHPFILE in $( find ${BASEDIR} -maxdepth 1 -type f -name " *.php" )
33
+ do
34
+ echo -e " $( basename ${PHPFILE} ) \n" >> ${INDEX}
35
+ echo -e " .. literalinclude:: $( basename ${PHPFILE} ) \n :language: php\n :linenos:\n" >> ${INDEX}
36
+ done
37
+
38
+ # embed test files
39
+ echo -e " Test\n----\n" >> ${INDEX}
40
+
41
+ for TESTFILE in $( find ${BASEDIR} /Tests -maxdepth 1 -type f -name " *.php" )
42
+ do
43
+ echo -e " Tests/$( basename ${TESTFILE} ) \n" >> ${INDEX}
44
+ echo -e " .. literalinclude:: Tests/$( basename ${TESTFILE} ) \n :language: php\n :linenos:\n" >> ${INDEX}
45
+ done
46
+
47
+ # add link on GitHub of this pattern
48
+ echo -e " .. _\` GitHub\` : https://github.com/domnikl/DesignPatternsPHP/tree/master/${BASEDIR: 2} " >> ${INDEX}
49
+ done
50
+
51
+ # Step 4 embed other php files in index.rst
52
+ # fix TocTree of projet
0 commit comments