- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试复制原始 img
标签在自定义中的功能 img
将添加到 pagedown 转换器的标记。
例如,我复制原始行为:
![image_url][1] [1]: http://lolink.com
给出 <img src="http://lolink.com">
自定义一个:
?[image_url][1] [1]: http://lolink.com
给出 <img class="lol" src="http://lolink.com">
查看 docs唯一的方法是使用 preblockgamut
Hook 然后添加另一个“ block 级结构”。我尝试这样做并得到一个 Uncaught Error: Recursive call to converter.makeHtml
这是我弄乱它的代码:
converter.hooks.chain("preBlockGamut", function (text, dosomething) {
return text.replace(/(\?\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g, function (whole, inner) {
return "<img src=" + dosomething(inner) + ">";
});
});
我对钩子(Hook)和所有东西都不是很有经验,所以我该怎么做才能修复它?谢谢。
更新:发现_DoImages 在prespangamut
之后运行, 将使用它代替 preblockgamut
最佳答案
想通了!该解决方案非常笨拙,并且涉及编辑源代码,因为我对正则表达式非常糟糕,而且 _DoImage()
函数仅在源代码中使用了很多内部函数。
解决方法:
将对 markdown.converter
文件进行所有编辑。
对_DoImage
函数做一个ctrl+f
,你会发现它在两个地方被命名,一个在RunSpanGamut
和一个定义函数。解决方案很简单,将 DoImage
函数和相关内容复制到一个新函数中,以模仿原始函数并根据需要对其进行编辑。
在 DoImage
函数旁边添加:
function _DoPotatoImages(text) {
text = text.replace(/(\?\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g, writePotatoImageTag);
text = text.replace(/(\?\[(.*?)\]\s?\([ \t]*()<?(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g, writePotatoImageTag);
return text;
}
function writePotatoImageTag(wholeMatch, m1, m2, m3, m4, m5, m6, m7) {
var whole_match = m1;
var alt_text = m2;
var link_id = m3.toLowerCase();
var url = m4;
var title = m7;
if (!title) title = "";
if (url == "") {
if (link_id == "") {
link_id = alt_text.toLowerCase().replace(/ ?\n/g, " ");
}
url = "#" + link_id;
if (g_urls.get(link_id) != undefined) {
url = g_urls.get(link_id);
if (g_titles.get(link_id) != undefined) {
title = g_titles.get(link_id);
}
}
else {
return whole_match;
}
}
alt_text = escapeCharacters(attributeEncode(alt_text), "*_[]()");
url = escapeCharacters(url, "*_");
var result = "<img src=\"" + url + "\" alt=\"" + alt_text + "\"";
title = attributeEncode(title);
title = escapeCharacters(title, "*_");
result += " title=\"" + title + "\"";
result += " class=\"p\" />";
return result;
}
如果您查看新的 _DoPotatoImages()
函数和原来的 _DoImages()
之间的区别,您会注意到我编辑了正则表达式以使用转义问号\?
而不是普通的感叹号 !
还要注意 writePotatoImageTag
是如何调用 g_urls
和 g_titles
的,它们是被调用的一些内部函数。
之后,将您的 text = _DoPotatoImages(text);
添加到 runSpanGamut
函数(确保在 text = _DoAnchors(text); 之前添加它)
LINE BECAUSE THAT FUNCTION WILL OVERRIDE IMAGE TAGS) 现在你应该可以写 ?[image desc](url)
和 ![image desc](url)
完成。
关于javascript - 如何将自定义图像标签添加到 pagedown?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831422/
我正在使用 pagedown现在在我的网站上,到目前为止它很棒,唯一的细节是它不是面向编程的网站,所以我想删除“代码”按钮。 有什么办法可以做到吗?我尝试使用 CSS 隐藏按钮,但 html 具有内联
我正在尝试使用 Pagedown将 markdown(包含代码部分)解析为 html。 它基本上有效,但我注意到一个奇怪的行为。如果我的 Markdown 中有这个: `ArrayList names
这是我的代码: --- title: "A Multi-page HTML Document" author: "Yihui Xie and Romain Lesur" date: "`r Sys.D
我为此尝试了下面的代码,但它仅将向下翻页按钮添加到第一个 .wmd-input。 if ($(".wmd-input").length > 0) { var converter = new M
我正在尝试复制原始 img标签在自定义中的功能 img将添加到 pagedown 转换器的标记。 例如,我复制原始行为: ![image_url][1] [1]: http://lolink.com给
我正在使用 node.js 创建一个博客,但我仍在争论是否要使用 PageDown 还是坚持使用目前拥有的任何内容。 我当前的 Markdown 编辑器允许用户不受任何限制地输入他们想要的任何代码,有
在Emacs中,为什么我按PageUp再按PageDown,光标并没有回到初始位置,而是回到了页面的其他地方。有什么办法让它做到这一点?例如,让 PageUp 和 PageDown 仅将光标向上或向下
我使用 Pagedown这需要将 wmd-input 的 id 提供给 textarea。在Markdown.Editor.js中是这样写的: function PanelCollection(pos
我在使用 getSanitizingConverter() 时遇到问题。当我尝试使用以下代码时: var plainText; var markdown = new Markdown.Converte
我正在尝试使用 pagedown - Markdown Converter 将 markdown 文本转换为 HTML。它的格式不正确。 这是 JsFiddle URL,它似乎适用于某些标签 - ht
有谁知道如何使用 Hook 或从 Pagedown 编辑 Markdown.Editor.js 以创建内联链接而不是引用链接? 例如,我希望在单击链接按钮时发生这种情况: [inline link](
我使用 pagedown 进行 markdown 编辑,并且已经使用 insertImageDialog 覆盖插入图像的默认对话框。现在我想为插入链接做同样的事情。我找到了 plainLinkText
我正在尝试使用 ctrl+pageup 或 ctrl+pagedown 在 pycharm 中打开的文件之间跳转。 我正在尝试在 pycharm 中执行此操作 - 没有骰子。这可能是因为我切换到“ec
大家好,我试图解决这个问题,但我无路可走: 这是我的代码: --- title: "A Multi-page HTML Document" author: "Yihui Xie and Romain
我想登录并导航到另一个大型机页面。 我需要一个接一个地打开三个屏幕。打开第一个屏幕后,应返回主菜单,快捷键为“PageDOWN”。 在 VBA 中使用 SendKeys。 CreateObject("
我有以下 pagedown 指令。每当我更改/编辑文本区域时,如何将指令设置为脏? app.directive('pagedown', ['$compile', '$timeout', functio
我已经设置了一个以 PageDown 作为键手势的自定义命令,但是对于绑定(bind)到该命令的 MenuItem,该手势显示为“下一步”。问题是我有使用 PageUp、Home 和 End 来执行相
我正在学习 Eclipse 插件开发,通过查看现有内置插件本身的实现可以完成大量学习。当我寻找在选项卡之间切换的快捷方式时,我发现了这个 --> Eclipse HotKey: how to swit
See bottom of question for an improved solution to this problem 我已经尝试了一段时间来获得向下翻页工作的指令。这与 stackoverf
我正在使用 jQuery inline editing plugin Jeditable .谢天谢地,Jeditable provides a plugin capability用于扩展它提供的开箱即
我是一名优秀的程序员,十分优秀!