Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More ā†’
Socket
Socket
Sign inDemoInstall

wikity

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wikity - npm Package Compare versions

Comparing version 1.3.2 to 1.3.3

2

dist/compile.js

@@ -109,3 +109,3 @@ "use strict";

}
const renderedHtml = formatter.render(html).replace(/(<\/\w+>)(\S)/g, '$1 $2');
const renderedHtml = formatter.render(html.replace(/(<\/\w+>) +(\S)/g, '$1&#32;$2'));
fs_1.default.writeFileSync(outFilePath, frontMatter + '\n' + renderedHtml, 'utf8');

@@ -112,0 +112,0 @@ // Move images

@@ -36,2 +36,3 @@ "use strict";

let outText = data;
const escaper = (text, n) => `%${text}#${n}`;
for (let l = 0, last = ''; l < MAX_RECURSION; l++) {

@@ -43,3 +44,3 @@ if (last === outText)

// Nowiki: <nowiki></nowiki>
.replace((0, common_1.RegExpBuilder)(r `<nowiki> ([^]+?) </nowiki>`), (_, m) => `%NOWIKI#${nowikis.push(m), nowikiCount++}%`)
.replace((0, common_1.RegExpBuilder)(r `<nowiki> ([^]+?) </nowiki>`), (_, m) => (nowikis.push(m), escaper('NOWIKI', nowikiCount++)))
// Sanitise unacceptable HTML

@@ -52,2 +53,12 @@ .replace((0, common_1.RegExpBuilder)(r `<(/?) \s* (?= script|link|meta|iframe|frameset|object|embed|applet|form|input|button|textarea )`), '&lt;$1')

.replace(/^-{4,}/gm, '<hr>')
// Internal links: [[Page]] and [[Page|Text]]
.replace((0, common_1.RegExpBuilder)(r `\[\[ ([^\]|]+?) \]\]`), `<a class{{=}}"internal-link" title{{=}}"$1" href{{=}}"$1">$1</a>`)
.replace((0, common_1.RegExpBuilder)(r `\[\[ ([^\]|]+?) \| ([^\]]+?) \]\]`), `<a class{{=}}"internal-link" title{{=}}"$1" href{{=}}"/$1">$2</a>`)
.replace((0, common_1.RegExpBuilder)(r `(</a>)([a-z]+)`), '$2$1')
// External links: [href Page] and just [href]
.replace((0, common_1.RegExpBuilder)(r `\[ ((?:\w+:)?\/\/ [^\s\]]+) (\s [^\]]+?)? \]`), (_, href, txt) => `<a class{{=}}"external-link" href{{=}}"${href}">${txt || '[' + (++rawExtLinkCount) + ']'}</a>`)
// Magic words: {{!}}, {{reflist}}, etc
.replace((0, common_1.RegExpBuilder)(r `{{ \s* ! \s* }}`), escaper('VERT', 0))
.replace((0, common_1.RegExpBuilder)(r `{{ \s* = \s* }}`), escaper('EQUALS', 0))
.replace((0, common_1.RegExpBuilder)(r `{{ \s* [Rr]eflist \s* }}`), '<references/>')
// Metadata: displayTitle, __NOTOC__, etc

@@ -59,6 +70,2 @@ .replace((0, common_1.RegExpBuilder)(r `{{ \s* displayTitle: ([^}]+) }}`), (_, title) => (metadata.displayTitle = title, ''))

.replace((0, common_1.RegExpBuilder)(r `__TOC__`), () => (metadata.toc = true, `<toc></toc>`))
// Magic words: {{!}}, {{reflist}}, etc
.replace((0, common_1.RegExpBuilder)(r `{{ \s* ! \s* }}`), '&vert;')
.replace((0, common_1.RegExpBuilder)(r `{{ \s* = \s* }}`), '&equals;')
.replace((0, common_1.RegExpBuilder)(r `{{ \s* [Rr]eflist \s* }}`), '<references/>')
// String functions: {{lc:}}, {{ucfirst:}}, {{len:}}, etc

@@ -135,3 +142,3 @@ .replace((0, common_1.RegExpBuilder)(r `{{ \s* #? urlencode: ${arg} }}`), (_, m) => encodeURI(m))

const [arg, val] = parts[1]
? [parts[0], ...parts.slice(1)]
? [parts[0], parts.slice(1).join('=')]
: [i.toString(), parts[0]];

@@ -232,8 +239,2 @@ content = content.replace(argMatch(arg), (_, defaultVal) => val || defaultVal || '');

.replace((0, common_1.RegExpBuilder)(r `^ (=+) \s* (.+?) \s* \1 \s* $`), (_, lvl, txt) => `<h${lvl.length} id="${encodeURI(txt.replace(/ /g, '_'))}">${txt}</h${lvl.length}>`)
// Internal links: [[Page]] and [[Page|Text]]
.replace((0, common_1.RegExpBuilder)(r `\[\[ ([^\]|]+?) \]\]`), `<a class="internal-link" title="$1" href="$1">$1</a>`)
.replace((0, common_1.RegExpBuilder)(r `\[\[ ([^\]|]+?) \| ([^\]]+?) \]\]`), `<a class="internal-link" title="$1" href="/$1">$2</a>`)
.replace((0, common_1.RegExpBuilder)(r `(</a>)([a-z]+)`), '$2$1')
// External links: [href Page] and just [href]
.replace((0, common_1.RegExpBuilder)(r `\[ ((?:\w+:)?\/\/ [^\s\]]+) (\s [^\]]+?)? \]`), (_, href, txt) => `<a class="external-link" href="${href}">${txt || '[' + (++rawExtLinkCount) + ']'}</a>`)
// Bulleted list: *item

@@ -246,4 +247,5 @@ .replace((0, common_1.RegExpBuilder)(r `^ (\*+) (.+?) $`), (_, lvl, txt) => `${'<ul>'.repeat(lvl.length)}<li>${txt}</li>${'</ul>'.repeat(lvl.length)}`)

// Definition list: ;head, :item
.replace((0, common_1.RegExpBuilder)(r `^ ; (.+?) : (.+?) $`), `<dl><dt>$1</td><dd>$2</dd></dl>`)
.replace((0, common_1.RegExpBuilder)(r `^ (:+) (.+?) $`), (_, lvl, txt) => `${'<dl>'.repeat(lvl.length)}<dd>${txt}</dd>${'</dl>'.repeat(lvl.length)}`)
.replace((0, common_1.RegExpBuilder)(r `^ ; (.+) $`), '<dl><dt>$1</dt></dl>')
.replace((0, common_1.RegExpBuilder)(r `^ (:+) (.+?) $`), (_, lvl, txt) => `${'<dl>'.repeat(lvl.length)}<dd>${txt}</dd>${'</dl>'.repeat(lvl.length)}`)
.replace((0, common_1.RegExpBuilder)(r `</dl> (\s*?) <dl>`), '$1')

@@ -271,6 +273,11 @@ // Tables: {|, |+, !, |-, |, |}

}
// Final changes (run only once)
// Restore nowiki contents
for (let i = 0; i < nowikis.length; i++) {
outText = outText
.replace(escaper('NOWIKI', i), (_, n) => fullyEscape(nowikis[n]));
}
// Substitute magic word functions
outText = outText
// Restore nowiki contents
.replace(/%NOWIKI#(\d+)%/g, (_, n) => fullyEscape(nowikis[n]));
.replaceAll(escaper('VERT', 0), '|')
.replaceAll(escaper('EQUALS', 0), '=');
const result = { data: outText, metadata: metadata };

@@ -277,0 +284,0 @@ return result;

{
"name": "wikity",
"version": "1.3.2",
"version": "1.3.3",
"description": "Compile wikitext to HTML: wikitext as a templating language.",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with āš”ļø by Socket Inc