avoid adding draft mode more than once

This commit is contained in:
Brian Gough 2017-08-17 15:03:37 +01:00
parent 8415ea2f71
commit b901884248
2 changed files with 4 additions and 3 deletions

View file

@ -42,14 +42,12 @@ module.exports = CompileManager =
logger.log project_id: request.project_id, user_id: request.user_id, time_taken: Date.now() - timer.start, "written files to disk"
timer.done()
# FIXME - for incremental compiles we don't want to inject this multiple times
injectDraftModeIfRequired = (callback) ->
if request.draft
DraftModeManager.injectDraftMode Path.join(compileDir, request.rootResourcePath), callback
else
callback()
# FIXME - for incremental compiles we may need to update output.tex every time
createTikzFileIfRequired = (callback) ->
if TikzManager.needsOutputFile(request.rootResourcePath, resourceList)
TikzManager.injectOutputFile compileDir, request.rootResourcePath, callback

View file

@ -5,6 +5,9 @@ module.exports = DraftModeManager =
injectDraftMode: (filename, callback = (error) ->) ->
fs.readFile filename, "utf8", (error, content) ->
return callback(error) if error?
# avoid adding draft mode more than once
if content?.indexOf("\\documentclass\[draft") >= 0
return callback()
modified_content = DraftModeManager._injectDraftOption content
logger.log {
content: content.slice(0,1024), # \documentclass is normally v near the top
@ -18,4 +21,4 @@ module.exports = DraftModeManager =
# With existing options (must be first, otherwise both are applied)
.replace(/\\documentclass\[/g, "\\documentclass[draft,")
# Without existing options
.replace(/\\documentclass\{/g, "\\documentclass[draft]{")
.replace(/\\documentclass\{/g, "\\documentclass[draft]{")