Mercurial > prosody-modules
changeset 4087:88a469b285f5
mod_http_libjs: New module to serve common CSS/Javascript libraries
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 07 Sep 2020 13:33:42 +0100 |
parents | 50644402c6f5 |
children | 439ae12bb136 |
files | mod_http_libjs/README.markdown mod_http_libjs/mod_http_libjs.lua |
diffstat | 2 files changed, 37 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_http_libjs/README.markdown Mon Sep 07 13:33:42 2020 +0100 @@ -0,0 +1,24 @@ +--- +labels: +- 'Stage-Stable' +summary: 'Serve common Javascript libraries' +... + +Introduction +============ + +This module serves common static CSS and Javascript libraries from the +filesystem, allowing other HTTP modules to easily reference them. + +The default configuration works out of the box with Debian (and derivatives) +`libjs-*` packages, such as libjs-jquery and libjs-bootstrap. + +You can override the filesystem location using the `libjs_path` configuration +option. The default is `/usr/share/javascript`. + +Compatibility +============= + + ----- ------- + 0.11 Works + ----- -------
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_http_libjs/mod_http_libjs.lua Mon Sep 07 13:33:42 2020 +0100 @@ -0,0 +1,13 @@ +local mime_map = module:shared("/*/http_files/mime").types or { + css = "text/css", + js = "application/javascript", +}; + +local libjs_path = module:get_option_string("libjs_path", "/usr/share/javascript"); + +module:provides("http", { + default_path = "/share"; + route = { + ["GET /*"] = require "net.http.files".serve({ path = libjs_path, mime_map = mime_map }); + } + });