support for 'separate-page' layout for notes in PDF exports #1518
This commit is contained in:
		@@ -890,7 +890,7 @@ This will only display in the notes window.
 | 
			
		||||
 | 
			
		||||
Notes are only visible to the speaker inside of the speaker view. If you wish to share your notes with others you can initialize reveal.js with the `showNotes` config value set to `true`. Notes will appear along the bottom of the presentations.
 | 
			
		||||
 | 
			
		||||
When `showNotes` is enabled notes are also included when you [export to PDF](https://github.com/hakimel/reveal.js#pdf-export).
 | 
			
		||||
When `showNotes` is enabled notes are also included when you [export to PDF](https://github.com/hakimel/reveal.js#pdf-export). By default, notes are printed in a semi-transparent box on top of slide. If you'd rather print them on a separate page after the slide, set `showNotes: "separate-page"`.
 | 
			
		||||
 | 
			
		||||
## Server Side Speaker Notes
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -145,11 +145,22 @@ ul, ol, div, p {
 | 
			
		||||
	display: block;
 | 
			
		||||
	width: 100%;
 | 
			
		||||
	max-height: none;
 | 
			
		||||
	left: auto;
 | 
			
		||||
	top: auto;
 | 
			
		||||
	right: auto;
 | 
			
		||||
	bottom: auto;
 | 
			
		||||
	left: auto;
 | 
			
		||||
	z-index: 100;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Layout option which makes notes appear on a separate page */
 | 
			
		||||
.reveal .speaker-notes-pdf[data-layout="separate-page"] {
 | 
			
		||||
	position: relative;
 | 
			
		||||
	color: inherit;
 | 
			
		||||
	background-color: transparent;
 | 
			
		||||
	padding: 20px;
 | 
			
		||||
	page-break-after: always;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Display slide numbers when 'slideNumber' is enabled */
 | 
			
		||||
.reveal .slide-number-pdf {
 | 
			
		||||
	display: block;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								js/reveal.js
									
									
									
									
									
								
							@@ -624,18 +624,31 @@
 | 
			
		||||
 | 
			
		||||
				// Inject notes if `showNotes` is enabled
 | 
			
		||||
				if( config.showNotes ) {
 | 
			
		||||
 | 
			
		||||
					// Are there notes for this slide?
 | 
			
		||||
					var notes = getSlideNotes( slide );
 | 
			
		||||
					if( notes ) {
 | 
			
		||||
 | 
			
		||||
						var notesSpacing = 8;
 | 
			
		||||
						var notesLayout = typeof config.showNotes === 'string' ? config.showNotes : 'inline';
 | 
			
		||||
						var notesElement = document.createElement( 'div' );
 | 
			
		||||
						notesElement.classList.add( 'speaker-notes' );
 | 
			
		||||
						notesElement.classList.add( 'speaker-notes-pdf' );
 | 
			
		||||
						notesElement.setAttribute( 'data-layout', notesLayout );
 | 
			
		||||
						notesElement.innerHTML = notes;
 | 
			
		||||
						notesElement.style.left = ( notesSpacing - left ) + 'px';
 | 
			
		||||
						notesElement.style.bottom = ( notesSpacing - top ) + 'px';
 | 
			
		||||
						notesElement.style.width = ( pageWidth - notesSpacing*2 ) + 'px';
 | 
			
		||||
						slide.appendChild( notesElement );
 | 
			
		||||
 | 
			
		||||
						if( notesLayout === 'separate-page' ) {
 | 
			
		||||
							page.parentNode.insertBefore( notesElement, page.nextSibling );
 | 
			
		||||
						}
 | 
			
		||||
						else {
 | 
			
		||||
							notesElement.style.left = ( notesSpacing - left ) + 'px';
 | 
			
		||||
							notesElement.style.bottom = ( notesSpacing - top ) + 'px';
 | 
			
		||||
							notesElement.style.width = ( pageWidth - notesSpacing*2 ) + 'px';
 | 
			
		||||
							slide.appendChild( notesElement );
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// Inject slide numbers if `slideNumbers` are enabled
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user