screenkit 0.0.0 → 0.0.1

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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -1
  3. data/DOCUMENTATION.md +7 -7
  4. data/lib/screen_kit.rb +2 -0
  5. data/lib/screenkit/duration.rb +5 -0
  6. data/lib/screenkit/exporter/demotape.rb +12 -2
  7. data/lib/screenkit/exporter/episode.rb +7 -1
  8. data/lib/screenkit/exporter/intro.rb +4 -4
  9. data/lib/screenkit/exporter/outro.rb +5 -5
  10. data/lib/screenkit/exporter/segment.rb +11 -6
  11. data/lib/screenkit/generators/project/screenkit.yml +77 -12
  12. data/lib/screenkit/schemas/episode.json +2 -13
  13. data/lib/screenkit/schemas/project.json +2 -1
  14. data/lib/screenkit/schemas/refs/demotape.json +48 -0
  15. data/lib/screenkit/schemas/refs/demotape_themes.json +367 -0
  16. data/lib/screenkit/schemas/refs/duration.json +9 -0
  17. data/lib/screenkit/schemas/refs/intro.json +3 -15
  18. data/lib/screenkit/schemas/refs/outro.json +3 -15
  19. data/lib/screenkit/schemas/refs/scenes.json +1 -5
  20. data/lib/screenkit/schemas/refs/transition.json +1 -5
  21. data/lib/screenkit/schemas/tts/say.json +1 -1
  22. data/lib/screenkit/version.rb +1 -1
  23. metadata +47 -43
  24. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OFL.txt +0 -0
  25. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Bold.ttf +0 -0
  26. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-BoldItalic.ttf +0 -0
  27. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-ExtraBold.ttf +0 -0
  28. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-ExtraBoldItalic.ttf +0 -0
  29. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Italic.ttf +0 -0
  30. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Light.ttf +0 -0
  31. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-LightItalic.ttf +0 -0
  32. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Medium.ttf +0 -0
  33. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-MediumItalic.ttf +0 -0
  34. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-Regular.ttf +0 -0
  35. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-SemiBold.ttf +0 -0
  36. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans-SemiBoldItalic.ttf +0 -0
  37. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Bold.ttf +0 -0
  38. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-BoldItalic.ttf +0 -0
  39. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-ExtraBold.ttf +0 -0
  40. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-ExtraBoldItalic.ttf +0 -0
  41. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Italic.ttf +0 -0
  42. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Light.ttf +0 -0
  43. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-LightItalic.ttf +0 -0
  44. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Medium.ttf +0 -0
  45. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-MediumItalic.ttf +0 -0
  46. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-Regular.ttf +0 -0
  47. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-SemiBold.ttf +0 -0
  48. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_Condensed-SemiBoldItalic.ttf +0 -0
  49. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Bold.ttf +0 -0
  50. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-BoldItalic.ttf +0 -0
  51. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-ExtraBold.ttf +0 -0
  52. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-ExtraBoldItalic.ttf +0 -0
  53. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Italic.ttf +0 -0
  54. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Light.ttf +0 -0
  55. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-LightItalic.ttf +0 -0
  56. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Medium.ttf +0 -0
  57. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-MediumItalic.ttf +0 -0
  58. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-Regular.ttf +0 -0
  59. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-SemiBold.ttf +0 -0
  60. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/OpenSans_SemiCondensed-SemiBoldItalic.ttf +0 -0
  61. /data/lib/screenkit/generators/project/resources/fonts/{opensans → open-sans}/README.txt +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c90da69b3e51c50c78ac61fad2bdc6e5f1eea0310e5cb29d1ffbbc0e97262fae
4
- data.tar.gz: 27c1d425428304e6541f82db1c98d69a2b460c9ba9b29f466c0fd53ad3f42df4
3
+ metadata.gz: 2b105910b064ec4639068b441398fe95290b31a26bc19d0745d96970956a338d
4
+ data.tar.gz: 9e84a6b711c03fd3f1765d0fd1dd3cd7fd53857197fb82b480d9ff16c6b08d4b
5
5
  SHA512:
6
- metadata.gz: 5945edb3494d95578dd1dc1ba7f94d07547291091a9eeed62789739e02730756927ffcb299ca00a36bb7f390e485ae2b61631b58df77afc05aed269f4b9aac06
7
- data.tar.gz: e2d69c9fa665f2f69a7c9cf380c2a33ebf1e7908a85d9de13a715112e34fd92e23244b12e7d95f30533a26a352d6fa2603576f3f85ae62b2fecabd9a43a6c804
6
+ metadata.gz: 98cb59b8738b6bbae13f4a7f0815214975272c967e2b7c7153e1618f61e0e95e16e9fc707802b810d38ec36d9ea0092d88163b472fe6b414c7c2db5c41d249be
7
+ data.tar.gz: 6a4679359994481516de5393ca439e867f040f6974fc2b9ded318b37ff341574cb646dc6f2b65a89c8896c5d38f067fdccf4ac29c0688ae0d961080cc996e653
data/CHANGELOG.md CHANGED
@@ -11,6 +11,11 @@ Prefix your message with one of the following:
11
11
  - [Security] in case of vulnerabilities.
12
12
  -->
13
13
 
14
- ## Unreleased
14
+ ## v0.0.1
15
+
16
+ - [Added] Allow configuring Demo Tape using episode or project configuration.
17
+ - [Changed] Allow duration as `1s`.
18
+
19
+ ## v0.0.0
15
20
 
