1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['compile'])) {
$_SESSION['user-input'] = htmlspecialchars($_POST['user-input'], ENT_QUOTES, 'UTF-8');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>procrastiSlides: great for procratinators who need to get a presentation out, quick! 😆</title>
<meta name="description" content="create .pdf presentations from markdown! 🤗 procrastiSlides is a simple presentation(s) site that respects your dark mode setting and has responsive web design.
non-intrusive ads, no tracking, nothing but quick slides from plain text/markdown. 🏫 try copy and pasting your school notes! that might even work 😂">
<?php include "includes/link-tags-in-head.php"; ?>
<meta name="color-scheme" content="light dark">
</head>
<body>
<?php
include "includes/procrastislides-banner.php";
include "includes/main-info.php";
include "includes/nav-header.php";
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['compile'])) { ?>
<div class="centered">
<h3>🎨 please select your presentation theme 🎭</h3>
<form id="theme-form" action="download.php" method="post" onsubmit="showGeneratingIndicator()">
<table class="centered">
<thead>
<tr>
<th>
<h2>preview</h2>
</th>
<th>
<h2>select</h2>
</th>
</tr>
</thead>
<tbody>
<?php
$themes = [
'90sMakeUpCommercial',
'chicagoOlives',
'cleanMetropolis',
'earlyCupertino',
'ohioCustard',
'raleighAroundMe',
'defaultIsKing',
'cuppertinoIsh',
'lazyProfessor',
'redmond2003',
'strengthInNumbers',
'thatMagazine'
];
foreach ($themes as $theme) { ?>
<tr>
<td><img loading="lazy" class="theme-select" src="img/<?= $theme ?>.webp" alt="<?= $theme ?>"><br></td>
<td><button type="submit" name="<?= $theme ?>"><?= $theme ?></button></td>
</tr>
<?php } ?>
</tbody>
</table>
<div id="generating-indicator" style="display: none;">
<p>📊</p>
<p>generating presentation...</p>
<p>please wait.</p>
</div>
</form>
</div>
<br>
<?php } else { ?>
<div>
<h2 class="centered">markdown goes here:</h2>
<form action="index.php" method="post">
<script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>
<textarea id="user-input" name="user-input" rows="8" cols="80"><?php echo $_SESSION['user-input'] ?? ''; ?></textarea>
<script type="text/javascript">
var simplemde = new SimpleMDE({
element: document.getElementById("user-input")
});
</script>
<div class="centered">
<button type="submit" name="compile">create presentation</button>
</div>
</form>
<br><br>
<details>
<summary style="font-size: 1.125rem;"><strong>← expand for a brief <emphasis>"how-to"</emphasis> 📖</strong></summary>
<p>
<ul>
<li>type '#' to indicate that you are starting a new slide and then press ↵ (enter/return) twice.</li>
<li>you can add a "slide title" after each '#' to name that portion of your presentation.</li>
<ul>
<li>a space between "#" and your slide title is required: <br><br> </li>
<ul class="no-bullets">
<li># [YOUR TITLE GOES HERE]</li>
</ul>
<br>
</ul>
<li>type/format text underneath the '#' for the slide contents.</li>
<ul>
<li>make sure to start typing your slide content two ↵'s ("enter key presses") away from the "#".</li>
<li>lists require to be formatted in this manner as well: <br><br> </li>
<ul class="no-bullets">
<li># slide title <br><br>
This is a list <br><br>
* item 1 <br>
* item 2 <br>
* item 3 <br>
</li>
</ul>
</ul>
</ul>
<br>
<p class="centered"><i>It's highly recommended that you use markdown lists rather than plain text lists</i></p><br>
</p>
</details>
<br>
<details>
<summary style="font-size: 1.125rem;"><strong>← expand for a quick video demo 🎬</strong></summary>
<p>
<div class="responsive-video">
<iframe loading="lazy" width="100%" height="480" src="https://www.youtube.com/embed/DGudYy0sfx8" title="procrastiSlides demo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>
</p>
</details>
<br>
</div>
<?php } ?>
<br>
<footer>
<?php include "includes/nav-footer.php"; ?>
</footer>
<script type="text/javascript">
function showGeneratingIndicator() {
document.getElementById('generating-indicator').style.display = 'block';
setTimeout(function() {
document.getElementById('theme-form').submit();
}, 200);
return false;
}
</script>
</body>
</html>
|