Skip to content

Commit d7fbbac

Browse files
committed
Add videos to the website home page and features page
1 parent 217d112 commit d7fbbac

File tree

6 files changed

+144
-59
lines changed

6 files changed

+144
-59
lines changed

website/content/_index.md

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,23 @@ meta_description = "Open source free software. A vector graphics creativity suit
164164

165165
---
166166

167-
<!-- As a new entrant to the open source digital content creation landscape, Graphite has a unique formula for success: -->
167+
<div class="diptych sizzle-video">
168+
<div class="block text">
168169

169-
Starting life as a vector editor, Graphite is evolving into a generalized, all-in-one graphics toolbox that's built more like a game engine than a conventional creative app. The editor's tools wrap its node graph core, providing user-friendly workflows for vector, raster, and beyond.
170+
Starting life as a vector editor, Graphite is evolving into a generalized, all-in-one graphics toolbox that's built more like a game engine than a conventional creative app. The editor's tools wrap its node graph core, providing user-friendly workflows for vector, raster, animation, and beyond.
171+
172+
<a href="https://editor.graphite.rs" class="button arrow">Start creating</a>
173+
174+
</div>
175+
<div class="block video">
176+
177+
<video loop muted playsinline disablepictureinpicture disableremoteplayback data-auto-play preload="none" poster="https://static.graphite.rs/content/index/sizzle-compilation-poster.avif">
178+
<source src="https://static.graphite.rs/content/index/sizzle-compilation.webm" type="video/webm" />
179+
<source src="https://static.graphite.rs/content/index/sizzle-compilation.mp4" type="video/mp4" />
180+
</video>
181+
182+
</div>
183+
</div>
170184

171185
</div>
172186
<div class="block workflows">
@@ -276,7 +290,23 @@ Once it's ready to shine, Graphite's code architecture is structured to deliver
276290
</div>
277291
</section>
278292
<!-- ▙ OVERVIEW ▟ -->
279-
<!-- -->
293+
<!-- -->
294+
<!-- ▛ DONATE ▜ -->
295+
<section id="donate" class="block">
296+
297+
<div class="block">
298+
299+
<h2 class="heart">Support the mission</h2>
300+
301+
Free software doesn't grow on trees! Chip in your share of the (very real) development costs so you're not leaving others to pick up the tab. Becoming a member (or giving a one-time donation) lets you help maintain Graphite's sustainability and independence.
302+
303+
<a href="/donate" class="button arrow">Become a member</a>
304+
305+
</div>
306+
307+
</section>
308+
<!-- ▙ DONATE ▟ -->
309+
<!-- -->
280310
<!-- ▛ PROCEDURALISM ▜ -->
281311
<section id="proceduralism" class="feature-box-outer">
282312
<div class="feature-box-inner">
@@ -363,23 +393,7 @@ Graphite's representation of artwork as a node graph lets you customize, compose
363393
</div>
364394
</section>
365395
<!-- ▙ PROCEDURALISM ▟ -->
366-
<!-- -->
367-
<!-- ▛ DONATE ▜ -->
368-
<section id="donate" class="block">
369-
370-
<div class="block">
371-
372-
## Support the mission
373-
374-
Free software doesn't grow on trees! Chip in your share of the (very real) development costs so you're not leaving others to pick up the tab. Becoming a member (or giving a one-time donation) lets you help maintain Graphite's sustainability and independence.
375-
376-
<a href="/donate" class="button arrow">Become a member</a>
377-
378-
</div>
379-
380-
</section>
381-
<!-- ▙ DONATE ▟ -->
382-
<!-- -->
396+
<!-- -->
383397
<!-- ▛ NEWSLETTER ▜ -->
384398
<section id="newsletter" class="feature-box-narrow">
385399
<div id="newsletter-success"><!-- Used only as a URL hash fragment anchor --></div>

website/content/features.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
title = "Graphite features"
33

