Mercurial > prosody-modules
changeset 1582:8e282eb0c70c
mod_http_muc_log: Split out template into a configurable file.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 03 Dec 2014 15:35:38 +0100 |
parents | 9f6cd252d233 |
children | c1bb2a64aabb |
files | mod_http_muc_log/http_muc_log.html mod_http_muc_log/mod_http_muc_log.lua |
diffstat | 2 files changed, 100 insertions(+), 96 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_http_muc_log/http_muc_log.html Wed Dec 03 15:35:38 2014 +0100 @@ -0,0 +1,93 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<title>{title}</title> +<style> +:link,:visited{text-decoration:none;color:#2e3436;text-decoration:none;} +:link:hover,:visited:hover{color:#3465a4;} +body{background-color:#eeeeec;margin:1ex 0;padding-bottom:3em;font-family:Arial,Helvetica,sans-serif;} +ul,ol{padding:0;} +li{list-style:none;} +hr{visibility:hidden;clear:both;} +br{clear:both;} +header,footer{margin:1ex 1em;} +footer{font-size:smaller;color:#babdb6;} +nav{font-size:large;margin:1ex 1ex;clear:both;line-height:1.5em;} +footer nav .up{display:none;} +@media screen and (min-width: 460px) { +nav {font-size:x-large;margin:1ex 1em;} +} +nav a{padding: 1ex;} +nav .up{font-size:smaller;display:block;clear:both;} +nav .prev{float:left;} +nav .next{float:right;} +nav .next::after{content:" →";} +nav .prev::before{content:"← ";} +nav :empty::after,nav :empty::before{content:""} +.content{background-color:white;padding:1em;list-style-position:inside;} +.time{float:right;font-size:small;opacity:0.2;} +li:hover .time{opacity:1;} +.description{font-size:smaller;} +.body{white-space:pre-line;} +.body::before,.body::after{content:"";} +.presence .verb{font-style:normal;color:#30c030;} +.unavailable .verb{color:#c03030;} +</style> +</head> +<body> +<header> +<h1 title="xmpp:{jid?}">{title}</h1> +<nav>{links# +<a class="{rel?}" href="{href}" rel="{rel?}">{text}</a>} +</nav> +</header> +<hr> +<div class="content"> +<nav> +<dl class="room-list"> +{rooms# +<dt class="name"><a href="{href}">{name}</a></dt> +<dd class="description">{description?}</dd>} +</dl> +<ul class="dates">{dates# +<li><a href="{date}">{date}</a></li>} +</ul> +</nav> +<ol class="chat-logs">{lines# +<li class="{st_name} {st_type?}" id="{key}"> +<a class="time" href="#{key}"><time datetime="{datetime}">{time}</time></a> +<b class="nick">{nick}</b> +<em class="verb">{verb?}</em> +<q class="body">{body?}</q> +</li>} +</ol> +</div> +<hr> +<footer> +<nav>{links# +<a class="{rel?}" href="{href}" rel="{rel?}">{text}</a>} +</nav> +<br> +<div class="powered-by">Prosody</div> +</footer> +<script> +/* +* Local timestamps +*/ +(function () { +var timeTags = document.getElementsByTagName("time"); +var i = 0, tag, date; +while(timeTags[i]) { +tag = timeTags[i++]; +if(date = tag.getAttribute("datetime")) { +date = new Date(date); +tag.textContent = date.toLocaleTimeString(); +tag.setAttribute("title", date.toString()); +} +} +})(); +</script> +</body> +</html>
--- a/mod_http_muc_log/mod_http_muc_log.lua Tue Dec 02 15:12:01 2014 +0100 +++ b/mod_http_muc_log/mod_http_muc_log.lua Wed Dec 03 15:35:38 2014 +0100 @@ -63,102 +63,13 @@ end)); end --- TODO Move template into a file -local template = [=[ -<!DOCTYPE html> -<html> -<head> -<meta charset="utf-8"> -<meta name="viewport" content="width=device-width, initial-scale=1"> -<title>{title}</title> -<style> -:link,:visited{text-decoration:none;color:#2e3436;text-decoration:none;} -:link:hover,:visited:hover{color:#3465a4;} -body{background-color:#eeeeec;margin:1ex 0;padding-bottom:3em;font-family:Arial,Helvetica,sans-serif;} -ul,ol{padding:0;} -li{list-style:none;} -hr{visibility:hidden;clear:both;} -br{clear:both;} -header,footer{margin:1ex 1em;} -footer{font-size:smaller;color:#babdb6;} -nav{font-size:large;margin:1ex 1ex;clear:both;line-height:1.5em;} -footer nav .up{display:none;} -@media screen and (min-width: 460px) { -nav {font-size:x-large;margin:1ex 1em;} -} -nav a{padding: 1ex;} -nav .up{font-size:smaller;display:block;clear:both;} -nav .prev{float:left;} -nav .next{float:right;} -nav .next::after{content:" →";} -nav .prev::before{content:"← ";} -nav :empty::after,nav :empty::before{content:""} -.content{background-color:white;padding:1em;list-style-position:inside;} -.time{float:right;font-size:small;opacity:0.2;} -li:hover .time{opacity:1;} -.description{font-size:smaller;} -.body{white-space:pre-line;} -.body::before,.body::after{content:"";} -.presence .verb{font-style:normal;color:#30c030;} -.unavailable .verb{color:#c03030;} -</style> -</head> -<body> -<header> -<h1 title="xmpp:{jid?}">{title}</h1> -<nav>{links# -<a class="{rel?}" href="{href}" rel="{rel?}">{text}</a>} -</nav> -</header> -<hr> -<div class="content"> -<nav> -<dl class="room-list"> -{rooms# -<dt class="name"><a href="{href}">{name}</a></dt> -<dd class="description">{description?}</dd>} -</dl> -<ul class="dates">{dates# -<li><a href="{date}">{date}</a></li>} -</ul> -</nav> -<ol class="chat-logs">{lines# -<li class="{st_name} {st_type?}" id="{key}"> -<a class="time" href="#{key}"><time datetime="{datetime}">{time}</time></a> -<b class="nick">{nick}</b> -<em class="verb">{verb?}</em> -<q class="body">{body?}</q> -</li>} -</ol> -</div> -<hr> -<footer> -<nav>{links# -<a class="{rel?}" href="{href}" rel="{rel?}">{text}</a>} -</nav> -<br> -<div class="powered-by">Prosody</div> -</footer> -<script> -/* - * Local timestamps - */ -(function () { - var timeTags = document.getElementsByTagName("time"); - var i = 0, tag, date; - while(timeTags[i]) { - tag = timeTags[i++]; - if(date = tag.getAttribute("datetime")) { - date = new Date(date); - tag.textContent = date.toLocaleTimeString(); - tag.setAttribute("title", date.toString()); - } - } -})(); -</script> -</body> -</html> -]=]; +local template = "Could not load template" +do + local template_file = module:get_option_string(module.name .. "_template", module.name .. ".html"); + template_file = assert(module:load_resource(template_file)); + template = template_file:read("*a"); + template_file:close(); +end local base_url = module:http_url() .. '/'; local get_link do