presently 0.4.0 → 0.5.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/presently/presenter_view.rb +16 -0
- data/lib/presently/slide.rb +6 -0
- data/lib/presently/version.rb +1 -1
- data/public/_static/index.css +17 -0
- data/readme.md +4 -0
- data/releases.md +4 -0
- data.tar.gz.sig +0 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 643836e8c5dc04796f1d19608f000c44899b6e862d912cfc227d259fdad4513c
|
|
4
|
+
data.tar.gz: 84a5e2b009f1d2c70b6909aa0a07c435a77f523ff0d2d3fb6601126861fb9581
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4a4053492995b0539792e82020b769496590249dfe9c61baf05a61dc9732a76da8f699bb7d1bf121c4acf4691782bf1d0c0d99b4924b846c40a381b3dd852b75
|
|
7
|
+
data.tar.gz: 85ddc51941cd49ead066025ca245627a4d4a50c478a43044ab0c799266874b1401579b64b0e8c23bed7d5957325ae517933e570004c349b175651f065ef81a2d
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
|
@@ -101,6 +101,7 @@ module Presently
|
|
|
101
101
|
# @parameter slide [Slide | Nil] The current slide.
|
|
102
102
|
def render_timing(builder, slide)
|
|
103
103
|
progress = (@controller.slide_progress * 100).round(1)
|
|
104
|
+
next_slide = @controller.next_slide
|
|
104
105
|
builder.tag(:div, class: "timing", style: "--slide-progress: #{progress}%") do
|
|
105
106
|
pacing = @controller.pacing
|
|
106
107
|
pacing_class = case pacing
|
|
@@ -153,6 +154,21 @@ module Presently
|
|
|
153
154
|
builder.text("Slide: #{format_duration(slide.duration)}")
|
|
154
155
|
end
|
|
155
156
|
end
|
|
157
|
+
|
|
158
|
+
# Speaker display — only shown when front matter includes a `speaker` key.
|
|
159
|
+
if (current_speaker = slide&.speaker)
|
|
160
|
+
builder.tag(:span, class: "speaker-info") do
|
|
161
|
+
builder.tag(:span, class: "speaker-label"){builder.text("🎤")}
|
|
162
|
+
builder.text(" #{current_speaker}")
|
|
163
|
+
|
|
164
|
+
# Show upcoming speaker only when they differ from the current one.
|
|
165
|
+
if (next_speaker = next_slide&.speaker) && next_speaker != current_speaker
|
|
166
|
+
builder.tag(:span, class: "next-speaker") do
|
|
167
|
+
builder.text(" → #{next_speaker}")
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
156
172
|
end
|
|
157
173
|
end
|
|
158
174
|
end
|
data/lib/presently/slide.rb
CHANGED
|
@@ -213,6 +213,12 @@ module Presently
|
|
|
213
213
|
@front_matter&.fetch("transition", nil)
|
|
214
214
|
end
|
|
215
215
|
|
|
216
|
+
# The name of the speaker presenting this slide.
|
|
217
|
+
# @returns [String | Nil] The speaker name from front_matter, or `nil` if not specified.
|
|
218
|
+
def speaker
|
|
219
|
+
@front_matter&.fetch("speaker", nil)
|
|
220
|
+
end
|
|
221
|
+
|
|
216
222
|
# The line range to focus on for code slides.
|
|
217
223
|
# @returns [Array(Integer, Integer) | Nil] The `[start, end]` line numbers (1-based), or `nil`.
|
|
218
224
|
def focus
|
data/lib/presently/version.rb
CHANGED
data/public/_static/index.css
CHANGED
|
@@ -675,6 +675,23 @@ html[data-transition="morph"]::view-transition-new(slide-container) {
|
|
|
675
675
|
margin-left: auto;
|
|
676
676
|
}
|
|
677
677
|
|
|
678
|
+
.timing-info .speaker-info {
|
|
679
|
+
display: flex;
|
|
680
|
+
align-items: center;
|
|
681
|
+
gap: 0.25rem;
|
|
682
|
+
font-size: 0.9rem;
|
|
683
|
+
background: rgba(255, 255, 255, 0.08);
|
|
684
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
685
|
+
border-radius: 6px;
|
|
686
|
+
padding: 0.2rem 0.6rem;
|
|
687
|
+
white-space: nowrap;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
.timing-info .next-speaker {
|
|
691
|
+
opacity: 0.6;
|
|
692
|
+
font-style: italic;
|
|
693
|
+
}
|
|
694
|
+
|
|
678
695
|
/* Notes */
|
|
679
696
|
.notes {
|
|
680
697
|
background: var(--surface);
|
data/readme.md
CHANGED
|
@@ -29,6 +29,10 @@ Please see the [project documentation](https://socketry.github.io/presently/) fo
|
|
|
29
29
|
|
|
30
30
|
Please see the [project releases](https://socketry.github.io/presently/releases/index) for all releases.
|
|
31
31
|
|
|
32
|
+
### v0.5.0
|
|
33
|
+
|
|
34
|
+
- Add optional `speaker` front matter key to slides. When present, the current speaker's name is shown in the timing bar. If the next slide has a different speaker, a handoff indicator (e.g. `→ Next Speaker`) is shown alongside, giving presenters an at-a-glance cue for tag-team talks.
|
|
35
|
+
|
|
32
36
|
### v0.4.0
|
|
33
37
|
|
|
34
38
|
- Add `bake presently:slides:notes` task to extract all presenter notes into a single Markdown document, with each slide's file path as a heading. Useful for reviewing or sharing speaker notes outside of the presentation.
|
data/releases.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Releases
|
|
2
2
|
|
|
3
|
+
## v0.5.0
|
|
4
|
+
|
|
5
|
+
- Add optional `speaker` front matter key to slides. When present, the current speaker's name is shown in the timing bar. If the next slide has a different speaker, a handoff indicator (e.g. `→ Next Speaker`) is shown alongside, giving presenters an at-a-glance cue for tag-team talks.
|
|
6
|
+
|
|
3
7
|
## v0.4.0
|
|
4
8
|
|
|
5
9
|
- Add `bake presently:slides:notes` task to extract all presenter notes into a single Markdown document, with each slide's file path as a heading. Useful for reviewing or sharing speaker notes outside of the presentation.
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
|
Binary file
|