web.hex
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
"web/assets" "d_assets" store "web/templates" "d_templates" store "web/contents" "d_contents" store "web/out" "d_out" store ; Get all files from a directory ("ls " swap cat run 0x1 get "\n" split) "ls" store ; Get relevant files d_contents ls i "contents" store d_assets ls i "assets" store d_templates "/page.html" cat "t_page" store "*** Generating hex web site..." puts ; Write contents contents ( "fn_content" store fn_content ".html" "" replace "id_content" store d_contents "/" fn_content cat cat read "content" store t_page read "{{content}}" content replace "new_content" store (fn_content "home.html" ==) (d_out "/index.html" cat "dst_file" store) ( ("sh -c \"mkdir -p " d_out "/" id_content "\"") () map "" join exec (d_out id_content "index.html") () map "/" join "dst_file" store ) if " - Writing: " dst_file cat puts new_content dst_file write ) each ; Write assets ("sh -c \"mkdir -p " d_out "/assets\"") () map "" join exec assets ( "fn_asset" store (d_out "assets" fn_asset) () map "/" join "dst_file" store (fn_asset "robots.txt" ==) ((d_out fn_asset) () map "/" join "dst_file" store) when (d_assets fn_asset) () map "/" join "src_file" store " - Writing: " dst_file cat puts ("cp" src_file dst_file) () map " " join exec ) each "*** Done!" puts |