From 983f453afd128715d6a7af5258bbccaa0b95ba93 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Thu, 4 May 2017 10:36:05 -0700 Subject: [PATCH] Add findTitle as a module --- browser/lib/findNoteTitle.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 browser/lib/findNoteTitle.js diff --git a/browser/lib/findNoteTitle.js b/browser/lib/findNoteTitle.js new file mode 100644 index 00000000..10250a6e --- /dev/null +++ b/browser/lib/findNoteTitle.js @@ -0,0 +1,32 @@ +export function find (value) { + let splitted = value.split('\n') + let title = null + let isMarkdownInCode = false + + for (let i = 0; i < splitted.length; i++) { + let trimmedLine = splitted[i].trim() + if (trimmedLine.match('```')) { + isMarkdownInCode = !isMarkdownInCode + } else if (isMarkdownInCode === false && trimmedLine.match(/^# +/)) { + title = trimmedLine.substring(1, trimmedLine.length).trim() + break + } + } + + if (title == null) { + title = '' + for (let i = 0; i < splitted.length; i++) { + let trimmedLine = splitted[i].trim() + if (trimmedLine.length > 0) { + title = trimmedLine + break + } + } + } + + return title +} + +export default { + find +}