16
21
  - Initial release.
data/DOCUMENTATION.md CHANGED
@@ -223,13 +223,13 @@ callouts:
223
223
  title_style:
224
224
  color: "#000000"
225
225
  size: 40
226
- font_path: opensans/OpenSans-ExtraBold.ttf
226
+ font_path: open-sans/OpenSans-ExtraBold.ttf
227
227
 
228
228
  # Body styling
229
229
  body_style:
230
230
  color: "#000000"
231
231
  size: 32
232
- font_path: opensans/OpenSans-Semibold.ttf
232
+ font_path: open-sans/OpenSans-Semibold.ttf
233
233
 
234
234
  # Positioning
235
235
  anchor: [left, bottom] # [horizontal, vertical]
@@ -338,7 +338,7 @@ scenes:
338
338
  title:
339
339
  x: 100 # X position (pixels or "center")
340
340
  y: 300 # Y position (pixels or "center")
341
- font_path: opensans/OpenSans-ExtraBold.ttf
341
+ font_path: open-sans/OpenSans-ExtraBold.ttf
342
342
  size: 144 # Font size
343
343
  color: "#ffffff"
344
344
 
@@ -418,12 +418,12 @@ callouts:
418
418
  title_style:
419
419
  color: "#000000"
420
420
  size: 40
421
- font_path: opensans/OpenSans-ExtraBold.ttf
421
+ font_path: open-sans/OpenSans-ExtraBold.ttf
422
422
 
423
423
  body_style:
424
424
  color: "#000000"
425
425
  size: 32
426
- font_path: opensans/OpenSans-Semibold.ttf
426
+ font_path: open-sans/OpenSans-Semibold.ttf
427
427
 
428
428
  # Layout
429
429
  padding: 50 # Internal padding (pixels)
@@ -472,7 +472,7 @@ callouts:
472
472
  text_style:
473
473
  color: "#ffffff"
474
474
  size: 40
475
- font_path: opensans/OpenSans-ExtraBold.ttf
475
+ font_path: open-sans/OpenSans-ExtraBold.ttf
476
476
 
477
477
  # Layout
478
478
  padding: 20 # Padding around text (pixels)
@@ -766,7 +766,7 @@ Resources are searched in order from `resources_dir`:
766
766
  Reference resources by partial path:
767
767
 
768
768
  ```yaml
769
- font_path: opensans/OpenSans-Bold.ttf # Found in resources/fonts/
769
+ font_path: open-sans/OpenSans-Bold.ttf # Found in resources/fonts/
770
770
  ```
771
771
 
772
772
  ### Placeholders
data/lib/screen_kit.rb CHANGED
@@ -9,9 +9,11 @@ require "pathname"
9
9
  require "tty-spinner"
10
10
  require "etc"
11
11
  require "securerandom"
12
+ require "demo_tape/duration"
12
13
 
13
14
  module ScreenKit
14
15
  require_relative "screenkit/version"
16
+ require_relative "screenkit/duration"
15
17
  require_relative "screenkit/core_ext/string"
16
18
  require_relative "screenkit/core_ext/json"
17
19
  require_relative "screenkit/content_type"
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ScreenKit
4
+ Duration = DemoTape::Duration
5
+ end
@@ -5,22 +5,32 @@ module ScreenKit
5
5
  class Demotape
6
6
  include Shell
7
7
 
8
- attr_reader :demotape_path, :log_path
8
+ attr_reader :demotape_path, :log_path, :options
9
9
 
10
- def initialize(demotape_path:, log_path: nil)
10
+ def initialize(demotape_path:, options: {}, log_path: nil)
11
11
  @demotape_path = demotape_path
12
12
  @log_path = log_path
13
+ @options = options
13
14
  end
14
15
 
15
16
  def export(output_path)
16
17
  run_command "demotape",
17
18
  "run",
18
19
  demotape_path,
20
+ options_to_args(options),
21
+ "--width", 1920,
22
+ "--height", 1080,
19
23
  "--fps", 24,
20
24
  "--overwrite",
21
25
  "--output-path", output_path,
22
26
  log_path:
23
27
  end
28
+
29
+ def options_to_args(options)
30
+ (options || {}).flat_map do |key, value|
31
+ [key.to_s.tr("_", "-").prepend("--"), value]
32
+ end
33
+ end
24
34
  end
25
35
  end
26
36
  end
@@ -45,6 +45,10 @@ module ScreenKit
45
45
  (config.tts || {}).merge(project_config.tts || {})
46
46
  end
47
47
 
48
+ def demotape_options
49
+ (config.demotape || {}).merge(project_config.demotape || {})
50
+ end
51
+
48
52
  def tts_engine
