From 3085689202ddfdae2b1d4a1ff5fd1566a130cf55 Mon Sep 17 00:00:00 2001 From: Volpeon Date: Sat, 9 Jan 2021 21:32:20 +0100 Subject: Improved build script variable names, use output instead of input filenames to generate URLs --- scripts/metadata_filter.lua | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) (limited to 'scripts/metadata_filter.lua') diff --git a/scripts/metadata_filter.lua b/scripts/metadata_filter.lua index fb7b3c9..61fe90f 100644 --- a/scripts/metadata_filter.lua +++ b/scripts/metadata_filter.lua @@ -13,7 +13,8 @@ function format_date(date) return pandoc.MetaMap({ yyyy_mm_dd = pandoc.MetaString(os.date("%F", time)), yyyy = pandoc.MetaString(os.date("%Y", time)), - mm_dd = pandoc.MetaString(os.date("%m-%d", time)), + mm = pandoc.MetaString(os.date("%m", time)), + dd = pandoc.MetaString(os.date("%d", time)), rfc3339 = pandoc.MetaString(os.date("%FT%T+00:00", time)) }) end @@ -91,15 +92,11 @@ function relative_to(dir, target) return path end -function resolve_url(page_type, site_url, content_dir, base_dir, cur_file) - if page_type == "page" then - cur_file = cur_file:gsub("%.md$", ".html") - elseif page_type == "feed" then - cur_file = cur_file:gsub("%.md$", ".xml") - end - - local abs = cur_file:gsub("^" .. content_dir, ""):gsub("/index.html$", "/") - local rel = relative_to(base_dir, cur_file):gsub("/index.html$", "/") +function resolve_url(page_type, site_url, output_dir, base_dir_out, cur_file_out) + local abs = cur_file_out:gsub("^" .. output_dir, ""):gsub("/index.html$", + "/") + local rel = + relative_to(base_dir_out, cur_file_out):gsub("/index.html$", "/") return pandoc.MetaMap({ abs = pandoc.MetaString(abs), @@ -143,9 +140,7 @@ function create_main_menu_state(section, main_menu) local item = main_menu[i] local active = pandoc.utils.stringify(item.id) == section.id item.active = pandoc.MetaBool(active) - if active then - active_item = item - end + if active then active_item = item end end return pandoc.MetaMap({ @@ -206,10 +201,10 @@ function organize_subpages(pages) end function Meta(meta) - meta.content_dir = meta.content_dir:gsub("/$", "") + meta.output_dir = meta.output_dir:gsub("/$", "") meta.site.url = pandoc.utils.stringify(meta.site.url):gsub("/$", "") - meta.base_file = meta.base_file or meta.file - meta.base_dir = meta.base_file:gsub("^(.*)/.-$", "%1") + meta.base_file_out = meta.base_file_out or meta.file_out + meta.base_dir_out = meta.base_file_out:gsub("^(.*)/.-$", "%1") meta.page_type = meta.page_type or "page" meta.layout = resolve_layout(meta.layout) @@ -223,13 +218,13 @@ function Meta(meta) if meta.page_type == "feed" then meta.page = pandoc.MetaMap({ - url = resolve_url("page", meta.site.url, meta.content_dir, - meta.base_dir, meta.file) + url = resolve_url("page", meta.site.url, meta.output_dir, + meta.base_dir_out, meta.file_out) }) end - meta.url = resolve_url(meta.page_type, meta.site.url, meta.content_dir, - meta.base_dir, meta.file) + meta.url = resolve_url(meta.page_type, meta.site.url, meta.output_dir, + meta.base_dir_out, meta.file_out) meta.section = resolve_section(meta.url.abs) meta.category = resolve_category(meta.categories[meta.section.id], meta.category) -- cgit v1.2.3-54-g00ecf