Commit 73686aa0 authored by ericrosenbaum's avatar ericrosenbaum

Merge remote-tracking branch 'origin/develop' into release/2021-08-11

parents 36ad0c37 a01aa255
{ {
"plugins": [ "plugins": [
"transform-object-rest-spread", "transform-object-rest-spread",
"transform-require-context" "transform-require-context",
"syntax-dynamic-import"
], ],
"presets": ["es2015", "react"], "presets": ["es2015", "react"],
} }
...@@ -31,7 +31,7 @@ if (args[0] === '--execute') { ...@@ -31,7 +31,7 @@ if (args[0] === '--execute') {
const overrides = { const overrides = {
'src/views/teachers/faq/l10n.json': 'teacher-faq-l10njson', 'src/views/teachers/faq/l10n.json': 'teacher-faq-l10njson',
'src/views/teachers/landing/l10n.json': 'educator-landing-l10njson', 'src/views/teachers/landing/l10n.json': 'educator-landing-l10njson',
'src/views/conference/2020/index/l10n.json': 'conference-index-2020-l10njson', 'src/views/conference/2021/index/l10n.json': 'conference-index-2021-l10njson',
'src/views/conference/2019/index/l10n.json': 'conference-index-2019-l10njson', 'src/views/conference/2019/index/l10n.json': 'conference-index-2019-l10njson',
'src/views/conference/2017/index/l10n.json': 'conference-index-2017-l10njson' 'src/views/conference/2017/index/l10n.json': 'conference-index-2017-l10njson'
}; };
......
This diff is collapsed.
...@@ -26,11 +26,12 @@ ...@@ -26,11 +26,12 @@
"clean": "rm -rf ./build && rm -rf ./intl && mkdir -p build && mkdir -p intl", "clean": "rm -rf ./build && rm -rf ./intl && mkdir -p build && mkdir -p intl",
"deploy": "npm run deploy:s3 && npm run deploy:fastly", "deploy": "npm run deploy:s3 && npm run deploy:fastly",
"deploy:fastly": "node ./bin/configure-fastly.js", "deploy:fastly": "node ./bin/configure-fastly.js",
"deploy:s3": "npm run deploy:s3:all && npm run deploy:s3:svg && npm run deploy:s3:js", "deploy:s3": "npm run deploy:s3:all && npm run deploy:s3:svg && npm run deploy:s3:js && npm run deploy:s3:css",
"deploy:s3cmd": "s3cmd sync -P --delete-removed --add-header=Cache-Control:no-cache,public,max-age=3600 --add-header=x-amz-meta-surrogate-key:static-assets", "deploy:s3cmd": "s3cmd sync -P --delete-removed --add-header=Cache-Control:no-cache,public,max-age=3600 --add-header=x-amz-meta-surrogate-key:static-assets",
"deploy:s3:all": "npm run deploy:s3cmd -- --exclude '.DS_Store' --exclude '*.svg' --exclude '*.js' ./build/ s3://$S3_BUCKET_NAME/", "deploy:s3:all": "npm run deploy:s3cmd -- --exclude '.DS_Store' --exclude '*.svg' --exclude '*.js' --exclude '*.css' ./build/ s3://$S3_BUCKET_NAME/",
"deploy:s3:svg": "npm run deploy:s3cmd -- --exclude '*' --include '*.svg' --mime-type 'image/svg+xml' ./build/ s3://$S3_BUCKET_NAME/", "deploy:s3:svg": "npm run deploy:s3cmd -- --exclude '*' --include '*.svg' --mime-type 'image/svg+xml' ./build/ s3://$S3_BUCKET_NAME/",
"deploy:s3:js": "npm run deploy:s3cmd -- --exclude '*' --include '*.js' --mime-type 'application/javascript' ./build/ s3://$S3_BUCKET_NAME/", "deploy:s3:js": "npm run deploy:s3cmd -- --exclude '*' --include '*.js' --mime-type 'application/javascript' ./build/ s3://$S3_BUCKET_NAME/",
"deploy:s3:css": "npm run deploy:s3cmd -- --exclude '*' --include '*.css' --mime-type 'text/css' ./build/ s3://$S3_BUCKET_NAME/",
"i18n:push": "./bin/tx-push-www --execute", "i18n:push": "./bin/tx-push-www --execute",
"translate:urls": "node ./bin/get-localized-urls localized-urls.json", "translate:urls": "node ./bin/get-localized-urls localized-urls.json",
"translate:files": "node ./bin/build-locales node_modules/scratch-l10n/www intl", "translate:files": "node ./bin/build-locales node_modules/scratch-l10n/www intl",
...@@ -69,6 +70,7 @@ ...@@ -69,6 +70,7 @@
"babel-core": "6.23.1", "babel-core": "6.23.1",
"babel-eslint": "10.0.3", "babel-eslint": "10.0.3",
"babel-loader": "7.1.0", "babel-loader": "7.1.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-object-rest-spread": "6.26.0", "babel-plugin-transform-object-rest-spread": "6.26.0",
"babel-plugin-transform-require-context": "0.1.1", "babel-plugin-transform-require-context": "0.1.1",
"babel-preset-es2015": "6.22.0", "babel-preset-es2015": "6.22.0",
...@@ -105,6 +107,7 @@ ...@@ -105,6 +107,7 @@
"lodash.mergewith": "4.6.2", "lodash.mergewith": "4.6.2",
"lodash.omit": "3.1.0", "lodash.omit": "3.1.0",
"lodash.uniqby": "4.7.0", "lodash.uniqby": "4.7.0",
"mini-css-extract-plugin": "^1.6.2",
"minilog": "2.0.8", "minilog": "2.0.8",
"node-sass": "4.14.1", "node-sass": "4.14.1",
"pako": "0.2.8", "pako": "0.2.8",
...@@ -127,8 +130,8 @@ ...@@ -127,8 +130,8 @@
"redux-mock-store": "1.5.4", "redux-mock-store": "1.5.4",
"redux-thunk": "2.0.1", "redux-thunk": "2.0.1",
"sass-loader": "6.0.6", "sass-loader": "6.0.6",
"scratch-gui": "0.1.0-prerelease.20210804101730", "scratch-gui": "0.1.0-prerelease.20210811131219",
"scratch-l10n": "3.13.20210804031526", "scratch-l10n": "3.14.20210811031521",
"selenium-webdriver": "3.6.0", "selenium-webdriver": "3.6.0",
"slick-carousel": "1.6.0", "slick-carousel": "1.6.0",
"style-loader": "0.12.3", "style-loader": "0.12.3",
......
...@@ -253,14 +253,6 @@ ...@@ -253,14 +253,6 @@
"view": "search/search", "view": "search/search",
"title": "Search" "title": "Search"
}, },
{
"name": "sec",
"pattern": "^/sec/?(\\?.*)?$",
"routeAlias": "/sec/?",
"view": "sec/sec",
"title": "Scratch Education Collaborative",
"viewportWidth": "device-width"
},
{ {
"name": "splash", "name": "splash",
"pattern": "^/?$", "pattern": "^/?$",
...@@ -475,6 +467,12 @@ ...@@ -475,6 +467,12 @@
"routeAlias": "/search", "routeAlias": "/search",
"redirect": "/search/projects" "redirect": "/search/projects"
}, },
{
"name": "sec-redirect",
"pattern": "^/sec/?$",
"routeAlias": "/sec",
"redirect": "https://sip.scratch.mit.edu/sec"
},
{ {
"name": "splash-redirect", "name": "splash-redirect",
"pattern": "^///?$", "pattern": "^///?$",
......
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
<!-- Favicon & CSS normalize --> <!-- Favicon & CSS normalize -->
<link rel="shortcut icon" href="/favicon.ico" /> <link rel="shortcut icon" href="/favicon.ico" />
<link rel="stylesheet" href="/css/lib/normalize.min.css" /> <link rel="stylesheet" href="/css/lib/normalize.min.css" />
<link rel="stylesheet" href="<%= htmlWebpackPlugin.files.chunks.common.css[0] %>" />
<link rel="stylesheet" href="<%= htmlWebpackPlugin.files.chunks[htmlWebpackPlugin.options.route.name].css[0] %>" />
<!-- Polyfills --> <!-- Polyfills -->
<script src="/js/polyfill.min.js"></script> <script src="/js/polyfill.min.js"></script>
...@@ -59,11 +61,11 @@ ...@@ -59,11 +61,11 @@
<div id="app"></div> <div id="app"></div>
<!-- Vendor & Initialize (Session & Localization)--> <!-- Vendor & Initialize (Session & Localization)-->
<script src="/<%= htmlWebpackPlugin.files.chunks.common.entry %>"></script> <script src="<%= htmlWebpackPlugin.files.chunks.common.entry %>"></script>
<!-- Scripts --> <!-- Scripts -->
<script src="/js/<%= htmlWebpackPlugin.options.route.name %>.intl.js"></script> <script src="/js/<%= htmlWebpackPlugin.options.route.name %>.intl.js"></script>
<script src="/<%= htmlWebpackPlugin.files.chunks[htmlWebpackPlugin.options.route.name].entry %>"></script> <script src="<%= htmlWebpackPlugin.files.chunks[htmlWebpackPlugin.options.route.name].entry %>"></script>
<!-- Translate title element --> <!-- Translate title element -->
<% if (!htmlWebpackPlugin.options.dynamicMetaTags) { %> <% if (!htmlWebpackPlugin.options.dynamicMetaTags) { %>
......
...@@ -113,9 +113,6 @@ class Download extends React.Component { ...@@ -113,9 +113,6 @@ class Download extends React.Component {
id="installation" id="installation"
> >
<div className="inner"> <div className="inner">
<p className="callout">
<FormattedHTMLMessage id="download.introMac" />
</p>
<FlexRow className="three-col-row"> <FlexRow className="three-col-row">
<div className="installation-column"> <div className="installation-column">
<div className="installation-column-number"> <div className="installation-column-number">
...@@ -123,26 +120,6 @@ class Download extends React.Component { ...@@ -123,26 +120,6 @@ class Download extends React.Component {
</div> </div>
<h3><FormattedMessage id="download.airTitle" /></h3> <h3><FormattedMessage id="download.airTitle" /></h3>
<p><FormattedHTMLMessage id="download.airBody" /></p> <p><FormattedHTMLMessage id="download.airBody" /></p>
<ul className="installation-downloads">
<li className="installation-downloads-item">
<FormattedMessage id="download.macOSX" /> -
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id="download.download" />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id="download.macOlder" /> -
{' '}<a href="http://airdownload.adobe.com/air/mac/download/2.6/AdobeAIR.zip">
<FormattedMessage id="download.download" />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id="download.windows" /> -
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id="download.download" />
</a>
</li>
</ul>
</div> </div>
<div className="installation-column"> <div className="installation-column">
<div className="installation-column-number"> <div className="installation-column-number">
......
{ {
"download.title": "Scratch 2.0 Offline Editor", "download.title": "Scratch 2.0 Offline Editor",
"download.intro": "You can install the Scratch 2.0 editor to work on projects without an internet connection. This version will work on Windows and MacOS.", "download.intro": "You can install the Scratch 2.0 editor to work on projects without an internet connection. This version will work on Windows and MacOS.",
"download.introMac": "<b>Note for Mac Users:</b> the latest version of Scratch 2.0 Offline requires Adobe AIR 20. To upgrade to Adobe AIR 20 manually, go <a href=\"https://get.adobe.com/air/\">here</a>.",
"download.installation": "Installation", "download.installation": "Installation",
"download.airTitle": "Adobe AIR", "download.airTitle": "Adobe AIR",
"download.airBody": "If you don't already have it, download and install the latest <a href=\"http://get.adobe.com/air/\">Adobe AIR</a>", "download.airBody": "If you don't already have it, download and install the latest <a href=\"https://airsdk.harman.com/runtime\">Adobe AIR</a>",
"download.macOSX": "Mac OS X", "download.macOSX": "Mac OS X",
"download.macOlder": "Mac OS 10.5 & Older", "download.macOlder": "Mac OS 10.5 & Older",
"download.windows": "Windows", "download.windows": "Windows",
......
{
"sec.title": "Scratch Education Collaborative (SEC)",
"sec.intro": "Participating Orgs",
"sec.applyNow": "Apply now!",
"sec.applyBanner": "Applications are now closed. The deadline for applying to the SEC for 2021 was March 1st.",
"sec.projectsTitle": "Participating Orgs",
"sec.yearRange": "2021-2022",
"sec.org1": "{org1Listing} - AK, USA",
"sec.org2": "{org2Listing} - AR, USA",
"sec.org3": "{org3Listing} - UT, USA",
"sec.org4": "{org4Listing} - TX, USA",
"sec.org5": "{org5Listing} - MS, USA",
"sec.org6": "{org6Listing} - Santa Bárbara, Brazil",
"sec.org7": "{org7Listing} - Sydney, Australia",
"sec.org8": "{org8Listing} - Memphis, TN, USA",
"sec.org9": "{org9Listing} - NYC, NY, USA",
"sec.org10": "{org10Listing} - Jos, Nigeria",
"sec.org11": "{org11Listing} - Baltimore, MD, USA",
"sec.org12": "{org12Listing} - Johannesburg, South Africa",
"sec.org13": "{org13Listing} - Hayward, CA, USA",
"sec.org14": "{org14Listing} - Humble, TX, USA",
"sec.org15": "{org15Listing} - Guildford, UK",
"sec.org16": "{org16Listing} - México City, MX",
"sec.org17": "{org17Listing} - Montréal, Canada",
"sec.org18": "{org18Listing} - Clark County School District, NV, USA",
"sec.org19": "{org19Listing} - Othello School District, WA, USA",
"sec.org20": "{org20Listing} - Uganda",
"sec.org21": "{org21Listing} - NYC, NY, USA",
"sec.org22": "{org22Listing} - USA",
"sec.org23": "{org23Listing} - FL, USA",
"sec.org24": "{org24Listing} - NYC, NY, USA",
"sec.org25": "{org25Listing} - NYC, NY, USA",
"sec.org26": "{org26Listing} - Nigeria",
"sec.org27": "{org27Listing} - Princeton, NJ, USA",
"sec.org28": "{org28Listing} - Bengaluru, India",
"sec.org29": "{org29Listing} - Johannesburg, South Africa",
"sec.org30": "{org30Listing} - Barcelona, Spain",
"sec.org31": "{org31Listing} - Phnom Penh, Cambodia",
"sec.org32": "{org32Listing} - Nairobi, Kenya",
"sec.org33": "{org33Listing} - Nairobi, Kenya",
"sec.org34": "{org34Listing} - Johannesburg, South Africa",
"sec.org35": "{org35Listing} - Chicago Public Schools, IL, USA",
"sec.org36": "{org36Listing} - Lagos, Nigeria",
"sec.org37": "{org37Listing} - Girona, Spain",
"sec.org38": "{org38Listing} - Halifax, Nova Scotia",
"sec.org39": "{org39Listing} - USA",
"sec.org40": "{org40Listing} - Owerri, Nigeria & Nairobi, Kenya",
"sec.partnerOrgsTitle": "Partner Orgs",
"sec.partnerOrg1": "{partnerOrg1Listing} - Cambridge, UK",
"sec.partnerOrg2": "{partnerOrg2Listing} (Formerly {partnerOrg2FormerName}) - Stanford, CA, USA",
"sec.partnerOrg3": "{partnerOrg3Listing} - IL, USA",
"sec.partnerOrg4": "{partnerOrg4Listing} - New Orleans, LA, USA",
"sec.partnerOrg5": "{partnerOrg5Listing} - Brazil",
"sec.partnerOrg6": "{partnerOrg6Listing} - San Francisco, CA, USA"
}
\ No newline at end of file
This diff is collapsed.
@import "../../colors";
@import "../../frameless";
$sec-spot: $ui-blue;
#view {
padding: 0;
}
.education-collaborative {
.title-banner {
&.masthead {
background-color: $sec-spot;
padding: 50px 0 0 0;
margin: 0;
.masthead-info {
align-items: center;
justify-content: space-between;
@media #{$intermediate} {
justify-content: end;
}
.long {
padding-bottom: 2rem;
}
h1 {
margin: 0 0 1rem 0;
text-align: left;
color: $ui-white;
}
p {
margin: 0;
text-align: left;
color: $ui-white;
max-width: $cols6;
font-size: 1.65em;
}
.title-banner-button {
background-color: $ui-white;
color: $ui-blue;
font-size: 1rem;
padding: 0.75rem 1rem;
img {
margin-right: 1rem;
height: 1.2rem;
vertical-align: middle;
}
a {
color: $ui-white;
}
span {
vertical-align: middle;
}
}
.title-banner-img {
width: $cols4;
}
.sec-apply-buttons {
margin-top: 2rem;
li {
border: 2px solid $ui-white;
padding: 16px;
font-size: 16px;
font-weight: 500;
}
}
}
}
}
section {
margin-bottom: 3rem;
p, ul {
max-width: $cols8;
}
}
.band {
background: $ui-light-primary;
padding: 0.5rem 0;
margin-bottom: 0;
h4.applyBanner {
color: $ui-blue;
}
}
.sec-faq {
margin-top: 3rem;
dl {
dt {
margin-bottom: .25rem;
font-size: 1.1rem;
}
dd {
margin-bottom: 1.25rem;
margin-left: 0;
max-width: $cols8;
text-align: left;
}
}
}
}
@media #{$intermediate, $medium, $small} {
#view {
text-align: left;
}
}
...@@ -7,6 +7,7 @@ const webpack = require('webpack'); ...@@ -7,6 +7,7 @@ const webpack = require('webpack');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const CopyWebpackPlugin = require('copy-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
// PostCss // PostCss
const autoprefixer = require('autoprefixer'); const autoprefixer = require('autoprefixer');
...@@ -72,7 +73,8 @@ module.exports = { ...@@ -72,7 +73,8 @@ module.exports = {
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development', mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
output: { output: {
path: path.resolve(__dirname, 'build'), path: path.resolve(__dirname, 'build'),
filename: 'js/[name].bundle.js' filename: 'js/[name].bundle.js',
publicPath: '/'
}, },
resolve: { resolve: {
symlinks: false // Fix local development with `npm link` packages symlinks: false // Fix local development with `npm link` packages
...@@ -92,7 +94,7 @@ module.exports = { ...@@ -92,7 +94,7 @@ module.exports = {
{ {
test: /\.scss$/, test: /\.scss$/,
use: [ use: [
'style-loader', MiniCssExtractPlugin.loader,
'css-loader', 'css-loader',
{ {
loader: 'postcss-loader', loader: 'postcss-loader',
...@@ -108,7 +110,7 @@ module.exports = { ...@@ -108,7 +110,7 @@ module.exports = {
{ {
test: /\.css$/, test: /\.css$/,
use: [ use: [
'style-loader', MiniCssExtractPlugin.loader,
'css-loader', 'css-loader',
{ {
loader: 'postcss-loader', loader: 'postcss-loader',
...@@ -142,6 +144,7 @@ module.exports = { ...@@ -142,6 +144,7 @@ module.exports = {
} }
}, },
plugins: [ plugins: [
new MiniCssExtractPlugin(),
new VersionPlugin({length: 5}) new VersionPlugin({length: 5})
].concat(pageRoutes ].concat(pageRoutes
.map(function (route) { .map(function (route) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment