From 9e41645cab665c3dff130a56e9f6caef0ca49e74 Mon Sep 17 00:00:00 2001 From: Michael Salaverry Date: Tue, 17 Feb 2026 18:52:32 +0200 Subject: [PATCH] Update remarkise.html --- remarkise.html | 770 ++++++++++++++++++++++++++++++------------------- 1 file changed, 477 insertions(+), 293 deletions(-) diff --git a/remarkise.html b/remarkise.html index 58c11a13..59488cef 100644 --- a/remarkise.html +++ b/remarkise.html @@ -1,301 +1,485 @@ - - - - - - - - - - - - Remarkise — render your markdown as remark slides, in real time - - - - - - - -
-
-

Remarkise

-

- Render your markdown as - remark slides — in real time -

- - -

- or drop a local markdown file here -

-
+ + + + + + + Remarkise + + + + + + + + +
+
+ +

+ Render markdown as + remark slides — in real time +

+ +
+ +
+ +
- - - - + - - - - + } + + // ── URL input trigger ───────────────────────────────────────── + + function triggerUrl() { + var val = urlInput.value.trim(); + if (URL_PAT.test(val)) { + remarkise(val); + } else { + setMessage('That doesn\'t look like a valid URL.', true); + } + } + + goBtn.addEventListener('click', triggerUrl); + urlInput.addEventListener('keydown', function (e) { + if (e.key === 'Enter') triggerUrl(); + }); + + // ── Check for ?url= on load ─────────────────────────────────── + + var params = new URLSearchParams(window.location.search); + var initialUrl = params.get('url'); + if (initialUrl) { + urlInput.value = decodeURIComponent(initialUrl); + remarkise(decodeURIComponent(initialUrl)); + } + + // ── File input (works on Android) ──────────────────────────── + + fileInput.addEventListener('change', function (e) { + var file = e.target.files[0]; + if (!file) return; + var reader = new FileReader(); + reader.onloadend = function () { createPresentationFromText(reader.result); }; + reader.readAsText(file); + }); + + // ── Drag and drop ───────────────────────────────────────────── + + if (typeof window.FileReader === 'undefined') { + dropArea.classList.add('hidden'); + } + + dropArea.addEventListener('dragover', function (e) { + e.preventDefault(); + dropArea.classList.add('hovering'); + }); + + dropArea.addEventListener('dragleave', function () { + dropArea.classList.remove('hovering'); + }); + + dropArea.addEventListener('drop', function (e) { + e.preventDefault(); + e.stopPropagation(); + dropArea.classList.remove('hovering'); + var file = e.dataTransfer.files[0]; + if (!file) return; + var reader = new FileReader(); + reader.onloadend = function () { createPresentationFromText(reader.result); }; + reader.readAsText(file); + }); + +})(); + + + \ No newline at end of file