Skip to content
Permalink
Browse files

Merge pull request #205 from hoijui/linkifyHeaderStyle

Allow to generate lower case header references through the config
  • Loading branch information...
SISheogorath committed Oct 23, 2019
2 parents 3db7577 + e654ca8 commit 7a27579589a739e66edc08528c20d32e7a9d7aaf
Showing with 16 additions and 7 deletions.
  1. +2 −1 config.json.example
  2. +2 −1 lib/config/default.js
  3. +2 −1 lib/web/statusRouter.js
  4. +8 −4 public/js/extra.js
  5. +2 −0 public/js/lib/common/constant.ejs
@@ -123,6 +123,7 @@
{
"connectionString": "change this",
"container": "change this"
}
},
"linkifyHeaderStyle": "gfm"
}
}
@@ -157,5 +157,6 @@ module.exports = {
allowEmailRegister: true,
allowGravatar: true,
allowPDFExport: true,
openID: false
openID: false,
linkifyHeaderStyle: 'keep-case'
}
@@ -96,7 +96,8 @@ statusRouter.get('/config', function (req, res) {
debug: config.debug,
version: config.fullversion,
DROPBOX_APP_KEY: config.dropbox.appKey,
allowedUploadMimeTypes: config.allowedUploadMimeTypes
allowedUploadMimeTypes: config.allowedUploadMimeTypes,
linkifyHeaderStyle: config.linkifyHeaderStyle
}
res.set({
'Cache-Control': 'private', // only cache by client
@@ -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 === '')) {
@@ -5,4 +5,6 @@ window.version = '<%- version %>'

window.allowedUploadMimeTypes = <%- JSON.stringify(allowedUploadMimeTypes) %>

window.linkifyHeaderStyle = <%- JSON.stringify(linkifyHeaderStyle) %>

window.DROPBOX_APP_KEY = '<%- DROPBOX_APP_KEY %>'

0 comments on commit 7a27579

Please sign in to comment.
You can’t perform that action at this time.