diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index f1b0b948..8c045e99 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -6,4 +6,8 @@
# https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners
# Default
-* @mdn/core-yari-content
+* @mdn/content-team
+
+/.github/workflows/ @mdn/engineering
+/.github/CODEOWNERS @mdn/content-team @mdn/engineering
+/SECURITY.md @mdn/engineering
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..f90e9084
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,8 @@
+version: 2
+updates:
+ - package-ecosystem: github-actions
+ directory: /
+ schedule:
+ interval: weekly
+ commit-message:
+ prefix: "ci(deps): "
diff --git a/.github/workflows/idle-issues.yml b/.github/workflows/idle-issues.yml
deleted file mode 100644
index 0daf455a..00000000
--- a/.github/workflows/idle-issues.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-name: "Mark issues and pull requests as idle"
-on:
- schedule:
- - cron: "49 11,23 * * *"
-
-jobs:
- idle:
- uses: mdn/workflows/.github/workflows/idle.yml@main
- with:
- target-repo: "mdn/css-examples"
diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml
index 33c6a521..1b33797c 100644
--- a/.github/workflows/lock-closed.yml
+++ b/.github/workflows/lock-closed.yml
@@ -3,6 +3,10 @@ on:
schedule:
- cron: "0 9 1 * *"
+permissions:
+ issues: write
+ pull-requests: write
+
jobs:
lock:
uses: mdn/workflows/.github/workflows/lock-closed.yml@main
diff --git a/.github/workflows/new-issues.yml b/.github/workflows/new-issues.yml
index 373f82ca..f0e85f0f 100644
--- a/.github/workflows/new-issues.yml
+++ b/.github/workflows/new-issues.yml
@@ -6,12 +6,16 @@ on:
- reopened
- opened
+permissions:
+ issues: write
+ pull-requests: write
+
jobs:
label-new-issues:
runs-on: ubuntu-latest
steps:
- name: initial labelling
- uses: andymckay/labeler@master
+ uses: andymckay/labeler@3a4296e9dcdf9576b0456050db78cfd34853f260 # master
with:
add-labels: "needs triage"
ignore-if-assigned: true
diff --git a/.github/workflows/pr-merge-conflicts.yml b/.github/workflows/pr-merge-conflicts.yml
index f94b9feb..c1c1e3f1 100644
--- a/.github/workflows/pr-merge-conflicts.yml
+++ b/.github/workflows/pr-merge-conflicts.yml
@@ -3,8 +3,14 @@ name: "Label PRs with conflicts"
on:
push:
pull_request_target:
+ branches:
+ - main
types: [synchronize]
+permissions:
+ # Label pull requests.
+ pull-requests: write
+
jobs:
label-merge-conflicts:
uses: mdn/workflows/.github/workflows/pr-rebase-needed.yml@main
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000..5033b966
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,25 @@
+# Security Policy
+
+## Overview
+
+This policy applies to MDN's website (`developer.mozilla.org`), backend services, and GitHub repositories in the [`mdn`](https://github.com/mdn) organization. Issues affecting other Mozilla products or services should be reported through the [Mozilla Security Bug Bounty Program](https://www.mozilla.org/en-US/security/bug-bounty/).
+
+For non-security issues, please file a [content bug](https://github.com/mdn/content/issues/new/choose), a [website bug](https://github.com/mdn/fred/issues/new/choose) or a [content/feature suggestion](https://github.com/mdn/mdn/issues/new/choose).
+
+## Reporting a Vulnerability
+
+If you discover a potential security issue, please report it privately via .
+
+If you prefer not to use HackerOne, you can report it via .
+
+## Bounty Program
+
+Vulnerabilities in MDN may qualify for Mozilla's Bug Bounty Program. Eligibility and reward amounts are described on .
+
+Please use the above channels even if you are not interested in a bounty reward.
+
+## Responsible Disclosure
+
+Please do not publicly disclose details until Mozilla's security team and the MDN engineering team have verified and fixed the issue.
+
+We appreciate your efforts to keep MDN and its users safe.
diff --git a/assets/styles.css b/assets/styles.css
index 11945fee..f46d5bc4 100644
--- a/assets/styles.css
+++ b/assets/styles.css
@@ -1,10 +1,10 @@
/* Some default styling for cookbook examples */
/*
-rgb(53,43,34)
-rgb(75,70,74)
-rgb(95,97,110)
-rgb(137,151,188)
-rgb(160,178,226)
+rgb(53 43 34)
+rgb(75 70 74)
+rgb(95 97 110)
+rgb(137 151 188)
+rgb(160 178 226)
*/
body {
background-color: #fff;
diff --git a/backdrop/styles.css b/backdrop/styles.css
index 11945fee..f46d5bc4 100644
--- a/backdrop/styles.css
+++ b/backdrop/styles.css
@@ -1,10 +1,10 @@
/* Some default styling for cookbook examples */
/*
-rgb(53,43,34)
-rgb(75,70,74)
-rgb(95,97,110)
-rgb(137,151,188)
-rgb(160,178,226)
+rgb(53 43 34)
+rgb(75 70 74)
+rgb(95 97 110)
+rgb(137 151 188)
+rgb(160 178 226)
*/
body {
background-color: #fff;
diff --git a/box-alignment/flexbox/auto-margins.html b/box-alignment/flexbox/auto-margins.html
index b1d9394a..0f2aca8a 100644
--- a/box-alignment/flexbox/auto-margins.html
+++ b/box-alignment/flexbox/auto-margins.html
@@ -61,14 +61,14 @@
.box {
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
.box > * {
padding: 20px;
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
diff --git a/css-cookbook/columns-flexbox.html b/css-cookbook/columns-flexbox.html
index cbcd6c5a..f1921840 100644
--- a/css-cookbook/columns-flexbox.html
+++ b/css-cookbook/columns-flexbox.html
@@ -11,14 +11,14 @@
diff --git a/css-cookbook/columns-grid--download.html b/css-cookbook/columns-grid--download.html
index 91349f2d..be9b851e 100644
--- a/css-cookbook/columns-grid--download.html
+++ b/css-cookbook/columns-grid--download.html
@@ -21,7 +21,7 @@
}
.container {
- border: 2px solid rgb(75, 70, 74);
+ border: 2px solid rgb(75 70 74);
border-radius: 0.5em;
padding: 20px;
width: 500px;
@@ -32,7 +32,7 @@
.container > * {
padding: 10px;
- border: 2px solid rgb(95, 97, 110);
+ border: 2px solid rgb(95 97 110);
border-radius: 0.5em;
margin: 0;
}
diff --git a/css-cookbook/columns-grid.html b/css-cookbook/columns-grid.html
index ffbc7af1..75ec4044 100644
--- a/css-cookbook/columns-grid.html
+++ b/css-cookbook/columns-grid.html
@@ -11,7 +11,7 @@
diff --git a/css-cookbook/columns-multicol.html b/css-cookbook/columns-multicol.html
index e8bea1af..b6794a8d 100644
--- a/css-cookbook/columns-multicol.html
+++ b/css-cookbook/columns-multicol.html
@@ -11,7 +11,7 @@
@@ -51,7 +51,7 @@
diff --git a/css-cookbook/grid-wrapper--download.html b/css-cookbook/grid-wrapper--download.html
index 7c5706a0..95dfc3f0 100644
--- a/css-cookbook/grid-wrapper--download.html
+++ b/css-cookbook/grid-wrapper--download.html
@@ -31,7 +31,7 @@
}
.grid > * {
- border: 2px solid rgb(95, 97, 110);
+ border: 2px solid rgb(95 97 110);
border-radius: 0.5em;
padding: 20px;
}
diff --git a/css-cookbook/grid-wrapper.html b/css-cookbook/grid-wrapper.html
index 166418bb..62802904 100644
--- a/css-cookbook/grid-wrapper.html
+++ b/css-cookbook/grid-wrapper.html
@@ -17,7 +17,7 @@
}
.grid > * {
- border: 2px solid rgb(95, 97, 110);
+ border: 2px solid rgb(95 97 110);
border-radius: 0.5em;
padding: 20px;
}
diff --git a/css-cookbook/sticky-footer--download.html b/css-cookbook/sticky-footer--download.html
index 0ec88b6a..c4bd3ba7 100644
--- a/css-cookbook/sticky-footer--download.html
+++ b/css-cookbook/sticky-footer--download.html
@@ -44,7 +44,7 @@
.page-header,
.page-footer {
- background-color: rgb(75, 70, 74);
+ background-color: rgb(75 70 74);
color: #fff;
padding: 20px;
}
diff --git a/css-cookbook/sticky-footer-flexbox--download.html b/css-cookbook/sticky-footer-flexbox--download.html
index 60b1c7bc..8a447013 100644
--- a/css-cookbook/sticky-footer-flexbox--download.html
+++ b/css-cookbook/sticky-footer-flexbox--download.html
@@ -45,7 +45,7 @@
}
.page-header,
.page-footer {
- background-color: rgb(75, 70, 74);
+ background-color: rgb(75 70 74);
color: #fff;
padding: 20px;
}
diff --git a/css-cookbook/sticky-footer-flexbox.html b/css-cookbook/sticky-footer-flexbox.html
index 7d764a60..e460daba 100644
--- a/css-cookbook/sticky-footer-flexbox.html
+++ b/css-cookbook/sticky-footer-flexbox.html
@@ -23,7 +23,7 @@
.page-header,
.page-footer {
- background-color: rgb(75, 70, 74);
+ background-color: rgb(75 70 74);
color: #fff;
padding: 20px;
}
diff --git a/css-cookbook/sticky-footer.html b/css-cookbook/sticky-footer.html
index 2f238620..eccb73b5 100644
--- a/css-cookbook/sticky-footer.html
+++ b/css-cookbook/sticky-footer.html
@@ -25,7 +25,7 @@
.page-header,
.page-footer {
- background-color: rgb(75, 70, 74);
+ background-color: rgb(75 70 74);
color: #fff;
padding: 20px;
}
diff --git a/css-cookbook/styles.css b/css-cookbook/styles.css
index 11945fee..f46d5bc4 100644
--- a/css-cookbook/styles.css
+++ b/css-cookbook/styles.css
@@ -1,10 +1,10 @@
/* Some default styling for cookbook examples */
/*
-rgb(53,43,34)
-rgb(75,70,74)
-rgb(95,97,110)
-rgb(137,151,188)
-rgb(160,178,226)
+rgb(53 43 34)
+rgb(75 70 74)
+rgb(95 97 110)
+rgb(137 151 188)
+rgb(160 178 226)
*/
body {
background-color: #fff;
diff --git a/css-text/styles.css b/css-text/styles.css
index 11945fee..f46d5bc4 100644
--- a/css-text/styles.css
+++ b/css-text/styles.css
@@ -1,10 +1,10 @@
/* Some default styling for cookbook examples */
/*
-rgb(53,43,34)
-rgb(75,70,74)
-rgb(95,97,110)
-rgb(137,151,188)
-rgb(160,178,226)
+rgb(53 43 34)
+rgb(75 70 74)
+rgb(95 97 110)
+rgb(137 151 188)
+rgb(160 178 226)
*/
body {
background-color: #fff;
diff --git a/display/multi-keyword/inline-block.html b/display/multi-keyword/inline-block.html
index 1f22b167..217de84c 100644
--- a/display/multi-keyword/inline-block.html
+++ b/display/multi-keyword/inline-block.html
@@ -66,7 +66,7 @@
diff --git a/flexbox/alignment/align-content.html b/flexbox/alignment/align-content.html
index 01d44a27..e9ce451c 100644
--- a/flexbox/alignment/align-content.html
+++ b/flexbox/alignment/align-content.html
@@ -61,14 +61,14 @@
.box {
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
.box > * {
padding: 20px;
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
flex: 1 1 100px;
}
diff --git a/flexbox/alignment/align-items.html b/flexbox/alignment/align-items.html
index 64bfb2ba..6a13714f 100644
--- a/flexbox/alignment/align-items.html
+++ b/flexbox/alignment/align-items.html
@@ -61,14 +61,14 @@
.box {
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
.box > * {
padding: 20px;
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
diff --git a/flexbox/basics/flex-shorthands.html b/flexbox/basics/flex-shorthands.html
index 62e1899c..6566683b 100644
--- a/flexbox/basics/flex-shorthands.html
+++ b/flexbox/basics/flex-shorthands.html
@@ -60,15 +60,15 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
.box {
display: flex;
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/basics/flex-wrap.html b/flexbox/basics/flex-wrap.html
index 46f9c041..6de90a3d 100644
--- a/flexbox/basics/flex-wrap.html
+++ b/flexbox/basics/flex-wrap.html
@@ -60,15 +60,15 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
width: 200px;
}
.box {
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/basics/justify-content.html b/flexbox/basics/justify-content.html
index 1d09ba04..aba72e7f 100644
--- a/flexbox/basics/justify-content.html
+++ b/flexbox/basics/justify-content.html
@@ -61,13 +61,13 @@
.box {
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
diff --git a/flexbox/basics/the-flex-container.html b/flexbox/basics/the-flex-container.html
index 851c4441..b2b6c122 100644
--- a/flexbox/basics/the-flex-container.html
+++ b/flexbox/basics/the-flex-container.html
@@ -62,13 +62,13 @@
.box {
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
diff --git a/flexbox/ratios/flex-basis.html b/flexbox/ratios/flex-basis.html
index b640ead3..6766b04a 100644
--- a/flexbox/ratios/flex-basis.html
+++ b/flexbox/ratios/flex-basis.html
@@ -41,6 +41,7 @@
text-align: right;
width: 90%;
max-width: 700px;
+ min-width: 500px;
padding: 5px 10px 5px 26px;
font-size: 100%;
}
@@ -48,6 +49,7 @@
section {
width: 90%;
max-width: 700px;
+ min-width: 500px;
border: 1px solid #4d4e53;
border-radius: 2px;
padding: 10px 14px 10px 10px;
@@ -60,15 +62,15 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
.box {
display: flex;
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/ratios/flex-grow-ratios.html b/flexbox/ratios/flex-grow-ratios.html
index 2a9806b2..1392fe59 100644
--- a/flexbox/ratios/flex-grow-ratios.html
+++ b/flexbox/ratios/flex-grow-ratios.html
@@ -60,15 +60,15 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
.box {
display: flex;
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/ratios/flex-grow.html b/flexbox/ratios/flex-grow.html
index ed49c954..60815ad8 100644
--- a/flexbox/ratios/flex-grow.html
+++ b/flexbox/ratios/flex-grow.html
@@ -41,6 +41,7 @@
text-align: right;
width: 90%;
max-width: 700px;
+ min-width: 500px;
padding: 5px 10px 5px 26px;
font-size: 100%;
}
@@ -48,6 +49,7 @@
section {
width: 90%;
max-width: 700px;
+ min-width: 500px;
border: 1px solid #4d4e53;
border-radius: 2px;
padding: 10px 14px 10px 10px;
@@ -60,15 +62,15 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
.box {
display: flex;
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/ratios/flex-shrink-min-content.html b/flexbox/ratios/flex-shrink-min-content.html
index 3bcf056d..2c7171e8 100644
--- a/flexbox/ratios/flex-shrink-min-content.html
+++ b/flexbox/ratios/flex-shrink-min-content.html
@@ -41,6 +41,7 @@
text-align: right;
width: 90%;
max-width: 700px;
+ min-width: 500px;
padding: 5px 10px 5px 26px;
font-size: 100%;
}
@@ -48,6 +49,7 @@
section {
width: 90%;
max-width: 700px;
+ min-width: 500px;
border: 1px solid #4d4e53;
border-radius: 2px;
padding: 10px 14px 10px 10px;
@@ -60,14 +62,14 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
.box {
display: flex;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/ratios/flex-shrink-ratios.html b/flexbox/ratios/flex-shrink-ratios.html
index f66ec25c..f1a9e00e 100644
--- a/flexbox/ratios/flex-shrink-ratios.html
+++ b/flexbox/ratios/flex-shrink-ratios.html
@@ -41,6 +41,7 @@
text-align: right;
width: 90%;
max-width: 700px;
+ min-width: 500px;
padding: 5px 10px 5px 26px;
font-size: 100%;
}
@@ -48,6 +49,7 @@
section {
width: 90%;
max-width: 700px;
+ min-width: 500px;
border: 1px solid #4d4e53;
border-radius: 2px;
padding: 10px 14px 10px 10px;
@@ -60,15 +62,15 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
.box {
display: flex;
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/ratios/flex-shrink.html b/flexbox/ratios/flex-shrink.html
index 17d4d03b..f76189ff 100644
--- a/flexbox/ratios/flex-shrink.html
+++ b/flexbox/ratios/flex-shrink.html
@@ -41,6 +41,7 @@
text-align: right;
width: 90%;
max-width: 700px;
+ min-width: 500px;
padding: 5px 10px 5px 26px;
font-size: 100%;
}
@@ -48,6 +49,7 @@
section {
width: 90%;
max-width: 700px;
+ min-width: 500px;
border: 1px solid #4d4e53;
border-radius: 2px;
padding: 10px 14px 10px 10px;
@@ -60,15 +62,15 @@
}
.box > * {
- border: 2px solid rgb(96, 139, 168);
+ border: 2px solid rgb(96 139 168);
border-radius: 5px;
- background-color: rgba(96, 139, 168, 0.2);
+ background-color: rgb(96 139 168 / 0.2);
}
.box {
display: flex;
width: 500px;
- border: 2px dotted rgb(96, 139, 168);
+ border: 2px dotted rgb(96 139 168);
}
diff --git a/flexbox/ratios/min-max-content.html b/flexbox/ratios/min-max-content.html
index 758f1dcf..cb18b334 100644
--- a/flexbox/ratios/min-max-content.html
+++ b/flexbox/ratios/min-max-content.html
@@ -63,11 +63,11 @@
@@ -86,11 +86,11 @@