yumiamd 0.1.19 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "./chunk-YEQHWFYS.js";
4
+ } from "./chunk-KZLRNRVU.js";
5
5
 
6
6
  // src/bin.ts
7
7
  var result = await runCli(process.argv);
@@ -3470,7 +3470,7 @@ var HtmlRenderer = class {
3470
3470
  padding: 6px 14px;
3471
3471
  border-radius: 30px;
3472
3472
  border: 1px solid rgba(255, 255, 255, 0.15);
3473
- z-index: 1000;
3473
+ z-index: 2500;
3474
3474
  font-size: 13px;
3475
3475
  color: #e2e8f0;
3476
3476
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
@@ -3747,11 +3747,11 @@ var HtmlRenderer = class {
3747
3747
  bottom: 0;
3748
3748
  left: 0;
3749
3749
  right: 0;
3750
- max-height: 240px;
3750
+ max-height: 260px;
3751
3751
  background: rgba(10, 10, 18, 0.96);
3752
3752
  backdrop-filter: blur(16px);
3753
3753
  border-top: 2px solid var(--yumia-primary);
3754
- padding: 18px 28px;
3754
+ padding: 14px 24px 18px 24px;
3755
3755
  overflow-y: auto;
3756
3756
  display: none;
3757
3757
  z-index: 2000;
@@ -3765,6 +3765,22 @@ var HtmlRenderer = class {
3765
3765
  display: block;
3766
3766
  }
3767
3767
 
3768
+ .yumia-notes-header {
3769
+ display: flex;
3770
+ justify-content: space-between;
3771
+ align-items: center;
3772
+ margin-bottom: 8px;
3773
+ padding-bottom: 6px;
3774
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
3775
+ font-weight: 700;
3776
+ font-size: 14px;
3777
+ color: var(--yumia-primary);
3778
+ }
3779
+
3780
+ .yumia-notes-content {
3781
+ padding-right: 200px;
3782
+ }
3783
+
3768
3784
  /* Slide Overview Modal */
3769
3785
  .yumia-overview-modal {
3770
3786
  position: fixed;
@@ -3956,7 +3972,13 @@ var HtmlRenderer = class {
3956
3972
  <button class="yumia-btn" id="btn-fs" title="Fullscreen (F)">\u26F6</button>
3957
3973
  </div>
3958
3974
 
3959
- <div id="notes-drawer" class="yumia-notes-drawer"></div>
3975
+ <div id="notes-drawer" class="yumia-notes-drawer">
3976
+ <div class="yumia-notes-header">
3977
+ <span>\u{1F4DD} Speaker Notes</span>
3978
+ <button class="yumia-btn" id="btn-close-notes" title="Close Notes (N / ESC)" style="font-size: 13px; padding: 2px 8px; border: 1px solid rgba(255,255,255,0.2);">\u2715 Close</button>
3979
+ </div>
3980
+ <div id="notes-drawer-content" class="yumia-notes-content"></div>
3981
+ </div>
3960
3982
 
3961
3983
  <div id="overview-modal" class="yumia-overview-modal">
3962
3984
  <div class="yumia-overview-header">
@@ -4043,8 +4065,9 @@ var HtmlRenderer = class {
4043
4065
 
4044
4066
  const currentSlide = slides[currentIdx];
4045
4067
  const notes = currentSlide ? currentSlide.getAttribute('data-notes') : '';
4046
- if (notesDrawer) {
4047
- notesDrawer.innerHTML = notes ? '<strong>Speaker Notes:</strong><br>' + notes : '<em>No speaker notes for this slide.</em>';
4068
+ const notesContent = document.getElementById('notes-drawer-content');
4069
+ if (notesContent) {
4070
+ notesContent.innerHTML = notes ? notes : '<em>No speaker notes for this slide.</em>';
4048
4071
  }
4049
4072
 
4050
4073
  window.location.hash = '#' + (currentIdx + 1);
@@ -4229,6 +4252,9 @@ var HtmlRenderer = class {
4229
4252
  document.getElementById('btn-next')?.addEventListener('click', window.deckController.next);
4230
4253
  document.getElementById('btn-prev')?.addEventListener('click', window.deckController.prev);
4231
4254
  document.getElementById('btn-notes')?.addEventListener('click', window.deckController.toggleNotes);
4255
+ document.getElementById('btn-close-notes')?.addEventListener('click', () => {
4256
+ notesDrawer?.classList.remove('open');
4257
+ });
4232
4258
  document.getElementById('btn-overview')?.addEventListener('click', window.deckController.toggleOverview);
4233
4259
  document.getElementById('btn-close-overview')?.addEventListener('click', () => toggleOverview(false));
4234
4260
  document.getElementById('btn-speaker')?.addEventListener('click', window.deckController.openSpeaker);
@@ -4242,6 +4268,13 @@ var HtmlRenderer = class {
4242
4268
  return;
4243
4269
  }
4244
4270
 
4271
+ if (e.key === 'Escape') {
4272
+ if (notesDrawer && notesDrawer.classList.contains('open')) {
4273
+ notesDrawer.classList.remove('open');
4274
+ return;
4275
+ }
4276
+ }
4277
+
4245
4278
  if (e.key === 'ArrowRight' || e.key === ' ' || e.key === 'PageDown' || e.key.toLowerCase() === 'l') {
4246
4279
  e.preventDefault();
4247
4280
  window.deckController.next();
@@ -4981,8 +5014,15 @@ function startDevServer(filePath, options = {}) {
4981
5014
  }
4982
5015
  }
4983
5016
  const server = createServer(async (req, res) => {
4984
- const url = req.url || "/";
4985
- if (url === "/__yumia_live_reload") {
5017
+ const rawUrl = req.url || "/";
5018
+ let pathname = "/";
5019
+ try {
5020
+ const parsed = new URL(rawUrl, `http://localhost:${port}`);
5021
+ pathname = parsed.pathname;
5022
+ } catch {
5023
+ pathname = rawUrl.split("?")[0] || "/";
5024
+ }
5025
+ if (pathname === "/__yumia_live_reload") {
4986
5026
  res.writeHead(200, {
4987
5027
  "Content-Type": "text/event-stream",
4988
5028
  "Cache-Control": "no-cache",
@@ -4996,7 +5036,7 @@ function startDevServer(filePath, options = {}) {
4996
5036
  });
4997
5037
  return;
4998
5038
  }
4999
- if (url === "/" || url.startsWith("/#")) {
5039
+ if (pathname === "/" || pathname === "/index.html" || pathname.startsWith("/#")) {
5000
5040
  const html = await getCompiledHtml();
5001
5041
  res.writeHead(200, {
5002
5042
  "Content-Type": "text/html; charset=utf-8",
@@ -5057,7 +5097,7 @@ function startDevServer(filePath, options = {}) {
5057
5097
  // src/cli.ts
5058
5098
  import { mkdirSync, readFileSync as readFileSync2, watch as fsWatch, writeFileSync } from "fs";
5059
5099
  import { basename, dirname, extname, join, resolve as resolve2 } from "path";
5060
- var VERSION = "0.1.19";
5100
+ var VERSION = "0.1.20";
5061
5101
  function printHelp() {
5062
5102
  return `
5063
5103
  YumiaMD \u2014 Markdown-based presentation compiler (v${VERSION})
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export * from '@yumiamd/renderer-pptx';
9
9
  export * from '@yumiamd/renderer-html';
10
10
  export * from '@yumiamd/renderer-pdf';
11
11
 
12
- declare const VERSION = "0.1.19";
12
+ declare const VERSION = "0.1.20";
13
13
  declare function printHelp(): string;
14
14
  declare function runCli(argv: string[]): Promise<{
15
15
  exitCode: number;
package/dist/index.js CHANGED
@@ -48,7 +48,7 @@ import {
48
48
  startDevServer,
49
49
  terminalTheme,
50
50
  validate
51
- } from "./chunk-YEQHWFYS.js";
51
+ } from "./chunk-KZLRNRVU.js";
52
52
  export {
53
53
  DEFAULT_VIEWPORT,
54
54
  DefaultLayoutEngine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yumiamd",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "Command line interface and compiler for YumiaMD presentations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,15 +21,15 @@
21
21
  },
22
22
  "devDependencies": {
23
23
  "tsup": "^8.5.1",
24
- "@yumiamd/ast": "0.1.19",
25
- "@yumiamd/layout": "0.1.19",
26
- "@yumiamd/parser": "0.1.19",
27
- "@yumiamd/renderer-pdf": "0.1.19",
28
- "@yumiamd/renderer": "0.1.19",
29
- "@yumiamd/renderer-html": "0.1.19",
30
- "@yumiamd/core": "0.1.19",
31
- "@yumiamd/theme": "0.1.19",
32
- "@yumiamd/renderer-pptx": "0.1.19"
24
+ "@yumiamd/ast": "0.1.20",
25
+ "@yumiamd/layout": "0.1.20",
26
+ "@yumiamd/core": "0.1.20",
27
+ "@yumiamd/parser": "0.1.20",
28
+ "@yumiamd/renderer": "0.1.20",
29
+ "@yumiamd/renderer-html": "0.1.20",
30
+ "@yumiamd/renderer-pdf": "0.1.20",
31
+ "@yumiamd/theme": "0.1.20",
32
+ "@yumiamd/renderer-pptx": "0.1.20"
33
33
  },
34
34
  "keywords": [
35
35
  "yumia",