1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-12 17:26:17 +00:00
Files
Boostnote/browser/lib/findNoteTitle.js
2017-05-23 15:43:48 +09:00

38 lines
982 B
JavaScript

export function findNoteTitle (value) {
let splitted = value.split('\n')
let title = null
let isMarkdownInCode = false
splitted.some((line, index) => {
let trimmedLine = line.trim()
let trimmedNextLine = splitted[index + 1] === undefined ? '' : splitted[index + 1].trim()
if (trimmedLine.match('```')) {
isMarkdownInCode = !isMarkdownInCode
} else if (isMarkdownInCode === false && (trimmedLine.match(/^# +/) || trimmedNextLine.match('='))) {
if (trimmedNextLine.match('=')) {
title = trimmedLine.substring(0, trimmedLine.length).trim()
} else {
title = trimmedLine.substring(1, trimmedLine.length).trim()
}
return true
}
})
if (title == null) {
title = ''
splitted.some((line, index) => {
let trimmedLine = splitted[index].trim()
if (trimmedLine.length > 0) {
title = trimmedLine
return true
}
})
}
return title
}
export default {
findNoteTitle
}