【问题标题】:How to tell tumblr to stop making changes to the markdown and/or HTML code?如何告诉 tumblr 停止更改降价和/或 HTML 代码?
【发布时间】:2016-08-01 15:09:05
【问题描述】:

tl;dr: tumblr 对 markdown 和 HTML 代码进行了更改。如果您将< 写入markdown 代码并重新加载它,它将被< 替换并破坏。但是,如果您使用 HTML 编辑器并放置诸如 & 之类的东西,您可能需要使用 mathjax,它将被 & 替换并最终破坏您的表格/矩阵。

如何避免这种情况?


我开始使用 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;amp; 替换为 &amp;amp;,这不起作用,并导致矩阵的渲染与我的预期不同:

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

另一个问题似乎是这样的:

$$ 
\begin{bmatrix}a & b \\\\\ c & d\end{bmatrix}
$$

如果我将它用于降价编辑器,则矩阵会正确呈现。但是,切换到 HTML 编辑器并在那里编辑和保存更改将删除一些反斜杠并只留下\\\,然后再次破坏矩阵。

如果我写了

<pre><code>
for(x = 0; x &lt; myString.length; x++) {
    // Do stuff
}
</code></pre>

在 Markdown 中,保存并重新加载它。&amp;lt;&amp;lt; 替换。再次保存它会破坏降价,因为&amp;lt; 会被解释为另一个 HTML 标记的左括号。

我可以告诉 tumblr不要这样做吗?

【问题讨论】:

  • 我也在尝试在 tumblr 中建立我的博客,现在也遇到了类似的问题。 &'s 和 \\'s 是写数学的基础,正如你提到的 tumblr 只是干扰了这一点。您是否遇到过有关此问题的解决方案?此外,我认为 &'s 和 \\'s 在 tumblr 的降价中也存在同样的问题,对吧?
  • @YBE 不抱歉,很遗憾,我还没有找到解决这个问题的方法:/
  • @YBE 我刚刚向 tumblr 发送了一份问题报告 - 但不确定是否会考虑。
  • HTML?你确定不是别的?像 XHTML,还是不同的 UTF?
  • 未来注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 了解迁移提示。

标签: html markdown tumblr mathjax highlightjs


【解决方案1】:

在你的脑海中(就在&lt;/head&gt;之前),输入这个:

<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 上对此进行了测试,并且可以确认它有效。

alternatives 到 MathJax,可能在 Tumblr 上效果更好。但这不是你的问题。

我认为您可能会发现自己受到 Tumblr 文本编辑器的限制,特别是如果您打算在模式(Markdown、HTML、RichText)之间切换。您可以找到更多讨论here。我最好的猜测是,Tumblr 出于 LangSec 的原因从用户手中夺走了控制权(Blackhat 2016 的主题演讲部分是关于 MySpace 显然是如何通过 LangSec 问题获得 pwnd 的,因为它们没有在帖子中解析或剥离 html),我认为在某一点上,您只是碰到了无法克服的墙。由于我是一个刻薄的互联网人,我建议您查看对编码员更好的平台,例如 SVBTL。或者只是使用 GitHub 页面并建立自己的网站,例如 I did (link to site)。

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

抱歉,我没有适合您的解决方案。我真的不认为目前有一个决定性的解决方案。 Tumblr 中的数学编辑似乎本质上被破坏了,你可以解决不同的特定问题,但当你切换编辑器时它仍然会自行破坏。祝你好运。

【讨论】:

  • 感谢您的回答。是的,看来 tumblr 不是最适合这里的。我已经在我自己的网站上使用了 html,但仅将 tumblr 用于一般博客目的似乎对我来说是最实用的方式。但是,如果写数学变得不切实际,那么就没有理由进一步追求 tumblr。我也会看看你的建议。最好的 - 是
  • 使用 GitHub 页面从头开始创建网站比听起来容易得多,而且价格便宜或免费,具体取决于域名要求。如果您还没有对 Tumblr 投入过多,我绝对会建议您研究这条途径。我只是从头开始编写原始 HTML 代码,但是有很多关于如何使用 Jackyl Markdown 动态生成网站的教程,我认为这对你来说可能是一个非常好的途径。祝你好运!
  • 您还可以在 Sublime Text 或 Macdown 等编辑器中离线编辑所有内容,并保存本地副本。然后,如果您想在发布后编辑帖子,请从本地副本编辑它,并将帖子中的所有文本替换为您在本地保存的新降价。这样您就不必担心返回编辑时会变得古怪。
  • 未来注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 了解迁移提示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
相关资源
最近更新 更多