Как сказать Tumblr прекратить вносить изменения в уценку и / или HTML-код?

tl; dr: tumblr вносит изменения в уценку и 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. Однако проблема в том, что я использую HTML-редактор tumblr и ввожу это:

$$
\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; который не работает и приводит к тому, что матрица отображается не так, как я планировал:

Возможно ли как-то заставить работать подсветку синтаксиса и mathjax?

Другая проблема, кажется, что-то вроде:

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

Если я использую это для редактора уценки, матрица будет правильно отображена. Однако переключение в редактор HTML и редактирование и сохранение изменений там удалит некоторые обратные слеши и оставит только \\\ который затем ломает матрицу.

Также если я напишу

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

в уценке, сохранить его и перезагрузить.. &lt; заменяется <, Сохранение этого снова сломает уценку, потому что < затем интерпретируется как открывающая скобка для другого тега HTML.

Могу ли я как-то сказать Tumblr не делать этого?

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, так как редактор будет продолжать изменять ваш текст, и нет никакого реального способа остановить это. Вы могли бы заставить его изменить его обратно (как в заголовке выше в некоторой степени), но в реальном редакторе он все равно будет испорчен.

Я бы порекомендовал использовать внешний встраиваемый редактор с пользовательской подсветкой синтаксиса для конкретного языка. Мой личный фаворит - http://hilite.me/. Я проверил это на Tumblr и могу подтвердить, что это работает.

Есть альтернативы MathJax, которые могут лучше работать на Tumblr. Но это был не твой вопрос.

Я думаю, что вы, вероятно, окажетесь очень ограниченными текстовым редактором Tumblr, особенно если вы планируете переключаться между режимами (Markdown, HTML, RichText). Вы можете найти больше обсуждения здесь. Мое предположение состоит в том, что Tumblr отнимает у пользователя контроль по причинам LangSec (основной доклад на Blackhat 2016 был частично о том, как, по-видимому, MySpace получил pwnd из-за проблем LangSec, потому что они не анализировали и не удаляли html в сообщениях), и я думаю в определенный момент вы просто врезаетесь в стену, которую невозможно преодолеть. Поскольку я заядлый интернет-человек, я бы порекомендовал вам проверить платформы, которые лучше для программистов, такие как SVBTL. Или просто используйте страницы GitHub и создайте свой собственный сайт, как я ( ссылка на сайт).

Я бы абсолютно рекомендовал рассмотреть альтернативы MathJax. Подробнее здесь. Вы можете быть в состоянии вставлять из Mathematica. В худшем случае вы можете использовать MathURL.

Извините, у меня нет решения для вас. Я действительно не думаю, что есть окончательное решение в данный момент. Редактирование математики в Tumblr, по-видимому, неразрывно связано, и вы можете разобраться с различными конкретными проблемами, но оно все равно прекратится, когда вы переключите редакторы. Удачи.

Другие вопросы по тегам