UNPKG

2.43 kBPlain TextView Raw
1clean:
2 rm -rf ./src
3 rm -rf ./public
4 rm -rf ./.storybook
5
6build:
7 mkdir -p ./src
8 mkdir -p ./public
9
10 if [ -d './sources/assets' ]; then \
11 mkdir -p ./public/assets; \
12 cp -R ./sources/assets/* ./public/assets; \
13 fi
14
15 make .pug
16 make .styl
17 make .coffee
18 make .js
19
20 make .jpg
21 make .png
22
23 make .public
24
25findPath = findPath() { \
26 file_ext=$$1; \
27 file_handler=$$2; \
28 for filepath in `find ./sources -print | grep "$$file_ext"`; do \
29 if [ $$file_ext = '\.pug' ]; then \
30 output_kw='public'; \
31 else \
32 output_kw='src'; \
33 fi; \
34 output_dir=`echo "$$filepath" | sed "s/sources/$${output_kw}/g" | xargs dirname`; \
35 mkdir -p $$output_dir; \
36 $$file_handler $$file_ext $$filepath $$output_dir; \
37 done; \
38}
39
40extHandler = extHandler() { \
41 file_ext=$$1; \
42 source_path=$$2; \
43 output_dir=$$3; \
44 file_name=`echo $$source_path | rev | cut -d'/' -f 1 | rev`; \
45 case "$$file_ext" in \
46 '\.pug' ) \
47 pug -P -o $$output_dir $$source_path; \
48 ;; \
49 '\.styl' ) \
50 stylus --out $$output_dir $$source_path; \
51 ;; \
52 '\.coffee' ) \
53 coffee -c -b -o $$output_dir $$source_path; \
54 ;; \
55 '\.js' ) \
56 cp $$source_path $$output_dir; \
57 ;; \
58 '\.jpg' ) \
59 code="export default Image = \"data:image/jpeg;base64,`cat $$source_path | base64 -w 0`\";"; \
60 echo -n $$code | tr -s '\r\n' ‘’ > $$output_dir/$$file_name.js; \
61 ;; \
62 '\.png' ) \
63 code="export default Image = \"data:image/png;base64,`cat $$source_path | base64 -w 0`\";"; \
64 echo -n $$code | tr -s '\r\n' ‘’ > $$output_dir/$$file_name.js; \
65 ;; \
66 '\.md' ) \
67 code="export default Image = \"`cat $$source_path | md2html `\";"; \
68 echo -n $$code | tr -s '\r\n' ‘’ > $$output_dir/$$file_name.js; \
69 ;; \
70 * ) \
71 exit 1; \
72 ;; \
73 esac; \
74}
75
76.pug:
77 @$(findPath); $(extHandler); \
78 findPath '\.pug' extHandler
79
80.styl:
81 @$(findPath); $(extHandler); \
82 findPath '\.styl' extHandler
83
84.coffee:
85 @$(findPath); $(extHandler); \
86 findPath '\.coffee' extHandler
87
88.js:
89 @$(findPath); $(extHandler); \
90 findPath '\.js' extHandler
91
92.jpg:
93 @$(findPath); $(extHandler); \
94 findPath '\.jpg' extHandler
95
96.png:
97 @$(findPath); $(extHandler); \
98 findPath '\.png' extHandler
99
100.png:
101 @$(findPath); $(extHandler); \
102 findPath '\.md' extHandler
103
104.public:
105 if [ -d './src/public' ]; then \
106 mv ./src/public/* ./public; \
107 rmdir './src/public'; \
108 fi
109
110rebuild: clean
111 if [ -d './sources/stories' ]; then \
112 make story_book; \
113 fi
114 make build