44
[extra]
5-
css = ["/page/features.css", "/component/feature-box.css", "/component/feature-icons.css"]
5+
css = ["/page/features.css", "/component/feature-box.css", "/component/feature-icons.css", "/component/youtube-embed.css"]
6+
js = ["/js/youtube-embed.js"]
67
+++
78

89
<section>
@@ -17,6 +18,20 @@ In 2025, stay tuned for performance improvements, native multiplatform desktop a
1718
</div>
1819
</section>
1920

21+
<section>
22+
<div class="block">
23+
24+
<div class="block video-container">
25+
<div>
26+
<div class="youtube-embed aspect-16x9">
27+
<img data-youtube-embed="ZUbcwUC5lxA" loading="lazy" src="https://static.graphite.rs/content/features/podcast-interview-youtube.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Rust-Powered Graphics Editor: How Graphite's Syntax Trees Revolutionize Image Editing" />
28+
</div>
29+
</div>
30+
</div>
31+
32+
</div>
33+
</section>
34+
2035
<section>
2136

2237
<div class="diptych">

website/content/volunteer/guide/starting-a-task/code-quality-guidelines.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ Comments should usually be placed on a separate line above the code they are ref
3535

3636
## Blank lines
3737

38-
Please make a habit of grouping together related lines of code in blocks separated by blank lines. If you have dozens of lines comprising a single unbroken block of logic, you are likely not splitting it apart enough to aid readability. Find sensible places to partition the logic and insert blank lines between each. Roughly 10% of the code you write should ideally be blank lines, otherwise you are likely underutilizing them at the expense of readability.
38+
Please make a habit of grouping together related lines of code in blocks separated by blank lines. These are like your paragraphs if you were writing a novel — they greatly aid readability and your copy editor would have significant concerns with your writing if they were absent.
39+
40+
If you have dozens of lines comprising a single unbroken block of logic, you are likely not splitting it apart enough to aid readability. Find sensible places to partition the logic and insert blank lines between each. Roughly 10% of the code you write should ideally be blank lines, otherwise you are likely underutilizing them at the expense of readability.
3941

4042
## Imports
4143

