Skip to content

Commit 34abd4d

Browse files
Merge branch 'jamstack:main' into main
2 parents 8aa8faa + f464863 commit 34abd4d

File tree

164 files changed

+2387
-566
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

164 files changed

+2387
-566
lines changed

.eleventy.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ module.exports = function(eleventyConfig) {
88
// pass images directly through to the output
99
eleventyConfig.addPassthroughCopy("src/site/img");
1010
eleventyConfig.addPassthroughCopy({
11-
"src/js": "js"
11+
"src/js": "js",
12+
"node_modules/@zachleat/filter-container/*.js": "js",
1213
});
1314

1415
// Date helper
@@ -161,6 +162,25 @@ module.exports = function(eleventyConfig) {
161162
});
162163

163164

165+
// Format a path to avoid any Cloudinary URL API miss-steps.
166+
eleventyConfig.addFilter("cloudinaryifyPath", (str) => {
167+
168+
if(str) {
169+
170+
// add generic url encoding
171+
str = encodeURI(str);
172+
173+
// we also need to double escape some characters which might appear in text
174+
// but are meaningful in cloudinary URLs
175+
str = str.replace(/,/g, '%252C');
176+
str = str.replace(/\//g, '%252F');
177+
178+
}
179+
return str;
180+
});
181+
182+
183+
164184
// favicons files
165185
eleventyConfig.addPassthroughCopy("src/site/browserconfig.xml");
166186
eleventyConfig.addPassthroughCopy("src/site/site.webmanifest");

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ dist
1818
.cache
1919

2020
# Environment variables
21-
.env
21+
.env

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ _example site yaml reference:_
2525
title: Your site title
2626
description: A short description of the site.
2727
link: The URL of this site
28-
thumbnailurl: /img/cms/examples/this-site-thumbnail.jpg
28+
thumbnailurl: /img/examples/this-site-thumbnail.jpg
2929
tools:
3030
- List
3131
- of

algolia.config.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
require('dotenv').config();
2+
3+
module.exports = {
4+
appId: 'VGOL4P01VV',
5+
indexName: 'jamstack',
6+
// It’s okay to have this in the repo, it’s used in the clientside JS
7+
searchOnlyApiKey: "a457b566acbf454a61eaaae2e4fee0bf",
8+
};

netlify.toml

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
[[redirects]]
1919
from = "/slack"
20-
to = "https://join.slack.com/t/jamstack/shared_invite/zt-fpqaceec-SZuiLEa7YdLUXHAXrWPWgQ"
20+
to = "https://join.slack.com/t/jamstack/shared_invite/zt-qkent5tv-0D0Nu3M1rJEHhVHE4zUMBw"
2121
status = 302
2222

2323
[[redirects]]
@@ -35,32 +35,35 @@
3535
to = "/why-jamstack"
3636
status = 301
3737

38+
[[redirects]]
39+
from = "/img/og/glossary/:term/:summary"
40+
to = "https://res.cloudinary.com/netlify/image/fetch/c_fit,l_text:Roboto_65_bold::term,co_rgb:FFFFFF,g_north_west,y_75,x_100,w_1000/c_fit,l_text:Roboto_38_light::summary,co_rgb:FFFFFF,g_north_west,y_200,x_160,w_885/https://jamstack.org/img/og/glossary-card-bg.png"
41+
status = 200
42+
43+
[[redirects]]
44+
from = "/conf/"
45+
to = "https://jamstackconf.com/"
46+
status = 302
47+
48+
[[redirects]]
49+
from = "/conf/cfp"
50+
to = "https://docs.google.com/forms/d/e/1FAIpQLSeR5W4m9owqDBJEq2EuRUNXFTOeLCxFPUn0qbuCE15o4SWDFg/viewform"
51+
status = 302
3852

3953
[[redirects]]
4054
from = "/glossary/*"
4155
to = "/glossary/contribute/index.html"
4256
status = 404
4357

58+
[[redirects]]
59+
from = "/survey"
60+
to = "https://www.surveymonkey.com/r/jamstack-survey"
61+
status = 302
4462

45-
[[plugins]]
46-
package = "./plugins/keep-dot-cache-folder"
63+
[[redirects]]
64+
from = "/headless-cms/keystone-5/"
65+
to = "/headless-cms/keystone/"
66+
status = 301
4767

48-
# Config for the Netlify Build Plugin: netlify-plugin-minify-html
4968
[[plugins]]
50-
package = "netlify-plugin-minify-html"
51-
52-
# Specify which deploy contexts we'll minify HTML in.
53-
# Supports any Deploy Contexts available in Netlify.
54-
# https://docs.netlify.com/site-deploys/overview/#deploy-contexts
55-
[plugins.inputs]
56-
contexts = [
57-
'production',
58-
'branch-deploy',
59-
'deploy-preview'
60-
]
61-
62-
# Optionally, override the default options for the minification
63-
# https://github.com/kangax/html-minifier#options-quick-reference
64-
[plugins.inputs.minifierOptions]
65-
removeComments = true
66-
collapseInlineTagWhitespace = false
69+
package = "./plugins/keep-dot-cache-folder"

package.json

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,27 @@
2323
},
2424
"dependencies": {
2525
"@11ty/eleventy": "^0.11.1",
26-
"@11ty/eleventy-cache-assets": "^2.0.3",
27-
"autoprefixer": "^10.0.4",
26+
"@11ty/eleventy-cache-assets": "^2.1.0",
27+
"@zachleat/filter-container": "^1.0.3",
28+
"autoprefixer": "^10.2.5",
2829
"cssnano": "^4.1.10",
2930
"dotenv": "^8.2.0",
30-
"fast-glob": "^3.2.4",
31+
"fast-glob": "^3.2.5",
3132
"gray-matter": "^4.0.2",
33+
"i18n-iso-countries": "^6.5.0",
3234
"js-yaml": "^3.14.0",
33-
"lodash": "^4.17.20",
34-
"luxon": "^1.25.0",
35-
"markdown-it": "^12.0.2",
36-
"netlify-plugin-minify-html": "^0.3.0",
35+
"lodash": "^4.17.21",
36+
"luxon": "^1.26.0",
37+
"markdown-it": "^12.0.4",
38+
"netlify-plugin-minify-html": "^0.3.1",
3739
"node-fetch": "^2.6.1",
3840
"npm-run-all": "^4.1.5",
39-
"postcss": "^8.1.10",
40-
"postcss-cli": "^8.3.0",
41+
"placename": "^1.1.2",
42+
"postcss": "^8.2.8",
43+
"postcss-cli": "^8.3.1",
4144
"postcss-import": "^13.0.0",
4245
"spdx-correct": "^3.1.1",
43-
"tailwindcss": "^2.0.1"
46+
"tailwindcss": "^2.0.3"
4447
},
4548
"devDependencies": {
4649
"live-server": "^1.2.1"

src/css/tailwind.css

Lines changed: 158 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/* import via postcss */
22
@import "../site/css/ticker.css";
3+
@import "../site/css/hubspot-form.css";
34

45
/* purgecss start ignore */
56
@tailwind base;
@@ -17,7 +18,7 @@
1718
}
1819
}
1920
h2 {
20-
@apply text-white text-3xl font-bold leading-none mb-8;
21+
@apply text-white text-3xl font-bold leading-none mb-8;
2122
}
2223
@screen md {
2324
h2 {
@@ -54,9 +55,7 @@ dd a:focus {
5455
p+p {
5556
@apply mt-4;
5657
}
57-
section.cards {
58-
max-width: 66rem;
59-
}
58+
6059

6160
/*
6261
CTA links
@@ -154,21 +153,29 @@ footer p a:focus {
154153
}
155154

156155
@supports (outline: none) {
156+
.group:hover .group-hover\:card-shadow-blue-seafoam,
157+
.group:focus .group-hover\:card-shadow-blue-seafoam,
157158
.hover\:card-shadow-blue-seafoam:hover,
158159
.hover\:card-shadow-blue-seafoam:focus {
159160
outline: none;
160161
box-shadow: 0px 3px 20px rgba(1, 159, 220, 0.6);
161162
}
163+
.group:hover .group-hover\:card-shadow-seafoam,
164+
.group:focus .group-hover\:card-shadow-seafoam,
162165
.hover\:card-shadow-seafoam:hover,
163166
.hover\:card-shadow-seafoam:focus {
164167
outline: none;
165168
box-shadow: 0px 3px 20px rgba(135, 249, 237, 0.7);
166169
}
170+
.group:hover .group-hover\:card-shadow-sunrise,
171+
.group:focus .group-hover\:card-shadow-sunrise,
167172
.hover\:card-shadow-sunrise:hover,
168173
.hover\:card-shadow-sunrise:focus {
169174
outline: none;
170175
box-shadow: 0px 3px 20px rgba(246, 62, 103, 0.6);
171176
}
177+
.group:hover .group-hover\:card-shadow-gold,
178+
.group:focus .group-hover\:card-shadow-gold,
172179
.hover\:card-shadow-gold:hover,
173180
.hover\:card-shadow-gold:focus {
174181
outline: none;
@@ -316,13 +323,159 @@ details[open] .summary-swap-open {
316323
}
317324

318325
/* Filters */
326+
.filter-form {
327+
opacity: .4;
328+
pointer-events: none;
329+
}
330+
.filter-container--js .filter-form {
331+
opacity: 1;
332+
pointer-events: auto;
333+
}
319334
.filter-opensource--hide,
320335
.filter-typeofcms--hide,
321336
.filter-language--hide,
322337
.filter-template--hide,
323-
.filter-license--hide {
338+
.filter-license--hide,
339+
.filter-country--hide {
324340
display: none !important;
325341
}
342+
343+
/* Jamstack TV */
344+
.ais-SearchBox-input {
345+
@apply bg-blue-900;
346+
@apply text-white;
347+
@apply font-bold;
348+
@apply p-3;
349+
@apply pl-14;
350+
@apply mx-auto;
351+
@apply border;
352+
border-color: #5A5F75;
353+
@apply rounded-full;
354+
@apply block;
355+
@apply w-full;
356+
background-image: url(/img/svg/icon-search.svg);
357+
background-repeat: no-repeat;
358+
background-position: 1em 50%;
359+
position: relative;
360+
}
361+
.ais-SearchBox-input:before {
362+
content: "";
363+
position: absolute;
364+
left: 0;
365+
top: 0;
366+
bottom: 0;
367+
width: 3em;
368+
background-color: #2b3350;
369+
}
370+
@supports (box-shadow: none) {
371+
.ais-SearchBox-input:focus {
372+
outline: none;
373+
box-shadow: 0 0 1px 4px #E7017A;
374+
}
375+
}
376+
377+
.jamstacktv-link {
378+
display: flex;
379+
flex-wrap: wrap;
380+
}
381+
.jamstacktv-card {
382+
flex-basis: 18.75em; /* 300px /16 */
383+
}
384+
.jamstacktv-item {
385+
flex-basis: 18.75em; /* 300px /16 */
386+
flex-grow: 3;
387+
}
388+
.jamstacktv-card,
389+
.jamstacktv-img {
390+
border-radius: 1em 0 1em 1em;
391+
}
392+
.jamstacktv-img {
393+
width: 100%;
394+
}
395+
.jamstacktv-duration {
396+
@apply inline-block;
397+
@apply px-1;
398+
@apply bg-black;
399+
@apply text-sm;
400+
@apply font-bold;
401+
position: absolute;
402+
right: .4em;
403+
top: .4em;
404+
}
405+
.jamstacktv-time {
406+
display: inline-block;
407+
margin-right: 0.25em; /* 4px /16 */
408+
}
409+
.jamstacktv-time > b {
410+
display: inline-block;
411+
width: 0;
412+
height: 0;
413+
border-top: 5px solid transparent;
414+
border-bottom: 5px solid transparent;
415+
border-left: 7px solid currentColor;
416+
}
417+
.jamstacktv-time > b + b {
418+
margin-right: 3px;
419+
}
420+
.jamstacktv-item {
421+
@apply p-4;
422+
display: flex;
423+
flex-direction: column;
424+
justify-content: center;
425+
}
426+
.jamstacktv-item mark {
427+
@apply bg-pink-900;
428+
@apply text-white;
429+
}
430+
.jamstacktv-meta {
431+
@apply leading-normal;
432+
}
433+
.jamstacktv-category:after {
434+
content: ": ";
435+
}
436+
.jamstacktv-no-skip .jamstacktv-category:after {
437+
content: "";
438+
}
439+
.jamstacktv-no-skip .jamstacktv-category {
440+
display: block;
441+
}
442+
.jamstacktv-caption {
443+
@apply text-xl;
444+
@apply font-normal;
445+
}
446+
.jamstacktv-caption-quote {
447+
@apply italic;
448+
}
449+
.jamstacktv-caption-quote:before {
450+
content: "“"
451+
}
452+
.jamstacktv-caption-quote:after {
453+
content: "”"
454+
}
455+
.jamstacktv-no-skip .jamstacktv-title {
456+
@apply text-2xl;
457+
@apply font-bold;
458+
}
459+
.jamstacktv-no-skip .jamstacktv-caption {
460+
display: none;
461+
}
462+
.js .jamstacktv-js {
463+
display: none;
464+
}
465+
.jamstacktv-scrubber {
466+
position: absolute;
467+
bottom: 0;
468+
width: 100%;
469+
display: flex;
470+
align-items: flex-end;
471+
height: 1em;
472+
border-radius: 0 0 1em 1em;
473+
overflow: hidden;
474+
}
475+
.jamstacktv-scrubber > div {
476+
height: 4px;
477+
background-color: red;
478+
}
326479
/* purgecss end ignore */
327480

328481
@tailwind utilities;

0 commit comments

Comments
 (0)