diff --git a/build.lua b/build.lua index af61be8..91d1b15 100644 --- a/build.lua +++ b/build.lua @@ -1,5 +1,6 @@ local arrr = require 'arrr' local cmark = require 'cmark' +local csv = require 'streamcsv' local fun = require 'fun' local json = require 'cjson' local restia = require 'restia' @@ -63,6 +64,10 @@ local function read_post(file) } end +-- Handle JS modules +local modules = csv.file(io.open("modules.csv"), {header = true}) +package.loaded.modules = modules + local posts = {} package.loaded.posts = posts diff --git a/modules.csv b/modules.csv new file mode 100644 index 0000000..7dffa42 --- /dev/null +++ b/modules.csv @@ -0,0 +1,3 @@ +name,preload,url +skooma,false,https://cdn.jsdelivr.net/gh/darkwiiplayer/js@cdaeac1/skooma.js +element,false,https://cdn.jsdelivr.net/gh/darkwiiplayer/js@3724b3e/element.js diff --git a/templates/main.skooma.yue b/templates/main.skooma.yue index 56a93e9..0204575 100644 --- a/templates/main.skooma.yue +++ b/templates/main.skooma.yue @@ -1,4 +1,5 @@ import output from require 'params' +import 'modules' (...) => head_content, body_content = @(...) @@ -9,6 +10,7 @@ import output from require 'params' link rel: "stylesheet", href: "/#{output}/css/site.css" meta charset: "UTF-8" head_content + [ link rel: "modulepreload", href: module.url for module in *modules when module.preload ] } body { body_content