comparison mod_conversejs/mod_conversejs.lua @ 3312:e714be00aaad

mod_conversejs: Factor JavaScript part out of HTML This will allow serving only the JS snippet in the future.
author Kim Alvefur <zash@zash.se>
date Mon, 10 Sep 2018 15:04:03 +0200
parents 908b2bc05d26
children d6b922191aeb
comparison
equal deleted inserted replaced
3311:5b3347056f07 3312:e714be00aaad
7 7
8 local has_ws = pcall(function () 8 local has_ws = pcall(function ()
9 module:depends("websocket"); 9 module:depends("websocket");
10 end); 10 end);
11 11
12 local template = [[ 12 local html_template = [[
13 <!DOCTYPE html> 13 <!DOCTYPE html>
14 <html> 14 <html>
15 <head> 15 <head>
16 <meta charset="utf-8"> 16 <meta charset="utf-8">
17 <link rel="stylesheet" type="text/css" media="screen" href="https://cdn.conversejs.org/4.0.0/css/converse.min.css"/> 17 <link rel="stylesheet" type="text/css" media="screen" href="https://cdn.conversejs.org/4.0.0/css/converse.min.css"/>
35 <li><a href="https://yaxim.org/">Yaxim</a></li> 35 <li><a href="https://yaxim.org/">Yaxim</a></li>
36 </ul></dd> 36 </ul></dd>
37 </dl> 37 </dl>
38 <p><a href="https://xmpp.org/software/clients.html">More clients...</a></p> 38 <p><a href="https://xmpp.org/software/clients.html">More clients...</a></p>
39 </noscript> 39 </noscript>
40 <script>converse.initialize(%s);</script> 40 <script>%s</script>
41 </body> 41 </body>
42 </html> 42 </html>
43 ]] 43 ]]
44
45 js_template = "converse.initialize(%s);";
44 46
45 local more_options = module:get_option("conversejs_options"); 47 local more_options = module:get_option("conversejs_options");
46 48
47 module:provides("http", { 49 module:provides("http", {
48 route = { 50 route = {
64 converse_options[k] = v; 66 converse_options[k] = v;
65 end 67 end
66 end 68 end
67 69
68 event.response.headers.content_type = "text/html"; 70 event.response.headers.content_type = "text/html";
69 return template:format(json_encode(converse_options)); 71 return html_template:format(js_template:format(json_encode(converse_options)));
70 end; 72 end;
71 } 73 }
72 }); 74 });
73 75