{"version":1,"pages":[{"id":"-LLu79ctui-YVXiVfe4S","title":"The Web Dev Guide by Wishtack","pathname":"/","siteSpaceId":"sitesp_KWvuk","description":"After 5 years of web applications development, trainings and coachings, we decided to produce this free guide in order to share our experience."},{"id":"-LLu9u0jDod12JD8pQ3i","title":"HTML","pathname":"/html","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LLuATpw9kn8mEK3Fgoq","title":"HTML Tags","pathname":"/html/html-tags","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"HTML"}]},{"id":"-LLuES6NCxklmUUhQolv","title":"HTML Attributes","pathname":"/html/html-attributes","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"HTML"}]},{"id":"-LLuEtpYtRz3iHsatEC_","title":"Content Formatting","pathname":"/html/content-formatting","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"HTML"}]},{"id":"-LLuFCy_0h3O8Ocg5Jwy","title":"Empty Tags vs Content Tags","pathname":"/html/empty-tags-vs-content-tags","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"HTML"}]},{"id":"-LLuFx2gMBDU-KpXf2Mn","title":"Some Links","pathname":"/html/some-links","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"HTML"}]},{"id":"-LLuTBvnkTMrqky-TeYK","title":"ECMAScript","pathname":"/ecmascript","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LLuTI6U65UuufeFc4tZ","title":"Some History","pathname":"/ecmascript/some-history","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLuV78ck9QskRrtjHTH","title":"Language Properties","pathname":"/ecmascript/language-properties","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLuX6xwCd7dg7NOoiWu","title":"Single-Threaded thus Asynchronous","pathname":"/ecmascript/single-threaded-thus-asynchronous","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLuaursNPYeQvPikz_b","title":"The Event Loop","pathname":"/ecmascript/the-event-loop","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLuepUhV_IZlbnJBrHN","title":"Classes","pathname":"/ecmascript/classes","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLuhpoyDuSYuvh7TuQq","title":"Hoisting is Dead: var vs. let vs. const","pathname":"/ecmascript/hoisting-is-dead-var-vs.-let-vs.-const","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLujWpred_2zf9M_xIn","title":"this & \"binding\"","pathname":"/ecmascript/this-and-binding","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLulGtnD7O8wuL_7wBm","title":"Arrow Functions","pathname":"/ecmascript/arrow-functions","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLuwV9QlmysAMkCLd2U","title":"Template Strings","pathname":"/ecmascript/template-strings","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLv66KnAIYF2e412KGw","title":"Syntactic Sugar","pathname":"/ecmascript/syntactic-sugar","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLv69TNElKO2INh-oT8","title":"Spread","pathname":"/ecmascript/syntactic-sugar/spread","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"},{"label":"Syntactic Sugar"}]},{"id":"-LLv6rx2VkhzjYMooMts","title":"Destructuring","pathname":"/ecmascript/syntactic-sugar/destructuring","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"},{"label":"Syntactic Sugar"}]},{"id":"-LLv7LMKt5McBMQF_lc6","title":"Rest","pathname":"/ecmascript/syntactic-sugar/rest","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"},{"label":"Syntactic Sugar"}]},{"id":"-LLvFIIoqeHb_KETOT0a","title":"Object Literal Property Value Shorthand","pathname":"/ecmascript/syntactic-sugar/object-literal-property-value-shorthand","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"},{"label":"Syntactic Sugar"}]},{"id":"-LLvN1baxYR4tkzE5m_W","title":"Named Parameters","pathname":"/ecmascript/named-parameters","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LLuyEYKQy2EuQj4FED6","title":"Compatibility","pathname":"/ecmascript/compatibility","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"ECMAScript"}]},{"id":"-LM1ej0wLJJHQugsx9kZ","title":"Tools","pathname":"/tools","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LM1ems4McnA75nDsK5l","title":"Node.js","pathname":"/tools/nodejs","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Tools"}]},{"id":"-LM1etyygCO4UeWAm_MP","title":"NPM","pathname":"/tools/npm","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Tools"}]},{"id":"-LM1evmUK7iV2qDqJeuD","title":"Yarn","pathname":"/tools/yarn","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Tools"}]},{"id":"-LM1erBCNm1WT71O5Ji6","title":"Webpack","pathname":"/tools/webpack","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Tools"}]},{"id":"-LM1elY91KFuO3WJS_wr","title":"WebStorm","pathname":"/tools/webstorm","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Tools"}]},{"id":"-LM4CJadcoeEKLCLO8VE","title":"StackBlitz","pathname":"/tools/stackblitz","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Tools"}]},{"id":"-LLy1joi7eGLuem21dVG","title":"DOM","pathname":"/dom","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LLy9bgBahvAQnp0B6dD","title":"What Is It?","pathname":"/dom/what-is-it","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"DOM"}]},{"id":"-LLyAj8YscLOODoeLp_n","title":"Element Selection","pathname":"/dom/element-selection","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"DOM"}]},{"id":"-LLyCjIRbyCjpKIa0hQu","title":"Element Modification","pathname":"/dom/element-modification","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"DOM"}]},{"id":"-LLyGndsPbtQ0iBZAq7j","title":"Events","pathname":"/dom/events","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"DOM"}]},{"id":"-LM4SMyANuFOV3BId-90","title":"Forms","pathname":"/forms","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LM4k0uiDLYri3puSJDO","title":"The <form> tag","pathname":"/forms/the-less-than-form-greater-than-tag","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Forms"}]},{"id":"-LM4nFoC_LZv01yfhXzz","title":"Form elements","pathname":"/forms/form-elements","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Forms"}]},{"id":"-LM4kNSFFvTsbk3W_AYl","title":"Form validation","pathname":"/forms/form-validation","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Forms"}]},{"id":"-LLyI4BwCk5CKA1tQ0Lr","title":"Networking","pathname":"/networking","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LM2zsOBS4RsFYPRTPBW","title":"Fetch Web API","pathname":"/networking/fetch-web-api","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Networking"}]},{"id":"-LLyHQGZSWeqmpE9sgI1","title":"CSS","pathname":"/css","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LM38L2uOoqD0TzxGgqz","title":"Selectors","pathname":"/css/selectors","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"CSS"}]},{"id":"-LM3Av84uubdyhcrGODE","title":"Transforms","pathname":"/css/transforms","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"CSS"}]},{"id":"-LM4J9nDpB55sJn6zcQ5","title":"Transitions","pathname":"/css/transitions","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"CSS"}]},{"id":"-LM4LmKEZOg5tIre-1Te","title":"Animations","pathname":"/css/animations","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"CSS"}]},{"id":"-LM4q-4jz0zSixpnpM5R","title":"Web Animations API","pathname":"/css/web-animations-api","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"CSS"}]},{"id":"-LM4QGO5jRZS9h2X2ViY","title":"Sass","pathname":"/css/sass","siteSpaceId":"sitesp_KWvuk","description":"Syntactically Awesome Style Sheets","breadcrumbs":[{"label":"CSS"}]},{"id":"-LLyHUGY9EwaxlRujhyL","title":"Responsive Web Design","pathname":"/responsive-web-design","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LM9BtXJiuOz9Y9zyU9w","title":"Viewport","pathname":"/responsive-web-design/viewport","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Responsive Web Design"}]},{"id":"-LM9ChipA4SNiY2cpzm_","title":"Media Queries","pathname":"/responsive-web-design/media-queries","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Responsive Web Design"}]},{"id":"-LM9OXgSG_WsX0wULaZk","title":"Grid Layout","pathname":"/responsive-web-design/grid-layout","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Responsive Web Design"}]},{"id":"-LM9RIT09BcJBmpXDPh1","title":"Flex Layout","pathname":"/responsive-web-design/flex-layout","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Responsive Web Design"}]},{"id":"-LM9SPAoKqaPctCd9Tr1","title":"Frameworks & Libraries","pathname":"/responsive-web-design/frameworks","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Responsive Web Design"}]},{"id":"-LLyHa32oTbv4B5HmwPb","title":"Web APIs","pathname":"/web-apis","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LLyHsSGjsd0KSO0tW3L","title":"Testing","pathname":"/testing","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LMEeWlcnuZWNmE-03Ul","title":"Unit Testing","pathname":"/testing/unit-testing","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Testing"}]},{"id":"-LMEgY5HAtTtB1K56EX4","title":"End to End Testing","pathname":"/testing/end-to-end-testing","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Testing"}]},{"id":"-LLyHvS_IJq1vpFPIdJ9","title":"Security","pathname":"/security","siteSpaceId":"sitesp_KWvuk","description":""},{"id":"-LMEtSS4GWEywWWpc_yF","title":"Injection","pathname":"/security/injection","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Security"}]},{"id":"-LMEuVrX6TLEQMMAltM6","title":"DOM XSS","pathname":"/security/dom-xss","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Security"}]},{"id":"-LMEwBwN5kSFDwrjbwh7","title":"Insecure Direct Object Reference","pathname":"/security/insecure-direct-object-reference","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Security"}]},{"id":"-LMEwheYAzsN1dLYEuS0","title":"Cross-Site Request Forgery","pathname":"/security/cross-site-request-forgery","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Security"}]},{"id":"-LMExDc1RBoSSu00Iyde","title":"Client vs API Validation","pathname":"/security/client-vs-api-validation","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Security"}]},{"id":"-LMExLF0kOYvZ3tR6uP1","title":"API Unauthorized Access and Data Leak","pathname":"/security/api-unauthorized-access-and-data-leak","siteSpaceId":"sitesp_KWvuk","description":"","breadcrumbs":[{"label":"Security"}]},{"id":"-LM86B8dWpMj86pAyZ3k","title":"More Links","pathname":"/more-links","siteSpaceId":"sitesp_KWvuk","description":""}]}