PageSourceSearch

https://2026-rbasico-estatistica.netlify.app/site_libs/revealjs/plugin/pdf-export/pdfexport.js

js 2026-rbasico-estatistica.netlify.app collected 2026-10-03 10:24:09 UTC 3,070 bytes, 115 lines download raw bytes

1var PdfExport = ( function( _Reveal ){
2
3	var Reveal = _Reveal;
4	var setStylesheet = null;
5	var installAltKeyBindings = null;
6
7	function getRevealJsPath(){
8		var regex = /\b[^/]+\/reveal.css$/i;
9		var script = Array.from( document.querySelectorAll( 'link' ) ).find( function( e ){
10			return e.attributes.href && e.attributes.href.value.search( regex ) >= 0;
11		});
12		if( !script ){
13			console.error( 'reveal.css could not be found in included <link> elements. Did you rename this file?' );
14			return '';
15		}
16		return script.attributes.href.value.replace( regex, '' );
17	}
18
19	function setStylesheet3( pdfExport ){
20		var link = document.querySelector( '#print' );
21		if( !link ){
22			link = document.createElement( 'link' );
23			link.rel = 'stylesheet';
24			link.id = 'print';
25			document.querySelector( 'head' ).appendChild( link );
26		}
27		var style = 'paper';
28		if( pdfExport ){
29			style = 'pdf';
30		}
31		link.href = getRevealJsPath() + 'css/print/' + style + '.css';
32	}
33
34	function setStylesheet4( pdfExport ){
35	}
36
37	function installAltKeyBindings3(){
38	}
39
40	function installAltKeyBindings4(){
41		if( isPrintingPDF() ){
42			var config = Reveal.getConfig();
43			var shortcut = config.pdfExportShortcut || 'E';
44			window.addEventListener( 'keydown', function( e ){
45				if( e.target.nodeName.toUpperCase() == 'BODY'
46					&& ( e.key.toUpperCase() == shortcut.toUpperCase() || e.keyCode == shortcut.toUpperCase().charCodeAt( 0 ) ) ){
47					e.preventDefault();
48					togglePdfExport();
49					return false;
50				}
51			}, true );
52		}
53	}
54	
55	function isPrintingPDF(){
56		return /print-pdf/gi.test(window.location.search) || /view=print/gi.test(window.location.search);
57	}
58
59	function togglePdfExport(){
60		var url_doc = new URL( document.URL );
61		var query_doc = new URLSearchParams( url_doc.searchParams );
62		if( isPrintingPDF() ){
63			if (query_doc.has('print-pdf')) {
64				query_doc.delete('print-pdf');
65			} else if (query_doc.has('view')) {
66				query_doc.delete('view');
67			}
68		}else{
69			query_doc.set( 'view', 'print' );
70		}
71		url_doc.search = ( query_doc.toString() ? '?' + query_doc.toString() : '' );
72		window.location.href = url_doc.toString();
73	}
74
75	function installKeyBindings(){
76		var config = Reveal.getConfig();
77		var shortcut = config.pdfExportShortcut || 'E';
78		Reveal.addKeyBinding({
79			keyCode: shortcut.toUpperCase().charCodeAt( 0 ),
80			key: shortcut.toUpperCase(),
81			description: 'PDF export mode'
82		}, togglePdfExport );
83		installAltKeyBindings();
84	}
85
86	function install(){
87		installKeyBindings();
88		setStylesheet( isPrintingPDF() );
89	}
90
91	var Plugin = {
92	}
93
94	if( Reveal && Reveal.VERSION && Reveal.VERSION.length && Reveal.VERSION[ 0 ] == '3' ){
95		// reveal 3.x
96		setStylesheet = setStylesheet3;
97		installAltKeyBindings = installAltKeyBindings3;
98		install();
99	}else{
100		// must be reveal 4.x
101		setStylesheet = setStylesheet4;
102		installAltKeyBindings = installAltKeyBindings4;
103		Plugin.id = 'pdf-export';
104		Plugin.init = function( _Reveal ){
105			Reveal = _Reveal;
106			install();
107		};
108		Plugin.togglePdfExport = function () {
109      togglePdfExport();
110		};
111	}
112
113	return Plugin;
114
115})( Reveal );

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.