Merge pull request #1351 from florianorben/latex-support

Add latex support
Этот коммит содержится в:
Corey Hulen
2015-11-10 14:27:52 -08:00
родитель 31387be90b e3f3f4b105
Коммит 6272f0f025
87 изменённых файлов: 115 добавлений и 78 удалений

Просмотреть файл

@@ -81,6 +81,21 @@ Markdown | Less | Pretty
`,
` **[4]** - **[More Markdown Tests]**
# This is a heading
I am a multiline
text.
#### I am a level four heading
` + "```tex" + `
f(x) = \int_{-\infty}^\infty
\hat f(\xi)\,e^{2 \pi i \xi x}
\,d\xi
` + "```" + `
* This was some tex code*
`,
/* `**[2] [Username Linking Test]**
I saw @alice--and I said "Hi @alice!" then "What's up @alice?" and then @alice, was totally @alice; she just "@alice"'d me and walked on by. That's @alice...
@alice‽‽

Просмотреть файл

@@ -6,7 +6,7 @@
"modules": true,
"classes": true,
"arrowFunctions": true,
"defaultParams": true,
"defaultParams": true
},
"parser": "babel-eslint",
"plugins": [
@@ -22,7 +22,8 @@
"React": false,
"ReactDOM": false,
"ReactBootstrap": false,
"Chart": false
"Chart": false,
"katex": false
},
"rules": {
"comma-dangle": [2, "never"],

Просмотреть файл

@@ -69,6 +69,15 @@ class MattermostMarkdownRenderer extends marked.Renderer {
usedLanguage = 'xml';
}
if (usedLanguage && (usedLanguage === 'tex' || usedLanguage === 'latex')) {
try {
var html = katex.renderToString(TextFormatting.sanitizeHtml(code), {throwOnError: false, displayMode: true});
return '<div class="post-body--code tex">' + html + '</div>';
} catch (e) {
return '<div class="post-body--code">' + TextFormatting.sanitizeHtml(code) + '</div>';
}
}
if (!usedLanguage || highlightJs.listLanguages().indexOf(usedLanguage) < 0) {
let parsed = super.code(code, usedLanguage);
return '<div class="post-body--code"><code class="hljs">' + TextFormatting.sanitizeHtml($(parsed).text()) + '</code></div>';

Просмотреть файл

@@ -496,6 +496,9 @@ body.ios {
border-bottom-left-radius: 4px;
@include opacity(.3);
}
&.tex .katex-display {
text-align: left;
}
code {
white-space: pre;
}
@@ -612,79 +615,79 @@ body.ios {
}
.attachment {
.attachment__content {
border-width: 1px;
border-style: solid;
border-radius: 4px;
padding: 2px 5px;
margin: 0 0 5px 0;
}
.attachment__thumb-pretext {
border: 0 none;
background: transparent;
}
.attachment__container {
border-left-width: 4px;
border-left-style: solid;
padding: 2px 0 2px 10px;
&.attachment__container--good {
border-left-color: #00C100;
}
&.attachment__container--warning {
border-left-color: #DEDE01;
}
&.attachment__container--danger {
border-left-color: #E40303;
}
}
.attachment__body {
float: left;
width: 80%;
padding-right: 5px;
&.attachment__body--no_thumb {
width: 100%;
}
}
.attachment__text p:last-of-type {
display: inline-block;
}
.attachment__thumb-pretext {
margin-left: 5px;
}
.attachment__title {
margin: 5px 0;
padding: 0;
line-height: 16px;
font-size: 16px;
a {
font-size: 16px;
}
}
.attachment__author-icon {
@include border-radius(50px);
margin-right: 5px;
width: 14px;
height: 14px;
}
.attachment__image {
max-width: 100%;
margin-bottom: 1em;
}
.attachment__thumb-container {
width: 20%;
float: right;
img {
max-height: 75px;
max-width: 100%;
}
}
.attachment___fields {
width: 100%;
.attachment___field-caption {
font-weight: 700;
}
.attachment___field p {
margin: 0;
}
}
}
.attachment__content {
border-width: 1px;
border-style: solid;
border-radius: 4px;
padding: 2px 5px;
margin: 0 0 5px 0;
}
.attachment__thumb-pretext {
border: 0 none;
background: transparent;
}
.attachment__container {
border-left-width: 4px;
border-left-style: solid;
padding: 2px 0 2px 10px;
&.attachment__container--good {
border-left-color: #00C100;
}
&.attachment__container--warning {
border-left-color: #DEDE01;
}
&.attachment__container--danger {
border-left-color: #E40303;
}
}
.attachment__body {
float: left;
width: 80%;
padding-right: 5px;
&.attachment__body--no_thumb {
width: 100%;
}
}
.attachment__text p:last-of-type {
display: inline-block;
}
.attachment__thumb-pretext {
margin-left: 5px;
}
.attachment__title {
margin: 5px 0;
padding: 0;
line-height: 16px;
font-size: 16px;
a {
font-size: 16px;
}
}
.attachment__author-icon {
@include border-radius(50px);
margin-right: 5px;
width: 14px;
height: 14px;
}
.attachment__image {
max-width: 100%;
margin-bottom: 1em;
}
.attachment__thumb-container {
width: 20%;
float: right;
img {
max-height: 75px;
max-width: 100%;
}
}
.attachment___fields {
width: 100%;
.attachment___field-caption {
font-weight: 700;
}
.attachment___field p {
margin: 0;
}
}
}

Двоичные данные
web/static/css/fonts/KaTeX_AMS-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_AMS-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_AMS-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_AMS-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Bold.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Bold.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Bold.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Bold.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Caligraphic-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Bold.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Bold.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Bold.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Bold.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Fraktur-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Bold.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Bold.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Bold.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Bold.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Italic.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Italic.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Italic.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Italic.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Main-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-BoldItalic.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-BoldItalic.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-BoldItalic.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-BoldItalic.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Italic.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Italic.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Italic.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Italic.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Math-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Bold.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Bold.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Bold.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Bold.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Italic.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Italic.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Italic.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Italic.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_SansSerif-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Script-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Script-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Script-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Script-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size1-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size1-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size1-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size1-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size2-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size2-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size2-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size2-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size3-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size3-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size3-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size3-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size4-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size4-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size4-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Size4-Regular.woff2 Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Typewriter-Regular.eot Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Typewriter-Regular.ttf Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Typewriter-Regular.woff Обычный файл

Двоичный файл не отображается.

Двоичные данные
web/static/css/fonts/KaTeX_Typewriter-Regular.woff2 Обычный файл

Двоичный файл не отображается.

1
web/static/css/katex.min.css поставляемый Обычный файл

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

6
web/static/js/katex.min.js поставляемый Обычный файл

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@@ -24,6 +24,7 @@
<link rel="stylesheet" href="/static/css/bootstrap-colorpicker.min.css">
<link rel="stylesheet" href="/static/css/styles.css">
<link rel="stylesheet" href="/static/css/google-fonts.css">
<link rel="stylesheet" href="/static/css/katex.min.css">
<link rel="stylesheet" class="code_theme" href="">
<link id="favicon" rel="icon" href="/static/images/favicon.ico" type="image/x-icon">
@@ -38,6 +39,7 @@
<script src="/static/js/perfect-scrollbar-0.6.7.jquery.min.js"></script>
<script src="/static/js/jquery-dragster/jquery.dragster.js"></script>
<script src="/static/js/babel-es6-polyfill.min.js"></script>
<script src="/static/js/katex.min.js"></script>
<style id="antiClickjack">body{display:none !important;}</style>