@shift72/core-template 0.4.4 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. package/CHANGELOG.md +37 -16
  2. package/kibble.json +108 -29
  3. package/package.json +21 -8
  4. package/scripts/core-template-version.js +30 -0
  5. package/scripts/language-file-to-csv/language-file-to-csv.js +2 -2
  6. package/scripts/language-file-validator.js +1 -1
  7. package/scripts/translate.mjs +43 -0
  8. package/site/ar_LB.all.json +1262 -595
  9. package/site/ca_ES.all.json +437 -417
  10. package/site/da_DK.all.json +307 -221
  11. package/site/de_DE.all.json +1119 -459
  12. package/site/ee_EE.all.json +1261 -600
  13. package/site/el_EL.all.json +1112 -459
  14. package/site/en_AU.all.json +1159 -467
  15. package/site/es_ES.all.json +1105 -452
  16. package/site/es_MX.all.json +1160 -479
  17. package/site/fi_FI.all.json +1113 -460
  18. package/site/fr_FR.all.json +1105 -454
  19. package/site/hr_HR.all.json +1169 -464
  20. package/site/hu_HU.all.json +1261 -599
  21. package/site/it_IT.all.json +1112 -458
  22. package/site/ja_JP.all.json +1114 -460
  23. package/site/lt_LT.all.json +1112 -454
  24. package/site/nl_BE.all.json +1112 -456
  25. package/site/no_NO.all.json +1252 -596
  26. package/site/pl_PL.all.json +1090 -447
  27. package/site/pt_BR.all.json +432 -429
  28. package/site/pt_PT.all.json +1252 -602
  29. package/site/ru_RU.all.json +1088 -449
  30. package/site/sr_SR.all.json +1254 -0
  31. package/site/styles/_awards.scss +5 -0
  32. package/site/styles/_buttons.scss +23 -0
  33. package/site/styles/_carousel.scss +9 -1
  34. package/site/styles/_forms.scss +78 -11
  35. package/site/styles/_meta-detail.scss +2 -2
  36. package/site/styles/_meta-item-tagline.scss +1 -1
  37. package/site/styles/_nav.scss +6 -6
  38. package/site/styles/_pages.scss +0 -2
  39. package/site/styles/_plans.scss +5 -0
  40. package/site/styles/_search.scss +1 -1
  41. package/site/styles/_shift72.scss +3 -3
  42. package/site/styles/_shopping.scss +1 -1
  43. package/site/styles/_skip-link.scss +19 -0
  44. package/site/styles/_variables.scss +10 -6
  45. package/site/styles/_wishlist.scss +19 -11
  46. package/site/styles/main.scss +1 -0
  47. package/site/templates/application/application.jet +11 -14
  48. package/site/templates/application/google.jet +26 -10
  49. package/site/templates/common/awards/carousel.jet +7 -1
  50. package/site/templates/common/awards/item.jet +2 -2
  51. package/site/templates/film/item.jet +83 -76
  52. package/site/templates/page/curated.jet +1 -1
  53. package/site/templates/page/page-content.jet +1 -23
  54. package/site/templates/page/page-header.jet +25 -6
  55. package/site/tr_TR.all.json +1252 -602
  56. package/site/uk_UA.all.json +528 -451
  57. package/site/zh_TW.all.json +438 -419
  58. package/site/se_SE.all.json +0 -601
package/CHANGELOG.md CHANGED
@@ -1,36 +1,57 @@
1
1
  # Changelog
2
2
 
3
- ## [Unreleased](https://github.com/shift72/core-template/compare/0.4.4...HEAD)
3
+ ## [Unreleased](https://github.com/shift72/core-template/compare/0.5.0...HEAD)
4
+
5
+
6
+ ## [0.5.0](https://github.com/shift72/core-template/compare/0.4.4...0.5.0)
7
+ ### Changed
8
+ - Upgrade to kibble `0.16.6`.
9
+ - Moved references from `film.Images` to `film.ImageMap`.
10
+ - Removed minimum page height from content pages.
11
+ - Moved skip link above cookie consent banner
12
+
13
+ ### Added
14
+ - Start the site with an admin build: `npm start --admin`.
15
+ - Added Core template version to `<head>` and `kibble.json`.
16
+ - Added styling for floating donate button to use button sass variables.
17
+ - A bunch of missing language keys across language files.
18
+ - Automated translation command
19
+
20
+ ### Fixed
21
+ - Can now override the cookie consent styling.
22
+ - Can now send analytics data to both GA4 and UA Legacy google analytics (GA4 previously not supported)
23
+
4
24
 
