summaryrefslogtreecommitdiff
path: root/support/make4ht/extensions/make4ht-ext-build_changed.lua
diff options
context:
space:
mode:
Diffstat (limited to 'support/make4ht/extensions/make4ht-ext-build_changed.lua')
-rw-r--r--support/make4ht/extensions/make4ht-ext-build_changed.lua68
1 files changed, 0 insertions, 68 deletions
diff --git a/support/make4ht/extensions/make4ht-ext-build_changed.lua b/support/make4ht/extensions/make4ht-ext-build_changed.lua
deleted file mode 100644
index e0fc5ec6eb..0000000000
--- a/support/make4ht/extensions/make4ht-ext-build_changed.lua
+++ /dev/null
@@ -1,68 +0,0 @@
--- this make4ht build file tries to recompile modified blog article sources
---
-
--- disable any compilation
-Make.build_seq = {}
-Make:add("tex4ht", "")
-Make:add("t4ht", "")
-
-local log = logging.new "compile newest"
-
-
-
--- construct the name of the generated HTML file from the .published file
-local function get_generated_html_name(published_file, directory, file_pattern)
- local f = io.open(directory .. "/" .. published_file, "r")
- local content = f:read("*all")
- f:close()
- local timestamp = tonumber(content)
- local basename = mkutils.remove_extension(published_file)
- local tex_file = basename .. ".tex"
- -- expand fillename in the file_pattern
- local expanded = file_pattern % {input = basename}
- -- expand date in the file_pattern
- expanded = os.date(expanded, timestamp)
- log:status("found source files :", directory, basename, expanded)
- return {directory = directory, tex_file = tex_file, generated = expanded .. ".html"}
-end
-
--- process subdirectories of the basedir and look for the filename.published files
-local function find_published(basedir, file_pattern)
- local published = {}
- for f in lfs.dir(basedir) do
- local fullname = basedir .. "/" .. f
- local attributes = lfs.attributes(fullname)
- -- process directories, but ignore . and ..
- if attributes.mode == "directory" and f ~= "." and f~= ".." then
- for name in lfs.dir(fullname) do
- if name:match("published$") then
- published[#published + 1] = get_generated_html_name(name, fullname, file_pattern)
- end
-
- end
- end
- end
- return published
-end
-
--- find tex files that were modified later than the generated HTML files
-local function find_changed(published, site_root)
- local keep = {}
- for _, entry in ipairs(published) do
- local source_attributes = lfs.attributes(entry.directory .. "/" .. entry.tex_file)
- local dest_attributes = lfs.attributes(site_root .. "/" .. entry.generated)
- --
- print(entry.tex_file, entry.generated, source_attributes.change < dest_attributes.change)
- end
-end
-
-
-Make:add("rebuild", function(par)
- local config = get_filter_settings "staticsite"
- -- how the generated HTML files are named
- local file_pattern = config.file_pattern or "%Y-%m-%d-${input}"
- local published = find_published(par.tex_dir, file_pattern)
- local changed = find_changed(published, config.site_root)
-end)
-
-Make:rebuild{tex_dir = "posts"}