@ecency/render-helper 2.2.12 → 2.2.16

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.
Files changed (49) hide show
  1. package/lib/catch-post-image.js +7 -7
  2. package/lib/catch-post-image.js.map +1 -1
  3. package/lib/consts/index.d.ts +1 -0
  4. package/lib/consts/index.js +1 -0
  5. package/lib/consts/index.js.map +1 -1
  6. package/lib/consts/regexes.const.d.ts +1 -0
  7. package/lib/consts/regexes.const.js +3 -2
  8. package/lib/consts/regexes.const.js.map +1 -1
  9. package/lib/consts/section-list.const.d.ts +1 -0
  10. package/lib/consts/section-list.const.js +19 -0
  11. package/lib/consts/section-list.const.js.map +1 -0
  12. package/lib/helper.js +1 -1
  13. package/lib/helper.js.map +1 -1
  14. package/lib/markdown-2-html.js +7 -7
  15. package/lib/markdown-2-html.js.map +1 -1
  16. package/lib/methods/a.method.js +75 -61
  17. package/lib/methods/a.method.js.map +1 -1
  18. package/lib/methods/clean-reply.method.js +2 -2
  19. package/lib/methods/iframe.method.js +5 -5
  20. package/lib/methods/iframe.method.js.map +1 -1
  21. package/lib/methods/img.method.js +1 -1
  22. package/lib/methods/img.method.js.map +1 -1
  23. package/lib/methods/linkify.method.js +11 -11
  24. package/lib/methods/linkify.method.js.map +1 -1
  25. package/lib/methods/markdown-to-html.method.js +5 -5
  26. package/lib/methods/markdown-to-html.method.js.map +1 -1
  27. package/lib/methods/sanitize-html.method.js +1 -1
  28. package/lib/methods/sanitize-html.method.js.map +1 -1
  29. package/lib/methods/text.method.js +12 -12
  30. package/lib/methods/text.method.js.map +1 -1
  31. package/lib/methods/traverse.method.js +4 -4
  32. package/lib/methods/traverse.method.js.map +1 -1
  33. package/lib/post-body-summary.js +6 -5
  34. package/lib/post-body-summary.js.map +1 -1
  35. package/lib/proxify-image-src.js +12 -8
  36. package/lib/proxify-image-src.js.map +1 -1
  37. package/lib/render-helper.js +1 -1
  38. package/package.json +1 -1
  39. package/src/consts/index.ts +1 -0
  40. package/src/consts/regexes.const.ts +2 -1
  41. package/src/consts/section-list.const.ts +15 -0
  42. package/src/markdown-2-html.spec.ts +56 -8
  43. package/src/methods/a.method.ts +38 -20
  44. package/src/methods/clean-reply.method.ts +2 -2
  45. package/src/methods/linkify.method.ts +2 -2
  46. package/src/methods/markdown-to-html.method.ts +2 -2
  47. package/src/post-body-summary.ts +3 -1
  48. package/src/test/data/legacy/23.json +1 -1
  49. package/src/test/data/legacy/27.JSON +1 -1
@@ -25,18 +25,18 @@ function getImage(entry, width, height, format) {
25
25
  }
26
26
  }
27
27
  if (meta && meta.image && !!meta.image.length && meta.image[0]) {
28
- return proxify_image_src_1.proxifyImageSrc(meta.image[0], width, height, format);
28
+ return (0, proxify_image_src_1.proxifyImageSrc)(meta.image[0], width, height, format);
29
29
  }
30
30
  // try to find first image from post body
31
- var html = markdown_2_html_1.markdown2Html(entry);
32
- var doc = helper_1.createDoc(html);
31
+ var html = (0, markdown_2_html_1.markdown2Html)(entry);
32
+ var doc = (0, helper_1.createDoc)(html);
33
33
  if (!doc) {
34
34
  return null;
35
35
  }
36
36
  var imgEls = doc.getElementsByTagName('img');
37
37
  if (imgEls.length >= 1) {
38
38
  var src = imgEls[0].getAttribute('src');
39
- return proxify_image_src_1.proxifyImageSrc(src, width, height, format);
39
+ return (0, proxify_image_src_1.proxifyImageSrc)(src, width, height, format);
40
40
  }
41
41
  return null;
42
42
  }
@@ -47,13 +47,13 @@ function catchPostImage(obj, width, height, format) {
47
47
  if (typeof obj === 'string') {
48
48
  return getImage(obj, width, height, format);
49
49
  }
50
- var key = helper_1.makeEntryCacheKey(obj) + "-" + width + "x" + height + "-" + format;
51
- var item = cache_1.cacheGet(key);
50
+ var key = "".concat((0, helper_1.makeEntryCacheKey)(obj), "-").concat(width, "x").concat(height, "-").concat(format);
51
+ var item = (0, cache_1.cacheGet)(key);
52
52
  if (item) {
53
53
  return item;
54
54
  }
55
55
  var res = getImage(obj, width, height, format);
56
- cache_1.cacheSet(key, res);
56
+ (0, cache_1.cacheSet)(key, res);
57
57
  return res;
58
58
  }
59
59
  exports.catchPostImage = catchPostImage;
