@ecency/render-helper 2.4.5 → 2.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,10 @@ import multihash from 'multihashes';
4
4
  import querystring from 'querystring';
5
5
  import { Remarkable } from 'remarkable';
6
6
  import { linkify as linkify$1 } from 'remarkable/linkify';
7
- import { LRUCache } from 'lru-cache';
8
7
  import he from 'he';
8
+ import * as htmlparser2 from 'htmlparser2';
9
+ import * as domSerializerModule from 'dom-serializer';
10
+ import { LRUCache } from 'lru-cache';
9
11
 
10
12
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
11
13
  get: (a2, b) => (typeof require !== "undefined" ? require : a2)[b]
@@ -390,6 +392,12 @@ var getInlineMeta = (el, href) => {
390
392
  isInline: textMatches || titleMatches
391
393
  };
392
394
  };
395
+ var addLineBreakBeforePostLink = (el, forApp, isInline) => {
396
+ if (forApp && isInline && el.parentNode) {
397
+ const br = el.ownerDocument.createElement("br");
398
+ el.parentNode.insertBefore(br, el);
399
+ }
400
+ };
393
401
  function a(el, forApp, webp, parentDomain = "ecency.com") {
394
402
  if (!el || !el.parentNode) {
395
403
  return;
@@ -453,6 +461,7 @@ function a(el, forApp, webp, parentDomain = "ecency.com") {
453
461
  el.setAttribute("href", h);
454
462
  el.setAttribute("data-is-inline", "" + isInline);
455
463
  }
464
+ addLineBreakBeforePostLink(el, forApp, isInline);
456
465
  return;
457
466
  }
458
467
  const mentionMatch = href.match(MENTION_REGEX);
@@ -530,6 +539,7 @@ function a(el, forApp, webp, parentDomain = "ecency.com") {
530
539
  el.setAttribute("href", h);
531
540
  el.setAttribute("data-is-inline", "" + isInline);
532
541
  }
542
+ addLineBreakBeforePostLink(el, forApp, isInline);
533
543
  return;
534
544
  }
535
545
  }
@@ -594,6 +604,7 @@ function a(el, forApp, webp, parentDomain = "ecency.com") {
594
604
  el.setAttribute("href", h);
595
605
  el.setAttribute("data-is-inline", "" + isInline);
596
606
  }
607
+ addLineBreakBeforePostLink(el, forApp, isInline);
597
608
  return;
598
609
  }
599
610
  }
@@ -679,6 +690,7 @@ function a(el, forApp, webp, parentDomain = "ecency.com") {
679
690
  el.setAttribute("href", h);
680
691
  el.setAttribute("data-is-inline", "" + isInline);
681
692
  }
693
+ addLineBreakBeforePostLink(el, forApp, isInline);
682
694
  return;
683
695
  }
684
696
  const BCmatch = href.match(BITCHUTE_REGEX);
@@ -1263,6 +1275,7 @@ function traverse(node, forApp, depth = 0, webp = false, state = { firstImageFou
1263
1275
  function cleanReply(s) {
1264
1276
  return (s ? s.split("\n").filter((item) => item.toLowerCase().includes("posted using [partiko") === false).filter((item) => item.toLowerCase().includes("posted using [dapplr") === false).filter((item) => item.toLowerCase().includes("posted using [leofinance") === false).filter((item) => item.toLowerCase().includes("posted via [neoxian") === false).filter((item) => item.toLowerCase().includes("posted using [neoxian") === false).filter((item) => item.toLowerCase().includes("posted with [stemgeeks") === false).filter((item) => item.toLowerCase().includes("posted using [bilpcoin") === false).filter((item) => item.toLowerCase().includes("posted using [inleo") === false).filter((item) => item.toLowerCase().includes("posted using [sportstalksocial]") === false).filter((item) => item.toLowerCase().includes("<center><sub>[posted using aeneas.blog") === false).filter((item) => item.toLowerCase().includes("<center><sub>posted via [proofofbrain.io") === false).filter((item) => item.toLowerCase().includes("<center>posted on [hypnochain") === false).filter((item) => item.toLowerCase().includes("<center><sub>posted via [weedcash.network") === false).filter((item) => item.toLowerCase().includes("<center>posted on [naturalmedicine.io") === false).filter((item) => item.toLowerCase().includes("<center><sub>posted via [musicforlife.io") === false).filter((item) => item.toLowerCase().includes("if the truvvl embed is unsupported by your current frontend, click this link to view this story") === false).filter((item) => item.toLowerCase().includes("<center><em>posted from truvvl") === false).filter((item) => item.toLowerCase().includes('view this post <a href="https://travelfeed.io/') === false).filter((item) => item.toLowerCase().includes("read this post on travelfeed.io for the best experience") === false).filter((item) => item.toLowerCase().includes('posted via <a href="https://www.dporn.co/"') === false).filter((item) => item.toLowerCase().includes("\u25B6\uFE0F [watch on 3speak](https://3speak") === false).filter((item) => item.toLowerCase().includes("<sup><sub>posted via [inji.com]") === false).filter((item) => item.toLowerCase().includes("view this post on [liketu]") === false).filter((item) => item.toLowerCase().includes("[via Inbox]") === false).join("\n") : "").replace('Posted via <a href="https://d.buzz" data-link="promote-link">D.Buzz</a>', "").replace('<div class="pull-right"><a href="/@hive.engage">![](https://i.imgur.com/XsrNmcl.png)</a></div>', "").replace('<div><a href="https://engage.hivechain.app">![](https://i.imgur.com/XsrNmcl.png)</a></div>', "").replace(`<div class="text-center"><img src="https://cdn.steemitimages.com/DQmNp6YwAm2qwquALZw8PdcovDorwaBSFuxQ38TrYziGT6b/A-20.png"><a href="https://bit.ly/actifit-app"><img src="https://cdn.steemitimages.com/DQmQqfpSmcQtfrHAtzfBtVccXwUL9vKNgZJ2j93m8WNjizw/l5.png"></a><a href="https://bit.ly/actifit-ios"><img src="https://cdn.steemitimages.com/DQmbWy8KzKT1UvCvznUTaFPw6wBUcyLtBT5XL9wdbB7Hfmn/l6.png"></a></div>`, "");
1265
1277
  }
1278
+ var domSerializer = domSerializerModule.default || domSerializerModule;
1266
1279
  var lolight = null;
1267
1280
  function getLolightInstance() {
1268
1281
  if (!lolight) {
@@ -1354,8 +1367,6 @@ function markdownToHTML(input, forApp, webp, parentDomain = "ecency.com") {
1354
1367
  try {
1355
1368
  output = md.render(input);
1356
1369
  const preSanitized = sanitizeHtml(output);
1357
- const htmlparser2 = __require("htmlparser2");
1358
- const domSerializer = __require("dom-serializer").default;
1359
1370
  const dom = htmlparser2.parseDocument(preSanitized, {
1360
1371
  // lenient options - don't throw on malformed HTML
1361
1372
  lowerCaseTags: false,
@@ -1366,8 +1377,7 @@ function markdownToHTML(input, forApp, webp, parentDomain = "ecency.com") {
1366
1377
  traverse(doc, forApp, 0, webp, { firstImageFound: false }, parentDomain);
1367
1378
  output = serializer.serializeToString(doc);
1368
1379
  } catch (fallbackError) {
1369
- const he2 = __require("he");
1370
- const escapedContent = he2.encode(output || md.render(input));
1380
+ const escapedContent = he.encode(output || md.render(input));
1371
1381
  output = `<p dir="auto">${escapedContent}</p>`;
1372
1382
  }
1373
1383
  }