| 123456789101112131415161718192021222324 |
- fs = require "fs"
- logger = require "logger-sharelatex"
- 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
- modified_content: modified_content.slice(0,1024),
- filename
- }, "injected draft class"
- fs.writeFile filename, modified_content, callback
-
- _injectDraftOption: (content) ->
- content
- # With existing options (must be first, otherwise both are applied)
- .replace(/\\documentclass\[/g, "\\documentclass[draft,")
- # Without existing options
- .replace(/\\documentclass\{/g, "\\documentclass[draft]{")
|