49
53
  @tts_engine ||= TTS.const_get(
50
54
  tts_options[:engine].camelize
@@ -155,7 +159,9 @@ module ScreenKit
155
159
  def merge_segments
156
160
  spinner.update("Merging segments into final episode…")
157
161
  started = Process.clock_gettime(Process::CLOCK_MONOTONIC)
158
- crossfade_duration = scenes.dig(:segment, :crossfade_duration) || 0.5
162
+ crossfade_duration = Duration.parse(
163
+ scenes.dig(:segment, :crossfade_duration) || 0.5
164
+ )
159
165
  watermark = Watermark.new(config.watermark || project_config.watermark)
160
166
 
161
167
  watermark_path = if watermark.path
@@ -86,7 +86,7 @@ module ScreenKit
86
86
  "-c:v", "libx264", "-crf", "0", "-pix_fmt", "yuv444p",
87
87
  "-c:a", "flac", "-ac", "1", "-ar", "44100",
88
88
  "-shortest",
89
- "-t", config[:duration],
89
+ "-t", Duration.parse(config[:duration]),
90
90
  "-r", 24,
91
91
  "-y",
92
92
  path
@@ -96,9 +96,9 @@ module ScreenKit
96
96
  end
97
97
 
98
98
  private def ffmpeg_params
99
- duration = config[:duration]
100
- fade_in = config.fetch(:fade_in, 0.0)
101
- fade_out = config.fetch(:fade_out, 0.5)
99
+ duration = Duration.parse(config[:duration])
100
+ fade_in = Duration.parse(config.fetch(:fade_in, 0.0))
101
+ fade_out = Duration.parse(config.fetch(:fade_out, 0.5))
102
102
  fade_out_start = duration - fade_out - 0.1
103
103
 
104
104
  # Build filter chain
@@ -71,7 +71,7 @@ module ScreenKit
71
71
  "-c:v", "libx264", "-crf", "0", "-pix_fmt", "yuv444p",
72
72
  "-c:a", "flac", "-ac", "1", "-ar", "44100",
73
73
  "-shortest",
74
- "-t", config[:duration],
74
+ "-t", Duration.parse(config[:duration]),
75
75
  "-r", 24,
76
76
  "-y",
77
77
  path
@@ -81,11 +81,11 @@ module ScreenKit
81
81
  end
82
82
 
83
83
  private def ffmpeg_params
84
- duration = config[:duration]
84
+ duration = Duration.parse(config[:duration])
85
85
  logo_delay = 0.5
86
- fade_in = config.fetch(:fade_in, 0.5)
87
- fade_out = config.fetch(:fade_out, 0.5)
88
- fade_out_start = duration - fade_out - 0.1
86
+ fade_in = Duration.parse(config.fetch(:fade_in, 0.5))
87
+ fade_out = Duration.parse(config.fetch(:fade_out, 0.5))
88
+ fade_out_start = duration - fade_out - 0.2
89
89
 
90
90
  # Build filter chain
91
91
  inputs = []
@@ -75,15 +75,20 @@ module ScreenKit
75
75
  .export(video_path)
76
76
  when *ContentType.demotape
77
77
  Exporter::Demotape
78
- .new(demotape_path: content_path, log_path:)
79
- .export(video_path)
78
+ .new(
79
+ demotape_path: content_path,
80
+ log_path:,
81
+ options: episode.demotape_options
82
+ ).export(video_path)
80
83
  else
81
84
  raise "Unsupported content type: #{content_path.extname}"
82
85
  end
83
86
  end
84
87
 
85
88
  def crossfade_duration
86
- episode.scenes.fetch(:segment).fetch(:crossfade_duration, 0.5)
89
+ Duration.parse(
90
+ episode.scenes.fetch(:segment).fetch(:crossfade_duration, 0.5)
91
+ )
87
92
  end
88
93
 
89
94
  def merge_audio_and_video(log_path:)
@@ -123,9 +128,9 @@ module ScreenKit
123
128
 
124
129
  starts_at = callout[:starts_at]
125
130
  max_duration = [content_duration - 0.2, 0].max
126
- duration = callout[:duration]
127
- .clamp(0, max_duration)
128
- .round(half: :down)
131
+ duration = Duration.parse(callout[:duration])
132
+ .clamp(0, max_duration)
133
+ .round(half: :down)
129
134
  ends_at = starts_at + duration
130
135
  callout_image_path = episode.output_dir.join("callouts",
131
136
  "#{prefix}-#{index}.png")
@@ -98,13 +98,13 @@ tts:
98
98
  scenes:
99
99
  intro:
100
100
  # The duration of the intro scene in seconds.
101
- duration: 5.5
101
+ duration: 5.5s
102
102
 
103
103
  # The fade-in duration in seconds.
104
- fade_in: 0
104
+ fade_in: 0s
105
105
 
106
106
  # The fade-out duration in seconds.
107
- fade_out: 0.5
107
+ fade_out: 0.5s
108
108
 
109
109
  # The background color/image of the intro scene.
110
110
  background: "#100f50"
@@ -113,7 +113,7 @@ scenes:
113
113
  title:
114
114
  x: 100
115
115
  y: 300
116
- font_path: opensans/OpenSans-ExtraBold.ttf
116
+ font_path: open-sans/OpenSans-ExtraBold.ttf
117
117
  size: 144
118
118
  color: "#ffffff"
119
119
 
@@ -133,13 +133,13 @@ scenes:
133
133
 
134
134
  outro:
135
135
  # The duration of the outro scene in seconds.
136
- duration: 5.5
136
+ duration: 5.5s
137
137
 
138
138
  # The fade-in duration in seconds.
139
- fade_in: 0.5
139
+ fade_in: 0.5s
140
140
 
141
141
  # The fade-out duration in seconds.
142
- fade_out: 0.5
142
+ fade_out: 0.5s
143
143
 
144
144
  # The background color/image of the outro scene.
145
145
  background: "#100f50"
@@ -156,7 +156,72 @@ scenes:
156
156
 
157
157
  segment:
158
158
  # The duration of the crossover transition between segments in seconds.
159
- crossfade_duration: 0.5
159
+ crossfade_duration: 0.5s
160
+
161
+ # Configure [demotape](https://github.com/fnando/demotape).
162
+ demotape:
163
+ # Global speed for typing
164
+ typing_speed: 50ms
165
+
166
+ # Whether to add variability to typing speed
167
+ variable_typing: 0.25
168
+
169
+ # Shell to use for the terminal session
170
+ shell: zsh
171
+
172
+ # Path to a shell rc file to source on startup
173
+ # rc_file:
174
+
175
+ # Do not load the default rc file
176
+ no_rc: false
177
+
178
+ # A built-in theme name or a path to a custom theme JSON file
179
+ theme: default_dark
180
+
181
+ # Font size for the terminal session
182
+ font_size: 32
183
+
184
+ # Font family for the terminal session
185
+ font_family: "'JetBrainsMono Nerd Font Propo', monospace"
186
+
187
+ # Line height for the terminal session
188
+ line_height: 1.2
189
+
190
+ # Whether the cursor blinks
191
+ cursor_blink: true
192
+
193
+ # The width of the cursor when in 'bar' style
194
+ cursor_width: 2
195
+
196
+ # The style of the cursor when the terminal is focused.
197
+ cursor_style: block
198
+
199
+ # Letter spacing for the terminal session
200
+ letter_spacing: 0
201
+
202
+ # Padding around the terminal content. It can be 1, 2, or 4 numbers.
203
+ padding: 50
204
+
205
+ # Loop the GIF infinitely
206
+ loop: true
207
+
208
+ # Delay time (in seconds) before restarting the GIF animation
209
+ loop_delay: 0
210
+
211
+ # Margin around the terminal content. It can be 1, 2, or 4 numbers.
212
+ margin: 0
213
+
214
+ # Color or image to use for the margin around the terminal content
215
+ margin_fill: "#000000"
216
+
217
+ # Border radius for the terminal canvas
218
+ border_radius: 0
219
+
220
+ # Delay (in seconds) before pressing Enter
221
+ run_enter_delay: 1s
222
+
223
+ # Delay (in seconds) after running each command
224
+ run_sleep: 3s
160
225
 
161
226
  # Callout configurations define the appearance and behavior of callouts used
162
227
  # in the video. Callouts are visual elements that highlight important
@@ -170,20 +235,20 @@ callouts:
170
235
  title_style:
171
236
  color: "#000000"
172
237
  size: 40
173
- font_path: opensans/OpenSans-ExtraBold.ttf
238
+ font_path: open-sans/OpenSans-ExtraBold.ttf
174
239
  body_style:
175
240
  color: "#000000"
176
241
  size: 32
177
- font_path: opensans/OpenSans-Semibold.ttf
242
+ font_path: open-sans/OpenSans-Semibold.ttf
178
243
  margin: 100
179
244
  padding: 50
180
245
  anchor: [left, bottom]
181
246
  animation: fade
182
247
  in_transition:
183
- duration: 0.4
248
+ duration: 0.4s
184
249
  sound: pop.mp3
185
250
  out_transition:
186
- duration: 0.3
251
+ duration: 0.3s
187
252
  sound:
188
253
  path: pop.mp3
189
254
  volume: 0.7
@@ -16,6 +16,7 @@
16
16
  "minLength": 1,
17
17
  "pattern": "\\S"
18
18
  },
