zenn-markdown-html 0.1.109-alpha.3 → 0.1.109
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.
- package/lib/utils/helper.d.ts +0 -2
- package/lib/utils/helper.js +8 -14
- package/lib/utils/md-custom-block.js +0 -1
- package/package.json +2 -2
package/lib/utils/helper.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
export declare function isGithubUrl(url: string): boolean;
|
|
2
|
-
export declare function generateTweetHtml(url: string): string;
|
|
3
|
-
export declare function generateCardHtml(url: string): string;
|
|
4
2
|
export declare function generateYoutubeHtmlFromUrl(url: string): string;
|
|
5
3
|
export declare function generateYoutubeHtmlFromVideoId(videoId: string): string;
|
|
6
4
|
export declare function isValidHttpUrl(str: string): boolean;
|
package/lib/utils/helper.js
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateEmbedIframe = exports.isValidHttpUrl = exports.generateYoutubeHtmlFromVideoId = exports.generateYoutubeHtmlFromUrl = exports.
|
|
3
|
+
exports.generateEmbedIframe = exports.isValidHttpUrl = exports.generateYoutubeHtmlFromVideoId = exports.generateYoutubeHtmlFromUrl = exports.isGithubUrl = void 0;
|
|
4
4
|
var utils_1 = require("markdown-it/lib/common/utils");
|
|
5
5
|
var url_matcher_1 = require("./url-matcher");
|
|
6
6
|
function isGithubUrl(url) {
|
|
7
|
-
return /^https:\/\/github\.com\/([a-zA-Z0-9](-?[a-zA-Z0-9]){0,38})\/([a-zA-Z0-9](-?[a-zA-Z0-9]){0,38})\/blob\/[^~\s:?[*^/\\]{2,}\/[\w!\-_~.*%()'"/]+(?:#L\d+(?:-L\d+)?)?$/.test(url);
|
|
7
|
+
return /^https:\/\/github\.com\/([a-zA-Z0-9](-?[a-zA-Z0-9]){0,38})\/([a-zA-Z0-9](-?[a-zA-Z0-9.]){0,38})\/blob\/[^~\s:?[*^/\\]{2,}\/[\w!\-_~.*%()'"/]+(?:#L\d+(?:-L\d+)?)?$/.test(url);
|
|
8
8
|
}
|
|
9
9
|
exports.isGithubUrl = isGithubUrl;
|
|
10
|
-
function generateTweetHtml(url) {
|
|
11
|
-
return "<div class=\"embed-tweet\"><embed-tweet src=\"".concat(url, "\"></embed-tweet></div>");
|
|
12
|
-
}
|
|
13
|
-
exports.generateTweetHtml = generateTweetHtml;
|
|
14
|
-
function generateCardHtml(url) {
|
|
15
|
-
return "<div class=\"embed-zenn-link\"><iframe src=\"https://card.zenn.dev/?url=".concat(encodeURIComponent(url), "\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"></iframe></div>");
|
|
16
|
-
}
|
|
17
|
-
exports.generateCardHtml = generateCardHtml;
|
|
18
10
|
function generateYoutubeHtml(videoId, start) {
|
|
19
11
|
var escapedVideoId = (0, utils_1.escapeHtml)(videoId);
|
|
20
12
|
// 48時間以内
|
|
@@ -25,7 +17,7 @@ function generateYoutubeHtml(videoId, start) {
|
|
|
25
17
|
function generateYoutubeHtmlFromUrl(url) {
|
|
26
18
|
var params = (0, url_matcher_1.extractYoutubeVideoParameters)(url);
|
|
27
19
|
if (!params) {
|
|
28
|
-
return
|
|
20
|
+
return generateEmbedIframe('link-card', url);
|
|
29
21
|
}
|
|
30
22
|
else {
|
|
31
23
|
return generateYoutubeHtml(params.videoId, params.start);
|
|
@@ -47,9 +39,11 @@ function isValidHttpUrl(str) {
|
|
|
47
39
|
}
|
|
48
40
|
exports.isValidHttpUrl = isValidHttpUrl;
|
|
49
41
|
function generateEmbedIframe(type, src) {
|
|
42
|
+
// ユーザーからの入力値が引数として渡されたときのために念のためencodeする
|
|
43
|
+
var encodedType = encodeURIComponent(type);
|
|
44
|
+
var encodedSrc = encodeURIComponent(src);
|
|
50
45
|
var id = "zenn-embedded__".concat(Math.random().toString(16).slice(2));
|
|
51
|
-
var iframeSrc = "https://embed.zenn.studio/".concat(
|
|
52
|
-
|
|
53
|
-
return "<div class=\"zenn-embedded ".concat(type, "\"><iframe id=\"").concat(id, "\" src=\"").concat(iframeSrc, "\" data-content=\"").concat(content, "\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"></iframe></div>");
|
|
46
|
+
var iframeSrc = "https://embed.zenn.studio/".concat(encodedType, "#").concat(id);
|
|
47
|
+
return "<div class=\"zenn-embedded zenn-embedded-".concat(encodedType, "\"><iframe id=\"").concat(id, "\" src=\"").concat(iframeSrc, "\" data-content=\"").concat(encodedSrc, "\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"></iframe></div>");
|
|
54
48
|
}
|
|
55
49
|
exports.generateEmbedIframe = generateEmbedIframe;
|
|
@@ -62,7 +62,6 @@ var blockOptions = {
|
|
|
62
62
|
return (0, helper_1.generateEmbedIframe)('tweet', str);
|
|
63
63
|
},
|
|
64
64
|
card: function (str) {
|
|
65
|
-
// generateCardHtml内でURLはエンコードされるためここでのバリデーションは軽めでOK
|
|
66
65
|
if (!(0, helper_1.isValidHttpUrl)(str))
|
|
67
66
|
return 'URLが不正です';
|
|
68
67
|
return (0, helper_1.generateEmbedIframe)('link-card', str);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zenn-markdown-html",
|
|
3
|
-
"version": "0.1.109
|
|
3
|
+
"version": "0.1.109",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Convert markdown to zenn flavor html.",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"markdown-it-task-lists": "^2.1.1",
|
|
47
47
|
"prismjs": "^1.27.0"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "952f4a91fc71dd6aae992b60345639be3f2bab45",
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
52
|
}
|