Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
ffd7fbf5
Commit
ffd7fbf5
authored
Nov 22, 2017
by
Phil Hughes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
moved to es6 modules
parent
1374da4c
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
45 additions
and
50 deletions
+45
-50
app/assets/javascripts/render_gfm.js
app/assets/javascripts/render_gfm.js
+4
-4
app/assets/javascripts/render_math.js
app/assets/javascripts/render_math.js
+35
-40
app/assets/javascripts/render_mermaid.js
app/assets/javascripts/render_mermaid.js
+6
-4
spec/javascripts/notes_spec.js
spec/javascripts/notes_spec.js
+0
-2
No files found.
app/assets/javascripts/render_gfm.js
View file @
ffd7fbf5
import
'
./render_math
'
;
import
'
./render_mermaid
'
;
import
renderMath
from
'
./render_math
'
;
import
renderMermaid
from
'
./render_mermaid
'
;
// Render Gitlab flavoured Markdown
//
...
...
@@ -7,8 +7,8 @@ import './render_mermaid';
//
$
.
fn
.
renderGFM
=
function
renderGFM
()
{
this
.
find
(
'
.js-syntax-highlight
'
).
syntaxHighlight
();
this
.
find
(
'
.js-render-math
'
).
renderMath
(
);
this
.
find
(
'
.js-render-mermaid
'
).
renderMermaid
(
);
renderMath
(
this
.
find
(
'
.js-render-math
'
)
);
renderMermaid
(
this
.
find
(
'
.js-render-mermaid
'
)
);
return
this
;
};
...
...
app/assets/javascripts/render_math.js
View file @
ffd7fbf5
/* eslint-disable func-names, space-before-function-paren, consistent-return, no-var, no-else-return, prefer-arrow-callback, max-len, no-console */
/* global katex */
// Renders math using KaTeX in any element with the
...
...
@@ -8,49 +7,45 @@
//
// <code class="js-render-math"></div>
//
(
function
()
{
// Only load once
var
katexLoaded
=
false
;
let
katexLoaded
=
false
;
// Loop over all math elements and render math
var
renderWithKaTeX
=
function
(
elements
)
{
elements
.
each
(
function
()
{
var
mathNode
=
$
(
'
<span></span>
'
);
var
$this
=
$
(
this
);
// Loop over all math elements and render math
function
renderWithKaTeX
(
elements
)
{
elements
.
each
(
function
katexElementsLoop
()
{
const
mathNode
=
$
(
'
<span></span>
'
);
const
$this
=
$
(
this
);
var
display
=
$this
.
attr
(
'
data-math-style
'
)
===
'
display
'
;
try
{
katex
.
render
(
$this
.
text
(),
mathNode
.
get
(
0
),
{
displayMode
:
display
});
mathNode
.
insertAfter
(
$this
);
$this
.
remove
();
}
catch
(
err
)
{
// What can we do??
console
.
log
(
err
.
message
);
}
});
};
const
display
=
$this
.
attr
(
'
data-math-style
'
)
===
'
display
'
;
try
{
katex
.
render
(
$this
.
text
(),
mathNode
.
get
(
0
),
{
displayMode
:
display
});
mathNode
.
insertAfter
(
$this
);
$this
.
remove
();
}
catch
(
err
)
{
throw
err
;
}
});
}
$
.
fn
.
renderMath
=
function
()
{
var
$this
=
this
;
if
(
$this
.
length
===
0
)
return
;
export
default
function
renderMath
(
$els
)
{
if
(
!
$els
.
length
)
return
;
if
(
katexLoaded
)
renderWithKaTeX
(
$this
);
else
{
// Request CSS file so it is in the cache
$
.
get
(
gon
.
katex_css_url
,
function
()
{
var
css
=
$
(
'
<link>
'
,
{
rel
:
'
stylesheet
'
,
type
:
'
text/css
'
,
href
:
gon
.
katex_css_url
,
});
css
.
appendTo
(
'
head
'
);
if
(
katexLoaded
)
{
renderWithKaTeX
(
$els
);
}
else
{
$
.
get
(
gon
.
katex_css_url
,
()
=>
{
const
css
=
$
(
'
<link>
'
,
{
rel
:
'
stylesheet
'
,
type
:
'
text/css
'
,
href
:
gon
.
katex_css_url
,
});
css
.
appendTo
(
'
head
'
);
// Load KaTeX js
$
.
getScript
(
gon
.
katex_js_url
,
function
()
{
katexLoaded
=
true
;
renderWithKaTeX
(
$this
);
// Run KaTeX
});
// Load KaTeX js
$
.
getScript
(
gon
.
katex_js_url
,
()
=>
{
katexLoaded
=
true
;
renderWithKaTeX
(
$els
);
// Run KaTeX
});
}
}
;
}
).
call
(
window
);
}
);
}
}
app/assets/javascripts/render_mermaid.js
View file @
ffd7fbf5
...
...
@@ -14,8 +14,8 @@
import
Flash
from
'
./flash
'
;
$
.
fn
.
renderMermaid
=
function
renderMermaid
(
)
{
if
(
this
.
length
===
0
)
return
;
export
default
function
renderMermaid
(
$els
)
{
if
(
!
$els
.
length
)
return
;
import
(
/* webpackChunkName: 'mermaid' */
'
blackst0ne-mermaid
'
).
then
((
mermaid
)
=>
{
mermaid
.
initialize
({
...
...
@@ -23,8 +23,10 @@ $.fn.renderMermaid = function renderMermaid() {
theme
:
'
neutral
'
,
});
mermaid
.
init
(
undefined
,
this
);
$els
.
each
((
i
,
el
)
=>
{
mermaid
.
init
(
undefined
,
el
);
});
}).
catch
((
err
)
=>
{
Flash
(
`Can't load mermaid module:
${
err
}
`
);
});
}
;
}
spec/javascripts/notes_spec.js
View file @
ffd7fbf5
...
...
@@ -4,8 +4,6 @@
import
'
autosize
'
;
import
'
~/gl_form
'
;
import
'
~/lib/utils/text_utility
'
;
import
'
~/render_math
'
;
import
'
~/render_mermaid
'
;
import
'
~/render_gfm
'
;
import
'
~/notes
'
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment