jekyll-page-asset 0.1.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.
@@ -0,0 +1,309 @@
1
+ @use "variables" as *;
2
+
3
+ .page-asset-container {
4
+ width: 100%;
5
+ margin: $spacing-xl 0;
6
+ position: relative;
7
+ }
8
+
9
+ // ── fountain ──────────────────────────────────────────────────────
10
+
11
+ .script-container {
12
+ max-width: 800px;
13
+ margin: 2rem auto;
14
+ height: 600px;
15
+ overflow-y: scroll;
16
+ border: double #000 2px;
17
+ border-radius: 8px;
18
+ background-color: #fff;
19
+ color: #000;
20
+ padding: 2rem;
21
+ }
22
+
23
+ .screenplay {
24
+ font-family: "Courier New", Courier, monospace;
25
+ font-size: 12pt;
26
+ line-height: 1;
27
+ -webkit-text-size-adjust: none;
28
+
29
+
30
+ h1,
31
+ h2,
32
+ h3,
33
+ h4,
34
+ h5,
35
+ h6 {
36
+ font-weight: bold;
37
+ font-size: inherit;
38
+ color: #000;
39
+ }
40
+
41
+ a {
42
+ color: inherit;
43
+ text-decoration: underline;
44
+ }
45
+
46
+ p {
47
+ color: #000;
48
+ text-decoration: none;
49
+ }
50
+
51
+ .underline {
52
+ text-decoration: underline;
53
+ }
54
+
55
+ .title-page {
56
+ margin: 0 auto 1em;
57
+ }
58
+
59
+ .title-page .title {
60
+ text-align: center;
61
+ }
62
+
63
+ .title-page .title h1 {
64
+ text-transform: uppercase;
65
+ text-decoration: underline;
66
+ }
67
+
68
+ .section-heading {
69
+ text-align: center;
70
+ }
71
+
72
+ .section-heading:hover {
73
+ background-color: lightyellow;
74
+ }
75
+
76
+ .scene {
77
+ margin-top: 2em;
78
+ }
79
+
80
+ .scene-heading {
81
+ margin-bottom: 0;
82
+ }
83
+
84
+ .scene-heading:hover {
85
+ background-color: lightyellow;
86
+ }
87
+
88
+ .action {
89
+ margin: 1em 0;
90
+ }
91
+
92
+ .dialog {
93
+ width: 75%;
94
+ max-width: 4in;
95
+ margin-top: 1em;
96
+ margin-bottom: 1em;
97
+ margin-left: 17%;
98
+ }
99
+
100
+ .dialog .character {
101
+ margin-top: 0;
102
+ margin-bottom: 0;
103
+ margin-left: 25%;
104
+ }
105
+
106
+ .dialog .lines {
107
+ max-width: 3.5in;
108
+ margin-top: 0;
109
+ margin-bottom: 0;
110
+ }
111
+
112
+ .dialog .paren {
113
+ max-width: 2in;
114
+ margin-top: 0;
115
+ margin-bottom: 0;
116
+ margin-left: 15%;
117
+ text-indent: -0.6em;
118
+ page-break-inside: avoid;
119
+ page-break-after: avoid;
120
+ }
121
+
122
+ .dual-dialog {
123
+ width: 100%;
124
+ margin: 1em 0;
125
+ }
126
+
127
+ .dual-dialog .dialog {
128
+ max-width: 50%;
129
+ margin-top: 0;
130
+ margin-left: 0;
131
+ margin-right: 0;
132
+ float: left;
133
+ clear: none;
134
+ }
135
+
136
+ .dual-dialog .dialog .lines {
137
+ width: 95%;
138
+ }
139
+
140
+ .trans {
141
+ max-width: 2in;
142
+ margin-left: 63%;
143
+ clear: both;
144
+ page-break-before: avoid;
145
+ }
146
+
147
+ .note {
148
+ display: block;
149
+ font-size: 11pt;
150
+ font-family: "Comic Sans MS", "Marker Felt", "sans-serif";
151
+ line-height: 1.5;
152
+ background-color: lightgoldenrodyellow;
153
+ padding: 1em;
154
+ }
155
+
156
+ .synopsis {
157
+ margin-top: 0;
158
+ color: grey;
159
+ font-style: italic;
160
+ }
161
+
162
+ .center {
163
+ text-align: center;
164
+ white-space: pre-wrap;
165
+ }
166
+ }
167
+
168
+ // ── Gallery ───────────────────────────────────────────────────────
169
+
170
+ #page-asset-gallery-lightbox {
171
+ width: 100%;
172
+ height: 100%;
173
+ position: absolute;
174
+ }
175
+
176
+ #page-asset-gallery-controls {
177
+ width: 100%;
178
+ height: 100%;
179
+ position: relative;
180
+ display: flex;
181
+ align-items: center;
182
+ }
183
+
184
+ .gallery-controls {
185
+ display: flex;
186
+ align-items: center;
187
+ justify-content: center;
188
+ gap: $spacing-sm;
189
+ width: 100%;
190
+ }
191
+
192
+ .gallery-controls[hidden] {
193
+ display: none;
194
+ }
195
+
196
+ .gallery-control-button {
197
+ &:hover {
198
+ color: $accent-teal;
199
+ }
200
+ }
201
+
202
+ .project-gallery-grid {
203
+ column-count: 3;
204
+ column-gap: $spacing-md;
205
+ }
206
+
207
+ @media (max-width: 1280px) {
208
+ .project-gallery-grid {
209
+ column-count: 2;
210
+ }
211
+ }
212
+
213
+ @media (max-width: 1000px) {
214
+ .project-gallery-grid {
215
+ column-count: 1;
216
+ }
217
+ }
218
+
219
+ .gallery-thumb {
220
+ width: 100%;
221
+ display: block;
222
+ break-inside: avoid;
223
+ margin: 0 0 $spacing-md;
224
+ padding: 0;
225
+ border: 1px solid $border-color;
226
+ border-radius: $radius-md;
227
+ overflow: hidden;
228
+ cursor: pointer;
229
+ background: transparent;
230
+ box-shadow: $shadow-card;
231
+ transition: transform $transition-fast, border-color $transition-fast;
232
+
233
+ &:hover {
234
+ border-color: $accent-teal;
235
+ transform: translateY(-2px);
236
+ }
237
+
238
+ picture,
239
+ img {
240
+ width: 100%;
241
+ display: block;
242
+ height: auto;
243
+ }
244
+ }
245
+
246
+ .project-gallery-empty {
247
+ color: $text-muted;
248
+ font-style: italic;
249
+ }
250
+
251
+ .gallery-lightbox {
252
+ position: fixed;
253
+ inset: 0;
254
+ z-index: 220;
255
+ background: $bg-deep;
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: center;
259
+ gap: $spacing-md;
260
+ padding: $spacing-md;
261
+ width: 100%;
262
+ min-height: 100%;
263
+ box-sizing: border-box;
264
+ }
265
+
266
+ .gallery-lightbox[hidden] {
267
+ display: none;
268
+ }
269
+
270
+ .gallery-lightbox-inner {
271
+ max-width: 100%;
272
+ max-height: 100%;
273
+ display: flex;
274
+ flex-direction: column;
275
+ align-items: center;
276
+ }
277
+
278
+ .gallery-lightbox-image {
279
+ width: auto;
280
+ max-width: 100%;
281
+ max-height: calc(100vh - #{$spacing-2xl});
282
+ border-radius: $radius-md;
283
+ border: 1px solid rgba(255, 255, 255, 0.2);
284
+ box-shadow: 0 20px 48px rgba(0, 0, 0, 0.4);
285
+ }
286
+
287
+ .gallery-lightbox-button {
288
+ position: absolute;
289
+ top: $spacing-md;
290
+ z-index: 1;
291
+ }
292
+
293
+ body.gallery-lightbox-open {
294
+ overflow: hidden;
295
+ }
296
+
297
+ @media (max-width: 800px) {
298
+ .gallery-lightbox {
299
+ padding: $spacing-sm;
300
+ }
301
+
302
+ .gallery-lightbox-image {
303
+ max-height: calc(100vh - #{$spacing-xl});
304
+ }
305
+
306
+ .gallery-lightbox-button {
307
+ top: $spacing-sm;
308
+ }
309
+ }
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module JekyllPageAsset
4
+ VERSION = "0.1.0"
5
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "jekyll-page-asset/version"
4
+ begin
5
+ require "jekyll_picture_tag"
6
+ rescue LoadError => e
7
+ warn "[jekyll-page-asset] Missing dependency: jekyll_picture_tag (#{e.message})"
8
+ end
9
+ require_relative "../_plugins/page_asset"
10
+
11
+ module JekyllPageAsset
12
+ end
metadata ADDED
@@ -0,0 +1,98 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-page-asset
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Alastair King
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: jekyll
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '4.0'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '5.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '4.0'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '5.0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: jekyll_picture_tag
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '2.0'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.0'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '2.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '3.0'
52
+ description: Provides the page_asset Liquid tag and renderers for image, gallery,
53
+ video, fountain, and scroll-scrub assets.
54
+ email:
55
+ - ali@kinginterweb.com
56
+ executables: []
57
+ extensions: []
58
+ extra_rdoc_files: []
59
+ files:
60
+ - LICENSE
61
+ - README.md
62
+ - _includes/page_asset/fountain.html
63
+ - _includes/page_asset/gallery.html
64
+ - _includes/page_asset/scroll_scrub_video.html
65
+ - _lib/page_asset/fountain_renderer.rb
66
+ - _lib/page_asset/gallery_renderer.rb
67
+ - _lib/page_asset/image_renderer.rb
68
+ - _lib/page_asset/renderer.rb
69
+ - _lib/page_asset/scroll_scrub_video_renderer.rb
70
+ - _lib/page_asset/video_renderer.rb
71
+ - _plugins/page_asset.rb
72
+ - _sass/_page-asset.scss
73
+ - lib/jekyll-page-asset.rb
74
+ - lib/jekyll-page-asset/version.rb
75
+ homepage: https://example.com
76
+ licenses:
77
+ - GPL-3.0
78
+ metadata:
79
+ homepage_uri: https://example.com
80
+ source_code_uri: https://example.com
81
+ rdoc_options: []
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '2.7'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ requirements: []
95
+ rubygems_version: 3.6.9
96
+ specification_version: 4
97
+ summary: Liquid tag plugin for project page assets in Jekyll
98
+ test_files: []