19
+ "demotape": { "$ref": "refs/demotape.json" },
19
20
  "callouts": {
20
21
  "type": "array",
21
22
  "description": "List of callouts to be used in the episode",
@@ -42,19 +43,7 @@
42
43
  }
43
44
  ]
44
45
  },
45
- "duration": {
46
- "oneOf": [
47
- {
48
- "type": "string",
49
- "description": "Callout duration time (e.g. 5s)",
50
- "pattern": "/^\\d+(s|m|h)$/"
51
- },
52
- {
53
- "type": "number",
54
- "description": "Callout duration time in seconds (e.g. 5)"
55
- }
56
- ]
57
- },
46
+ "duration": { "$ref": "refs/duration.json" },
58
47
  "width": {
59
48
  "oneOf": [
60
49
  {
@@ -31,7 +31,8 @@
31
31
  "additionalProperties": {
32
32
  "$ref": "refs/callout.json"
33
33
  }
34
- }
34
+ },
35
+ "demotape": { "$ref": "refs/demotape.json" }
35
36
  },
36
37
  "additionalProperties": false
37
38
  }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "$id": "https://github.com/fnando/screenkit/schemas/refs/demotape.json",
4
+ "title": "Demo Tape settings (https://github.com/fnando/demotape)",
5
+ "type": "object",
6
+ "properties": {
7
+ "typing_speed": { "$ref": "duration.json" },
8
+ "variable_typing": { "type": "number" },
9
+ "shell": {
10
+ "type": "string",
11
+ "enum": ["bash", "zsh", "fish"]
12
+ },
13
+ "no_rc": {
14
+ "type": "boolean"
15
+ },
16
+ "rc_file": {
17
+ "type": "string",
18
+ "format": "uri"
19
+ },
20
+ "theme": {
21
+ "oneOf": [
22
+ { "$ref": "demotape_themes.json" },
23
+ { "type": "string", "pattern": "^[./]|^[a-zA-Z]:" }
24
+ ]
25
+ },
26
+ "font_size": { "type": "integer" },
27
+ "font_family": { "type": "string" },
28
+ "line_height": { "type": "number" },
29
+ "cursor_blink": { "type": "boolean" },
30
+ "cursor_width": { "type": "number" },
31
+ "cursor_style": { "type": "string", "enum": ["block", "underline", "bar"] },
32
+ "letter_spacing": { "type": "number" },
33
+ "padding": { "type": "number", "minLength": 1, "maxLength": 4 },
34
+ "margin": { "type": "number", "minLength": 1, "maxLength": 4 },
35
+ "margin_fill": {
36
+ "oneOf": [
37
+ {
38
+ "type": "string",
39
+ "pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
40
+ },
41
+ { "type": "string", "pattern": "^[./]|^[a-zA-Z]:" }
42
+ ]
43
+ },
44
+ "border_radius": { "type": "integer" },
45
+ "run_enter_delay": { "$ref": "duration.json" },
46
+ "run_sleep": { "$ref": "duration.json" }
47
+ }
48
+ }
@@ -0,0 +1,367 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "$id": "https://github.com/fnando/screenkit/schemas/refs/demotape_themes.json",
4
+ "title": "Demo Tape themes",
5
+ "type": "string",
6
+ "enum": [
7
+ "3024_day",
8
+ "3024_night",
9
+ "aardvark_blue",
10
+ "abernathy",
11
+ "adventure_time",
12
+ "adventure",
13
+ "afterglow",
14
+ "alabaster",
15
+ "alien_blood",
16
+ "andromeda",
17
+ "apple_classic",
18
+ "apple_system_colors",
19
+ "arcoiris",
20
+ "argonaut",
21
+ "arthur",
22
+ "atelier_sulphurpool",
23
+ "atom_one_light",
24
+ "atom",
25
+ "aurora",
26
+ "ayu_light",
27
+ "ayu_mirage",
28
+ "ayu",
29
+ "banana_blueberry",
30
+ "batman",
31
+ "belafonte_day",
32
+ "belafonte_night",
33
+ "birds_of_paradise",
34
+ "blazer",
35
+ "blue_berry_pie",
36
+ "blue_dolphin",
37
+ "blue_matrix",
38
+ "bluloco_dark",
39
+ "bluloco_light",
40
+ "borland",
41
+ "breeze",
42
+ "bright_lights",
43
+ "broadcast",
44
+ "brogrammer",
45
+ "bubbles",
46
+ "builtin_dark",
47
+ "builtin_light",
48
+ "builtin_pastel_dark",
49
+ "builtin_solarized_dark",
50
+ "builtin_solarized_light",
51
+ "builtin_tango_dark",
52
+ "builtin_tango_light",
53
+ "c64",
54
+ "calamity",
55
+ "catppuccin_frappe",
56
+ "catppuccin_latte",
57
+ "catppuccin_macchiato",
58
+ "catppuccin_mocha",
59
+ "cga",
60
+ "chalk",
61
+ "chalkboard",
62
+ "challenger_deep",
63
+ "chester",
64
+ "ciapre",
65
+ "clrs",
66
+ "cobalt_neon",
67
+ "cobalt2",
68
+ "coffee_theme",
69
+ "contrast_light",
70
+ "coolnight",
71
+ "crayon_pony_fish",
72
+ "crystal_violet",
73
+ "cutie_pro",
74
+ "cyber_cube",
75
+ "cyber_punk2077",
76
+ "cyberdyne",
77
+ "cyberpunk",
78
+ "dark_pastel",
79
+ "dark_plus",
80
+ "darkermatrix",
81
+ "darkmatrix",
82
+ "darkside",
83
+ "dayfox",
84
+ "deep",
85
+ "default_dark",
86
+ "default_light",
87
+ "desert",
88
+ "dimmed_monokai",
89
+ "django_reborn_again",
90
+ "django_smooth",
91
+ "django",
92
+ "doom_one",
93
+ "doom_peacock",
94
+ "dot_gov",
95
+ "dracula_plus",
96
+ "dracula",
97
+ "duckbones",
98
+ "duotone_dark",
99
+ "earthsong",
100
+ "elemental",
101
+ "elementary",
102
+ "encom",
103
+ "espresso_libre",
104
+ "espresso",
105
+ "everblush",
106
+ "fahrenheit",
107
+ "fairyfloss",
108
+ "farmhouse_dark",
109
+ "farmhouse_light",
110
+ "fideloper",
111
+ "firefly_traditional",
112
+ "firefox_dev",
113
+ "firewatch",
114
+ "fish_tank",
115
+ "flat",
116
+ "flatland",
117
+ "flexoki_dark",
118
+ "flexoki_light",
119
+ "floraverse",
120
+ "forest_blue",
121
+ "framer",
122
+ "front_end_delight",
123
+ "fun_forrest",
124
+ "galaxy",
125
+ "galizur",
126
+ "ganyu",
127
+ "git_hub_dark",
128
+ "github",
129
+ "glacier",
130
+ "glorious",
131
+ "grape",
132
+ "grass",
133
+ "grey_green",
134
+ "gruvbox_dark_hard",
135
+ "gruvbox_dark",
136
+ "gruvbox_light",
137
+ "guezwhoz",
138
+ "h4rithd_com",
139
+ "h4rithd",
140
+ "ha_x0_r_blue",
141
+ "ha_x0_r_gr33_n",
142
+ "ha_x0_r_r3_d",
143
+ "hacktober",
144
+ "hardcore",
145
+ "harper",
146
+ "highway",
147
+ "hipster_green",
148
+ "hivacruz",
149
+ "homebrew",
150
+ "hopscotch_256",
151
+ "hopscotch",
152
+ "horizon",
153
+ "hurtado",
154
+ "hybrid",
155
+ "hyper",
156
+ "ic_green_ppl",
157
+ "ic_orange_ppl",
158
+ "iceberg_dark",
159
+ "iceberg_light",
160
+ "idea",
161
+ "idle_toes",
162
+ "ir_black",
163
+ "iterm2_dark_background",
164
+ "iterm2_default",
165
+ "iterm2_light_background",
166
+ "iterm2_pastel_dark_background",
167
+ "iterm2_smoooooth",
168
+ "iterm2_solarized_dark",
169
+ "iterm2_solarized_light",
170
+ "iterm2_tango_dark",
171
+ "iterm2_tango_light",
172
+ "jackie_brown",
173
+ "japanesque",
174
+ "jellybeans",
175
+ "jet_brains_darcula",
176
+ "jubi",
177
+ "juicy_colors",
178
+ "kanagawa",
179
+ "kanagawabones",
180
+ "kibble",
181
+ "kolorit",
182
+ "konsolas",
183
+ "lab_fox",
184
+ "laser",
185
+ "later_this_evening",
186
+ "lavandula",
187
+ "liquid_carbon_transparent_inverse",
188
+ "liquid_carbon_transparent",
189
+ "liquid_carbon",
190
+ "lovelace",
191
+ "man_page",
192
+ "mariana",
193
+ "material_dark",
194
+ "material_darker",
195
+ "material_design_colors",
196
+ "material_ocean",
197
+ "material",
198
+ "mathias",
199
+ "matrix",
200
+ "medallion",
201
+ "mellifluous",
202
+ "midnight_in_mojave",
203
+ "mirage",
204
+ "misterioso",
205
+ "molokai",
206
+ "mona_lisa",
207
+ "monokai_cmder",
208
+ "monokai_pro_filter_octagon",
209
+ "monokai_pro_filter_ristretto",
210
+ "monokai_pro",
211
+ "monokai_remastered",
212
+ "monokai_soda",
213
+ "monokai_vivid",
214
+ "moonlight_ii",
215
+ "n0tch2k",
216
+ "neobones_dark",
217
+ "neobones_light",
218
+ "neon",
219
+ "neopolitan",
220
+ "neutron",
221
+ "night_city",
222
+ "night_lion_v1",
223
+ "night_lion_v2",
224
+ "night_owlish_light",
225
+ "nightfox",
226
+ "niji",
227
+ "nocturnal_winter",
228
+ "nord_light",
229
+ "nord",
230
+ "novel",
231
+ "nvim_dark",
232
+ "nvim_light",
233
+ "obsidian",
234
+ "ocean",
235
+ "oceanic_material",
236
+ "oceanic_next",
237
+ "ollie",
238
+ "one_dark",
239
+ "one_half_dark",
240
+ "one_half_light",
241
+ "one_star",
242
+ "operator_mono_dark",
243
+ "overnight_slumber",
244
+ "pale_night_hc",
245
+ "pandora",
246
+ "paraiso_dark",
247
+ "paul_millr",
248
+ "pencil_dark",
249
+ "pencil_light",
250
+ "peppermint",
251
+ "piatto_light",
252
+ "pnevma",
253
+ "popping_and_locking",
254
+ "primary",
255
+ "primer",
256
+ "pro_light",
257
+ "pro",
258
+ "purple_rain",
259
+ "purplepeter",
260
+ "qb64_super_dark_blue",
261
+ "rapture",
262
+ "raycast_dark",
263
+ "raycast_light",
264
+ "rebecca",
265
+ "red_alert",
266
+ "red_planet",
267
+ "red_sands",
268
+ "relaxed",
269
+ "retro",
270
+ "retrowave",
271
+ "rippedcasts",
272
+ "rose_pine_dawn",
273
+ "rose_pine_moon",
274
+ "rose_pine",
275
+ "rouge_2",
276
+ "royal",
277
+ "ryuuko",
278
+ "sakura",
279
+ "scarlet_protocol",
280
+ "sea_shells",
281
+ "seafoam_pastel",
282
+ "seoulbones_dark",
283
+ "seoulbones_light",
284
+ "serendipity_midnight",
285
+ "serendipity_morning",
286
+ "serendipity_sunset",
287
+ "seti",
288
+ "shades_of_purple",
289
+ "shaman",
290
+ "slate",
291
+ "sleepy_hollow",
292
+ "smyck",
293
+ "snazzy",
294
+ "soft_server",
295
+ "solarized_darcula",
296
+ "solarized_dark_higher_contrast",
297
+ "solarized_dark_patched",
298
+ "sonoran_gothic",
299
+ "sonoran_sunrise",
300
+ "space_gray_eighties_dull",
301
+ "space_gray_eighties",
302
+ "space_gray",
303
+ "spacedust",
304
+ "spiderman",
305
+ "spring",
306
+ "square",
307
+ "sublette",
308
+ "subliminal",
309
+ "sundried",
310
+ "symfonic",
311
+ "synthwave_alpha",
312
+ "synthwave_everything",
313
+ "synthwave",
314
+ "tango_adapted",
315
+ "tango_half_adapted",
316
+ "teerb",
317
+ "terafox",
318
+ "terminal_basic",
319
+ "thayer_bright",
320
+ "the_hulk",
321
+ "tinacious_design_dark",
322
+ "tinacious_design_light",
323
+ "tokyo_night_light",
324
+ "tokyo_night_storm",
325
+ "tokyo_night",
326
+ "tokyonight_day",
327
+ "tokyonight_storm",
328
+ "tokyonight",
329
+ "tomorrow_night_blue",
330
+ "tomorrow_night_bright",
331
+ "tomorrow_night_burns",
332
+ "tomorrow_night_eighties",
333
+ "tomorrow_night",
334
+ "tomorrow",
335
+ "toy_chest",
336
+ "treehouse",
337
+ "twilight",
338
+ "ubuntu",
339
+ "ultra_dark",
340
+ "ultra_violent",
341
+ "under_the_sea",
342
+ "unholy",
343
+ "unikitty",
344
+ "urple",
345
+ "vaughn",
346
+ "vesper",
347
+ "vibrant_ink",
348
+ "vimbones",
349
+ "violet_dark",
350
+ "violet_light",
351
+ "warm_neon",
352
+ "wez",
353
+ "whimsy",
354
+ "wild_cherry",
355
+ "wilmersdorf",
356
+ "wombat",
357
+ "wryan",
358
+ "zenbones_dark",
359
+ "zenbones_light",
360
+ "zenbones",
361
+ "zenburn",
362
+ "zenburned",
363
+ "zenwritten_dark",
364
+ "zenwritten_light",
365
+ "zeonica"
366
+ ]
367
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "$id": "https://github.com/fnando/screenkit/schemas/refs/duration.json",
4
+ "title": "Duration",
5
+ "oneOf": [
6
+ { "type": "string", "pattern": "^\\d+(\\.\\d+)?(ms|s|m|h)?$" },
7
+ { "type": "number", "minimum": 0 }
8
+ ]
9
+ }
@@ -3,21 +3,9 @@
3
3
  "$id": "https://github.com/fnando/screenkit/schemas/refs/intro.json",