5
25
  ## [0.4.4](https://github.com/shift72/core-template/compare/0.4.3...0.4.4)
6
- - Fixed usage of obsolete $primary var for trailer button
26
+ ### Fixed
27
+ - Fixed obsolete `$primary` var for trailer button.
7
28
 
8
29
  ### Added
9
- - Awards categories
30
+ - Awards categories.
10
31
 
11
32
  ## [0.4.3](https://github.com/shift72/core-template/compare/0.4.2...0.4.3)
12
33
 
13
34
  ### Added
14
- - Awards categories
15
- - Floating donate button
35
+ - Awards categories.
36
+ - Floating donate button.
16
37
  - External custom CSS link in head.
17
38
  - Scripts for downloading/uploading custom CSS files for use with local development.
18
39
 
19
40
  ### Changed
20
- - Replaced various SASS variables with CSS variables.
21
- - Added workarounds for SASS and Bootstrap functions that don't understand CSS variables.
22
- - Kibble 0.16.4
23
- - Split CC and Subtitles
24
- - Moved engagement icons
41
+ - Replaced various Sass variables with CSS variables.
42
+ - Added workarounds for Sass and Bootstrap functions that don't understand CSS variables.
43
+ - Kibble `0.16.4`.
44
+ - Split CC and Subtitles.
45
+ - Moved engagement icons.
25
46
 
26
47
  ## [0.4.2](https://github.com/shift72/core-template/compare/0.4.1...0.4.2)
27
48
 
28
49
  ### Added
29
- - Lang files updated with entries for purchasing one-off passes
30
- - Sponsor banner that can be enabled/disabled in Uber Admin
50
+ - Lang files updated with entries for purchasing one-off passes.
51
+ - Sponsor banner.
31
52
 
32
- ### Changed
33
- - Typo in English lang file
53
+ ### Fixed
54
+ - Typo in English language file.
34
55
 
35
56
  ## [0.4.1](https://github.com/shift72/core-template/compare/0.4.0...0.4.1)
36
57
 
@@ -51,11 +72,11 @@ No changes from RC0.
51
72
 
52
73
  ### Changed
53
74
  - Moved separator line from footer jet into app badge jet.
54
- - Kibble upgraded to v0.15.22.
75
+ - Kibble upgraded to `0.15.22`.
55
76
  - Application templates moved to `/site/templates/application/`.
56
77
  - Links (`<a>` tags) without a `class` attribute have `text-decoration: underline`.
57
78
 
58
- ## Fixed
79
+ ### Fixed
59
80
  - Curated pages with a collection no longer has a `min-height` that was forcing a gap before the collection.
60
81
 
61
82
  ## [0.3.8](https://github.com/shift72/core-template/compare/0.3.7...0.3.8)
package/kibble.json CHANGED
@@ -2,35 +2,113 @@
2
2
  "name": "core-template",
3
3
  "version": "0.0.1",
4
4
  "siteUrl": "https://abccinemas.screenplus.co",
5
- "builderVersion": "0.16.4",
5
+ "builderVersion": "0.16.6",
6
6
  "defaultLanguage": "en",
