Skip to content

Commit 6c2db9f

Browse files
author
Hugues Tennier
authored
Merge branch 'main' into patch-1
2 parents cc48346 + 839856e commit 6c2db9f

Some content is hidden

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

52 files changed

+649
-296
lines changed

.eleventy.js

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
const lodashGet = require("lodash/get");
2+
const yaml = require("js-yaml");
23

34
module.exports = function(eleventyConfig) {
4-
55
// Support yaml data files
6-
const yaml = require("js-yaml");
76
eleventyConfig.addDataExtension("yaml", contents => yaml.safeLoad(contents))
87

98
// pass images directly through to the output
@@ -69,9 +68,37 @@ module.exports = function(eleventyConfig) {
6968

7069
// filter a data array based on the value of a property
7170
eleventyConfig.addFilter('select', (array, clause) => {
72-
const property = clause.split("=")[0];
73-
const value = clause.split("=")[1];
74-
return array.filter(item => item[property].includes(value));
71+
if(clause.indexOf("=") > -1) {
72+
const property = clause.split("=")[0];
73+
const value = clause.split("=")[1];
74+
return array.filter(item => lodashGet(item, property).includes(value));
75+
} else {
76+
return array.map(item => lodashGet(item, clause));
77+
}
78+
});
79+
80+
eleventyConfig.addFilter('flatten', (array) => {
81+
let results = [];
82+
for(let result of array) {
83+
if(result) {
84+
if(Array.isArray(result)) {
85+
results = [...results, ...result];
86+
} else {
87+
results.push(result);
88+
}
89+
}
90+
}
91+
return results;
92+
});
93+
94+
eleventyConfig.addFilter('unique', (array) => {
95+
let caseInsensitive = {};
96+
for(let val of array) {
97+
if(typeof val === "string") {
98+
caseInsensitive[val.toLowerCase()] = val;
99+
}
100+
}
101+
return Object.values(caseInsensitive);
75102
});
76103

77104
// Get a random selection of items from an array

.github/ISSUE_TEMPLATE/meetup.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: Start a meetup
3+
about: Talk to us about starting an official Jamstack meetup
4+
title: 'Starting a meetup group in [this beautiful city]'
5+
labels: 'community: new'
6+
assignees: 'philhawksworth'
7+
---
8+
9+
You're interested in starting a Jamstack community in your area?
10+
AMAZING! We're keen to help. 🥳
11+
12+
## Please tell us:
13+
14+
1. **The city or region for you new Jamstack Community**: Jamsville, Australia
15+
1. **When you plan to hold your first event**: January 1st
16+
1. **How regulalry you plan to meet**: Every other month
17+
1. **How else we might be able to help**: Connect us with potential speakers
18+
19+
---
20+
21+
# ✨ But before you do, there are a few things to know✨
22+
23+
Please take a look at this information before submitting your issue.
24+
25+
## Before starting a new community group
26+
27+
1. **[Check if there is already an official community](https://jamstack.org/community) in or near your city** - If so, it would be worth joining and supporting that group before deciding to add another. And the organizers of Jamstack groups are likely to welcome some support.
28+
1. **Organizing an official group takes some commitment** - We're so excited that you've come this far, and we want you to succeed. We ask orgaizers to aim to hold meetings (physical or virtual) at least 3 times a year.
29+
30+
31+
## What you need
32+
33+
1. **An online event space** - Most groups use Meetup.com or Facebook to coordinate their events, but you can use a different tool of your preference. What we encourage is that organizers publish events publicly on a neutral platform.
34+
1. **A published and actionable code of conduct** - To help the community stay inclusive, safe, and welcoming.
35+
36+
37+
## Where we can help
38+
39+
### Resource kit
40+
41+
We'll provide a resource kit with logos and branded assets for you to use. We'd like you to make use of the official Jamstack logo where approporiate, but don't let us stiffle your creativity. Some meetups have also added their own fun aesthetic and that's great too.
42+
43+
### Links and listings
44+
45+
We'll add a link to your events page to the [community section](https://jamstack.org/community) of the official Jamstack site. And if you provide a feed of your upcoming and previous events, we'll also add your events to the listings.
46+
47+
### Community and support
48+
49+
Each Jamstack community group gets their own channel in the [Jamslack](https://jamstack.org/jamslack) to help coordindate your event and communicate with your local community.
50+
51+
You can also speak to other group organizers and reach us for support via in the Jamslack as members of the private organizers admin channel.
52+
53+
### Code of Conduct
54+
55+
We have [a boilerplate code of conduct]() which you can use as a starting point. Please note that you will need to customise this for you and your group. It is vital that the information about how people can contact you and how action may be taken is correct for your group rather than being generic.
56+
57+
### Content and speakers
58+
59+
Recruiting speakers and putting together compelling content can be one of the biggest challenges for User Group leaders. We encourage you to reach out to your fellow user group leaders via [Slack](https://jamstack.org/slack) for ideas, and even consider partnering with them for virtual events or workshops.
60+
61+
## Jamstack Conf
62+
63+
[Jamstack Conf](https://jamstackconf.com) is an annual event for the global Jamstack community and provides a great opportunity for local community groups to participate, apply for awards, and share their knowledge. Active Jamstack user group leaders receive special incentives and activities during this event, and we're keen to get them more involved in helping shape the event. You can [watch videos](https://www.youtube.com/playlist?list=PL58Wk5g77lF94tg-F3y5zRyDeLVhTDnTg) from recent events to help spur content ideas and identify potential speakers for your meetup

netlify.toml

Lines changed: 1 addition & 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-kp3asm76-~0QDRYOeBjnd1Hk9tMTAtA"
2121
status = 302
2222

2323
[[redirects]]
@@ -44,23 +44,3 @@
4444

4545
[[plugins]]
4646
package = "./plugins/keep-dot-cache-folder"
47-
48-
# Config for the Netlify Build Plugin: netlify-plugin-minify-html
49-
[[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

package.json

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
"type": "git",
99
"url": "https://github.com/jamstack/jamstack.org"
1010
},
11+
"engines": {
12+
"node": ">=12"
13+
},
1114
"scripts": {
1215
"build": "npm-run-all build:html build:css",
1316
"build:html": "eleventy",
@@ -19,24 +22,25 @@
1922
"clean": "rm -rf dist"
2023
},
2124
"dependencies": {
22-
"@11ty/eleventy": "^0.11.0",
25+
"@11ty/eleventy": "^0.11.1",
2326
"@11ty/eleventy-cache-assets": "^2.0.3",
24-
"@fullhuman/postcss-purgecss": "^1.3.0",
25-
"autoprefixer": "^9.7.6",
27+
"autoprefixer": "^10.0.4",
2628
"cssnano": "^4.1.10",
2729
"dotenv": "^8.2.0",
2830
"fast-glob": "^3.2.4",
2931
"gray-matter": "^4.0.2",
30-
"js-yaml": "^3.13.1",
32+
"js-yaml": "^3.14.0",
3133
"lodash": "^4.17.20",
32-
"luxon": "^1.23.0",
33-
"markdown-it": "^11.0.1",
34-
"netlify-plugin-minify-html": "^0.2.2",
34+
"luxon": "^1.25.0",
35+
"markdown-it": "^12.0.2",
36+
"netlify-plugin-minify-html": "^0.3.0",
3537
"node-fetch": "^2.6.1",
3638
"npm-run-all": "^4.1.5",
37-
"postcss-cli": "^6.1.3",
38-
"postcss-import": "^12.0.1",
39-
"tailwindcss": "^1.8.10"
39+
"postcss": "^8.1.10",
40+
"postcss-cli": "^8.3.0",
41+
"postcss-import": "^13.0.0",
42+
"spdx-correct": "^3.1.1",
43+
"tailwindcss": "^2.0.1"
4044
},
4145
"devDependencies": {
4246
"live-server": "^1.2.1"

postcss.config.js

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,7 @@
1-
// const purgecss = require('@fullhuman/postcss-purgecss')({
2-
3-
// // Specify the paths to all of the template files in the project
4-
// content: [
5-
// './src/site/**/*.njk',
6-
// './src/site/**/*.md'
7-
// ],
8-
9-
// // Include any special characters
10-
// defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || []
11-
// })
12-
13-
14-
151
module.exports = {
162
plugins: [
3+
require("postcss-import"),
174
require('tailwindcss'),
185
require('autoprefixer'),
19-
require("postcss-import"),
20-
// ...process.env.NODE_ENV === 'production' ? [purgecss, require('cssnano')] : []
216
]
227
};

src/11ty/normalizeLicense.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const correct = require("spdx-correct");
2+
3+
module.exports = function(license, title) {
4+
let correctedLicenseName = correct(license);
5+
if(correctedLicenseName) {
6+
return correctedLicenseName;
7+
}
8+
console.log( `WARN License name (${license}) for ${title} not found on the approved SPDX License List: https://spdx.org/licenses/` );
9+
return license;
10+
};

src/css/tailwind.css

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ dd a:focus {
5454
p+p {
5555
@apply mt-4;
5656
}
57-
section.cards {
58-
max-width: 66rem;
59-
}
57+
6058

6159
/*
6260
CTA links
@@ -88,7 +86,7 @@ a.cta:focus {
8886
footer p a {
8987
@apply border-b;
9088
@apply border-blue-100;
91-
@apply whitespace-no-wrap;
89+
@apply whitespace-nowrap;
9290
}
9391
footer p a:hover,
9492
footer p a:focus {
@@ -134,16 +132,16 @@ footer p a:focus {
134132
}
135133

136134
.bg-gradient-card-sunrise {
137-
--gradient-color-stops: #F0047F 0%, #FC814A 100%;
135+
--tw-gradient-stops: #F0047F 0%, #FC814A 100%;
138136
}
139137
.bg-gradient-card-blue {
140-
--gradient-color-stops: #04A2DD 0%, #4FF3EA 100%;
138+
--tw-gradient-stops: #04A2DD 0%, #4FF3EA 100%;
141139
}
142140
.bg-gradient-card-seafoam {
143-
--gradient-color-stops: #88F9ED 0%, #00FFB2 100%;
141+
--tw-gradient-stops: #88F9ED 0%, #00FFB2 100%;
144142
}
145143
.bg-gradient-card-gold {
146-
--gradient-color-stops: #FFC803 0%, #FC814A 100%;
144+
--tw-gradient-stops: #FFC803 0%, #FC814A 100%;
147145
}
148146
.bg-gradient-card-blue-seafoam.bg-gradient-card-blue-seafoam {
149147
background: linear-gradient(101.87deg, #0090CA 0%, #00BFAD 105.55%), linear-gradient(180deg, #009DDC 0%, #58FCEC 100%);
@@ -314,6 +312,15 @@ details[open] .summary-swap-open {
314312
.tool-content img {
315313
@apply my-8;
316314
}
315+
316+
/* Filters */
317+
.filter-opensource--hide,
318+
.filter-typeofcms--hide,
319+
.filter-language--hide,
320+
.filter-template--hide,
321+
.filter-license--hide {
322+
display: none !important;
323+
}
317324
/* purgecss end ignore */
318325

319326
@tailwind utilities;

0 commit comments

Comments
 (0)