4
4
  "title": "Intro",
5
5
  "properties": {
6
- "duration": {
7
- "type": "number",
8
- "description": "Duration of the intro scene in seconds",
9
- "minimum": 0
10
- },
11
- "fade_in": {
12
- "type": "number",
13
- "description": "Fade-in duration in seconds",
14
- "minimum": 0
15
- },
16
- "fade_out": {
17
- "type": "number",
18
- "description": "Fade-out duration in seconds",
19
- "minimum": 0
20
- },
6
+ "duration": { "$ref": "duration.json" },
7
+ "fade_in": { "$ref": "duration.json" },
8
+ "fade_out": { "$ref": "duration.json" },
21
9
  "title": {
22
10
  "type": "object",
23
11
  "description": "Title configuration",
@@ -7,20 +7,8 @@
7
7
  "background": { "$ref": "background.json" },
8
8
  "logo": { "$ref": "logo.json" },
9
9
  "sound": { "$ref": "sound.json" },
10
- "duration": {
11
- "type": "number",
12
- "description": "Duration of the intro scene in seconds",
13
- "minimum": 0
14
- },
15
- "fade_in": {
16
- "type": "number",
17
- "description": "Fade-in duration in seconds",
18
- "minimum": 0
19
- },
20
- "fade_out": {
21
- "type": "number",
22
- "description": "Fade-out duration in seconds",
23
- "minimum": 0
24
- }
10
+ "duration": { "$ref": "duration.json" },
11
+ "fade_in": { "$ref": "duration.json" },
12
+ "fade_out": { "$ref": "duration.json" }
25
13
  }
26
14
  }