7
7
  "languages": {
8
- "ar": { "code": "ar_LB", "name": "عربى" },
9
- "ca": { "code": "ca_ES", "name": "Català" },
10
- "da": { "code": "da_DK", "name": "Dansk" },
11
- "de": { "code": "de_DE", "name": "Deutsch" },
12
- "ee": { "code": "ee_EE", "name": "Eestlane" },
13
- "el": { "code": "el_EL", "name": "Ελληνικά" },
14
- "en": { "code": "en_AU", "name": "English" },
15
- "es": { "code": "es_ES", "name": "Español" },
16
- "es-mx": { "code": "es_MX", "name": "Español" },
17
- "fi": { "code": "fi_FI", "name": "Suomi" },
18
- "fr": { "code": "fr_FR", "name": "Français" },
19
- "hr": { "code": "hr_HR", "name": "Hrvatski" },
20
- "hu": { "code": "hu_HU", "name": "Magyar" },
21
- "it": { "code": "it_IT", "name": "Italiano" },
22
- "ja": { "code": "ja_JP", "name": "日本語" },
23
- "lt": { "code": "lt_LT", "name": "Lietuvių Kalba" },
24
- "nl": { "code": "nl_BE", "name": "Nederlands" },
25
- "no": { "code": "no_NO", "name": "Norsk" },
26
- "pl": { "code": "pl_PL", "name": "Polski" },
27
- "pt": { "code": "pt_PT", "name": "Português" },
28
- "pt-br": { "code": "pt_BR", "name": "Português do Brasil" },
29
- "ru": { "code": "ru_RU", "name": "Pусский" },
30
- "se": { "code": "se_SE", "name": "Српски" },
31
- "tr": { "code": "tr_TR", "name": "Türk" },
32
- "uk": { "code": "uk_UA", "name": "Український" },
33
- "zh-tw": { "code": "zh_TW", "name": "中文" }
8
+ "ar": {
9
+ "code": "ar_LB",
10
+ "name": "عربى"
11
+ },
12
+ "ca": {
13
+ "code": "ca_ES",
14
+ "name": "Català"
15
+ },
16
+ "da": {
17
+ "code": "da_DK",
18
+ "name": "Dansk"
19
+ },
20
+ "de": {
21
+ "code": "de_DE",
22
+ "name": "Deutsch"
23
+ },
24
+ "ee": {
25
+ "code": "ee_EE",
26
+ "name": "Eestlane"
27
+ },
28
+ "el": {
29
+ "code": "el_EL",
30
+ "name": "Ελληνικά"
31
+ },
32
+ "en": {
33
+ "code": "en_AU",
34
+ "name": "English"
35
+ },
36
+ "es": {
37
+ "code": "es_ES",
38
+ "name": "Español"
39
+ },
40
+ "es-mx": {
41
+ "code": "es_MX",
42
+ "name": "Español"
43
+ },
44
+ "fi": {
45
+ "code": "fi_FI",
46
+ "name": "Suomi"
47
+ },
48
+ "fr": {
49
+ "code": "fr_FR",
50
+ "name": "Français"
51
+ },
52
+ "hr": {
53
+ "code": "hr_HR",
54
+ "name": "Hrvatski"
55
+ },
56
+ "hu": {
57
+ "code": "hu_HU",
58
+ "name": "Magyar"
59
+ },
60
+ "it": {
61
+ "code": "it_IT",
62
+ "name": "Italiano"
63
+ },
64
+ "ja": {
65
+ "code": "ja_JP",
66
+ "name": "日本語"
67
+ },
68
+ "lt": {
69
+ "code": "lt_LT",
70
+ "name": "Lietuvių Kalba"
71
+ },
72
+ "nl": {
73
+ "code": "nl_BE",
74
+ "name": "Nederlands"
75
+ },
76
+ "no": {
77
+ "code": "no_NO",
78
+ "name": "Norsk"
79
+ },
80
+ "pl": {
81
+ "code": "pl_PL",
82
+ "name": "Polski"
83
+ },
84
+ "pt": {
85
+ "code": "pt_PT",
86
+ "name": "Português"
87
+ },
88
+ "pt-br": {
89
+ "code": "pt_BR",
90
+ "name": "Português do Brasil"
91
+ },
92
+ "ru": {
93
+ "code": "ru_RU",
94
+ "name": "Pусский"
95
+ },
96
+ "sr": {
97
+ "code": "sr_SR",
98
+ "name": "Српски"
99
+ },
100
+ "tr": {
101
+ "code": "tr_TR",
102
+ "name": "Türk"
103
+ },
104
+ "uk": {
105
+ "code": "uk_UA",
106
+ "name": "Український"
107
+ },
108
+ "zh-tw": {
109
+ "code": "zh_TW",
110
+ "name": "中文"
111
+ }
34
112
  },
