NAME
Text::Amuse::Compile::File - Object for file scheduled for compilation
SYNOPSIS
Everything here is pretty much private. It's used by Text::Amuse::Compile in a forked and chdir'ed environment.
ACCESSORS AND METHODS
new(name => $basename, suffix => $suffix, templates => $templates)
Constructor. Accepts the following named parameters:
- name
- virtual
-
If it's a virtual file which doesn't exit on the disk (a merged one)
- suffix
- templates
- standalone
-
When set to true, the tex output will obey bcor and twoside/oneside.
- options
-
An hashref with the options to pass to the templates. It's returned as an hash, not as a reference, to protect it from mangling.
INTERNALS
- is_deleted
- status_file
- check_status
- purged_extensions
- muse_file
- document
-
The Text::Amuse object
- tt
-
The Template::Tiny object
- logger
-
The logger subroutine set in the constructor.
- cleanup
-
Remove auxiliary files (like the complete file and the status file)
purge_all
Remove all the output files related to basename
purge_latex
Remove files left by previous latex compilation
purge('.epub', ...)
Remove the files associated with this file, by extension.
METHODS
Formats
Emit the respective format, saving it in a file. Return value is meaningless, but exceptions could be raised.
- html
- bare_html
- epub
- lt_pdf
- a4_pdf
- zip
-
The zipped sources. Beware that if you don't call html or tex before this, the attachments (if any) are ignored if both html and tex files exist. Hence, the muse-compile.pl scripts forces the --tex and --html switches.
- tex
-
This method is a bit tricky, because it's called with arguments internally by
lt_pdf
anda4_pdf
, and with no arguments beforepdf
.With no arguments, this method enforces the options
twoside=true
andbcor=0mm
, effectively ignoring the global options which affect the imposed output, unlessstandalone
is set to true.This means that the twoside and binding correction options follow this logic: if you have some imposed format, they are ignored for the standalone PDF but applied for the imposed ones. If you have only the standalone PDF, they are applied to it.
Logging
While the logger
accessor holds a reference to a sub, but could be very well be empty, the object uses these two methods: