如何告诉tumblr停止更改markdown和/或HTML代码?

时间:2016-04-11 12:39:23

标签: html markdown tumblr mathjax highlightjs

tl; dr: tumblr更改了markdown和HTML代码。如果您将&lt;写入降价代码并重新加载,它将被<替换并破坏。如果您使用HTML编辑器并放置类似&的内容,您可能需要使用mathjax,它将被&amp;替换并最终破坏您的表格/矩阵。

如何避免这种情况?

我开始使用tumblr并添加了

    <!-- Syntax highlighting -->
    <link rel="stylesheet" href="http://yandex.st/highlightjs/7.2/styles/default.min.css">

    <script src="http://yandex.st/highlightjs/7.2/highlight.min.js">
    </script>

    <script>
        hljs.initHighlightingOnLoad();
    </script>

    <!-- Mathjax LaTeX Mode -->
    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>

能够使用Mathjax和highlightjs。但问题是,如果我使用tumblr的HTML编辑器并输入:

$$
\left[
  \begin{array}{cc|c}
    1 & 2 & 3<br>
    4 & 5 & 6
  \end{array}
\right]
$$

</p><pre><code>public class Main {
    public static void main(String[] args) {
        System.out.println(”Hello World!”);
    }       
}
</code></pre></p>

tumblr将始终将&替换为&amp;,而$$ \begin{bmatrix}a & b \\\\\ c & d\end{bmatrix} $$ 不起作用,导致矩阵呈现的不是我想要的:

enter image description here

是否有可能让语法高亮和mathjax工作?

另一个问题似乎是:

\\\

如果我将它用于降价编辑器,矩阵会被正确渲染。但是,切换到HTML编辑器并编辑并保存更改将删除一些反斜杠并仅留下<pre><code> for(x = 0; x &lt; myString.length; x++) { // Do stuff } </code></pre> ,然后再次中断矩阵。

如果我写

&lt;
在标记中

,保存并重新加载.. <<取代。再次保存将打破降价,因为{{1}}被解释为另一个HTML标记的左括号。

我可以告诉tumblr 这样做吗?

1 个答案:

答案 0 :(得分:1)

在你的头脑中(在</head>之前),把它放在:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']],
                           displayMath: [['\\[','\\]'], ['$$','$$']]}});
</script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

然后,代替\\,写下\\\。例如:

$$
\left[
  \begin{array}{cc|c}
    1 & 2 & 3
    \\\4 & 5 & 6
  \end{array}
\right]
$$

最终,我认为您应该停止在Tumblr中进行编辑,因为编辑器将继续修改您的文本,并且没有真正的方法可以阻止它。你可以让它改回来(正如上面的标题在某种程度上做的那样)但在实际的编辑器中它仍然会搞砸。

我建议使用具有自定义语言特定语法突出显示的外部可嵌入编辑器。我个人最喜欢的是hilite.me。我在Tumblr上测试了这个,可以确认它有效。

MathJax有alternatives可能在Tumblr上运行得更好。但这不是你的问题。

我认为您可能会发现自己受到Tumblr文本编辑器的限制,特别是如果您打算在模式之间切换(Markdown,HTML,RichText)。您可以找到更多讨论here。我最好的猜测是,由于LangSec的原因,Tumblr取消了用户的控制权(Blackhat 2016上的主题演讲部分是关于MySpace显然是因为他们没有在帖子中解析或删除html来解决LangSec问题),以及我认为在某一点上你只是碰到了一块无法克服的墙。由于我是一个狡猾的互联网用户,我建议你查看对编码器更好的平台,例如SVBTL。或者只使用GitHub页面并构建自己的网站,例如I didlink to site)。

我绝对建议考虑MathJax的替代品。查看更多here。您可以从Mathematica嵌入。在最糟糕的情况下,您可以使用MathURL

抱歉,我没有为您提供解决方案。在这个时间点,我真的不认为有一个确凿的解决方案。 Tumblr中的数学编辑看起来本质上是破碎的,你可以解决不同的特定问题,但是当你切换编辑器时它仍会自行破坏。祝你好运。