website/sass/base.scss

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -151,19 +151,6 @@ body > .page {
151151
.heart.heart {
152152
// The same color is also used below in the SVG after the `%23` (URL-encoded `#`)
153153
color: #cc304f;
154-
155-
&::after {
156-
content: "";
157-
background-image: url('data:image/svg+xml;utf8,\
158-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8,15C5.12471,9.753694 0.5,8.795225 0.5,4.736524 C0.5,-0.507473 7.468734,0 8,4.967381 C8.531266,0 15.5,-0.507473 15.5,4.736524 C15.5,8.795225 10.87529,9.753694 8,15z" fill="%23cc304f" /></svg>\
159-
');
160-
display: inline-block;
161-
width: 0.75em;
162-
height: 0.75em;
163-
margin-left: 0.25em;
164-
margin-bottom: -0.1em;
165-
vertical-align: baseline;
166-
}
167154
}
168155

169156
@media screen and (max-width: 1200px) {
@@ -683,6 +670,19 @@ hr,
683670
}
684671
}
685672

673+
.heart::after {
674+
content: "";
675+
background-image: url('data:image/svg+xml;utf8,\
676+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8,15C5.12471,9.753694 0.5,8.795225 0.5,4.736524 C0.5,-0.507473 7.468734,0 8,4.967381 C8.531266,0 15.5,-0.507473 15.5,4.736524 C15.5,8.795225 10.87529,9.753694 8,15z" fill="%23cc304f" /></svg>\
677+
');
678+
display: inline-block;
679+
width: 0.75em;
680+
height: 0.75em;
681+
margin-left: 0.25em;
682+
margin-bottom: -0.1em;
683+
vertical-align: baseline;
684+
}
685+
686686
// blockquote {
687687
// padding: 32px 80px;
688688
// background: rgba(0, 0, 0, 0.0625);

website/sass/page/features.scss

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
.video-container {
2+
background: var(--color-fog);
3+
4+
> div {
5+
margin: calc(20 * var(--variable-px)) auto;
6+
width: 100%;
7+
max-width: 800px;
8+
}
9+
}
10+
111
#roadmap {
212
width: 100%;
313
text-align: center;

website/sass/page/index.scss

Lines changed: 68 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,25 @@
1818
#tagline {
1919
h1 {
2020
span {
21-
position: relative;
22-
23-
&::after {
24-
content: "";
25-
pointer-events: none;
26-
position: absolute;
27-
left: 0;
28-
right: 0;
29-
top: 100%;
30-
// Dimensions: 480x40
31-
height: 100%;
32-
margin-top: -0.2em;
33-
background: url("https://static.graphite.rs/textures/text-sketch-underline.png");
34-
background-repeat: no-repeat;
35-
background-size: contain;
21+
position: relative;
22+
23+
&::after {
24+
content: "";
25+
pointer-events: none;
26+
position: absolute;
27+
left: 0;
28+
right: 0;
29+
top: 100%;
30+
// Dimensions: 480x40
31+
height: 100%;
32+
margin-top: -0.2em;
33+
background: url("https://static.graphite.rs/textures/text-sketch-underline.png");
34+
background-repeat: no-repeat;
35+
background-size: contain;
36+
}
3637
}
37-
}}
38-
38+
}
39+
3940
p {
4041
font-size: 1.2rem;
4142

@@ -112,15 +113,61 @@
112113
// ▛ OVERVIEW ▜
113114
#overview {
114115
background-color: var(--color-cloud);
116+
117+
.sizzle-video {
118+
display: flex;
119+
flex-wrap: nowrap;
120+
max-width: 100%;
121+
122+
.block {
123+
min-width: 0;
124+
flex-direction: row;
125+
126+
&.text {
127+
flex: 1 4 100%;
128+
flex-direction: column;
129+
130+
p:has(.button) {
131+
margin-top: 20px;
132+
}
133+
}
134+
135+
&.video {
136+
flex: 0 1 fit-content;
137+
}
138+
}
139+
140+
@media screen and (max-width: 900px) {
141+
flex-wrap: wrap;
142+
143+
.block.video {
144+
flex: 1 1 100%;
145+
justify-content: center;
146+
}
147+
}
148+
149+
@media screen and (max-width: 1100px) {
150+
p:has(.button) {
151+
display: none;
152+
}
153+
}
154+
}
115155
}
116156
// ▙ OVERVIEW ▟
117157

158+
// ▛ DONATE ▜
159+
#donate {
160+
h2 {
161+
color: #cc304f;
162+
}
163+
}
164+
// ▙ DONATE ▟
165+
118166
// ▛ PROCEDURALISM ▜
119167
#proceduralism {
120168
background-color: var(--color-slate);
121169
color: white;
122-
margin-top: 0;
123-
170+
124171
.diptych {
125172
background: black;
126173
color: var(--color-fog);
@@ -183,9 +230,6 @@
183230
}
184231
// ▙ PROCEDURALISM ▟
185232

186-
// ▛ DONATE ▜
187-
// ▙ DONATE ▟
188-
189233
// ▛ NEWSLETTER ▜
190234
#newsletter {
191235
background-color: var(--color-peach);
@@ -355,7 +399,7 @@
355399
margin: calc(20 * var(--variable-px)) auto;
356400
width: 100%;
357401
max-width: 800px;
358-
402+
359403
+ p {
360404
margin-top: 0;
361405
}
@@ -377,7 +421,7 @@
377421
// ▛ RECENT NEWS ▜
378422
#recent-news {
379423
background-color: var(--color-parchment);
380-
424+
381425
.banner img {
382426
width: 100%;
383427
height: auto;

0 commit comments

Comments
 (0)