--[==========================================[--
          L3BUILD FILE FOR ELEGANTNOTE
     Check PDF File & Directory After Build
--]==========================================]--

--[==========================================[--
                Basic Information
             Do Check Before Upload
--]==========================================]--
module           = "elegantnote"
version          = "2.70"
maintainer       = "Ran Wang"
uploader         = maintainer
maintainid       = "ElegantLaTeX"
email            = "ranwang.osbert@outlook.com"
repository       = "https://github.com/" .. maintainid .. "/" .. module
announcement     = ""
note             = ""
summary          = "Elegant LaTeX Template for Notes"
description      = [[ElegantNote is designed for writing working papers, especially for economics students. This template is based on the standard LaTeX article class. The goal of this template is to make the writing process easier and more comfortable.]]

--[==========================================[--
         Build, Pack and Upload To CTAN
         Do not Modify Unless Necessary
--]==========================================]--
ctanzip          = module
excludefiles     = {"*~"}
textfiles        = {"*.md", "LICENSE", "*.lua", "*.cls"}
typesetexe       = "latexmk -pdf"
typesetfiles     = {module .. "-cn.tex", module .. "-en.tex"}
typesetopts      = "-interaction=nonstopmode"
typesetruns      = 1
typesetsuppfiles = {"*.cls"}
imagesuppdir     = "image"
specialtypesetting = specialtypesetting or {}
specialtypesetting[module .. "-cn.tex"] = {cmd = "latexmk -pdfxe"}

uploadconfig = {
  pkg          = module,
  version      = version,
  author       = maintainer,
  uploader     = uploader,
  email        = email,
  summary      = summary,
  description  = description,
  announcement = announcement,
  note         = note,
  license      = "lppl1.3c",
  ctanPath     = "/macros/latex/contrib/" .. module .. "/",
  home         = repository,
  support      = repository .. "/issues",
  bugtracker   = repository .. "/issues",
  repository   = repository,
  development  = "https://github.com/" .. maintainid,
  update       = true
}

function tex(file, dir, cmd)
  dir = dir or "."
  cmd = cmd or typesetexe .. " " .. typesetopts
  return run(dir, cmd .. " " .. file)
end

-- Copy required files into the typeset build dir
function docinit_hook()
  -- Copy .cls, .bib support files
  for _, glob in pairs(typesetsuppfiles) do
    cp(glob, currentdir, typesetdir)
  end
  -- Copy image subdirectory
  local dest = typesetdir .. "/" .. imagesuppdir
  mkdir(dest)
  cp("*", imagesuppdir, dest)
  -- Copy tex source files
  for _, texfile in pairs(typesetfiles) do
    cp(texfile, currentdir, typesetdir)
  end
  return 0
end

-- Pack CTAN directory: cls, tex sources, PDFs, and image subdir
function copyctan()
  local pkgdir = ctandir .. "/" .. ctanpkg
  mkdir(pkgdir)
  -- Copy .cls
  for _, glob in pairs(typesetsuppfiles) do
    cp(glob, currentdir, pkgdir)
  end
  -- Copy .tex
  for _, texfile in pairs(typesetfiles) do
    cp(texfile, currentdir, pkgdir)
  end
  -- Copy compiled PDF
  for _, glob in pairs(pdffiles or {"*.pdf"}) do
    cp(glob, typesetdir, pkgdir)
  end
  -- Copy image/
  local dest = pkgdir .. "/" .. imagesuppdir
  mkdir(dest)
  cp("*", imagesuppdir, dest)
end

