Browse Source

* [bug] the markdown plugin can not render highlight codes for marked.setOptions(highlight)

Riceball LEE 8 years ago
parent
commit
16ebf2a783
4 changed files with 67 additions and 2 deletions
  1. 2 2
      plugin/markdown/markdown.js
  2. 10 0
      test/simple.md
  3. 36 0
      test/test-markdown-external.html
  4. 19 0
      test/test-markdown-external.js

+ 2 - 2
plugin/markdown/markdown.js

@@ -20,8 +20,8 @@
 
 	if( typeof hljs !== 'undefined' ) {
 		marked.setOptions({
-			highlight: function( lang, code ) {
-				return hljs.highlightAuto( lang, code ).value;
+			highlight: function( code, lang ) {
+				return hljs.highlightAuto( code, [lang] ).value;
 			}
 		});
 	}

+ 10 - 0
test/simple.md

@@ -0,0 +1,10 @@
+## Slide 1.1
+
+```js
+var a = 1;
+```
+
+## Slide 1.2
+
+
+## Slide 2

+ 36 - 0
test/test-markdown-external.html

@@ -0,0 +1,36 @@
+<!doctype html>
+<html lang="en">
+
+	<head>
+		<meta charset="utf-8">
+
+		<title>reveal.js - Test Markdown</title>
+
+		<link rel="stylesheet" href="../css/reveal.css">
+		<link rel="stylesheet" href="qunit-1.12.0.css">
+	</head>
+
+	<body style="overflow: auto;">
+
+		<div id="qunit"></div>
+  		<div id="qunit-fixture"></div>
+
+		<div class="reveal" style="display: none;">
+
+			<div class="slides">
+				<section data-markdown="simple.md" data-separator="^\n\n\n" data-separator-vertical="^\n\n"></section>
+			</div>
+
+		</div>
+
+		<script src="../lib/js/head.min.js"></script>
+		<script src="../js/reveal.js"></script>
+		<script src="../plugin/highlight/highlight.js"></script>
+		<script src="../plugin/markdown/marked.js"></script>
+		<script src="../plugin/markdown/markdown.js"></script>
+		<script src="qunit-1.12.0.js"></script>
+
+		<script src="test-markdown-external.js"></script>
+
+	</body>
+</html>

+ 19 - 0
test/test-markdown-external.js

@@ -0,0 +1,19 @@
+
+
+Reveal.addEventListener( 'ready', function() {
+
+	QUnit.module( 'Markdown' );
+
+	test( 'Vertical separator', function() {
+		strictEqual( document.querySelectorAll( '.reveal .slides>section>section' ).length, 2, 'found two slides' );
+	});
+	test( 'language highlighter', function() {
+		strictEqual( document.querySelectorAll( '.hljs-keyword' ).length, 1, 'got rendered highlight tag.' );
+		strictEqual( document.querySelector( '.hljs-keyword' ).innerHTML, 'var', 'the same keyword: var.' );
+	});
+
+
+} );
+
+Reveal.initialize();
+