@@ -1 +1 @@
1
- {"version":3,"file":"catch-post-image.js","sourceRoot":"","sources":["../src/catch-post-image.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,qDAAiD;AACjD,mCAAuD;AACvD,iCAA4C;AAG5C,SAAS,QAAQ,CAAC,KAAY,EAAE,KAAS,EAAE,MAAU,EAAE,MAAgB;IAAvC,sBAAA,EAAA,SAAS;IAAE,uBAAA,EAAA,UAAU;IAAE,uBAAA,EAAA,gBAAgB;IACrE;;QAEI;IACJ,IAAI,IAAmC,CAAA;IAEvC,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE;QAC3C,IAAI,GAAG,KAAK,CAAC,aAAa,CAAA;KAC3B;SAAM;QACL,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAuB,CAAC,CAAA;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,GAAG,IAAI,CAAA;SACZ;KACF;IAED,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC9D,OAAO,mCAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAC7D;IAED,yCAAyC;IACzC,IAAM,IAAI,GAAG,+BAAa,CAAC,KAAK,CAAC,CAAA;IACjC,IAAM,GAAG,GAAG,kBAAS,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IAED,IAAM,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;QACtB,IAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACzC,OAAO,mCAAe,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KACnD;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,cAAc,CAAC,GAAmB,EAAE,KAAS,EAAE,MAAU,EAAE,MAAgB;IAAvC,sBAAA,EAAA,SAAS;IAAE,uBAAA,EAAA,UAAU;IAAE,uBAAA,EAAA,gBAAgB;IACzF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,QAAQ,CAAC,GAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KACnD;IACD,IAAM,GAAG,GAAM,0BAAiB,CAAC,GAAG,CAAC,SAAI,KAAK,SAAI,MAAM,SAAI,MAAQ,CAAA;IAEpE,IAAM,IAAI,GAAG,gBAAQ,CAAS,GAAG,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IAED,IAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,gBAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAElB,OAAO,GAAG,CAAA;AACZ,CAAC;AAfD,wCAeC"}
1
+ {"version":3,"file":"catch-post-image.js","sourceRoot":"","sources":["../src/catch-post-image.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,qDAAiD;AACjD,mCAAuD;AACvD,iCAA4C;AAG5C,SAAS,QAAQ,CAAC,KAAY,EAAE,KAAS,EAAE,MAAU,EAAE,MAAgB;IAAvC,sBAAA,EAAA,SAAS;IAAE,uBAAA,EAAA,UAAU;IAAE,uBAAA,EAAA,gBAAgB;IACrE;;QAEI;IACJ,IAAI,IAAmC,CAAA;IAEvC,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE;QAC3C,IAAI,GAAG,KAAK,CAAC,aAAa,CAAA;KAC3B;SAAM;QACL,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAuB,CAAC,CAAA;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,GAAG,IAAI,CAAA;SACZ;KACF;IAED,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC9D,OAAO,IAAA,mCAAe,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAC7D;IAED,yCAAyC;IACzC,IAAM,IAAI,GAAG,IAAA,+BAAa,EAAC,KAAK,CAAC,CAAA;IACjC,IAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IAED,IAAM,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;QACtB,IAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACzC,OAAO,IAAA,mCAAe,EAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KACnD;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,cAAc,CAAC,GAAmB,EAAE,KAAS,EAAE,MAAU,EAAE,MAAgB;IAAvC,sBAAA,EAAA,SAAS;IAAE,uBAAA,EAAA,UAAU;IAAE,uBAAA,EAAA,gBAAgB;IACzF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,QAAQ,CAAC,GAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KACnD;IACD,IAAM,GAAG,GAAG,UAAG,IAAA,0BAAiB,EAAC,GAAG,CAAC,cAAI,KAAK,cAAI,MAAM,cAAI,MAAM,CAAE,CAAA;IAEpE,IAAM,IAAI,GAAG,IAAA,gBAAQ,EAAS,GAAG,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IAED,IAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,IAAA,gBAAQ,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAElB,OAAO,GAAG,CAAA;AACZ,CAAC;AAfD,wCAeC"}
@@ -1,4 +1,5 @@
1
1
  export * from './white-list.const';
2
+ export * from './section-list.const';
2
3
  export * from './regexes.const';
3
4
  export * from './allowed-attributes.const';
4
5
  export * from './dom-parser.const';
@@ -11,6 +11,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./white-list.const"), exports);
14
+ __exportStar(require("./section-list.const"), exports);
14
15
  __exportStar(require("./regexes.const"), exports);
15
16
  __exportStar(require("./allowed-attributes.const"), exports);
16
17
  __exportStar(require("./dom-parser.const"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkC;AAClC,kDAA+B;AAC/B,6DAA0C;AAC1C,qDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkC;AAClC,uDAAoC;AACpC,kDAA+B;AAC/B,6DAA0C;AAC1C,qDAAkC"}
@@ -38,3 +38,4 @@ export declare const BRAND_NEW_TUBE_REGEX: RegExp;
38
38
  export declare const LOOM_REGEX: RegExp;
39
39
  export declare const LOOM_EMBED_REGEX: RegExp;
40
40
  export declare const AUREAL_EMBED_REGEX: RegExp;
41
+ export declare const ENTITY_REGEX: RegExp;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AUREAL_EMBED_REGEX = exports.LOOM_EMBED_REGEX = exports.LOOM_REGEX = exports.BRAND_NEW_TUBE_REGEX = exports.TWITCH_EMBED_REGEX = exports.SOUNDCLOUD_EMBED_REGEX = exports.SPOTIFY_EMBED_REGEX = exports.VIMM_EMBED_REGEX = exports.BRIGHTEON_REGEX = exports.RUMBLE_REGEX = exports.SPOTIFY_REGEX = exports.TWITTER_REGEX = exports.SPEAK_EMBED_REGEX = exports.SPEAK_REGEX = exports.ARCH_REGEX = exports.ODYSEE_REGEX = exports.LBRY_REGEX = exports.TRUVVL_REGEX = exports.DAPPLR_REGEX = exports.TWITCH_REGEX = exports.D_TUBE_EMBED_REGEX = exports.D_TUBE_REGEX2 = exports.D_TUBE_REGEX = exports.BITCHUTE_REGEX = exports.VIMEO_EMBED_REGEX = exports.VIMEO_REGEX = exports.YOUTUBE_EMBED_REGEX = exports.YOUTUBE_REGEX = exports.CUSTOM_COMMUNITY_REGEX = exports.INTERNAL_POST_REGEX = exports.INTERNAL_POST_TAG_REGEX = exports.INTERNAL_TOPIC_REGEX = exports.INTERNAL_MENTION_REGEX = exports.TOPIC_REGEX = exports.MENTION_REGEX = exports.CCC_REGEX = exports.POST_REGEX = exports.IPFS_REGEX = exports.IMG_REGEX = exports.URL_REGEX = void 0;
3
+ exports.ENTITY_REGEX = exports.AUREAL_EMBED_REGEX = exports.LOOM_EMBED_REGEX = exports.LOOM_REGEX = exports.BRAND_NEW_TUBE_REGEX = exports.TWITCH_EMBED_REGEX = exports.SOUNDCLOUD_EMBED_REGEX = exports.SPOTIFY_EMBED_REGEX = exports.VIMM_EMBED_REGEX = exports.BRIGHTEON_REGEX = exports.RUMBLE_REGEX = exports.SPOTIFY_REGEX = exports.TWITTER_REGEX = exports.SPEAK_EMBED_REGEX = exports.SPEAK_REGEX = exports.ARCH_REGEX = exports.ODYSEE_REGEX = exports.LBRY_REGEX = exports.TRUVVL_REGEX = exports.DAPPLR_REGEX = exports.TWITCH_REGEX = exports.D_TUBE_EMBED_REGEX = exports.D_TUBE_REGEX2 = exports.D_TUBE_REGEX = exports.BITCHUTE_REGEX = exports.VIMEO_EMBED_REGEX = exports.VIMEO_REGEX = exports.YOUTUBE_EMBED_REGEX = exports.YOUTUBE_REGEX = exports.CUSTOM_COMMUNITY_REGEX = exports.INTERNAL_POST_REGEX = exports.INTERNAL_POST_TAG_REGEX = exports.INTERNAL_TOPIC_REGEX = exports.INTERNAL_MENTION_REGEX = exports.TOPIC_REGEX = exports.MENTION_REGEX = exports.CCC_REGEX = exports.POST_REGEX = exports.IPFS_REGEX = exports.IMG_REGEX = exports.URL_REGEX = void 0;
4
4
  // link regex
5
5
  exports.URL_REGEX = /(https?:\/\/[^\s]+)/g;
6
6
  exports.IMG_REGEX = /(https?:\/\/.*\.(?:tiff?|jpe?g|gif|png|svg|ico|heic|webp))(.*)/gim;
@@ -11,7 +11,7 @@ exports.MENTION_REGEX = /^https?:\/\/(.*)\/(@[\w.\d-]+)$/i;
11
11
  exports.TOPIC_REGEX = /^https?:\/\/(.*)\/(trending|hot|created|promoted|muted|payout)\/(.*)$/i;
12
12
  exports.INTERNAL_MENTION_REGEX = /^\/@[\w.\d-]+$/i;
13
13
  exports.INTERNAL_TOPIC_REGEX = /^\/(trending|hot|created|promoted|muted|payout)\/(.*)$/i;
14
- exports.INTERNAL_POST_TAG_REGEX = /\/(.*)\/(@[\w.\d-]+)\/(.*)/i;
14
+ exports.INTERNAL_POST_TAG_REGEX = /(.*)\/(@[\w.\d-]+)\/(.*)/i;
15
15
  exports.INTERNAL_POST_REGEX = /^\/(@[\w.\d-]+)\/(.*)$/i;
16
16
  exports.CUSTOM_COMMUNITY_REGEX = /^https?:\/\/(.*)\/c\/(hive-\d+)(.*)/i;
17
17
  exports.YOUTUBE_REGEX = /(?:youtube.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu.be\/)([^"&?\/\s]{11})/g;
@@ -42,4 +42,5 @@ exports.BRAND_NEW_TUBE_REGEX = /^https:\/\/brandnewtube\.com\/embed\/[a-z0-9]+$/
42
42
  exports.LOOM_REGEX = /^(https?:)?\/\/www.loom.com\/share\/(.*)/i;
43
43
  exports.LOOM_EMBED_REGEX = /^(https?:)?\/\/www.loom.com\/embed\/(.*)/i;
44
44
  exports.AUREAL_EMBED_REGEX = /^(https?:\/\/)?(www\.)?(?:aureal-embed)\.web\.app\/([0-9]+)/i;
45
+ exports.ENTITY_REGEX = /&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/ig;
45
46
  //# sourceMappingURL=regexes.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regexes.const.js","sourceRoot":"","sources":["../../src/consts/regexes.const.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACA,QAAA,SAAS,GAAG,sBAAsB,CAAA;AAClC,QAAA,SAAS,GAAG,mEAAmE,CAAA;AAC/E,QAAA,UAAU,GAAG,4CAA4C,CAAA;AACzD,QAAA,UAAU,GAAG,6CAA6C,CAAA;AAC1D,QAAA,SAAS,GAAG,2CAA2C,CAAA;AACvD,QAAA,aAAa,GAAG,kCAAkC,CAAA;AAClD,QAAA,WAAW,GAAG,wEAAwE,CAAA;AACtF,QAAA,sBAAsB,GAAG,iBAAiB,CAAA;AAC1C,QAAA,oBAAoB,GAAG,yDAAyD,CAAA;AAChF,QAAA,uBAAuB,GAAG,6BAA6B,CAAA;AACvD,QAAA,mBAAmB,GAAG,yBAAyB,CAAA;AAC/C,QAAA,sBAAsB,GAAG,sCAAsC,CAAA;AAC/D,QAAA,aAAa,GAAG,2FAA2F,CAAA;AAC3G,QAAA,mBAAmB,GAAG,qDAAqD,CAAA;AAC3E,QAAA,WAAW,GAAG,4EAA4E,CAAA;AAC1F,QAAA,iBAAiB,GAAG,+CAA+C,CAAA;AACnE,QAAA,cAAc,GAAG,wEAAwE,CAAA;AACzF,QAAA,YAAY,GAAG,0CAA0C,CAAA;AACzD,QAAA,aAAa,GAAG,uCAAuC,CAAA;AACvD,QAAA,kBAAkB,GAAG,4BAA4B,CAAA;AACjD,QAAA,YAAY,GAAG,wEAAwE,CAAA;AACvF,QAAA,YAAY,GAAG,4DAA4D,CAAA;AAC3E,QAAA,YAAY,GAAG,mDAAmD,CAAA;AAClE,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,YAAY,GAAG,2CAA2C,CAAA;AAC1D,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,WAAW,GAAG,2GAA2G,CAAA;AACzH,QAAA,iBAAiB,GAAG,4CAA4C,CAAA;AAChE,QAAA,aAAa,GAAG,4DAA4D,CAAA;AAC5E,QAAA,aAAa,GAAG,mDAAmD,CAAA;AACnE,QAAA,YAAY,GAAI,wDAAwD,CAAA;AACxE,QAAA,eAAe,GAAG,8DAA8D,CAAA;AAChF,QAAA,gBAAgB,GAAG,6BAA6B,CAAA;AAChD,QAAA,mBAAmB,GAAG,kGAAkG,CAAA;AACxH,QAAA,sBAAsB,GAAG,0CAA0C,CAAA;AACnE,QAAA,kBAAkB,GAAG,sCAAsC,CAAA;AAC3D,QAAA,oBAAoB,GAAG,kDAAkD,CAAA;AACzE,QAAA,UAAU,GAAG,2CAA2C,CAAA;AACxD,QAAA,gBAAgB,GAAG,2CAA2C,CAAA;AAC9D,QAAA,kBAAkB,GAAG,8DAA8D,CAAA"}
1
+ {"version":3,"file":"regexes.const.js","sourceRoot":"","sources":["../../src/consts/regexes.const.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACA,QAAA,SAAS,GAAG,sBAAsB,CAAA;AAClC,QAAA,SAAS,GAAG,mEAAmE,CAAA;AAC/E,QAAA,UAAU,GAAG,4CAA4C,CAAA;AACzD,QAAA,UAAU,GAAG,6CAA6C,CAAA;AAC1D,QAAA,SAAS,GAAG,2CAA2C,CAAA;AACvD,QAAA,aAAa,GAAG,kCAAkC,CAAA;AAClD,QAAA,WAAW,GAAG,wEAAwE,CAAA;AACtF,QAAA,sBAAsB,GAAG,iBAAiB,CAAA;AAC1C,QAAA,oBAAoB,GAAG,yDAAyD,CAAA;AAChF,QAAA,uBAAuB,GAAG,2BAA2B,CAAA;AACrD,QAAA,mBAAmB,GAAG,yBAAyB,CAAA;AAC/C,QAAA,sBAAsB,GAAG,sCAAsC,CAAA;AAC/D,QAAA,aAAa,GAAG,2FAA2F,CAAA;AAC3G,QAAA,mBAAmB,GAAG,qDAAqD,CAAA;AAC3E,QAAA,WAAW,GAAG,4EAA4E,CAAA;AAC1F,QAAA,iBAAiB,GAAG,+CAA+C,CAAA;AACnE,QAAA,cAAc,GAAG,wEAAwE,CAAA;AACzF,QAAA,YAAY,GAAG,0CAA0C,CAAA;AACzD,QAAA,aAAa,GAAG,uCAAuC,CAAA;AACvD,QAAA,kBAAkB,GAAG,4BAA4B,CAAA;AACjD,QAAA,YAAY,GAAG,wEAAwE,CAAA;AACvF,QAAA,YAAY,GAAG,4DAA4D,CAAA;AAC3E,QAAA,YAAY,GAAG,mDAAmD,CAAA;AAClE,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,YAAY,GAAG,2CAA2C,CAAA;AAC1D,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,WAAW,GAAG,2GAA2G,CAAA;AACzH,QAAA,iBAAiB,GAAG,4CAA4C,CAAA;AAChE,QAAA,aAAa,GAAG,4DAA4D,CAAA;AAC5E,QAAA,aAAa,GAAG,mDAAmD,CAAA;AACnE,QAAA,YAAY,GAAI,wDAAwD,CAAA;AACxE,QAAA,eAAe,GAAG,8DAA8D,CAAA;AAChF,QAAA,gBAAgB,GAAG,6BAA6B,CAAA;AAChD,QAAA,mBAAmB,GAAG,kGAAkG,CAAA;AACxH,QAAA,sBAAsB,GAAG,0CAA0C,CAAA;AACnE,QAAA,kBAAkB,GAAG,sCAAsC,CAAA;AAC3D,QAAA,oBAAoB,GAAG,kDAAkD,CAAA;AACzE,QAAA,UAAU,GAAG,2CAA2C,CAAA;AACxD,QAAA,gBAAgB,GAAG,2CAA2C,CAAA;AAC9D,QAAA,kBAAkB,GAAG,8DAA8D,CAAA;AACnF,QAAA,YAAY,GAAG,gDAAgD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const SECTION_LIST: string[];
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SECTION_LIST = void 0;
4
+ exports.SECTION_LIST = [
5
+ 'wallet',
6
+ 'feed',
7
+ 'followers',
8
+ 'following',
9
+ 'points',
10
+ 'communities',
11
+ 'posts',
12
+ 'blog',
13
+ 'comments',
14
+ 'replies',
15
+ 'settings',
16
+ 'engine',
17
+ 'permissions'
18
+ ];
19
+ //# sourceMappingURL=section-list.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-list.const.js","sourceRoot":"","sources":["../../src/consts/section-list.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,QAAQ;IACR,MAAM;IACN,WAAW;IACX,WAAW;IACX,QAAQ;IACR,aAAa;IACb,OAAO;IACP,MAAM;IACN,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,aAAa;CACd,CAAA"}
package/lib/helper.js CHANGED
@@ -11,7 +11,7 @@ function createDoc(html) {
11
11
  }
12
12
  exports.createDoc = createDoc;
13
13
  function makeEntryCacheKey(entry) {
14
- return entry.author + "-" + entry.permlink + "-" + entry.last_update;
14
+ return "".concat(entry.author, "-").concat(entry.permlink, "-").concat(entry.last_update);
15
15
  }
16
16
  exports.makeEntryCacheKey = makeEntryCacheKey;
17
17
  function extractYtStartTime(url) {
package/lib/helper.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtB,OAAO,IAAI,CAAA;KACZ;IAED,IAAM,GAAG,GAAG,kBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAExD,OAAO,GAAG,CAAA;AACZ,CAAC;AARD,8BAQC;AAED,SAAgB,iBAAiB,CAAC,KAAU;IAC1C,OAAU,KAAK,CAAC,MAAM,SAAI,KAAK,CAAC,QAAQ,SAAI,KAAK,CAAC,WAAa,CAAA;AACjE,CAAC;AAFD,8CAEC;AAED,SAAgB,kBAAkB,CAAC,GAAU;IAC3C,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,IAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAC;QACjB,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wDAAwD;KAChG;SAAK,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAVD,gDAUC"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtB,OAAO,IAAI,CAAA;KACZ;IAED,IAAM,GAAG,GAAG,kBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAExD,OAAO,GAAG,CAAA;AACZ,CAAC;AARD,8BAQC;AAED,SAAgB,iBAAiB,CAAC,KAAU;IAC1C,OAAO,UAAG,KAAK,CAAC,MAAM,cAAI,KAAK,CAAC,QAAQ,cAAI,KAAK,CAAC,WAAW,CAAE,CAAA;AACjE,CAAC;AAFD,8CAEC;AAED,SAAgB,kBAAkB,CAAC,GAAU;IAC3C,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,IAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAC;QACjB,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wDAAwD;KAChG;SAAK,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAVD,gDAUC"}
@@ -8,17 +8,17 @@ function markdown2Html(obj, forApp, webp) {
8
8
  if (forApp === void 0) { forApp = true; }
9
9
  if (webp === void 0) { webp = false; }
10
10
  if (typeof obj === 'string') {
11
- obj = methods_1.cleanReply(obj);
12
- return methods_1.markdownToHTML(obj, forApp, webp);
11
+ obj = (0, methods_1.cleanReply)(obj);
12
+ return (0, methods_1.markdownToHTML)(obj, forApp, webp);
13
13
  }
14
- var key = helper_1.makeEntryCacheKey(obj) + "-md" + (webp ? '-webp' : '');
15
- var item = cache_1.cacheGet(key);
14
+ var key = "".concat((0, helper_1.makeEntryCacheKey)(obj), "-md").concat(webp ? '-webp' : '');
15
+ var item = (0, cache_1.cacheGet)(key);
16
16
  if (item) {
17
17
  return item;
18
18
  }
19
- obj.body = methods_1.cleanReply(obj.body);
20
- var res = methods_1.markdownToHTML(obj.body, forApp, webp);
21
- cache_1.cacheSet(key, res);
19
+ obj.body = (0, methods_1.cleanReply)(obj.body);
20
+ var res = (0, methods_1.markdownToHTML)(obj.body, forApp, webp);
21
+ (0, cache_1.cacheSet)(key, res);
22
22
  return res;
23
23
  }
24
24
  exports.markdown2Html = markdown2Html;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-2-html.js","sourceRoot":"","sources":["../src/markdown-2-html.ts"],"names":[],"mappings":";;;AAAA,mCAA4C;AAC5C,qCAAsD;AACtD,iCAA4C;AAG5C,SAAgB,aAAa,CAAC,GAAmB,EAAE,MAAa,EAAE,IAAY;IAA3B,uBAAA,EAAA,aAAa;IAAE,qBAAA,EAAA,YAAY;IAC5E,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,GAAG,GAAG,oBAAU,CAAC,GAAG,CAAC,CAAA;QACrB,OAAO,wBAAc,CAAC,GAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;KACnD;IAED,IAAM,GAAG,GAAM,0BAAiB,CAAC,GAAG,CAAC,YAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;IAEhE,IAAM,IAAI,GAAG,gBAAQ,CAAS,GAAG,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IAED,GAAG,CAAC,IAAI,GAAG,oBAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAM,GAAG,GAAG,wBAAc,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAClD,gBAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAElB,OAAO,GAAG,CAAA;AACZ,CAAC;AAnBD,sCAmBC"}
1
+ {"version":3,"file":"markdown-2-html.js","sourceRoot":"","sources":["../src/markdown-2-html.ts"],"names":[],"mappings":";;;AAAA,mCAA4C;AAC5C,qCAAsD;AACtD,iCAA4C;AAG5C,SAAgB,aAAa,CAAC,GAAmB,EAAE,MAAa,EAAE,IAAY;IAA3B,uBAAA,EAAA,aAAa;IAAE,qBAAA,EAAA,YAAY;IAC5E,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,GAAG,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,CAAA;QACrB,OAAO,IAAA,wBAAc,EAAC,GAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;KACnD;IAED,IAAM,GAAG,GAAG,UAAG,IAAA,0BAAiB,EAAC,GAAG,CAAC,gBAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;IAEhE,IAAM,IAAI,GAAG,IAAA,gBAAQ,EAAS,GAAG,CAAC,CAAA;IAClC,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IAED,GAAG,CAAC,IAAI,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE/B,IAAM,GAAG,GAAG,IAAA,wBAAc,EAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAClD,IAAA,gBAAQ,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAElB,OAAO,GAAG,CAAA;AACZ,CAAC;AAnBD,sCAmBC"}
@@ -26,22 +26,22 @@ function a(el, forApp, webp) {
26
26
  // & => & can break equality
27
27
  if (href.match(consts_1.IMG_REGEX) &&
28
28
  href.trim().replace(/&/g, '&') ===
29
- get_inner_html_method_1.getSerializedInnerHTML(el).trim().replace(/&/g, '&')) {
30
- var attrs = forApp ? "data-href=\"" + href + "\" class=\"markdown-img-link\" src=\"" + proxify_image_src_1.proxifyImageSrc(href, 0, 0, webp ? 'webp' : 'match') + "\"" : "class=\"markdown-img-link\" src=\"" + proxify_image_src_1.proxifyImageSrc(href, 0, 0, webp ? 'webp' : 'match') + "\"";
31
- var replaceNode = consts_1.DOMParser.parseFromString("<img " + attrs + "/>");
29
+ (0, get_inner_html_method_1.getSerializedInnerHTML)(el).trim().replace(/&amp;/g, '&')) {
30
+ var attrs = forApp ? "data-href=\"".concat(href, "\" class=\"markdown-img-link\" src=\"").concat((0, proxify_image_src_1.proxifyImageSrc)(href, 0, 0, webp ? 'webp' : 'match'), "\"") : "class=\"markdown-img-link\" src=\"".concat((0, proxify_image_src_1.proxifyImageSrc)(href, 0, 0, webp ? 'webp' : 'match'), "\"");
31
+ var replaceNode = consts_1.DOMParser.parseFromString("<img ".concat(attrs, "/>"));
32
32
  el.parentNode.replaceChild(replaceNode, el);
33
33
  return;
34
34
  }
35
35
  if (href.match(consts_1.IPFS_REGEX) &&
36
36
  href.trim().replace(/&amp;/g, '&') ===
37
- get_inner_html_method_1.getSerializedInnerHTML(el).trim().replace(/&amp;/g, '&') &&
37
+ (0, get_inner_html_method_1.getSerializedInnerHTML)(el).trim().replace(/&amp;/g, '&') &&
38
38
  href.indexOf('#') === -1) {
39
39
  if (forApp) {
40
40
  el.setAttribute('data-href', href);
41
41
  el.removeAttribute('href');
42
42
  }
43
43
  el.setAttribute('class', 'markdown-img-link');
44
- remove_child_nodes_method_1.removeChildNodes(el);
44
+ (0, remove_child_nodes_method_1.removeChildNodes)(el);
45
45
  var img = el.ownerDocument.createElement('img');
46
46
  img.setAttribute('src', href);
47
47
  el.appendChild(img);
@@ -55,7 +55,7 @@ function a(el, forApp, webp) {
55
55
  var author = postMatch[3].replace('@', '');
56
56
  var permlink = postMatch[4];
57
57
  if (el.textContent === href) {
58
- el.textContent = "@" + author + "/" + permlink;
58
+ el.textContent = "@".concat(author, "/").concat(permlink);
59
59
  }
60
60
  if (forApp) {
61
61
  el.removeAttribute('href');
@@ -64,7 +64,7 @@ function a(el, forApp, webp) {
64
64
  el.setAttribute('data-permlink', permlink);
65
65
  }
66
66
  else {
67
- var h = "/" + tag + "/@" + author + "/" + permlink;
67
+ var h = "/".concat(tag, "/@").concat(author, "/").concat(permlink);
68
68
  el.setAttribute('href', h);
69
69
  }
70
70
  return;
@@ -76,14 +76,14 @@ function a(el, forApp, webp) {
76
76
  var author = mentionMatch[2].replace('@', '').toLowerCase();
77
77
  if (author.indexOf('/') === -1) {
78
78
  if (el.textContent === href) {
79
- el.textContent = "@" + author;
79
+ el.textContent = "@".concat(author);
80
80
  }
81
81
  if (forApp) {
82
82
  el.removeAttribute('href');
83
83
  el.setAttribute('data-author', author);
84
84
  }
85
85
  else {
86
- var h = "/@" + author;
86
+ var h = "/@".concat(author);
87
87
  el.setAttribute('href', h);
88
88
  }
89
89
  }
@@ -91,34 +91,41 @@ function a(el, forApp, webp) {
91
91
  }
92
92
  // If a tagged post and profile section links
93
93
  var tpostMatch = href.match(consts_1.INTERNAL_POST_TAG_REGEX);
94
- if ((tpostMatch && consts_1.WHITE_LIST.includes(tpostMatch[1].substring(1))) || (tpostMatch && tpostMatch.length === 4 && tpostMatch[1].indexOf('/') !== 0)) {
95
- if (['wallet', 'feed', 'followers', 'following', 'points', 'communities', 'posts', 'blog', 'comments', 'replies', 'settings', 'engine'].includes(tpostMatch[3])) {
94
+ if ((tpostMatch && tpostMatch.length === 4 && consts_1.WHITE_LIST.some(function (v) { return tpostMatch[1].includes(v); })) || (tpostMatch && tpostMatch.length === 4 && tpostMatch[1].indexOf('/') == 0)) {
95
+ // check if permlink is section or section with params ?q=xyz
96
+ if (consts_1.SECTION_LIST.some(function (v) { return tpostMatch[3].includes(v); })) {
96
97
  el.setAttribute('class', 'markdown-profile-link');
97
98
  var author = tpostMatch[2].replace('@', '').toLowerCase();
98
99
  var section = tpostMatch[3];
99
100
  if (el.textContent === href) {
100
- el.textContent = "@" + author + "/" + section;
101
+ el.textContent = "@".concat(author, "/").concat(section);
101
102
  }
102
103
  if (forApp) {
103
- var ha = "https://ecency.com/@" + author + "/" + section;
104
+ var ha = "https://ecency.com/@".concat(author, "/").concat(section);
104
105
  el.setAttribute('href', ha);
105
106
  }
106
107
  else {
107
- var h = "/@" + author + "/" + section;
108
+ var h = "/@".concat(author, "/").concat(section);
108
109
  el.setAttribute('href', h);
109
110
  }
110
111
  return;
111
112
  }
112
113
  else {
113
- el.setAttribute('class', 'markdown-post-link');
114
+ // check if domain is not whitelist and does contain dot (not tag e.g. `/ecency`)
115
+ if (tpostMatch[1] && tpostMatch[1].includes('.') && !consts_1.WHITE_LIST.some(function (v) { return tpostMatch[1].includes(v); })) {
116
+ return;
117
+ }
114
118
  var tag = 'post';
115
- if (!consts_1.WHITE_LIST.includes(tpostMatch[1].substring(1))) {
119
+ // check if tag does exist and doesn't include dot likely word/tag
120
+ if (tpostMatch[1] && !tpostMatch[1].includes('.')) {
116
121
  tag = tpostMatch[1];
122
+ tag = tag.replace('/', '');
117
123
  }
124
+ el.setAttribute('class', 'markdown-post-link');
118
125
  var author = tpostMatch[2].replace('@', '');
119
126
  var permlink = tpostMatch[3];
120
127
  if (el.textContent === href) {
121
- el.textContent = "@" + author + "/" + permlink;
128
+ el.textContent = "@".concat(author, "/").concat(permlink);
122
129
  }
123
130
  if (forApp) {
124
131
  el.removeAttribute('href');
@@ -127,7 +134,7 @@ function a(el, forApp, webp) {
127
134
  el.setAttribute('data-permlink', permlink);
128
135
  }
129
136
  else {
130
- var h = "/" + tag + "/@" + author + "/" + permlink;
137
+ var h = "/".concat(tag, "/@").concat(author, "/").concat(permlink);
131
138
  el.setAttribute('href', h);
132
139
  }
133
140
  return;
@@ -140,14 +147,14 @@ function a(el, forApp, webp) {
140
147
  var author = imentionMatch[0].replace('/@', '').toLowerCase();
141
148
  if (author.indexOf('/') === -1) {
142
149
  if (el.textContent === href) {
143
- el.textContent = "@" + author;
150
+ el.textContent = "@".concat(author);
144
151
  }
145
152
  if (forApp) {
146
153
  el.removeAttribute('href');
147
154
  el.setAttribute('data-author', author);
148
155
  }
149
156
  else {
150
- var h = "/@" + author;
157
+ var h = "/@".concat(author);
151
158
  el.setAttribute('href', h);
152
159
  }
153
160
  }
@@ -156,19 +163,19 @@ function a(el, forApp, webp) {
156
163
  // If a copied post and profile section links
157
164
  var cpostMatch = href.match(consts_1.INTERNAL_POST_REGEX);
158
165
  if ((cpostMatch && cpostMatch.length === 3 && cpostMatch[1].indexOf('@') === 0)) {
159
- if (['wallet', 'feed', 'followers', 'following', 'points', 'communities', 'posts', 'blog', 'comments', 'replies', 'settings', 'engine'].includes(cpostMatch[2])) {
166
+ if (consts_1.SECTION_LIST.some(function (v) { return cpostMatch[2].includes(v); })) {
160
167
  el.setAttribute('class', 'markdown-profile-link');
161
168
  var author = cpostMatch[1].replace('@', '').toLowerCase();
162
169
  var section = cpostMatch[2];
163
170
  if (el.textContent === href) {
164
- el.textContent = "@" + author + "/" + section;
171
+ el.textContent = "@".concat(author, "/").concat(section);
165
172
  }
166
173
  if (forApp) {
167
- var ha = "https://ecency.com/@" + author + "/" + section;
174
+ var ha = "https://ecency.com/@".concat(author, "/").concat(section);
168
175
  el.setAttribute('href', ha);
169
176
  }
170
177
  else {
171
- var h = "/@" + author + "/" + section;
178
+ var h = "/@".concat(author, "/").concat(section);
172
179
  el.setAttribute('href', h);
173
180
  }
174
181
  return;
@@ -179,7 +186,7 @@ function a(el, forApp, webp) {
179
186
  var author = cpostMatch[1].replace('@', '');
180
187
  var permlink = cpostMatch[2];
181
188
  if (el.textContent === href) {
182
- el.textContent = "@" + author + "/" + permlink;
189
+ el.textContent = "@".concat(author, "/").concat(permlink);
183
190
  }
184
191
  if (forApp) {
185
192
  el.removeAttribute('href');
@@ -188,7 +195,7 @@ function a(el, forApp, webp) {
188
195
  el.setAttribute('data-permlink', permlink);
189
196
  }
190
197
  else {
191
- var h = "/" + tag + "/@" + author + "/" + permlink;
198
+ var h = "/".concat(tag, "/@").concat(author, "/").concat(permlink);
192
199
  el.setAttribute('href', h);
193
200
  }
194
201
  return;
@@ -201,7 +208,7 @@ function a(el, forApp, webp) {
201
208
  var filter = topicMatch[2];
202
209
  var tag = topicMatch[3];
203
210
  if (el.textContent === href) {
204
- el.textContent = "/" + filter + "/" + tag;
211
+ el.textContent = "/".concat(filter, "/").concat(tag);
205
212
  }
206
213
  if (forApp) {
207
214
  el.removeAttribute('href');
@@ -209,7 +216,7 @@ function a(el, forApp, webp) {
209
216
  el.setAttribute('data-tag', tag);
210
217
  }
211
218
  else {
212
- var h = "/" + filter + "/" + tag;
219
+ var h = "/".concat(filter, "/").concat(tag);
213
220
  el.setAttribute('href', h);
214
221
  }
215
222
  return;
@@ -221,7 +228,7 @@ function a(el, forApp, webp) {
221
228
  var filter = itopicMatch[1];
222
229
  var tag = itopicMatch[2];
223
230
  if (el.textContent === href) {
224
- el.textContent = "/" + filter + "/" + tag;
231
+ el.textContent = "/".concat(filter, "/").concat(tag);
225
232
  }
226
233
  if (forApp) {
227
234
  el.removeAttribute('href');
@@ -229,7 +236,7 @@ function a(el, forApp, webp) {
229
236
  el.setAttribute('data-tag', tag);
230
237
  }
231
238
  else {
232
- var h = "/" + filter + "/" + tag;
239
+ var h = "/".concat(filter, "/").concat(tag);
233
240
  el.setAttribute('href', h);
234
241
  }
235
242
  return;
@@ -246,7 +253,7 @@ function a(el, forApp, webp) {
246
253
  filter = 'created';
247
254
  }
248
255
  if (el.textContent === href) {
249
- el.textContent = filter + "/" + community;
256
+ el.textContent = "".concat(filter, "/").concat(community);
250
257
  }
251
258
  if (forApp) {
252
259
  el.removeAttribute('href');
@@ -254,7 +261,7 @@ function a(el, forApp, webp) {
254
261
  el.setAttribute('data-filter', filter);
255
262
  }
256
263
  else {
257
- var h = "/" + filter + "/" + community;
264
+ var h = "/".concat(filter, "/").concat(community);
258
265
  el.setAttribute('href', h);
259
266
  }
260
267
  return;
@@ -267,7 +274,7 @@ function a(el, forApp, webp) {
267
274
  var author = cccMatch[2].replace('@', '');
268
275
  var permlink = cccMatch[3];
269
276
  if (el.textContent === href) {
270
- el.textContent = "@" + author + "/" + permlink;
277
+ el.textContent = "@".concat(author, "/").concat(permlink);
271
278
  }
272
279
  if (forApp) {
273
280
  el.removeAttribute('href');
@@ -276,7 +283,7 @@ function a(el, forApp, webp) {
276
283
  el.setAttribute('data-permlink', permlink);
277
284
  }
278
285
  else {
279
- var h = "/" + tag + "/@" + author + "/" + permlink;
286
+ var h = "/".concat(tag, "/@").concat(author, "/").concat(permlink);
280
287
  el.setAttribute('href', h);
281
288
  }
282
289
  return;
@@ -287,7 +294,7 @@ function a(el, forApp, webp) {
287
294
  var vid = e[1];
288
295
  el.setAttribute('class', 'markdown-video-link');
289
296
  el.removeAttribute('href');
290
- var embedSrc = "https://www.bitchute.com/embed/" + vid + "/";
297
+ var embedSrc = "https://www.bitchute.com/embed/".concat(vid, "/");
291
298
  el.textContent = '';
292
299
  el.setAttribute('data-embed-src', embedSrc);
293
300
  var play = el.ownerDocument.createElement('span');
@@ -300,7 +307,7 @@ function a(el, forApp, webp) {
300
307
  var e = consts_1.RUMBLE_REGEX.exec(href);
301
308
  if (e[1]) {
302
309
  var vid = e[1];
303
- var embedSrc = "https://www.rumble.com/embed/" + vid + "/?pub=4";
310
+ var embedSrc = "https://www.rumble.com/embed/".concat(vid, "/?pub=4");
304
311
  el.setAttribute('class', 'markdown-video-link');
305
312
  el.removeAttribute('href');
306
313
  el.textContent = '';
@@ -316,7 +323,7 @@ function a(el, forApp, webp) {
316
323
  var e = consts_1.BRIGHTEON_REGEX.exec(href);
317
324
  if (e[2]) {
318
325
  var vid = e[2];
319
- var embedSrc = "https://www.brighteon.com/embed/" + vid;
326
+ var embedSrc = "https://www.brighteon.com/embed/".concat(vid);
320
327
  el.setAttribute('class', 'markdown-video-link');
321
328
  el.removeAttribute('href');
322
329
  el.textContent = '';
@@ -335,13 +342,13 @@ function a(el, forApp, webp) {
335
342
  el.setAttribute('class', 'markdown-video-link markdown-video-link-youtube');
336
343
  el.removeAttribute('href');
337
344
  var vid = e[1];
338
- var thumbnail = proxify_image_src_1.proxifyImageSrc("https://img.youtube.com/vi/" + vid.split('?')[0] + "/hqdefault.jpg", 0, 0, webp ? 'webp' : 'match');
339
- var embedSrc = "https://www.youtube.com/embed/" + vid + "?autoplay=1";
345
+ var thumbnail = (0, proxify_image_src_1.proxifyImageSrc)("https://img.youtube.com/vi/".concat(vid.split('?')[0], "/hqdefault.jpg"), 0, 0, webp ? 'webp' : 'match');
346
+ var embedSrc = "https://www.youtube.com/embed/".concat(vid, "?autoplay=1");
340
347
  el.textContent = '';
341
348
  el.setAttribute('data-embed-src', embedSrc);
342
349
  el.setAttribute('data-youtube', vid);
343
350
  //extract start time if available
344
- var startTime = helper_1.extractYtStartTime(href);
351
+ var startTime = (0, helper_1.extractYtStartTime)(href);
345
352
  if (startTime) {
346
353
  el.setAttribute('data-start-time', startTime);
347
354
  }
@@ -363,7 +370,7 @@ function a(el, forApp, webp) {
363
370
  if (e[3]) {
364
371
  el.setAttribute('class', 'markdown-video-link markdown-video-link-vimeo');
365
372
  el.removeAttribute('href');
366
- var embedSrc = "https://player.vimeo.com/video/" + e[3];
373
+ var embedSrc = "https://player.vimeo.com/video/".concat(e[3]);
367
374
  el.textContent = '';
368
375
  var ifr = el.ownerDocument.createElement('iframe');
369
376
  ifr.setAttribute('frameborder', '0');
@@ -382,10 +389,10 @@ function a(el, forApp, webp) {
382
389
  el.removeAttribute('href');
383
390
  var embedSrc = '';
384
391
  if (e[1] === undefined) {
385
- embedSrc = "https://player.twitch.tv/?channel=" + e[2];
392
+ embedSrc = "https://player.twitch.tv/?channel=".concat(e[2]);
386
393
  }
387
394
  else {
388
- embedSrc = "https://player.twitch.tv/?video=" + e[1];
395
+ embedSrc = "https://player.twitch.tv/?video=".concat(e[1]);
389
396
  }
390
397
  el.textContent = '';
391
398
  var ifr = el.ownerDocument.createElement('iframe');
@@ -403,7 +410,7 @@ function a(el, forApp, webp) {
403
410
  if (e[1]) {
404
411
  el.setAttribute('class', 'markdown-audio-link markdown-audio-link-spotify');
405
412
  el.removeAttribute('href');
406
- var embedSrc = "https://open.spotify.com/embed/playlist/" + e[1];
413
+ var embedSrc = "https://open.spotify.com/embed/playlist/".concat(e[1]);
407
414
  el.textContent = '';
408
415
  var ifr = el.ownerDocument.createElement('iframe');
409
416
  ifr.setAttribute('frameborder', '0');
@@ -421,7 +428,7 @@ function a(el, forApp, webp) {
421
428
  if (e[2]) {
422
429
  el.setAttribute('class', 'markdown-video-link markdown-video-link-loom');
423
430
  el.removeAttribute('href');
424
- var embedSrc = "https://www.loom.com/embed/" + e[2];
431
+ var embedSrc = "https://www.loom.com/embed/".concat(e[2]);
425
432
  el.textContent = '';
426
433
  var ifr = el.ownerDocument.createElement('iframe');
427
434
  ifr.setAttribute('frameborder', '0');
@@ -437,26 +444,32 @@ function a(el, forApp, webp) {
437
444
  if (match) {
438
445
  // Only d.tube links contains an image
439
446
  var imgEls = el.getElementsByTagName('img');
440
- if (imgEls.length === 1) {
447
+ if (imgEls.length === 1 || el.textContent.trim() === href) {
441
448
  var e = consts_1.D_TUBE_REGEX.exec(href);
442
449
  // e[2] = username, e[3] object id
443
450
  if (e[2] && e[3]) {
444
451
  el.setAttribute('class', 'markdown-video-link markdown-video-link-dtube');
445
452
  el.removeAttribute('href');
446
- var thumbnail = proxify_image_src_1.proxifyImageSrc(imgEls[0].getAttribute('src').replace(/\s+/g, ''), 0, 0, webp ? 'webp' : 'match');
447
- var videoHref = "https://emb.d.tube/#!/" + e[2] + "/" + e[3];
453
+ var videoHref = "https://emb.d.tube/#!/".concat(e[2], "/").concat(e[3]);
448
454
  // el.setAttribute('data-video-href', videoHref)
449
455
  el.setAttribute('data-embed-src', videoHref);
450
- var thumbImg = el.ownerDocument.createElement('img');
451
- thumbImg.setAttribute('class', 'no-replace video-thumbnail');
452
- thumbImg.setAttribute('itemprop', 'thumbnailUrl');
453
- thumbImg.setAttribute('src', thumbnail);
456
+ //process thumb img element
457
+ if (imgEls.length === 1) {
458
+ var thumbnail = (0, proxify_image_src_1.proxifyImageSrc)(imgEls[0].getAttribute('src').replace(/\s+/g, ''), 0, 0, webp ? 'webp' : 'match');
459
+ var thumbImg = el.ownerDocument.createElement('img');
460
+ thumbImg.setAttribute('class', 'no-replace video-thumbnail');
461
+ thumbImg.setAttribute('itemprop', 'thumbnailUrl');
462
+ thumbImg.setAttribute('src', thumbnail);
463
+ el.appendChild(thumbImg);
464
+ // Remove image.
465
+ el.removeChild(imgEls[0]);
466
+ }
467
+ else {
468
+ el.textContent = '';
469
+ }
454
470
  var play = el.ownerDocument.createElement('span');
455
471
  play.setAttribute('class', 'markdown-video-play');
456
- el.appendChild(thumbImg);
457
472
  el.appendChild(play);
458
- // Remove image.
459
- el.removeChild(imgEls[0]);
460
473
  return;
461
474
  }
462
475
  }
@@ -468,7 +481,8 @@ function a(el, forApp, webp) {
468
481
  if (e[2] && e[3]) {
469
482
  el.setAttribute('class', 'markdown-video-link markdown-video-link-dtube');
470
483
  el.removeAttribute('href');
471
- var videoHref = "https://emb.d.tube/#!/" + e[2] + "/" + e[3];
484
+ el.textContent = '';
485
+ var videoHref = "https://emb.d.tube/#!/".concat(e[2], "/").concat(e[3]);
472
486
  // el.setAttribute('data-video-href', videoHref);
473
487
  el.setAttribute('data-embed-src', videoHref);
474
488
  var play = el.ownerDocument.createElement('span');
@@ -485,7 +499,7 @@ function a(el, forApp, webp) {
485
499
  var e = consts_1.SPEAK_REGEX.exec(href);
486
500
  // e[1] = tld , e[3] = embed address
487
501
  if (e[1] && e[3]) {
488
- var videoHref = "https://3speak." + e[1] + "/embed?v=" + e[3];
502
+ var videoHref = "https://3speak.".concat(e[1], "/embed?v=").concat(e[3]);
489
503
  el.setAttribute('class', 'markdown-video-link markdown-video-link-speak');
490
504
  el.removeAttribute('href');
491
505
  el.setAttribute('data-embed-src', videoHref);
@@ -493,7 +507,7 @@ function a(el, forApp, webp) {
493
507
  el.textContent = '';
494
508
  }
495
509
  if (imgEls.length === 1) {
496
- var thumbnail = proxify_image_src_1.proxifyImageSrc(imgEls[0].getAttribute('src').replace(/\s+/g, ''), 0, 0, webp ? 'webp' : 'match');
510
+ var thumbnail = (0, proxify_image_src_1.proxifyImageSrc)(imgEls[0].getAttribute('src').replace(/\s+/g, ''), 0, 0, webp ? 'webp' : 'match');
497
511
  var thumbImg = el.ownerDocument.createElement('img');
498
512
  thumbImg.setAttribute('class', 'no-replace video-thumbnail');
499
513
  thumbImg.setAttribute('itemprop', 'thumbnailUrl');
@@ -516,7 +530,7 @@ function a(el, forApp, webp) {
516
530
  if (e) {
517
531
  var url = e[0].replace(/(<([^>]+)>)/gi, '');
518
532
  var author = e[1].replace(/(<([^>]+)>)/gi, '');
519
- var twitterCode = "<blockquote class=\"twitter-tweet\"><p>" + url + "</p>- <a href=\"" + url + "\">" + author + "</a></blockquote>";
533
+ var twitterCode = "<blockquote class=\"twitter-tweet\"><p>".concat(url, "</p>- <a href=\"").concat(url, "\">").concat(author, "</a></blockquote>");
520
534
  var replaceNode = consts_1.DOMParser.parseFromString(twitterCode);
521
535
  el.parentNode.replaceChild(replaceNode, el);
522
536
  return;
@@ -542,7 +556,7 @@ function a(el, forApp, webp) {
542
556
  el.setAttribute('class', 'markdown-external-link');
543
557
  // Prepend https if no scheme provided
544
558
  if (!(/^((#)|(mailto:)|(\/(?!\/))|(((steem|hive|esteem|ecency|https?):)?\/\/))/.test(href))) {
545
- href = "https://" + href;
559
+ href = "https://".concat(href);
546
560
  }
547
561
  if (forApp) {
548
562
  el.setAttribute('data-href', href);
@@ -553,7 +567,7 @@ function a(el, forApp, webp) {
553
567
  var vid = e[1];
554
568
  el.setAttribute('data-youtube', vid);
555
569
  //extract start time if available
556
- var startTime = helper_1.extractYtStartTime(href);
570
+ var startTime = (0, helper_1.extractYtStartTime)(href);
557
571
  if (startTime) {
558
572
  el.setAttribute('data-start-time', startTime);
559
573
  }