35
113
  "siteRootPath": "site",
36
114
  "liveReload": {
@@ -106,5 +184,6 @@
106
184
  "datasource": "Collection",
107
185
  "pageSize": 0
108
186
  }
109
- ]
110
- }
187
+ ],
188
+ "coreTemplateVersion": "0.5.0"
189
+ }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@shift72/core-template",
3
- "version": "0.4.4",
3
+ "version": "0.5.0",
4
4
  "description": "Shift72 core template",
5
5
  "license": "MIT",
6
6
  "scripts": {
7
- "start": "npm run init && npm-run-all --parallel css:watch js:watch kibble:watch",
8
- "init": "npm-run-all css css:local:get js",
7
+ "start": "run-s -l init && run-p -l css:watch js:watch kibble:start",
8
+ "init": "run-p -l css css:local:get js",
9
9
  "css": "sass ./site/styles/main.scss ./site/static/styles/main.css --load-path=node_modules",
10
10
  "css:lint": "prettier 'site/styles/*.scss' --write && stylelint ./site/styles/*.scss --fix",
11
11
  "css:watch": "npm run css -- --watch",
@@ -13,15 +13,21 @@
13
13
  "css:local:get": "node scripts/css-local-get.js",
14
14
  "css:local:put": "node scripts/css-local-put.js",
15
15
  "js": "rollup -c",
16
- "js:lint": "prettier '{scripts,site/static/js}/**/!(modernizr-custom).js' --write && eslint ./site/static/js/*.js ./scripts --fix",
16
+ "js:lint": "prettier '{scripts,site/static/js}/**/!(modernizr-custom).*js' --write && eslint ./site/static/js/*.*js ./scripts --fix",
17
17
  "js:watch": "rollup -c -w",
18
18
  "js:build": "rollup -c",
19
19
  "kibble": "kibble render",
20
+ "kibble:start": "mkdir -p .kibble && test -n \"$npm_config_admin\" && npm run kibble:watch -- --admin || npm run kibble:watch",
20
21
  "kibble:watch": "kibble render --watch --port 8081",
21
22
  "kibble:build": "kibble publish",
22
- "build": "npm-run-all css js:build css:build kibble:build",
23
+ "build": "run-s -l css js:build css:build kibble:build",
23
24
  "language:csv": "node scripts/language-file-to-csv/language-file-to-csv.js site/en_AU.all.json",
24
- "language:validate": "node scripts/language-file-validator.js"
25
+ "language:validate": "node scripts/language-file-validator.js",
26
+ "version": "node scripts/core-template-version.js",
27
+ "prestart": "npm run version",
28
+ "prebuild": "npm run version",
29
+ "prepare": "npm run version",
30
+ "translate": "node scripts/translate.mjs"
25
31
  },
26
32
  "repository": {
27
33
  "type": "git",
@@ -47,7 +53,7 @@
47
53
  "postcss-cli": "^9.0.1",
48
54
  "rollup": "^2.23.0",
49
55
  "rollup-plugin-terser": "^6.1.0",
50
- "s72-kibble": "^0.16.4",
56
+ "s72-kibble": "^0.16.6",
51
57
  "sass": "^1.36.0"
52
58
  },
53
59
  "devDependencies": {
@@ -63,9 +69,16 @@
63
69
  "stylelint-config-prettier": "^8.0.2",
64
70
  "stylelint-config-sass-guidelines": "^8.0.0",
65
71
  "stylelint-prettier": "^1.2.0",
66
- "stylelint-scss": "^3.19.0"
72
+ "stylelint-scss": "^3.19.0",
73
+ "glob": "^7.2.0",
74
+ "node-fetch": "^3.2.3"
67
75
  },
