DocumentHelper.coffee 559 B

12345678910111213
  1. module.exports = DocumentHelper =
  2. getTitleFromTexContent: (content, maxContentToScan = 30000) ->
  3. TITLE_WITH_CURLY_BRACES = /\\[tT]itle\*?\s*{([^}]+)}/
  4. TITLE_WITH_SQUARE_BRACES = /\\[tT]itle\s*\[([^\]]+)\]/
  5. ESCAPED_BRACES = /\\([{}\[\]])/g
  6. content = content.substring(0, maxContentToScan).split("\n") if typeof content is 'string'
  7. title = null
  8. for line in content
  9. match = line.match(TITLE_WITH_SQUARE_BRACES) || line.match(TITLE_WITH_CURLY_BRACES)
  10. if match?
  11. title = match[1].replace(ESCAPED_BRACES, (br)->br[1])
  12. break
  13. return title