diff --git a/package-lock.json b/package-lock.json
index e973a06d..4764661d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -496,6 +496,11 @@
"through": ">=2.2.7 <3"
}
},
+ "abab": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg=="
+ },
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -518,6 +523,27 @@
"integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==",
"dev": true
},
+ "acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ=="
+ },
+ "acorn-walk": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz",
+ "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ=="
+ }
+ }
+ },
"acorn-jsx": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
@@ -551,7 +577,6 @@
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
"integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
- "dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -925,7 +950,6 @@
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
"requires": {
"safer-buffer": "~2.1.0"
}
@@ -971,8 +995,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assign-symbols": {
"version": "1.0.0",
@@ -1016,8 +1039,7 @@
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"atob": {
"version": "2.1.2",
@@ -1058,14 +1080,12 @@
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true
+ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
},
"bach": {
"version": "1.2.0",
@@ -1173,7 +1193,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
"requires": {
"tweetnacl": "^0.14.3"
}
@@ -2075,8 +2094,7 @@
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"caw": {
"version": "2.0.1",
@@ -2416,7 +2434,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -2591,8 +2608,7 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
"version": "5.2.1",
@@ -2861,6 +2877,26 @@
}
}
},
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ }
+ }
+ },
"cuint": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
@@ -2896,11 +2932,20 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
+ "data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "requires": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ }
+ },
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -2926,6 +2971,11 @@
"map-obj": "^1.0.0"
}
},
+ "decimal.js": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz",
+ "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw=="
+ },
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
@@ -3087,8 +3137,7 @@
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
"default-compare": {
"version": "1.0.0",
@@ -3178,8 +3227,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depd": {
"version": "1.1.2",
@@ -3344,6 +3392,21 @@
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
"dev": true
},
+ "domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "requires": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
+ }
+ }
+ },
"domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
@@ -3490,7 +3553,6 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@@ -3693,6 +3755,18 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "escodegen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
"eslint": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-6.4.0.tgz",
@@ -4023,8 +4097,7 @@
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
},
"esquery": {
"version": "1.0.1",
@@ -4047,8 +4120,7 @@
"estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
},
"estree-is-function": {
"version": "1.0.0",
@@ -4080,8 +4152,7 @@
"esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
"etag": {
"version": "1.8.1",
@@ -4275,8 +4346,7 @@
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extend-shallow": {
"version": "3.0.2",
@@ -4393,8 +4463,7 @@
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fancy-log": {
"version": "1.3.3",
@@ -4411,8 +4480,7 @@
"fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
"fast-glob": {
"version": "3.2.1",
@@ -4485,14 +4553,12 @@
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
},
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
"fast-safe-stringify": {
"version": "2.0.7",
@@ -4733,14 +4799,12 @@
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -5443,7 +5507,6 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
@@ -5966,14 +6029,12 @@
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
"requires": {
"ajv": "^6.5.5",
"har-schema": "^2.0.0"
@@ -6175,6 +6236,14 @@
"integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
"dev": true
},
+ "html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "requires": {
+ "whatwg-encoding": "^1.0.5"
+ }
+ },
"html-tags": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
@@ -6257,7 +6326,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@@ -6274,7 +6342,6 @@
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -6935,6 +7002,11 @@
"dev": true,
"optional": true
},
+ "is-potential-custom-element-name": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz",
+ "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c="
+ },
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
@@ -7011,8 +7083,7 @@
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-unc-path": {
"version": "1.0.0",
@@ -7083,8 +7154,7 @@
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"isurl": {
"version": "1.0.0",
@@ -7134,8 +7204,105 @@
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ },
+ "jsdom": {
+ "version": "16.2.2",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.2.2.tgz",
+ "integrity": "sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==",
+ "requires": {
+ "abab": "^2.0.3",
+ "acorn": "^7.1.1",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.2.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.0",
+ "domexception": "^2.0.1",
+ "escodegen": "^1.14.1",
+ "html-encoding-sniffer": "^2.0.1",
+ "is-potential-custom-element-name": "^1.0.0",
+ "nwsapi": "^2.2.0",
+ "parse5": "5.1.1",
+ "request": "^2.88.2",
+ "request-promise-native": "^1.0.8",
+ "saxes": "^5.0.0",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^3.0.1",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.0.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0",
+ "ws": "^7.2.3",
+ "xml-name-validator": "^3.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ=="
+ },
+ "ip-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "tough-cookie": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
+ "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
+ "requires": {
+ "ip-regex": "^2.1.0",
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
},
"jsesc": {
"version": "2.5.2",
@@ -7159,14 +7326,12 @@
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"json-stable-stringify": {
"version": "0.0.1",
@@ -7186,8 +7351,7 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"json5": {
"version": "2.1.1",
@@ -7223,7 +7387,6 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@@ -7322,7 +7485,6 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
"requires": {
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2"
@@ -7409,8 +7571,7 @@
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
- "dev": true
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
"lodash.get": {
"version": "4.4.2",
@@ -7436,6 +7597,11 @@
"integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
"dev": true
},
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
+ },
"lodash.unescape": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz",
@@ -7926,14 +8092,12 @@
"mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
- "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
- "dev": true
+ "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
},
"mime-types": {
"version": "2.1.24",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
- "dev": true,
"requires": {
"mime-db": "1.40.0"
}
@@ -8326,11 +8490,15 @@
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
+ "nwsapi": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="
+ },
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"object-assign": {
"version": "4.1.1",
@@ -8566,7 +8734,6 @@
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
- "dev": true,
"requires": {
"deep-is": "~0.1.3",
"fast-levenshtein": "~2.0.4",
@@ -8818,6 +8985,11 @@
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
+ "parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="
+ },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -8924,8 +9096,7 @@
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"picomatch": {
"version": "2.2.1",
@@ -9742,8 +9913,7 @@
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
},
"prepend-http": {
"version": "1.0.4",
@@ -9973,8 +10143,7 @@
"psl": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz",
- "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==",
- "dev": true
+ "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag=="
},
"public-encrypt": {
"version": "4.0.3",
@@ -10026,8 +10195,7 @@
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"q": {
"version": "1.5.1",
@@ -10038,8 +10206,7 @@
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"query-string": {
"version": "5.1.1",
@@ -10403,6 +10570,24 @@
"uuid": "^3.3.2"
}
},
+ "request-promise-core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+ "requires": {
+ "request-promise-core": "1.1.3",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ }
+ },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -10573,8 +10758,7 @@
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safe-json-parse": {
"version": "1.0.1",
@@ -10594,8 +10778,7 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sax": {
"version": "1.2.4",
@@ -10603,6 +10786,14 @@
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
},
+ "saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "requires": {
+ "xmlchars": "^2.2.0"
+ }
+ },
"scope-analyzer": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.0.5.tgz",
@@ -11071,8 +11262,7 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-resolve": {
"version": "0.5.2",
@@ -11204,7 +11394,6 @@
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -11268,6 +11457,11 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
+ },
"stream-browserify": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -12042,6 +12236,11 @@
"util.promisify": "~1.0.0"
}
},
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
"syntax-error": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
@@ -12383,12 +12582,26 @@
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
"requires": {
"psl": "^1.1.24",
"punycode": "^1.4.1"
}
},
+ "tr46": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
+ "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
+ "requires": {
+ "punycode": "^2.1.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ }
+ }
+ },
"transform-ast": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz",
@@ -12455,7 +12668,6 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
@@ -12463,8 +12675,7 @@
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"type": {
"version": "1.0.3",
@@ -12476,7 +12687,6 @@
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
"requires": {
"prelude-ls": "~1.1.2"
}
@@ -12782,7 +12992,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
"requires": {
"punycode": "^2.1.0"
},
@@ -12790,8 +12999,7 @@
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
}
}
},
@@ -12894,8 +13102,7 @@
"uuid": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
},
"v8-compile-cache": {
"version": "2.1.0",
@@ -12938,7 +13145,6 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
@@ -13175,6 +13381,34 @@
}
}
},
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ },
+ "dependencies": {
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ }
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "requires": {
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w=="
+ },
"websocket-driver": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
@@ -13192,6 +13426,36 @@
"integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
"dev": true
},
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+ },
+ "whatwg-url": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz",
+ "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==",
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^2.0.2",
+ "webidl-conversions": "^5.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
+ }
+ }
+ },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -13219,8 +13483,7 @@
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
},
"wrap-ansi": {
"version": "2.1.0",
@@ -13275,12 +13538,27 @@
"mkdirp": "^0.5.1"
}
},
+ "ws": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w=="
+ },
"x-is-string": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
"dev": true
},
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
"xmlhttprequest": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
diff --git a/package.json b/package.json
index f399a1f0..8b3759e3 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,7 @@
"gulp-vinyl-zip": "~2.2",
"handlebars": "~4.4",
"highlight.js": "~9.15",
- "jquery": "~3.4",
+ "jquery": "^3.4.1",
"js-yaml": "~3.13",
"mark.js": "~8.11",
"merge-stream": "~2.0",
@@ -57,5 +57,8 @@
"typeface-roboto-mono": "0.0.54",
"vinyl-buffer": "~1.0",
"vinyl-fs": "~3.0"
+ },
+ "dependencies": {
+ "jsdom": "^16.2.2"
}
}
diff --git a/preview-src/landing-page-core-concept.adoc b/preview-src/landing-page-core-concept.adoc
index 9aa7b1fe..961f5632 100644
--- a/preview-src/landing-page-core-concept.adoc
+++ b/preview-src/landing-page-core-concept.adoc
@@ -1,4 +1,4 @@
-= Couchbase Tutorials
+= Couchbase Core Concept
:page-layout: landing-page-core-concept
:page-role: tiles
:!sectids:
\ No newline at end of file
diff --git a/preview-src/landing-page-sdk.adoc b/preview-src/landing-page-sdk.adoc
new file mode 100644
index 00000000..d8a04df2
--- /dev/null
+++ b/preview-src/landing-page-sdk.adoc
@@ -0,0 +1,4 @@
+= Couchbase SDK
+:page-layout: landing-page-sdk
+:page-role: tiles
+:!sectids:
\ No newline at end of file
diff --git a/preview-src/landing-page-tutorials.adoc b/preview-src/landing-page-tutorials.adoc
new file mode 100644
index 00000000..8a969233
--- /dev/null
+++ b/preview-src/landing-page-tutorials.adoc
@@ -0,0 +1,264 @@
+= Couchbase Tutorials
+:page-layout: landing-page-tutorials
+:page-role: tiles
+:!sectids:
+
+
+[.column]
+[.data-filter-column]
+====== {empty}
+++++
+
+
Lorem ipsum
+
+
+
+Advanced
+
Developer
+
+
+++++
+[.content]
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan mi a ligula imperdiet, et cursus lectus bibendum. Etiam metus magna, dapibus vitae ipsum vel, sollicitudin interdum metus. Phasellus quis rutrum enim. Vivamus euismod sem nec posuere accumsan. Praesent elementum lectus vitae magna pellentesque, a facilisis risus pulvinar. Donec scelerisque porttitor aliquet.
+
+++++
+
+++++
+
+[.box]
+[.link]
+
+* xref:#[Lorem ipsum]
+* xref:#[Lorem ipsum]
+* xref:#[Lorem ipsum]
+
+[.box]
+[.component]
+
+.Component
+* Lorem ipsum
+* Lorem ipsum
+* Lorem ipsum
+
+[.box]
+[.languages]
+
+.Languages
+* Java
+* Swift
+* Javascript
+
+++++
+
+++++
+
+
+
+[.column]
+[.data-filter-column]
+====== {empty}
+++++
+
+
Lorem ipsum
+
+
+
+ Intermediate
+
DevOps
+
+
+++++
+[.content]
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan mi a ligula imperdiet, et cursus lectus bibendum. Etiam metus magna, dapibus vitae ipsum vel, sollicitudin interdum metus. Phasellus quis rutrum enim. Vivamus euismod sem nec posuere accumsan. Praesent elementum lectus vitae magna pellentesque, a facilisis risus pulvinar. Donec scelerisque porttitor aliquet.
+
+++++
+
+++++
+
+[.box]
+
+* xref:#[Lorem ipsum]
+* xref:#[Lorem ipsum]
+
+
+[.box]
+.Component
+* Lorem ipsum
+
+[.box]
+.Languages
+* C#
+* Node
+* Python
+
+++++
+
+++++
+
+[.column]
+[.data-filter-column]
+====== {empty}
+++++
+
+
Lorem ipsum
+
+
+
+ Intermediate
+
Developer
+
+
+++++
+[.content]
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan mi a ligula imperdiet, et cursus lectus bibendum. Etiam metus magna, dapibus vitae ipsum vel, sollicitudin interdum metus. Phasellus quis rutrum enim. Vivamus euismod sem nec posuere accumsan. Praesent elementum lectus vitae magna pellentesque, a facilisis risus pulvinar. Donec scelerisque porttitor aliquet.
+
+++++
+
+++++
+
+[.box]
+
+* xref:#[Lorem ipsum]
+* xref:#[Lorem ipsum]
+
+
+[.box]
+.Component
+* Lorem ipsum
+* Lorem ipsum
+
+[.box]
+.Languages
+* .NET
+
+++++
+
+++++
+
+[.column]
+[.data-filter-column]
+====== {empty}
+++++
+
+
Lorem ipsum
+
+
+
+ Beginner
+
Architect
+
+
+++++
+[.content]
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan mi a ligula imperdiet, et cursus lectus bibendum. Etiam metus magna, dapibus vitae ipsum vel, sollicitudin interdum metus. Phasellus quis rutrum enim. Vivamus euismod sem nec posuere accumsan. Praesent elementum lectus vitae magna pellentesque, a facilisis risus pulvinar. Donec scelerisque porttitor aliquet.
+
+++++
+
+++++
+
+[.box]
+
+* xref:#[Lorem ipsum]
+
+[.box]
+.Component
+* Lorem ipsum
+* Lorem ipsum
+* Lorem ipsum
+
+[.box]
+.Languages
+* AsciiDoc
+* Java
+* PHP
+
+++++
+
+++++
+
+[.column]
+[.data-filter-column]
+====== {empty}
+++++
+
+
Lorem ipsum
+
+
+
+ Intermediate
+
Developer
+
+
+++++
+[.content]
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan mi a ligula imperdiet, et cursus lectus bibendum. Etiam metus magna, dapibus vitae ipsum vel, sollicitudin interdum metus. Phasellus quis rutrum enim. Vivamus euismod sem nec posuere accumsan. Praesent elementum lectus vitae magna pellentesque, a facilisis risus pulvinar. Donec scelerisque porttitor aliquet.
+
+++++
+
+++++
+
+[.box]
+
+* xref:#[Lorem ipsum]
+* xref:#[Lorem ipsum]
+
+[.box]
+.Component
+* Lorem ipsum
+* Lorem ipsum
+* Lorem ipsum
+
+[.box]
+.Languages
+* React
+
+++++
+
+++++
+
+[.column]
+[.data-filter-column]
+====== {empty}
+++++
+
+
Lorem ipsum
+
+
+
+ Advanced
+
Architect
+
+
+++++
+[.content]
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras accumsan mi a ligula imperdiet, et cursus lectus bibendum. Etiam metus magna, dapibus vitae ipsum vel, sollicitudin interdum metus. Phasellus quis rutrum enim. Vivamus euismod sem nec posuere accumsan. Praesent elementum lectus vitae magna pellentesque, a facilisis risus pulvinar. Donec scelerisque porttitor aliquet.
+
+++++
+
+++++
+
+[.box]
+
+* xref:#[Lorem ipsum]
+
+[.box]
+.Component
+* Lorem ipsum
+* Lorem ipsum
+* Lorem ipsum
+
+[.box]
+.Languages
+* Angular
+* React
+* Vue
+
+++++
+
+++++
\ No newline at end of file
diff --git a/preview-src/landing-page.adoc b/preview-src/landing-page.adoc
index 65c2775c..2f89c1d8 100644
--- a/preview-src/landing-page.adoc
+++ b/preview-src/landing-page.adoc
@@ -1,4 +1,4 @@
-= Couchbase Tutorials
+= Couchbase Adoc
:page-layout: landing-page
:page-role: tiles
:!sectids:
\ No newline at end of file
diff --git a/src/css/body.css b/src/css/body.css
index 88058829..88de87fe 100644
--- a/src/css/body.css
+++ b/src/css/body.css
@@ -3,7 +3,8 @@ div.body {
display: flex;
margin-top: var(--height-to-body);
/* overflow-wrap: break-word; */
- word-wrap: break-word; /* IE only supports word-wrap, which is an alias of overflow-wrap */
+ word-wrap: break-word;
+ /* IE only supports word-wrap, which is an alias of overflow-wrap */
}
/* A selector that could possibly be re-used */
@@ -55,3 +56,9 @@ aside.toc.sidebar {
display: block;
}
}
+
+@media screen and (max-width: 767px) {
+ div.body {
+ margin-top: 5rem;
+ }
+}
diff --git a/src/css/doc.css b/src/css/doc.css
index 3cdcd916..327ef0e5 100644
--- a/src/css/doc.css
+++ b/src/css/doc.css
@@ -8,7 +8,7 @@
.doc h4,
.doc h5,
.doc h6 {
- font-weight: var(--weight-medium);
+ font-weight: var(--weight-semibold);
letter-spacing: -0.025rem;
line-height: 1.2;
margin: 1.5rem 0 -0.25rem;
@@ -27,7 +27,7 @@
}
.doc h2 {
- font-size: 1.875rem;
+ font-size: 2rem;
margin: 2.25rem 0 2.5rem;
max-width: fit-content;
/* NOTE used to restrict width of key line */
diff --git a/src/css/is-this-helpful.css b/src/css/is-this-helpful.css
index 5efe8337..d9191344 100644
--- a/src/css/is-this-helpful.css
+++ b/src/css/is-this-helpful.css
@@ -21,14 +21,14 @@
margin: 15px 0;
}
-.is-this-helpful-box .btn-row .helpfull-btn {
+.is-this-helpful-box .btn-row .helpful-btn {
font-size: 0.875rem;
line-height: 1.125rem;
color: var(--color-brand-gray4);
}
-.is-this-helpful-box .btn-row .helpfull-btn:hover,
-.is-this-helpful-box .btn-row .helpfull-btn.active {
+.is-this-helpful-box .btn-row .helpful-btn:hover,
+.is-this-helpful-box .btn-row .helpful-btn.active {
color: var(--color-brand-blue);
text-decoration: none;
}
@@ -44,7 +44,7 @@
border-radius: 5px;
border: 1px solid var(--color-brand-gray5);
resize: vertical;
- font-size: 1rem;
+ font-size: 0.875rem;
color: var(--color-brand-gray4);
font-family: "Source Sans Pro", sans-serif;
}
@@ -98,6 +98,17 @@
color: var(--color-brand-blue);
}
+.toc .any-feedback a {
+ font-size: 0.875rem;
+ line-height: 20px;
+ text-decoration: none;
+ color: var(--color-brand-blue);
+ font-weight: var(--weight-normal);
+ margin-bottom: 15px;
+ display: inline-block;
+ width: 100%;
+}
+
.is-this-helpful-box .action-btn-row .info-btn {
font-size: 0.75rem;
line-height: 0.75rem;
diff --git a/src/css/landing-page.css b/src/css/landing-page.css
index 20f3e0a8..3ac7f12d 100644
--- a/src/css/landing-page.css
+++ b/src/css/landing-page.css
@@ -4,37 +4,84 @@
color: var(--color-brand-gray1);
font-size: 2.5rem;
font-weight: var(--weight-semibold);
+ margin-bottom: 15px;
+}
+
+.doc.landing-page-doc .text-color-brand-blue {
+ color: var(--color-brand-blue);
}
.doc.landing-page-doc p {
font-size: 1rem;
- color: var(--color-brand-gray1);
+ color: var(--color-brand-black);
+ font-family: "Open Sans", sans-serif;
}
.card-row {
display: flex;
flex-direction: row;
- justify-content: flex-start;
+ /* justify-content: space-between; */
flex-wrap: wrap;
- margin-bottom: 30px;
+ margin-bottom: 0;
+}
+
+.doc.landing-page-doc .heading {
+ margin-bottom: 16px;
+ width: 100%;
}
.doc.landing-page-doc .sub-heading {
- margin-bottom: 30px;
+ margin-bottom: 8px;
+ width: 100%;
+}
+
+.doc.landing-page-doc .sub-heading.two-column-heading {
+ /* display: flex;
+ justify-content: space-between;
+ align-items: center;
+ flex-wrap: wrap; */
+ display: block;
+}
+
+.doc.landing-page-doc .filter-info h5 {
+ display: inline-block;
+ margin-right: 16px;
+ margin-top: 0;
+ font-weight: var(--weight-normal);
+ font-family: "Open Sans", sans-serif;
+ color: var(--color-brand-black);
+}
+
+.doc.landing-page-doc .filter-info h5 .fas,
+.doc.landing-page-doc .filter-info h5 img {
+ margin-right: 8px;
+}
+
+.doc.landing-page-doc .filter-info {
+ margin-top: 15px;
+ margin-bottom: 10px;
+ display: inline-block;
width: 100%;
}
+.doc.landing-page-doc .filter-info span {
+ color: var(--color-brand-light-blue);
+ border-radius: 8px;
+ border: 1px solid var(--color-brand-light-blue);
+ padding: 6px 10px;
+}
+
.card-row .column {
- max-width: 48%;
- /* flex-basis: 48%; */
- margin-bottom: 35px;
+ max-width: 50%;
+ flex-basis: 50%;
+ margin-bottom: 25px;
}
.card-row.three-column-row .column {
flex-basis: 25%;
}
-.card-row .column + .column {
+.card-row .three-column-row + .column {
padding-left: 5%;
}
@@ -45,16 +92,48 @@
.doc.landing-page-doc h3 {
font-size: 1.5rem;
line-height: 130%;
- color: var(--color-brand-gray4);
+ color: var(--color-brand-black);
margin: 0;
}
+.doc.landing-page-doc .text-color-brand-blue-secondary {
+ color: var(--color-brand-blue-secondary);
+}
+
+.doc.landing-page-doc .other-info-list {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.doc.landing-page-doc .other-info-list .box {
+ padding-right: 40px;
+}
+
+.doc.landing-page-doc .other-info-list .box:last-child {
+ padding-right: 0;
+}
+
+.doc.landing-page-doc .box h5,
+.doc.landing-page-doc .box .title {
+ margin: 0 0 16px;
+ font-family: "Open Sans", sans-serif;
+ font-size: 1rem;
+ font-weight: var(--weight-semibold);
+ color: var(--color-brand-black);
+}
+
.doc.landing-page-doc figure {
margin-bottom: 0;
}
.doc.landing-page-doc .media-left {
- margin-left: 30px;
+ margin-left: 40px;
+ width: 100px;
+ margin-top: 0;
+}
+
+.doc.landing-page-doc .paragraph {
+ margin-top: 0;
}
.doc.landing-page-doc img {
@@ -63,13 +142,15 @@
.doc.landing-page-doc ul {
padding: 0;
- margin-top: 30px;
+ /* margin-top: 30px; */
}
.doc.landing-page-doc ul li {
list-style: none;
- margin-bottom: 8px;
+ margin: 0 0 8px;
font-size: 1rem;
+ font-family: "Open Sans", sans-serif;
+ color: var(--color-brand-black);
}
.doc.landing-page-doc ul li a {
@@ -88,22 +169,245 @@
margin-bottom: 15px;
}
-.doc.landing-page-doc h4 {
- font-size: 1.125rem;
- margin: 0;
- color: var(--color-brand-gray4);
-}
-
.doc.landing-page-doc h2 {
margin: 0;
+ color: var(--color-brand-black);
}
.doc.landing-page-doc h2::after {
content: none;
}
+.card-row .column .content {
+ margin-bottom: 16px;
+ display: inline-block;
+ width: 100%;
+}
+
+.card-row .column .content p {
+ text-align: justify;
+}
+
+.card-row.two-column-row .column:not(.data-filter-column):nth-child(odd) {
+ padding-right: 40px;
+}
+
+.card-row.two-column-row .column:not(.data-filter-column):nth-child(even) {
+ padding-left: 40px;
+}
+
+.card-row.two-column-row .column.data-filter-column.even {
+ padding-left: 40px;
+}
+
+.card-row.two-column-row .column.data-filter-column.odd {
+ padding-right: 40px;
+}
+
+.card-row.two-column-row .column.data-filter-column.hide {
+ display: none;
+}
+
+.hide {
+ display: none;
+}
+
+/* .card-row.two-column-row .column:nth-child(even) {
+ padding-left: 5%;
+} */
+
+.doc.landing-page-doc iframe {
+ width: 100%;
+ height: 315px;
+}
+
+/* CSS for nav filter */
+.nav.tutorials-filter .nav-menu {
+ top: calc(0.91rem + var(--height-navbar));
+ padding: 20px;
+ background: var(--color-brand-gray7);
+}
+
+.nav.tutorials-filter .heading {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.nav.tutorials-filter .heading h3 {
+ margin: 0;
+}
+
+.nav.tutorials-filter .heading a {
+ text-decoration: none;
+}
+
+.nav.tutorials-filter .heading img {
+ margin-left: 8px;
+}
+
+.nav.tutorials-filter ul.nav-list {
+ padding-left: 30px;
+}
+
+.nav.tutorials-filter ul li {
+ margin-bottom: 16px;
+}
+
+.nav.tutorials-filter ul li a {
+ font-size: 1rem;
+ line-height: 22px;
+ color: var(--color-brand-black);
+ font-family: "Open Sans", sans-serif;
+ display: flex;
+ align-items: center;
+ text-decoration: none;
+}
+
+.nav.tutorials-filter ul li a:hover {
+ color: var(--color-brand-blue);
+}
+
+.nav.tutorials-filter ul li a.active .arrow.arrow-right {
+ transform: rotate(90deg);
+}
+
+.nav.tutorials-filter .arrow {
+ display: inline-block;
+ margin-right: 16px;
+}
+
+.nav.tutorials-filter .arrow-down {
+ width: 0;
+ height: 0;
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ border-top: 8px solid var(--color-brand-gray5);
+}
+
+.nav.tutorials-filter .arrow-right {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ border-top: 8px solid transparent;
+ border-bottom: 8px solid transparent;
+ border-left: 8px solid var(--color-brand-gray5);
+}
+
+.nav.tutorials-filter .sub-menu {
+ margin-top: 20px;
+ padding-left: 28px;
+ display: none;
+}
+
+.nav.tutorials-filter .sub-menu li {
+ list-style: none;
+}
+
+/* checkbox css */
+
+/* Base for label styling */
+.nav.tutorials-filter [type="checkbox"]:not(:checked),
+.nav.tutorials-filter [type="checkbox"]:checked {
+ position: absolute;
+ left: -9999px;
+}
+
+.nav.tutorials-filter [type="checkbox"]:not(:checked) + label,
+.nav.tutorials-filter [type="checkbox"]:checked + label {
+ position: relative;
+ padding-left: 1.5em;
+ cursor: pointer;
+}
+
+/* checkbox aspect */
+.nav.tutorials-filter [type="checkbox"]:not(:checked) + label::before,
+.nav.tutorials-filter [type="checkbox"]:checked + label::before {
+ content: "";
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 1.15em;
+ height: 1.15em;
+ border: 0.5px solid #707070;
+ background: #fff;
+ border-radius: 2px;
+}
+/* checked mark aspect */
+.nav.tutorials-filter [type="checkbox"]:not(:checked) + label::after,
+.nav.tutorials-filter [type="checkbox"]:checked + label::after {
+ content: "\2713\0020";
+ position: absolute;
+ top: 4px;
+ left: 4px;
+ font-size: 0.875rem;
+ line-height: 0.8;
+ color: var(--color-brand-blue);
+ transition: all 0.2s;
+}
+/* checked mark aspect changes */
+.nav.tutorials-filter [type="checkbox"]:not(:checked) + label::after {
+ opacity: 0;
+ transform: scale(0);
+}
+
+.nav.tutorials-filter [type="checkbox"]:checked + label::after,
+.nav.tutorials-filter .active[type="checkbox"] + label::after {
+ opacity: 1;
+ transform: scale(1);
+}
+/* disabled checkbox */
+.nav.tutorials-filter [type="checkbox"]:disabled:not(:checked) + label::before,
+.nav.tutorials-filter [type="checkbox"]:disabled:checked + label::before {
+ box-shadow: none;
+ border-color: #bbb;
+ background-color: #ddd;
+}
+
+.nav.tutorials-filter [type="checkbox"]:disabled:checked + label::after {
+ color: #999;
+}
+
+.nav.tutorials-filter [type="checkbox"]:disabled + label {
+ color: #aaa;
+}
+/* accessibility */
+/* .nav.tutorials-filter [type="checkbox"]:checked:focus + label:before,
+.nav.tutorials-filter [type="checkbox"]:not(:checked):focus + label:before {
+ border: 2px solid var(--color-brand-blue);
+} */
+
+/* hover style just for information */
+.nav.tutorials-filter label:hover::before {
+ border: 2px solid var(--color-brand-blue);
+ outline: none;
+}
+
+.nav.tutorials-filter label,
+.nav.tutorials-filter label:focus,
+.nav.tutorials-filter label:active,
+.nav.tutorials-filter label::before,
+.nav.tutorials-filter label::after {
+ outline: none;
+ outline-width: 0;
+}
+
/* Responsive CSS */
+@media screen and (max-width: 1169px) {
+ .card-row.three-column-row .column {
+ flex-basis: 33%;
+ }
+
+ .nav.tutorials-filter {
+ width: 16rem;
+ }
+
+ .doc.landing-page-doc .sub-heading.two-column-heading .filter-info {
+ margin-top: 15px;
+ }
+}
+
@media screen and (max-width: 767px) {
.card-row .column,
.card-row.three-column-row .column {
@@ -111,10 +415,14 @@
max-width: 100%;
}
- .card-row {
+ .card-row .column {
margin-bottom: 15px;
}
+ .card-row {
+ margin-bottom: 0;
+ }
+
.doc.landing-page-doc .media-left {
margin-left: 0;
}
@@ -130,4 +438,18 @@
.card-row.border-column-row .column + .column {
border-left: 0;
}
+
+ .card-row.two-column-row .column.data-filter-column.even,
+ .card-row.two-column-row .column.data-filter-column.odd {
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ .card-row.two-column-row .column:nth-child(odd),
+ .card-row.two-column-row .column:nth-child(even),
+ .card-row.two-column-row .column:not(.data-filter-column):nth-child(even),
+ .card-row.two-column-row .column:not(.data-filter-column):nth-child(odd) {
+ padding-left: 0;
+ padding-right: 0;
+ }
}
diff --git a/src/css/main.css b/src/css/main.css
index e0ee1bbf..a240668a 100644
--- a/src/css/main.css
+++ b/src/css/main.css
@@ -97,6 +97,11 @@ main p {
min-width: 0;
}
+/* color css */
+.text-color-brand-blue {
+ color: var(--color-brand-blue);
+}
+
@media screen and (min-width: 769px) {
main.article {
padding-right: var(--width-main-gutter);
@@ -117,3 +122,9 @@ main p {
align-items: flex-start;
}
}
+
+@media screen and (max-width: 767px) {
+ .main {
+ padding-bottom: 2rem;
+ }
+}
diff --git a/src/css/site.css b/src/css/site.css
index 286d8a0f..e181dd63 100644
--- a/src/css/site.css
+++ b/src/css/site.css
@@ -1,4 +1,5 @@
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700&display=swap");
+@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');
@import "common.css";
@import "typeface-gotham.css";
@import "typeface-roboto-mono.css";
diff --git a/src/css/vars.css b/src/css/vars.css
index 748a273d..d3221689 100644
--- a/src/css/vars.css
+++ b/src/css/vars.css
@@ -30,7 +30,7 @@
--color-brand-gray7: #f9f9f9;
/* --color-brand-silver: #ccc; */
--color-brand-silver: #c1c1c1;
- /* --color-brand-blue: #0074e0; */
+ --color-brand-blue-secondary: #0074e0;
--color-brand-blue-tint: #d9eafb;
--color-brand-orange: #fc9c0c;
--color-brand-orange-tint: #fff0da;
@@ -46,12 +46,13 @@
--color-navbar-text: var(--color-brand-white);
--color-footer-bg: var(--color-brand-black);
--color-footer-text: var(--color-brand-white);
- --height-spacer: 1.3rem;
+
/* --height-navbar: 4rem; */
+ --height-spacer: 1.3rem;
--height-navbar: 6.09rem;
--height-to-body: calc(var(--height-navbar) + var(--height-spacer));
--height-min-body: calc(100vh - var(--height-to-body));
- --height-nav: calc(var(--height-min-body) - var(--height-spacer));
+ --height-nav: calc(var(--height-min-body) + var(--height-spacer));
--labels-font-size: 0.75rem;
--labels-line-height: 1;
/* --width-main-gutter: 1.5rem; */
@@ -61,11 +62,13 @@
--width-container-gutter: 1.25rem;
--width-nav: 20rem;
--width-toc: 12rem;
+ /* Font weight */
--weight-light: 300;
--weight-normal: 400;
--weight-medium: 500;
--weight-semibold: 600;
--weight-bold: 700;
+ /* Z-index */
--z-index-feedback: 7;
--z-index-nav-mobile: 6;
--z-index-navbar-dropdown-link: 5;
diff --git a/src/img/landing-page-icon/Intermediate-icon.svg b/src/img/landing-page-icon/Intermediate-icon.svg
new file mode 100644
index 00000000..304bd102
--- /dev/null
+++ b/src/img/landing-page-icon/Intermediate-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/img/landing-page-icon/advanced-icon.svg b/src/img/landing-page-icon/advanced-icon.svg
new file mode 100644
index 00000000..be5bac03
--- /dev/null
+++ b/src/img/landing-page-icon/advanced-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/img/landing-page-icon/beginner-icon.svg b/src/img/landing-page-icon/beginner-icon.svg
new file mode 100644
index 00000000..903bf145
--- /dev/null
+++ b/src/img/landing-page-icon/beginner-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/img/landing-page-icon/book-reader-icon.svg b/src/img/landing-page-icon/book-reader-icon.svg
new file mode 100644
index 00000000..8323fbe8
--- /dev/null
+++ b/src/img/landing-page-icon/book-reader-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/img/landing-page-icon/clear-icon.svg b/src/img/landing-page-icon/clear-icon.svg
new file mode 100644
index 00000000..f9fe0e69
--- /dev/null
+++ b/src/img/landing-page-icon/clear-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/img/landing-page-icon/sdk-icon.svg b/src/img/landing-page-icon/sdk-icon.svg
new file mode 100644
index 00000000..c515c8ea
--- /dev/null
+++ b/src/img/landing-page-icon/sdk-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/js/01-nav.js b/src/js/01-nav.js
index cd878c29..46633f03 100644
--- a/src/js/01-nav.js
+++ b/src/js/01-nav.js
@@ -1,4 +1,4 @@
-;(function () {
+; (function () {
'use strict'
var nav = document.querySelector('nav.nav')
@@ -64,18 +64,30 @@
// var reclaimedHeight = availableHeight - encroachingElement.getBoundingClientRect().top
// navMenu.element.style.height = reclaimedHeight > 0 ? Math.max(0, preferredHeight - reclaimedHeight) + 'px' : ''
// }
- var navMenuControl = document.querySelector('.main-nav-parent')
- // var navWrap = document.querySelector('.currentNav-wrap')
-
- navMenuControl.addEventListener('click', function () {
- // navWrap.style.display = 'none'
- for (var i = 0; i < navItems.length; i++) {
- navItems[i].classList.remove('is-active')
- navItems[i].classList.remove('is-inactive')
- }
- this.style.display = 'none'
- })
+ // var navMenuControl = document.querySelector('.main-nav-parent')
+ // // var navWrap = document.querySelector('.currentNav-wrap')
+ // navMenuControl.addEventListener('click', function () {
+ // // navWrap.style.display = 'none'
+ // for (var i = 0; i < navItems.length; i++) {
+ // navItems[i].classList.remove('is-active')
+ // navItems[i].classList.remove('is-inactive')
+ // }
+ // this.style.display = 'none'
+ // })
+
+ var navMenuControl
+ if (document.querySelector('.main-nav-parent')) {
+ navMenuControl = document.querySelector('.main-nav-parent')
+ navMenuControl.addEventListener('click', function () {
+ // navWrap.style.display = 'none'
+ for (var i = 0; i < navItems.length; i++) {
+ navItems[i].classList.remove('is-active')
+ navItems[i].classList.remove('is-inactive')
+ }
+ this.style.display = 'none'
+ })
+ }
// Toggle class
function toggleActive (e) {
if (this.getAttribute('data-depth') === '1') {
@@ -88,21 +100,7 @@
this.classList.toggle('is-active')
}
- // function addActive (e) {
- // removeClasses(e)
- // this.classList.add('is-active')
- // concealEvent(e)
- // }
-
var navItems = document.querySelectorAll('.nav .nav-item')
-
- // function removeClasses (e) {
- // for (var i = 0; i < navItems.length; i++) {
- // navItems[i].classList.remove('is-active')
- // }
- // concealEvent(e)
- // }
-
function revealNav (e) {
if (nav.classList.contains('is-active')) return hideNav(e)
document.documentElement.classList.add('is-clipped--nav')
diff --git a/src/js/06-page-rating.js b/src/js/06-page-rating.js
index 76d4d100..1aa90708 100644
--- a/src/js/06-page-rating.js
+++ b/src/js/06-page-rating.js
@@ -1,62 +1,65 @@
-;(function () {
+;
+(function () {
'use strict'
-
var dialogBox = document.getElementById('dialogBox')
var helpYesBtn = document.getElementById('yesBtn')
var helpNoBtn = document.getElementById('noBtn')
var skipBtnMsg = document.getElementById('skipBtnMsg')
var feedBackFormBox = document.getElementById('additionalFeedbackBox')
- var leaveAddtinalBox = document.getElementById('leaveAddtinalBox')
- var skipLeaveBtn = document.getElementById('skipLeaveBtn')
+ // var leaveAddtinalBox = document.getElementById('leaveAddtinalBox')
+ // var skipLeaveBtn = document.getElementById('skipLeaveBtn')
var feedBackMsg = document.querySelector('.feed-back-msg')
var submitBtn = document.querySelector('.submit-btn')
- var leaveYesBtn = document.querySelector('.yes-btn')
+ // var leaveYesBtn = document.querySelector('.yes-btn')
var feedbackInfoBtn = document.querySelector('.info-btn')
var feedbackModal = document.querySelector('.feedback-modal')
var closeModalPopup = document.querySelector('.close-popup')
+ var anyFeedbackBtn = document.querySelector('.any-feedback-btn')
// for config
- var yesBtnData = helpYesBtn.dataset
- var noBtnData = helpNoBtn.dataset
- helpYesBtn.addEventListener('click', function (e) {
- dialogBox.style.display = 'block'
- this.classList.add('active')
- helpNoBtn.classList.remove('active')
- console.log(yesBtnData, 16)
- })
- helpNoBtn.addEventListener('click', function (e) {
- dialogBox.style.display = 'block'
- this.classList.add('active')
- helpYesBtn.classList.remove('active')
- console.log(noBtnData, 27)
- })
+ if (document.querySelector('.is-this-helpful-box')) {
+ var yesBtnData = helpYesBtn.dataset
+ var noBtnData = helpNoBtn.dataset
+ helpYesBtn.addEventListener('click', function (e) {
+ // dialogBox.style.display = 'block'
+ this.classList.add('active')
+ helpNoBtn.classList.remove('active')
+ console.log(yesBtnData, 16)
+ })
+
+ helpNoBtn.addEventListener('click', function (e) {
+ // dialogBox.style.display = 'block'
+ this.classList.add('active')
+ helpYesBtn.classList.remove('active')
+ console.log(noBtnData, 27)
+ })
+ anyFeedbackBtn.addEventListener('click', function (e) {
+ e.preventDefault()
+ dialogBox.style.display = 'block'
+ feedBackFormBox.style.display = 'block'
+ this.classList.add('active')
+ })
- skipBtnMsg.addEventListener('click', function (e) {
- feedBackFormBox.style.display = 'none'
- leaveAddtinalBox.style.display = 'block'
- })
- skipLeaveBtn.addEventListener('click', function (e) {
- leaveAddtinalBox.style.display = 'none'
- feedBackFormBox.style.display = 'block'
- })
+ skipBtnMsg.addEventListener('click', function (e) {
+ dialogBox.style.display = 'none'
+ feedBackMsg.value = ''
+ })
- feedBackMsg.addEventListener('keyup', function (e) {
- var textareaValue = this.value
+ feedBackMsg.addEventListener('keyup', function (e) {
+ var textareaValue = this.value
- if (textareaValue !== '') {
- submitBtn.classList.remove('disabled')
- } else {
- submitBtn.classList.add('disabled')
- }
- })
- leaveYesBtn.addEventListener('click', function (e) {
- leaveAddtinalBox.style.display = 'none'
- })
- feedbackInfoBtn.addEventListener('click', function (e) {
- feedbackModal.classList.add('show')
- })
+ if (textareaValue !== '') {
+ submitBtn.classList.remove('disabled')
+ } else {
+ submitBtn.classList.add('disabled')
+ }
+ })
+ feedbackInfoBtn.addEventListener('click', function (e) {
+ feedbackModal.classList.add('show')
+ })
- closeModalPopup.addEventListener('click', function (e) {
- feedbackModal.classList.remove('show')
- })
+ closeModalPopup.addEventListener('click', function (e) {
+ feedbackModal.classList.remove('show')
+ })
+ }
})()
diff --git a/src/js/08-table-responsive.js b/src/js/09-table-responsive.js
similarity index 100%
rename from src/js/08-table-responsive.js
rename to src/js/09-table-responsive.js
diff --git a/src/js/10-landing-page-nav.js b/src/js/10-landing-page-nav.js
new file mode 100644
index 00000000..09b95ae1
--- /dev/null
+++ b/src/js/10-landing-page-nav.js
@@ -0,0 +1,85 @@
+(function ($) {
+ 'use strict'
+ // for slide toggle
+ $('.nav-link').click(function () {
+ $(this).toggleClass('active')
+ $(this).next('.sub-menu').slideToggle(10)
+ })
+ // add class even odd
+ var $allData = $('.data-filter-column')
+ for (var i = 0; i < $allData.length; i++) {
+ console.log(i, 445, $allData[i])
+ if ((i % 2) === 1) {
+ $allData[i].classList.add('even')
+ } else {
+ $allData[i].classList.add('odd')
+ }
+ }
+
+ // for filter menu
+ var $filterMenuCheckboxes = $('input[type="checkbox"]')
+ $filterMenuCheckboxes.on('change', function () {
+ var selectedFiltersData = {}
+ $filterMenuCheckboxes.filter(':checked').each(function () {
+ if (!Object.prototype.hasOwnProperty.call(selectedFiltersData, this.name)) {
+ selectedFiltersData[this.name] = []
+ }
+ // console.log(selectedFiltersData, 27)
+ selectedFiltersData[this.name].push(this.value.toLowerCase())
+ })
+ // create a collection containing all of the filterable elements
+ var $filteredResultsData = $('.data-filter-column')
+ // loop over the selected filter name -> (array) values pairs
+ $filteredResultsData.removeClass('even')
+ $filteredResultsData.removeClass('odd')
+ $.each(selectedFiltersData, function (name, filterValues) {
+ // filter each .data-filter-column element
+ $filteredResultsData = $filteredResultsData.filter(function () {
+ var matched = false
+ var currentFilterValues = $(this).find('.sub-heading').data('category').toLowerCase().split(' ')
+
+ $.each(currentFilterValues, function (_, currentFilterValue) {
+ // console.log('enter', currentFilterValues, currentFilterValue)
+ if ($.inArray(currentFilterValue, filterValues) !== -1) {
+ console.log('true', currentFilterValue, filterValues)
+ matched = true
+ return false
+ }
+ })
+ // if matched is true the current .data-filter-column element is returned
+ return matched
+ })
+ })
+
+ $('.data-filter-column').addClass('hide').filter($filteredResultsData).addClass('show').removeClass('hide')
+ // add class for data-filter-column
+ for (var i = 0; i < $filteredResultsData.length; i++) {
+ console.log(i, 445, $filteredResultsData[i])
+ if ((i % 2) === 1) {
+ $filteredResultsData[i].classList.add('even')
+ } else {
+ $filteredResultsData[i].classList.add('odd')
+ }
+ }
+ // reset all check mark
+ $('#clearALLBtn').click(function (event) {
+ selectedFiltersData = []
+ $('.data-filter-column').removeClass('hide').removeClass('show').removeClass('odd').removeClass('even')
+ var inputs = $('.check-mark')
+ for (var j = 0; j < inputs.length; j++) {
+ inputs[j].checked = false
+ }
+ for (var i = 0; i < $allData.length; i++) {
+ console.log(i, 445, $allData[i])
+ // $allData[i].classList.remove('even')
+ // $allData[i].classList.remove('odd')
+ if ((i % 2) === 1) {
+ $allData[i].classList.add('even')
+ } else {
+ $allData[i].classList.add('odd')
+ }
+ }
+ })
+ })
+ /*eslint-env jquery*/
+})(jQuery)
diff --git a/src/layouts/landing-page-sdk.hbs b/src/layouts/landing-page-sdk.hbs
new file mode 100644
index 00000000..df716414
--- /dev/null
+++ b/src/layouts/landing-page-sdk.hbs
@@ -0,0 +1,13 @@
+
+
+
+{{> head-first}}
+ {{{detag (or page.title 'landing page')}}}{{#if site.title}} | {{{site.title}}}{{/if}}
+{{> head-last}}
+
+
+{{> header}}
+{{> body-landing-sdk}}
+{{> footer}}
+
+
diff --git a/src/layouts/landing-page-tutorials.hbs b/src/layouts/landing-page-tutorials.hbs
new file mode 100644
index 00000000..2e78452c
--- /dev/null
+++ b/src/layouts/landing-page-tutorials.hbs
@@ -0,0 +1,16 @@
+
+
+
+{{> head-first}}
+ {{{detag (or page.title 'landing page')}}}{{#if site.title}} | {{{site.title}}}{{/if}}
+{{> head-last}}
+
+
+ {{> header}}
+
+ {{> tutorials-filter}}
+ {{> body-landing-tutorials}}
+
+ {{> footer}}
+
+
diff --git a/src/partials/body-landing-core-concept.hbs b/src/partials/body-landing-core-concept.hbs
index dd0ded93..29bd5672 100644
--- a/src/partials/body-landing-core-concept.hbs
+++ b/src/partials/body-landing-core-concept.hbs
@@ -19,82 +19,146 @@
-
+
Install and Deploy
-
+
-
Before You Begin
+ Before You Begin
-
Installation
+ Installation
-
Deployment
+ Deployment
-
+
Learn
-
+
-
Buckets and Storage
+ Buckets and Storage
-
+
+
+
+
Lorem ipsum
+
+
+
+
+
+
Lorem ipsum
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
+ sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
+ Stet clita kasd gubergren,
+ no sea takimata sanctus est Lorem
+
+
+
Lorem ipsum
+
+
+
+
Lorem ipsum
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
+ sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
+ Stet clita kasd gubergren,
+ no sea takimata sanctus est Lorem
+
+
+
Lorem ipsum
+
+
+
+
Lorem ipsum
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
+ sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
+ Stet clita kasd gubergren,
+ no sea takimata sanctus est Lorem
+
+
+
Lorem ipsum
+
+
+
+
+
diff --git a/src/partials/body-landing-sdk.hbs b/src/partials/body-landing-sdk.hbs
new file mode 100644
index 00000000..c7717fe3
--- /dev/null
+++ b/src/partials/body-landing-sdk.hbs
@@ -0,0 +1,131 @@
+
+
+
+ SDK
+
+
+
+
+
+ The Couchbase SDK allows applications to access a Couchbase cluster. It offers traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.
+
+
+
+
+
+
+
+
+
+
+
+
+
Languages
+
+
+
+
+
+
C SDK
+
+
+
+ The Couchbase C SDK (libcouchbase) enables C and C++ programs to access a Couchbase Server cluster. The C SDK is also commonly used as a core dependency of SDKs written in other language to provide a common implementation and high performance.
+
+
+
Start Using the Go SDK
+
+
+
+
+
.NET SDK
+
+
+
+The .NET SDK enables you to interact with a Couchbase Server cluster from the .NET Framework using any Common Language Runtime (CLR) language, including C#, F#, and VB.NET. It offers both a traditional synchronous API and an asynchronous API based on the Task-based Asynchronous Pattern (TAP).
+
+
+
+
Start Using the .NET SDK
+
+
+
+
+
Go SDK
+
+
+
+ The Couchbase Go SDK allows you to connect to a Couchbase Server cluster from Go. The Go SDK is a native Go library and uses the high-performance gocbcore to handle communicating to the cluster over Couchbase’s binary protocols.
+
+
+
Start Using the Go SDK
+
+
+
+
+
Java SDK
+
+
+
+ The Java SDK allows Java applications to access a Couchbase Server cluster. The Java SDK offers traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.
+
+
+
Start Using the Java SDK
+
+
+
+
Node.js SDK
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem.
+
+
+
Start Using the Node.js SDK
+
+
+
+
PHP SDK
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+
+
+
Start Using the PHP SDK
+
+
+
+
Python SDK
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+
+
+
Start Using the Python SDK
+
+
+
+
Scala SDK
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+
+
+
Start Using the Scala SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/partials/body-landing-tutorials.hbs b/src/partials/body-landing-tutorials.hbs
new file mode 100644
index 00000000..60f61fd0
--- /dev/null
+++ b/src/partials/body-landing-tutorials.hbs
@@ -0,0 +1,33 @@
+
+
+
+ Couchbase Tutorials
+
+
+
+
+
+ The Couchbase SDK allows applications to access a Couchbase cluster. It offers traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.
+
+
+
+
+
+
+
+
+
+
+
+
Tutorials
+
+
+
+ {{{page.contents}}}
+
+ {{!--
+
No Record found
+ --}}
+
+
+
diff --git a/src/partials/body-landing-tutorials_copy.hbs b/src/partials/body-landing-tutorials_copy.hbs
new file mode 100644
index 00000000..485ad568
--- /dev/null
+++ b/src/partials/body-landing-tutorials_copy.hbs
@@ -0,0 +1,370 @@
+
+
+
+ Couchbase Tutorials
+
+
+
+
+
+ The Couchbase SDK allows applications to access a Couchbase cluster. It offers traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.
+
+
+
+
+
+
+
+
+
+
+
+
+
Tutorials
+
+
+
+
+
+
Lorem ipsum
+
+
+
+ Advanced
+
Developer
+
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
+
+
+
+
+
+
+ Components
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+ Languages
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+
+
+
Lorem ipsum
+
+
Intermediate
+
DevOps
+
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
+
+
+
+
+
+
+ Components
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+
+
+
+
Lorem ipsum
+
+
Intermediate
+
Developer
+
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
+
+
+
+
+
+
+ Components
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+
+
+
+
+
Lorem ipsum
+
+
Beginner
+
Architect
+
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
+
+
+
+
+
+
+ Components
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+ Languages
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+
+
+
Lorem ipsum
+
+
Intermediate
+
Developer
+
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
+
+
+
+
+
+
+ Components
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+
+
+
+
Lorem ipsum
+
+
Advanced
+
Architect
+
+
+
+
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
+
+
+
+
+
+
+ Components
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+ Languages
+
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+ Lorem ipsum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/partials/body-tutorials.hbs b/src/partials/body-tutorials.hbs
index 2cfd3403..03f481fd 100644
--- a/src/partials/body-tutorials.hbs
+++ b/src/partials/body-tutorials.hbs
@@ -31,7 +31,7 @@
-{{{page.contents}}}
+ {{{page.contents}}}
diff --git a/src/partials/head-last.hbs b/src/partials/head-last.hbs
index 3be2b688..069acc09 100644
--- a/src/partials/head-last.hbs
+++ b/src/partials/head-last.hbs
@@ -1,10 +1,8 @@
{{!-- include fontAwesome CDN --}}
- {{!-- --}}
+ {{!-- --}}
+
{{#if env.OPTANON_SCRIPT_URL}}
diff --git a/src/partials/toc.hbs b/src/partials/toc.hbs
index 0794073c..a604ab37 100644
--- a/src/partials/toc.hbs
+++ b/src/partials/toc.hbs
@@ -2,37 +2,40 @@