@@ -16,11 +16,7 @@
16
16
  "description": "Main content scene configuration",
17
17
  "required": ["crossfade_duration"],
18
18
  "properties": {
19
- "crossfade_duration": {
20
- "type": "number",
21
- "description": "Duration of the crossover transition between segments in seconds",
22
- "minimum": 0
23
- }
19
+ "crossfade_duration": { "$ref": "duration.json" }
24
20
  }
25
21
  }
26
22
  }
@@ -6,10 +6,6 @@
6
6
  "required": ["duration", "sound"],
7
7
  "properties": {
8
8
  "sound": { "$ref": "sound.json" },
9
- "duration": {
10
- "type": "number",
11
- "description": "Transition duration in seconds",
12
- "minimum": 0
13
- }
9
+ "duration": { "$ref": "duration.json" }
14
10
  }
15
11
  }
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "rate": {
12
12
  "description": "The speaking rate (words per minute)",
13
- "oneOf": [{ "type": "null" }, { "type": "number", "pattern": "/^\\d+$/" }]
13
+ "oneOf": [{ "type": "null" }, { "type": "integer" }]
14
14
  }
15
15
  }
16
16
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScreenKit
4
- VERSION = "0.0.0"
4
+ VERSION = "0.0.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: screenkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
@@ -296,6 +296,7 @@ files:
296
296
  - lib/screenkit/content_type.rb
