Merge pull request #205 from hoijui/linkifyHeaderStyle

Allow to generate lower case header references through the config
This commit is contained in:
Sheogorath 2019-10-23 21:18:57 +02:00 committed by GitHub
commit 7a27579589
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 7 deletions

View file

@ -164,11 +164,11 @@ export function renderTags (view) {
}
function slugifyWithUTF8 (text) {
// remove html tags and trim spaces
// remove HTML tags and trim spaces
let newText = S(text).trim().stripTags().s
// replace all spaces in between to dashes
// replace space between words with dashes
newText = newText.replace(/\s+/g, '-')
// slugify string to make it valid for attribute
// slugify string to make it valid as an attribute
newText = newText.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, '')
return newText
}
@ -833,7 +833,11 @@ const linkifyAnchors = (level, containingElement) => {
if (header.getElementsByClassName('anchor').length === 0) {
if (typeof header.id === 'undefined' || header.id === '') {
// to escape characters not allow in css and humanize
const id = slugifyWithUTF8(getHeaderContent(header))
let id = slugifyWithUTF8(getHeaderContent(header))
// to make compatible with GitHub, GitLab, Pandoc and many more
if (window.linkifyHeaderStyle !== 'keep-case') {
id = id.toLowerCase()
}
header.id = id
}
if (!(typeof header.id === 'undefined' || header.id === '')) {

View file

@ -5,4 +5,6 @@ window.version = '<%- version %>'
window.allowedUploadMimeTypes = <%- JSON.stringify(allowedUploadMimeTypes) %>
window.linkifyHeaderStyle = <%- JSON.stringify(linkifyHeaderStyle) %>
window.DROPBOX_APP_KEY = '<%- DROPBOX_APP_KEY %>'