presently 0.18.0 → 0.20.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e645cb300c0b3005e89e9c384c420e5b0702d48798738dbd5caae47fdf829059
4
- data.tar.gz: d3ed14a08c1df1ee1af2b3ae7188aa40742b2f2f08e202aaf46cd6d31646020e
3
+ metadata.gz: 33cd4ebb1d6177f7409fbe3057946c3129d4e0017ba5fba671738bd3f1c2e85d
4
+ data.tar.gz: 6d38e77b81eb7d9acce56a49b83478f276c938fc901b47cd0a4afe56b7c0fe6e
5
5
  SHA512:
6
- metadata.gz: b3509544227b7ab61cdec9f70bcaf3487d098dc0f7a5e5c94aea4eff58b828c7c3502122e56e0f1f19cdce21846019b60fd35adfc8f4654e675dc65be25eb6a0
7
- data.tar.gz: 8e701e3f6253f6c9a4385ce745a789df17027763193da89c31e72b5e8136ceec588800400d2576a1c743a25da094f768a96fab38a08096ddc8da19644b5355df
6
+ metadata.gz: 76b50edaff01e665b361ed0f21730c2d049224a08971b965288253c8383bcfbd997edec1670daa4b4991ab073e9db4a08fc056a04c5cf1c48b57510f03aa9fed
7
+ data.tar.gz: 472b3b21ba096b15675c98d4b53093ab49cf8fd508a5eceb90e5aa739c3de29b8ee39231a0bf4b88411df468780b6039004f2086c7ee96845ef300f7d04c0bd6
checksums.yaml.gz.sig CHANGED
Binary file
@@ -72,7 +72,7 @@ module Presently
72
72
  raw = File.read(source_path)
73
73
 
74
74
  # Parse once, with native front matter support.
75
- document = Markly.parse(raw, flags: Markly::UNSAFE | Markly::FRONT_MATTER, extensions: Fragment::EXTENSIONS)
75
+ document = Markly.parse(raw, flags: Markly::UNSAFE | Markly::FRONT_MATTER | Markly::INLINE_CODE_INFO | Markly::HTML_BLOCK_BLANK_LINES, extensions: Fragment::EXTENSIONS)
76
76
 
77
77
  expand_includes!(document, File.dirname(source_path), presentation.root)
78
78
  rewrite_image_urls!(document, source_path, presentation.root)
@@ -169,7 +169,7 @@ module Presently
169
169
  to_replace.each do |paragraph, relative_path|
170
170
  included_path = File.expand_path(relative_path, base_dir)
171
171
  included_raw = File.read(included_path)
172
- included_document = Markly.parse(included_raw, flags: Markly::UNSAFE | Markly::FRONT_MATTER, extensions: Fragment::EXTENSIONS)
172
+ included_document = Markly.parse(included_raw, flags: Markly::UNSAFE | Markly::FRONT_MATTER | Markly::INLINE_CODE_INFO | Markly::HTML_BLOCK_BLANK_LINES, extensions: Fragment::EXTENSIONS)
173
173
 
174
174
  # Strip front matter from included file if present.
175
175
  front_matter_node = included_document.first_child
@@ -5,5 +5,5 @@
5
5
 
6
6
  # @namespace
7
7
  module Presently
8
- VERSION = "0.18.0"
8
+ VERSION = "0.20.0"
9
9
  end
@@ -315,7 +315,13 @@ export class Slide {
315
315
  setTimeout(callback, delay) {
316
316
  if (this.#disposed) return null;
317
317
 
318
- const timeoutId = window.setTimeout(callback, delay);
318
+ const timeoutId = window.setTimeout(() => {
319
+ if (this.#animeScope) {
320
+ this.#animeScope.execute(() => callback());
321
+ } else {
322
+ callback();
323
+ }
324
+ }, delay);
319
325
  this.#timeouts.push(timeoutId);
320
326
  return timeoutId;
321
327
  }
data/readme.md CHANGED
@@ -67,6 +67,12 @@ The task records the presentation at 1920×1080 and 30 frames per second by defa
67
67
 
68
68
  Please see the [project releases](https://socketry.github.io/presently/releases/index) for all releases.
69
69
 
70
+ ### v0.19.0
71
+
72
+ - Keep Anime.js resources created by delayed slide callbacks bound to the slide lifecycle.
73
+ - Support language-prefixed inline code such as `ruby:` for syntax highlighting.
74
+ - Preserve blank lines within consistently indented HTML blocks in slide Markdown.
75
+
70
76
  ### v0.18.0
71
77
 
72
78
  - Render slides on a responsive 16:9 canvas across the display, presenter, recording, playback, and export interfaces.
@@ -114,11 +120,6 @@ q
114
120
 
115
121
  - Add `Slide#element` and `SlideContext#element` getters — expose the slide body DOM element directly for cases where `find()` is not sufficient, such as measuring dimensions, attaching event listeners, or integrating third-party libraries.
116
122
 
117
- ### v0.10.0
118
-
119
- - Replace internal `SlideChain` with an exported `SlideContext` class. `SlideContext` accumulates elapsed time across `after()` calls exactly as `SlideChain` did, but also exposes `find()`, `setTimeout()`, and a `get elapsed()` getter. `Slide#after()` now returns a `SlideContext` — existing slide scripts are unaffected.
120
- - Add `Slide#loop(callback, {delay})` — runs a callback in a repeating loop until the slide changes. The callback receives a fresh `SlideContext` each iteration so it can schedule steps with `after()`. The loop waits for all steps to complete (`context.elapsed`) plus an optional extra `delay` before starting the next iteration. All timeouts flow through the slide's existing tracked `setTimeout`, so they are cancelled automatically on slide change.
121
-
122
123
  ## See Also
123
124
 
124
125
  - [lively](https://github.com/socketry/lively) — The real-time application framework that powers Presently.
data/releases.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Releases
2
2
 
3
+ ## v0.19.0
4
+
5
+ - Keep Anime.js resources created by delayed slide callbacks bound to the slide lifecycle.
6
+ - Support language-prefixed inline code such as `ruby:` for syntax highlighting.
7
+ - Preserve blank lines within consistently indented HTML blocks in slide Markdown.
8
+
3
9
  ## v0.18.0
4
10
 
5
11
  - Render slides on a responsive 16:9 canvas across the display, presenter, recording, playback, and export interfaces.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: presently
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.16'
75
+ version: '0.19'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.16'
82
+ version: '0.19'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: async-webdriver
85
85
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file