Wed Jun 8 12:20:18 2016, comment #1:
You can use the following script in your build file:
-------
kpse.set_program_name "luatex"
local lg_file = arg[1]
-- list of removed extensions
local patterns = arg[2] or "html,css"
if not lg_file then
print "No input file"
os.exit()
end
lg_file = lg_file:gsub("tex$","lg")
if not lg_file:match "lg$" then
lg_file = lg_file ..".lg"
end
local removed_extensions = {}
for ext in patterns:gmatch("([^,]+)") do
removed_extensions[ext] = true
end
function file_exists(name)
local f=io.open(name,"r")
if f~=nil then io.close(f) return true else return false end
end
local current_dir = lfs.currentdir()
local remove = function(filename)
local removed = current_dir .."/" .. filename
if file_exists(removed) then
print("Removing", removed)
os.remove(removed)
end
end
local files = {}
local images = {}
local file_pattern = "File: (.*)"
local image_pattern = "--- needs --- .-==> ([^%s]+) ---"
for line in io.lines(lg_file) do
local file_match = line:match(file_pattern)
local image_match = line:match(image_pattern)
files[#files + 1] = file_match
images[#images + 1] = image_match
end
for _, v in ipairs(files) do
local ext = v:match "([^%.]+)$"
if removed_extensions[ext] then
remove(v)
end
end
for _,v in ipairs(images) do
remove(v)
end
------
you can call it with command
texlua removefiles.lua texfilename "listofremovedextensions"
list of removed extensions isn't necessary, it removes html and css files by default. and of course images generated from the DVI file.
|