javascript书签来呈现代码

javascript bookmark to render code

本文关键字:代码 书签 javascript      更新时间:2023-09-26

我最近在聊天部分了解到,如果你使用书签,你可以渲染LaTeX:

http://meta.math.stackexchange.com/a/3297

stackexchange站点都呈现代码like this。介于"之间的任何内容都将呈现为代码。

我觉得这个功能非常好用。我想知道是否有人知道如何在stackexchange网站中获得这样做的javascript,并将其作为书签,就像mathjax书签一样在这里找到:

http://www.math.ucla.edu/~robjohn/math/mathjax.html

这样,如果我在facebook或任何其他网站上写一些带有反勾号转义符的东西,我只需点击我的书签,上面写着renderCode,javascript就会像在这个网站上一样做。

有人知道以前是否有人问过这一点和/或如何实现这一点吗?感谢

以下是您的开始:

var replacer = function(s, match) {return "<code>" + match + "</code>";};
"some `delimited` code `sections` here". replace(/`([^`]*)`/g, replacer);
    // ==> "some <code>delimited</code> code <code>sections</code> here"

您可以使用任何您喜欢的标记来代替"<code>"answers"</code>"来创建您喜欢的效果。

你也可以使用这样的功能:

processTextNodes = function(element, fn) {
    var children = element.childNodes;
    for (var i = 0; i < children.length; i++) {
        var node = children[i];
        var type = node.nodeType;
        if (type == 1) processTextNodes(node, fn);
        if (type == 3) fn.call(this, node);
    }
}

像这样:

processTextNodes(someElement, function(node) {
    node.value = node.value.replace(/`([^`]*)`/g, replacer);
});

为了将其应用于元素内的所有文本节点。

你仍然需要把它变成书签,并找出如何找到合适的元素。你需要标记和CSS来显示你喜欢的输出。但这可能是一个好的开始。