68
76
  "eslintConfig": {
77
+ "settings": {
78
+ "jest": {
79
+ "version": 26
80
+ }
81
+ },
69
82
  "env": {
70
83
  "browser": true,
71
84
  "es6": true
@@ -0,0 +1,30 @@
1
+ const fs = require('fs');
2
+
3
+ let version, kibbleJSON;
4
+
5
+ try {
6
+ version = JSON.parse(fs.readFileSync('package.json'))['version'];
7
+ } catch(e) {
8
+ exitWithError(`Failed to parse package.json: ${e}`);
9
+ }
10
+
11
+ try {
12
+ kibbleJSON = JSON.parse(fs.readFileSync('kibble.json'));
13
+ } catch(e) {
14
+ exitWithError(`Failed to parse kibble.json: ${e}`);
15
+ }
16
+
17
+ kibbleJSON['coreTemplateVersion'] = version;
18
+
19
+ try {
20
+ fs.writeFileSync('kibble.json', JSON.stringify(kibbleJSON, null, 2));
21
+ } catch(e) {
22
+ exitWithError(`Failed to write kibble.json: ${e}`);
23
+ }
24
+
25
+ console.log(`Core-Template Version ${version} written to kibble.json`);
26
+
27
+ function exitWithError(message) {
28
+ console.error(message);
29
+ process.exit();
30
+ }
@@ -7,7 +7,7 @@ if (!fs.existsSync(outputDir)) {
7
7
 
8
8
  if (process.argv.length < 3) {
9
9
  console.error('ERROR - Language file path argument missing!');
10
- return;
10
+ process.exit();
11
11
  }
12
12
 
13
13
  let languageFilePath = process.argv[2];
@@ -15,7 +15,7 @@ let validLanguageFilePath = /site\/[a-z]{2}_[A-Z]{2}.all.json/;
15
15
 
16
16
  if (!languageFilePath.match(validLanguageFilePath)) {
17
17
  console.error(`ERROR - Language file path argument '${languageFilePath}' invalid!`);
18
- return;
18
+ process.exit();
19
19
  }
20
20
 
21
21
  let rawdata = fs.readFileSync(languageFilePath);
@@ -116,4 +116,4 @@ function testValueNotKey(translation, key) {
116
116
  console.error(`${key} - key is value.`);
117
117
  errors.push(e);
118
118
  }
119
- }
119
+ }
@@ -0,0 +1,43 @@
1
+ import fetch from 'node-fetch';
2
+ import glob from 'glob';
3
+ import * as fs from 'fs';
4
+ const key = process.argv[2];
5
+ const value = process.argv[3];
6
+ const nestedKey = process.argv[4];
7
+
8
+ if (!key || !value) {
9
+ console.log('Should be \'npm run translate key value\'');
10
+ process.exit(1);
11
+ }
12
+ glob('./site/*.json', {}, (err, files) => {
13
+ files.forEach(pathName => {
14
+ const file_content = fs.readFileSync(pathName);
15
+ const content = JSON.parse(file_content);
16
+ let languageCode = pathName.slice(7, 9);
17
+ if (languageCode == 'ee') languageCode = 'et';
18
+ fetch(
19
+ `https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=${languageCode}&dt=t&q=${encodeURI(
20
+ value
21
+ )}`
22
+ )
23
+ .then(res => {
24
+ const contentType = res.headers.get('content-type');
25
+ if (contentType && contentType.indexOf('application/json') !== -1) {
26
+ return res.json();
27
+ }
28
+ console.log(`translation failed for ${languageCode}`);
29
+ })
30
+ .then(translated => {
31
+ if (translated) {
32
+ const translatedValue = translated[0][0][0];
33
+
34
+ if (!content[key]) {
35
+ content[key] = {};
36
+ }
37
+
38
+ content[key][nestedKey ? nestedKey : 'other'] = translatedValue;
39
+ fs.writeFileSync(pathName, JSON.stringify(content, null, 2));
40
+ }
41
+ });
42
+ });
43
+ });