why deal with wikipedia links when you can just add a space 4Head, not like this worked properly to begin with

jschan
Thomas Lynch 3 years ago
parent c084b5960a
commit ca43e94baf
  1. 32
      helpers/posting/linkmatch.js
  2. 4
      helpers/posting/markdown.js
  3. 2
      views/custompages/faq.pug

@ -1,34 +1,20 @@
'use strict';
const parenPairRegex = /\((?:[^)(]+|\((?:[^)(]+|\([^)(]\))*\))*\)/g
// , config = require(__dirname+'/../../config.js');
module.exports = (permLevel, match, p1, p2, p3, offset, string, groups) => {
let { url, label, urlOnly } = groups
, excess = '';
let { url, label, urlOnly } = groups;
console.log(url, label, urlOnly)
url = url || urlOnly;
if (urlOnly) {
const parensPairs = url.match(parenPairRegex);
let trimmedMatch = url;
//naive solution to conflict with detected markdown
if (parensPairs) {
const lastMatch = parensPairs[parensPairs.length-1];
const lastIndex = url.lastIndexOf(lastMatch);
trimmedMatch = url.substring(0, lastIndex+lastMatch.length);
excess = url.substring(lastIndex+lastMatch.length);
} else if (url.indexOf(')') !== -1){
trimmedMatch = url.substring(0, url.indexOf(')'));
excess = url.substring(url.indexOf(')'));
}
url = trimmedMatch;
}
if (permLevel >= 4) {
label = url
.replace(/\(/g, '(')
.replace(/\)/g, ')');
}
url = url.replace(/\(/g, '%28')
.replace(/\)/g, '%29');
.replace(/\)/g, '%29');
/*
//todo: Something to revisit later
const href = url;
@ -41,5 +27,7 @@ module.exports = (permLevel, match, p1, p2, p3, offset, string, groups) => {
} catch (e) { }
}
*/
return `<a rel='nofollow' referrerpolicy='same-origin' target='_blank' href='${url}'>${label || url}</a>${excess}`;
return `<a rel='nofollow' referrerpolicy='same-origin' target='_blank' href='${url}'>${label || url}</a>`;
};

@ -9,7 +9,7 @@ const greentextRegex = /^&gt;((?!&gt;\d+|&gt;&gt;&#x2F;\w+(&#x2F;\d*)?|&gt;&gt;#
, strikeRegex = /~~(.+?)~~/gm
, italicRegex = /\*\*(.+?)\*\*/gm
, spoilerRegex = /\|\|([\s\S]+?)\|\|/gm
, detectedRegex = /(\(\(\(.+?\)\)\))/gm
, detectedRegex = /\(\(\((.+?)\)\)\)/gm
, linkRegex = /\[(?<label>[^\[][^\]]*?)\]\((?<url>(?:&#x2F;[^\s<>\[\]{}|\\^)]+|https?\:&#x2F;&#x2F;[^\s<>\[\]{}|\\^)]+))\)|(?<urlOnly>https?\:&#x2F;&#x2F;[^\s<>\[\]{}|\\^]+)/g
, codeRegex = /(?:(?<language>[a-z+]{1,14})\r?\n)?(?<code>[\s\S]+)/i
, includeSplitRegex = /(\[code\][\s\S]+?\[\/code\])/gm
@ -38,8 +38,8 @@ const updateMarkdownPerms = () => {
{ permLevel: markdownPermLevels.italic, regex: italicRegex, cb: (permLevel, match, italic) => `<span class='em'>${italic}</span>` },
{ permLevel: markdownPermLevels.spoiler, regex: spoilerRegex, cb: (permLevel, match, spoiler) => `<span class='spoiler'>${spoiler}</span>` },
{ permLevel: markdownPermLevels.mono, regex: monoRegex, cb: (permLevel, match, mono) => `<span class='mono'>${mono}</span>` },
{ permLevel: markdownPermLevels.detected, regex: detectedRegex, cb: (permLevel, match, detected) => `<span class='detected'>&lpar;&lpar;&lpar; ${detected} &rpar;&rpar;&rpar;</span>` },
{ permLevel: markdownPermLevels.link, regex: linkRegex, cb: linkmatch },
{ permLevel: markdownPermLevels.detected, regex: detectedRegex, cb: (permLevel, match, detected) => `<span class='detected'>${detected}</span>` },
{ permLevel: markdownPermLevels.dice, regex: diceroll.regexMarkdown, cb: diceroll.markdown },
{ permLevel: markdownPermLevels.fortune, regex: fortune.regex, cb: fortune.markdown },
];

@ -156,7 +156,7 @@ block content
tr
td (((detected)))
td
span.detected (((detected)))
span.detected ((( detected )))
tr
td ##2d9+3
td

Loading…
Cancel
Save