297
297
  - lib/screenkit/core_ext/json.rb
298
298
  - lib/screenkit/core_ext/string.rb
299
+ - lib/screenkit/duration.rb
299
300
  - lib/screenkit/exporter/demotape.rb
300
301
  - lib/screenkit/exporter/episode.rb
301
302
  - lib/screenkit/exporter/image.rb
@@ -310,44 +311,44 @@ files:
310
311
  - lib/screenkit/generators/project.rb
311
312
  - lib/screenkit/generators/project/Gemfile.erb
312
313
  - lib/screenkit/generators/project/resources/backtracks/default.aac
313
- - lib/screenkit/generators/project/resources/fonts/opensans/OFL.txt
314
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-Bold.ttf
315
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-BoldItalic.ttf
316
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-ExtraBold.ttf
317
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-ExtraBoldItalic.ttf
318
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-Italic.ttf
319
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-Light.ttf
320
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-LightItalic.ttf
321
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-Medium.ttf
322
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-MediumItalic.ttf
323
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-Regular.ttf
324
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-SemiBold.ttf
325
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans-SemiBoldItalic.ttf
326
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-Bold.ttf
327
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-BoldItalic.ttf
328
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-ExtraBold.ttf
329
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-ExtraBoldItalic.ttf
330
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-Italic.ttf
331
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-Light.ttf
332
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-LightItalic.ttf
333
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-Medium.ttf
334
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-MediumItalic.ttf
335
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-Regular.ttf
336
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-SemiBold.ttf
337
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_Condensed-SemiBoldItalic.ttf
338
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-Bold.ttf
339
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-BoldItalic.ttf
340
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-ExtraBold.ttf
341
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-ExtraBoldItalic.ttf
342
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-Italic.ttf
343
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-Light.ttf
344
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-LightItalic.ttf
345
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-Medium.ttf
346
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-MediumItalic.ttf
347
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-Regular.ttf
348
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-SemiBold.ttf
349
- - lib/screenkit/generators/project/resources/fonts/opensans/OpenSans_SemiCondensed-SemiBoldItalic.ttf
350
- - lib/screenkit/generators/project/resources/fonts/opensans/README.txt
314
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OFL.txt
315
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Bold.ttf
316
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-BoldItalic.ttf
317
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-ExtraBold.ttf
318
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-ExtraBoldItalic.ttf
319
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Italic.ttf
320
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Light.ttf
321
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-LightItalic.ttf
322
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Medium.ttf
323
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-MediumItalic.ttf
324
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-Regular.ttf
325
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-SemiBold.ttf
326
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans-SemiBoldItalic.ttf
327
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Bold.ttf
328
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-BoldItalic.ttf
329
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-ExtraBold.ttf
330
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-ExtraBoldItalic.ttf
331
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Italic.ttf
332
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Light.ttf
333
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-LightItalic.ttf
334
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Medium.ttf
335
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-MediumItalic.ttf
336
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-Regular.ttf
337
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-SemiBold.ttf
338
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_Condensed-SemiBoldItalic.ttf
339
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Bold.ttf
340
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-BoldItalic.ttf
341
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-ExtraBold.ttf
342
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-ExtraBoldItalic.ttf
343
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Italic.ttf
344
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Light.ttf
345
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-LightItalic.ttf
346
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Medium.ttf
347
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-MediumItalic.ttf
348
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-Regular.ttf
349
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-SemiBold.ttf
350
+ - lib/screenkit/generators/project/resources/fonts/open-sans/OpenSans_SemiCondensed-SemiBoldItalic.ttf
351
+ - lib/screenkit/generators/project/resources/fonts/open-sans/README.txt
351
352
  - lib/screenkit/generators/project/resources/images/logo.png
