test-markdown-slide-attributes.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>reveal.js - Test Markdown Attributes</title>
  6. <link rel="stylesheet" href="../dist/reveal.css">
  7. <link rel="stylesheet" href="qunit-2.5.0.css">
  8. </head>
  9. <body style="overflow: auto;">
  10. <div id="qunit"></div>
  11. <div id="qunit-fixture"></div>
  12. <div class="reveal" style="display: none;">
  13. <div class="slides">
  14. <!-- <section data-markdown="example.md" data-separator="^\n\n\n" data-separator-vertical="^\n\n"></section> -->
  15. <!-- Slides are separated by three lines, vertical slides by two lines, attributes are one any line starting with (spaces and) two dashes -->
  16. <section data-markdown data-separator="^\n\n\n"
  17. data-separator-vertical="^\n\n"
  18. data-separator-notes="^Note:"
  19. data-attributes="--\s(.*?)$"
  20. data-charset="utf-8">
  21. <script type="text/template">
  22. # Test attributes in Markdown
  23. ## Slide 1
  24. ## Slide 2
  25. <!-- -- id="slide2" data-transition="zoom" data-background="#A0C66B" -->
  26. ## Slide 2.1
  27. <!-- -- data-background="#ff0000" data-transition="fade" -->
  28. ## Slide 2.2
  29. [Link to Slide2](#/slide2)
  30. ## Slide 3
  31. <!-- -- data-transition="zoom" data-background="#C6916B" -->
  32. ## Slide 4
  33. </script>
  34. </section>
  35. <section data-markdown data-separator="^\n\n\n"
  36. data-separator-vertical="^\n\n"
  37. data-separator-notes="^Note:"
  38. data-charset="utf-8">
  39. <script type="text/template">
  40. # Test attributes in Markdown with default separator
  41. ## Slide 1 Def
  42. ## Slide 2 Def
  43. <!-- .slide: id="slide2def" data-transition="concave" data-background="#A7C66B" -->
  44. ## Slide 2.1 Def
  45. <!-- .slide: data-background="#f70000" data-transition="page" -->
  46. ## Slide 2.2 Def
  47. [Link to Slide2](#/slide2def)
  48. ## Slide 3 Def
  49. <!-- .slide: data-transition="concave" data-background="#C7916B" -->
  50. ## Slide 4
  51. </script>
  52. </section>
  53. <section data-markdown>
  54. <script type="text/template">
  55. <!-- .slide: data-background="#ff0000" -->
  56. ## Hello world
  57. </script>
  58. </section>
  59. <section data-markdown>
  60. <script type="text/template">
  61. ## Hello world
  62. <!-- .slide: data-background="#ff0000" -->
  63. </script>
  64. </section>
  65. <section data-markdown>
  66. <script type="text/template">
  67. ## Hello world
  68. Test
  69. <!-- .slide: data-background="#ff0000" -->
  70. More Test
  71. </script>
  72. </section>
  73. </div>
  74. </div>
  75. <script src="qunit-2.5.0.js"></script>
  76. <script type="module">
  77. import '../js/index.js'
  78. import Markdown from '../plugin/markdown/markdown.js'
  79. Reveal.initialize({
  80. dependencies: [ Markdown ]
  81. }).then( function() {
  82. QUnit.module( 'Markdown' );
  83. QUnit.test( 'Vertical separator', function( assert ) {
  84. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section' ).length, 6, 'found six vertical slides' );
  85. });
  86. QUnit.test( 'Id on slide', function( assert ) {
  87. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section#slide2' ).length, 1, 'found one slide with id slide2' );
  88. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section a[href="#/slide2"]' ).length, 1, 'found one slide with a link to slide2' );
  89. });
  90. QUnit.test( 'data-background attributes', function( assert ) {
  91. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-background="#A0C66B"]' ).length, 1, 'found one vertical slide with data-background="#A0C66B"' );
  92. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-background="#ff0000"]' ).length, 1, 'found one vertical slide with data-background="#ff0000"' );
  93. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section[data-background="#C6916B"]' ).length, 1, 'found one slide with data-background="#C6916B"' );
  94. });
  95. QUnit.test( 'data-transition attributes', function( assert ) {
  96. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-transition="zoom"]' ).length, 1, 'found one vertical slide with data-transition="zoom"' );
  97. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-transition="fade"]' ).length, 1, 'found one vertical slide with data-transition="fade"' );
  98. assert.strictEqual( document.querySelectorAll( '.reveal .slides section [data-transition="zoom"]' ).length, 1, 'found one slide with data-transition="zoom"' );
  99. });
  100. QUnit.test( 'data-background attributes with default separator', function( assert ) {
  101. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-background="#A7C66B"]' ).length, 1, 'found one vertical slide with data-background="#A0C66B"' );
  102. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-background="#f70000"]' ).length, 1, 'found one vertical slide with data-background="#ff0000"' );
  103. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section[data-background="#C7916B"]' ).length, 1, 'found one slide with data-background="#C6916B"' );
  104. });
  105. QUnit.test( 'data-transition attributes with default separator', function( assert ) {
  106. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-transition="concave"]' ).length, 1, 'found one vertical slide with data-transition="zoom"' );
  107. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section>section[data-transition="page"]' ).length, 1, 'found one vertical slide with data-transition="fade"' );
  108. assert.strictEqual( document.querySelectorAll( '.reveal .slides section [data-transition="concave"]' ).length, 1, 'found one slide with data-transition="zoom"' );
  109. });
  110. QUnit.test( 'data-transition attributes with inline content', function( assert ) {
  111. assert.strictEqual( document.querySelectorAll( '.reveal .slides>section[data-background="#ff0000"]' ).length, 3, 'found three horizontal slides with data-background="#ff0000"' );
  112. });
  113. } );
  114. </script>
  115. </body>
  116. </html>