{"version":1,"pages":[{"id":"-MXhH4V7Ml0dZU2bo1Zi","title":"Welcome","pathname":"/","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXkmJrJnE2u-CUqJoVj","title":"Primary goals","pathname":"/primary-goals","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXkmhl-fKoQhGGNmoyd","title":"Modular design","pathname":"/primary-goals/modular-design","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Primary goals"}]},{"id":"-MXkmmKHmaSBSJAFfMId","title":"No 3rd-party dependencies","pathname":"/primary-goals/no-3rd-party-dependencies","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Primary goals"}]},{"id":"-MXkkINiutDIbRb4-bGj","title":"Key concepts and dev tools","pathname":"/key-concepts-and-dev-tools","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXkc3PcLS2AFX3FhX8Z","title":"PHP and WP requirements","pathname":"/key-concepts-and-dev-tools/php-and-wp-requirements","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXkcjD6CDZUH6YcQYEd","title":"Object-Oriented Programming","pathname":"/key-concepts-and-dev-tools/object-oriented-programming","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXkcIneVaR23lbWPRz3","title":"Semantic Versioning","pathname":"/key-concepts-and-dev-tools/semantic-versioning","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXl2rWeiF_UqOsPr0Ir","title":"Version Control (git / GitHub)","pathname":"/key-concepts-and-dev-tools/version-control-git-github","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXkdCrJEBrB3vPqUZEp","title":"Dependency Management (Composer)","pathname":"/key-concepts-and-dev-tools/dependency-management-composer","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXkdPn78k61VdipPpE4","title":"Automated Testing (Codeception + Github Actions)","pathname":"/key-concepts-and-dev-tools/automated-testing-codeception-+-travis-ci","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXkdt4r1KMHq-7WYpPR","title":"Dependency Injection (PHP-DI)","pathname":"/key-concepts-and-dev-tools/dependency-injection-php-di","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXkdyjqGfCpdreImUq2","title":"Coding Standards (PHPCS and PHPMD)","pathname":"/key-concepts-and-dev-tools/coding-standards-phpcs-and-phpmd","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXke2DFkYaHFmWXXP_G","title":"Dependencies Scoping (PHP-Scoper)","pathname":"/key-concepts-and-dev-tools/dependencies-scoping-php-scoper","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXl210EDhpJapkL9T6c","title":"TypeScript and Sass","pathname":"/key-concepts-and-dev-tools/typescript-and-sass","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXl257e35F_8KrSwh96","title":"Task Runners (Grunt)","pathname":"/key-concepts-and-dev-tools/task-runners-grunt","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Key concepts and dev tools"}]},{"id":"-MXkoMuWTVgYTgh-gIBv","title":"Setting up your dev environment","pathname":"/setting-up-your-dev-environment","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXkjrWXNAMEzqmzWoFE","title":"Windows","pathname":"/setting-up-your-dev-environment/windows","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Setting up your dev environment"}]},{"id":"-MXkjxBjYyNhZUSQ8lag","title":"Your first plugin","pathname":"/your-first-plugin","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXkpbwojbEjVf1D7vlJ","title":"Multiple plugins using the framework on the same site","pathname":"/your-first-plugin/multiple-plugins-using-the-dws-framework-on-the-same-wordpress-site","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Your first plugin"}]},{"id":"-MXl3jyIu-6L9lpvs-ry","title":"Frequently Asked Questions","pathname":"/frequently-asked-questions","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXhKNH4-85Lj-a1nKFn","title":"Motivation","pathname":"/bootstrapper-module/motivation","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Bootstrapper Module"}]},{"id":"-MXlZLd21FpXn_qwJ_CS","title":"How it works","pathname":"/bootstrapper-module/how-it-works","siteSpaceId":"sitesp_Vb0nk","description":"The main PHP lines of the module explained in plain English.","breadcrumbs":[{"label":"Bootstrapper Module"}]},{"id":"-MXlbY1NDmWcHHe7RLEx","title":"How to use","pathname":"/bootstrapper-module/how-to-use","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Bootstrapper Module"}]},{"id":"-MXlZQzde-obWTCqG8bN","title":"White Labeling","pathname":"/bootstrapper-module/white-labeling","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Bootstrapper Module"}]},{"id":"-MXmCRlRkvij2HVJTj8I","title":"Motivation","pathname":"/helpers-module/motivation","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Helpers Module"}]},{"id":"-MXhKTAs6cSkKSlUHTi6","title":"How to use","pathname":"/helpers-module/how-to-use","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Helpers Module"}]},{"id":"-MXmCM356pgWQxoS-Rjv","title":"Motivation and How to use","pathname":"/foundations-module/motivation-and-how-to-use","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"}]},{"id":"-MXmEfYFldltdnz-Ietf","title":"Actions","pathname":"/foundations-module/actions","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"}]},{"id":"-MXmIsDLltllJGN9GBEC","title":"Local action traits","pathname":"/foundations-module/actions/local-action-traits","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"},{"label":"Actions"}]},{"id":"-MXmPPS_7RgwgLal9S-m","title":"Extension action traits","pathname":"/foundations-module/actions/extension-action-traits","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"},{"label":"Actions"}]},{"id":"-MXmPUHRYan4cQH-zFOx","title":"Integration action traits","pathname":"/foundations-module/actions/integration-action-traits","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"},{"label":"Actions"}]},{"id":"-MXmEhUPVsvZoel38o_C","title":"States","pathname":"/foundations-module/states","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"}]},{"id":"-MXq25ay4oJFD4GYqXzv","title":"Utilities","pathname":"/foundations-module/utilities","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"}]},{"id":"-MXmEq72bC4bgt1B-T4g","title":"Stores","pathname":"/foundations-module/utilities/stores","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"},{"label":"Utilities"}]},{"id":"-MXmExLnmBJUbrUPlSA1","title":"Handlers and Services","pathname":"/foundations-module/utilities/handlers-and-services","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"},{"label":"Utilities"}]},{"id":"-MXrQksE55u_3j_jNsq3","title":"Logging Service","pathname":"/foundations-module/utilities/handlers-and-services/logging-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Foundations Module"},{"label":"Utilities"},{"label":"Handlers and Services"}]},{"id":"-MXmElUVTZqRadsPr9np","title":"Plugin","pathname":"/plugin","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXrdFFCSmyTOWS9lUvZ","title":"Main Plugin Instance","pathname":"/plugin/main-plugin-instance","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Plugin"}]},{"id":"-MXrdIAv_8cYhlROTd5D","title":"Plugin Components","pathname":"/plugin/plugin-components","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Plugin"}]},{"id":"-MXmF-RO6MiiZtUUKX2r","title":"Hierarchies","pathname":"/hierarchies","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXrcvUTDTzYDy0z17jP","title":"Helpers","pathname":"/helpers","siteSpaceId":"sitesp_Vb0nk","description":""},{"id":"-MXhKWYqaZhlSv50kwSa","title":"Motivation and How to use","pathname":"/utilities-module/motivation-and-how-to-use","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYnkudIXx5cZf-YvhFJ","title":"Hooks Service","pathname":"/utilities-module/hooks-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYo02tRyOlcmmGjuUiq","title":"Scoped Handler","pathname":"/utilities-module/hooks-service/scoped-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"},{"label":"Hooks Service"}]},{"id":"-MYnkyqERcdtkwQnisc7","title":"Shortcodes Service","pathname":"/utilities-module/shortcodes-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYnl0fCgzvLDdwDgtfw","title":"Templating Service","pathname":"/utilities-module/templating-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYnzvPfwdc8yffS6OJN","title":"Assets Service","pathname":"/utilities-module/assets-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYo07dBQpBnxqiJPIjW","title":"Scripts Handler","pathname":"/utilities-module/assets-service/scripts-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"},{"label":"Assets Service"}]},{"id":"-MYo0C_eUmlrQbhHj7sN","title":"Styles Handler","pathname":"/utilities-module/assets-service/styles-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"},{"label":"Assets Service"}]},{"id":"-MYnl4JxE3eGioonLnoH","title":"CRON Events Service","pathname":"/utilities-module/cron-events-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYo0GoetUZSRZPtYIBL","title":"Action Scheduler Handler","pathname":"/utilities-module/cron-events-service/action-scheduler-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"},{"label":"CRON Events Service"}]},{"id":"-MYo--MvlnV-_Omi-WCD","title":"Admin Notices Service","pathname":"/utilities-module/admin-notices-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYo-1oJJc25fcztPWG4","title":"Dependencies Service","pathname":"/utilities-module/dependencies-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MYo-5Ok0Xfhlh03x37x","title":"Validation Service","pathname":"/utilities-module/validation-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Utilities Module"}]},{"id":"-MXhKYFCDWfi04hWwK3o","title":"Motivation and How to use","pathname":"/core-module/motivation-and-how-to-use","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Core Module"}]},{"id":"-MYo-OmUePT7Qfiph3oC","title":"Plugin Tree","pathname":"/core-module/plugin-tree","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Core Module"}]},{"id":"-MYo-dZgkg9d-W17XnT9","title":"Plugin Root","pathname":"/core-module/plugin-tree/plugin-root","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Core Module"},{"label":"Plugin Tree"}]},{"id":"-MYo-hZhaC9Vba8vaqGx","title":"Plugin Functionality","pathname":"/core-module/plugin-tree/plugin-functionality","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Core Module"},{"label":"Plugin Tree"}]},{"id":"-MYo-Sfnq_0aVt4soHF9","title":"Plugin Components","pathname":"/core-module/plugin-components","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Core Module"}]},{"id":"-MYo-WCXNaNtnsazkQYN","title":"Internationalization","pathname":"/core-module/plugin-components/internationalization","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Core Module"},{"label":"Plugin Components"}]},{"id":"-MYo-ZN-vPJIm6lA1Hxt","title":"Installation / Upgrade / Uninstallation","pathname":"/core-module/plugin-components/installation-upgrade-uninstallation","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Core Module"},{"label":"Plugin Components"}]},{"id":"-MXhKa1AE6ipV_DL_1A9","title":"Motivation and How to use","pathname":"/settings-module/motivation-and-how-to-use","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Settings Module"}]},{"id":"-MYo-8olc8YTANfUvBbs","title":"Settings Service","pathname":"/settings-module/settings-service","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Settings Module"}]},{"id":"-MYo-l-czGyOqer1eWQQ","title":"WordPress Handler","pathname":"/settings-module/settings-service/wordpress-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Settings Module"},{"label":"Settings Service"}]},{"id":"-MYo-ocm_kLKqXdV8A9n","title":"MetaBox Handler","pathname":"/settings-module/settings-service/metabox-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Settings Module"},{"label":"Settings Service"}]},{"id":"-MYo-r8gCwfYvCkw4EL8","title":"ACF Handler","pathname":"/settings-module/settings-service/acf-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Settings Module"},{"label":"Settings Service"}]},{"id":"-MYo-CV9oacnP5K5JU2F","title":"Validated Settings","pathname":"/settings-module/validated-settings","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"Settings Module"}]},{"id":"-MXhKfhlMHXRvPWXds4_","title":"Motivation and How to use","pathname":"/woocommerce-module/motivation-and-how-to-use","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"WooCommerce Module"}]},{"id":"-MYo-IF_IJ_uomwvHXH2","title":"Extended WC Logger","pathname":"/woocommerce-module/extended-wc-logger","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"WooCommerce Module"}]},{"id":"-MYo-LvhsKjh6fnVfN0w","title":"WC Settings Handler","pathname":"/woocommerce-module/wc-settings-handler","siteSpaceId":"sitesp_Vb0nk","description":"","breadcrumbs":[{"label":"WooCommerce Module"}]}]}