352
353
  - lib/screenkit/generators/project/resources/images/watermark.png
353
354
  - lib/screenkit/generators/project/resources/sounds/chime.mp3
@@ -369,7 +370,10 @@ files:
369
370
  - lib/screenkit/schemas/refs/background.json
370
371
  - lib/screenkit/schemas/refs/callout.json
371
372
  - lib/screenkit/schemas/refs/color.json
373
+ - lib/screenkit/schemas/refs/demotape.json
374
+ - lib/screenkit/schemas/refs/demotape_themes.json
372
375
  - lib/screenkit/schemas/refs/directory.json
376
+ - lib/screenkit/schemas/refs/duration.json
373
377
  - lib/screenkit/schemas/refs/intro.json
374
378
  - lib/screenkit/schemas/refs/logo.json
375
379
  - lib/screenkit/schemas/refs/outro.json
@@ -402,10 +406,10 @@ metadata:
402
406
  rubygems_mfa_required: 'true'
403
407
  homepage_uri: https://github.com/fnando/screenkit
404
408
  bug_tracker_uri: https://github.com/fnando/screenkit/issues
405
- source_code_uri: https://github.com/fnando/screenkit/tree/v0.0.0
406
- changelog_uri: https://github.com/fnando/screenkit/tree/v0.0.0/CHANGELOG.md
407
- documentation_uri: https://github.com/fnando/screenkit/tree/v0.0.0/README.md
408
- license_uri: https://github.com/fnando/screenkit/tree/v0.0.0/LICENSE.md
409
+ source_code_uri: https://github.com/fnando/screenkit/tree/v0.0.1
410
+ changelog_uri: https://github.com/fnando/screenkit/tree/v0.0.1/CHANGELOG.md
411
+ documentation_uri: https://github.com/fnando/screenkit/tree/v0.0.1/README.md
412
+ license_uri: https://github.com/fnando/screenkit/tree/v0.0.1/LICENSE.md
409
413
  rdoc_options: []
410
414
  require_paths:
411
415
  - lib