From 529282e631b1513a1fdce1628b438dc984b6f2f8 Mon Sep 17 00:00:00 2001 From: Tyler Barnes Date: Fri, 22 Jan 2021 15:57:07 -0800 Subject: [PATCH 01/32] replace gatsby-source-wordpress with gatsby-source-wordpress-experimental --- packages/gatsby-source-wordpress/.babelrc | 3 - .../gatsby-source-wordpress/.eslintignore | 5 + packages/gatsby-source-wordpress/.eslintrc.js | 141 + packages/gatsby-source-wordpress/.gitignore | 16 +- packages/gatsby-source-wordpress/.npmignore | 15 + .../gatsby-source-wordpress/.prettierignore | 8 + .../gatsby-source-wordpress/.prettierrc.js | 7 + packages/gatsby-source-wordpress/CHANGELOG.md | 1168 -- packages/gatsby-source-wordpress/LICENSE | 21 + packages/gatsby-source-wordpress/README.md | 1127 +- .../gatsby-source-wordpress/babel.config.js | 42 + .../docker-compose.yml | 59 + .../gatsby-source-wordpress/docker/rebuild.sh | 15 + .../docker/seed/backup.sql | 6642 +++++++ .../docker/wordpress/Dockerfile | 42 + .../docker/wordpress/install-plugin.sh | 27 + .../wordpress/install-wp-graphql-plugins.sh | 20 + .../docker/wordpress/start.sh | 15 + .../docker/wp-cli/Dockerfile | 16 + .../docker/wp-cli/start.sh | 31 + .../docker/wp-cli/wp-install.sh | 14 + .../assets/gatsby-cloud-builds-webhook.png | Bin 0 -> 247690 bytes .../gatsby-cloud-preview-frontend-url.png | Bin 0 -> 78313 bytes .../gatsby-cloud-preview-webhook-url.png | Bin 0 -> 223105 bytes .../docs/assets/gatsby-wapuus.png | Bin 0 -> 39100 bytes .../docs/assets/menu-locations.png | Bin 0 -> 38405 bytes .../wp-gatsby-builds-webhook-settings.png | Bin 0 -> 43855 bytes .../assets/wp-gatsbyjs-preview-settings.png | Bin 0 -> 202688 bytes .../docs/community-and-support.md | 15 + .../docs/contribution.md | 39 + .../docs/debugging-and-troubleshooting.md | 179 + .../docs/features/caching.md | 43 + .../docs/features/compatibility-api.md | 9 + .../docs/features/fast-builds.md | 19 + .../docs/features/html-processing.md | 19 + .../docs/features/incremental-builds.md | 19 + .../docs/features/index.md | 23 + .../limit-nodes-during-development.md | 34 + .../docs/features/media-item-processing.md | 6 + .../docs/features/preview.md | 102 + .../docs/features/schema-merging.md | 22 + .../docs/features/security.md | 10 + .../docs/getting-started.md | 61 + .../gatsby-source-wordpress/docs/hosting.md | 17 + .../migrating-from-other-wp-source-plugins.md | 71 + .../docs/plugin-options.md | 1274 ++ .../problems-with-gatsby-source-graphql.md | 24 + .../docs/problems-with-v3.md | 29 + .../docs/themes-starters-examples.md | 38 + ...uilding-a-new-site-wordpress-and-gatsby.md | 348 + .../docs/tutorials/configuring-wp-gatsby.md | 74 + .../docs/tutorials/index.md | 21 + ...sage-with-popular-wp-graphql-extensions.md | 26 + .../docs/using-data.md | 21 + .../docs/why-use-this-plugin.md | 59 + .../gatsby-source-wordpress/gatsby-browser.js | 1 + .../gatsby-source-wordpress/gatsby-config.js | 3 + .../gatsby-source-wordpress/gatsby-node.js | 1 + .../generate-plugin-options-docs.js | 162 + packages/gatsby-source-wordpress/index.js | 2 +- .../jest-transformer.js | 11 + .../gatsby-source-wordpress/jest.config.js | 18 + .../gatsby-source-wordpress/loadershim.js | 3 + packages/gatsby-source-wordpress/package.json | 123 +- .../__tests__/__snapshots__/normalize.js.snap | 15927 ---------------- .../src/__tests__/data.json | 1626 -- .../src/__tests__/fetch.js | 59 - .../src/__tests__/http-exception-handler.js | 7 - .../src/__tests__/normalize-base-url.js | 12 - .../src/__tests__/normalize.js | 161 - .../src/__tests__/request-in-queue.js | 51 - .../gatsby-source-wordpress/src/constants.ts | 3 + packages/gatsby-source-wordpress/src/fetch.js | 730 - .../src/gatsby-node.js | 349 +- .../src/hooks/index.ts | 1 + .../src/hooks/node-filters.ts | 62 + .../src/http-exception-handler.js | 46 - .../src/models/__tests__/gatsby-api.test.js | 44 + .../src/models/develop.ts | 44 + .../src/models/gatsby-api.ts | 373 + .../src/models/image-nodes.js | 34 + .../src/models/index.ts | 17 + .../src/models/logger.ts | 94 + .../src/models/preview.ts | 109 + .../src/models/remoteSchema.ts | 152 + .../src/models/wp-hooks.ts | 51 + .../src/normalize-base-url.js | 13 - .../gatsby-source-wordpress/src/normalize.js | 693 - .../src/output-color.js | 45 - .../src/request-in-queue.js | 60 - .../src/scripts/download-test-data.js | 28 - .../src/steps/check-plugin-requirements.ts | 322 + .../build-types.js | 197 + .../create-schema-customization/helpers.js | 146 + .../create-schema-customization/index.js | 95 + .../transform-fields/default-resolver.js | 66 + .../transform-fields/field-transformers.js | 256 + .../transform-fields/index.js | 200 + .../transform-fields/transform-object.js | 99 + .../transform-fields/transform-union.js | 66 + .../type-filters.js | 108 + .../steps/declare-plugin-options-schema.js | 829 + .../src/steps/index.ts | 22 + ...-ingestible-root-field-non-node-queries.js | 42 + .../build-node-queries.js | 38 + .../build-query-on-field-name.js | 232 + .../generate-queries-from-ingestable-types.js | 350 + .../recursively-transform-fields.js | 732 + .../cache-fetched-types.js | 11 + .../ingest-remote-schema/diff-schemas.js | 174 + .../identify-and-store-ingestable-types.js | 193 + .../src/steps/ingest-remote-schema/index.js | 52 + .../introspect-remote-schema.js | 93 + .../steps/ingest-remote-schema/is-excluded.js | 36 + .../write-queries-to-disk.js | 68 + .../src/steps/persist-cached-images.ts | 28 + .../src/steps/preview/cleanup.ts | 90 + .../src/steps/preview/index.ts | 398 + .../src/steps/preview/on-create-page.ts | 119 + .../src/steps/preview/preview.md | 57 + .../process-and-validate-plugin-options.ts | 113 + .../src/steps/set-error-map.ts | 8 + .../src/steps/set-gatsby-api-to-state.ts | 51 + .../src/steps/set-image-node-id-cache.ts | 21 + .../source-nodes/before-change-node/menu.js | 29 + .../source-nodes/create-nodes/create-nodes.js | 177 + .../create-remote-file-node/index.js | 462 + .../progress-bar-promise.js | 9 + .../create-remote-media-item-node.js | 360 + .../fetch-and-create-non-node-root-fields.js | 95 + .../source-nodes/create-nodes/process-node.js | 904 + .../fetch-nodes/fetch-nodes-paginated.js | 122 + .../source-nodes/fetch-nodes/fetch-nodes.js | 210 + .../fetch-referenced-media-items.js | 567 + .../src/steps/source-nodes/helpers.js | 35 + .../src/steps/source-nodes/index.js | 75 + .../update-nodes/content-update-interval.js | 135 + .../update-nodes/fetch-node-updates.js | 59 + .../update-nodes/find-connected-nodes.js | 61 + .../update-nodes/wp-actions/delete.js | 98 + .../update-nodes/wp-actions/index.js | 110 + .../update-nodes/wp-actions/update.js | 340 + .../steps/temp-prevent-multiple-instances.ts | 29 + packages/gatsby-source-wordpress/src/store.ts | 11 + .../src/supported-remote-plugin-versions.ts | 16 + .../src/utils/cache.ts | 377 + .../src/utils/fetch-graphql.ts | 715 + .../src/utils/format-log-message.ts | 26 + .../src/utils/gatsby-types.ts | 4 + .../src/utils/get-gatsby-api.ts | 9 + .../src/utils/graphql-queries.ts | 118 + .../src/utils/report.ts | 75 + .../src/utils/run-steps.ts | 96 + .../src/utils/url-to-path.ts | 3 + packages/gatsby-source-wordpress/style.css | 4 + .../test-site/.env.plugins | 6 + .../test-site/.env.test | 4 + .../test-site/.gitignore | 6 + .../test-site/README.md | 78 + .../e2e/preview/preview-stresstest.test.js | 31 + .../__tests__/e2e/preview/users.json | 6 + .../__tests__/integration/build/build.test.js | 49 + .../build/plugin-options-schema.test.js | 112 + .../data-resolution.test.js.snap | 1732 ++ .../filtered-type-defs.test.js.snap | 25 + .../__snapshots__/gatsby-image.test.js.snap | 172 + .../__snapshots__/integrity.test.js.snap | 6433 +++++++ .../query-generation.test.js.snap | 4112 ++++ .../schema/data-resolution.test.js | 160 + .../schema/filtered-type-defs.test.js | 32 + .../integration/schema/gatsby-image.test.js | 69 + .../integration/schema/integrity.test.js | 61 + .../integration/schema/plugin-options.test.js | 170 + .../schema/query-generation.test.js | 40 + .../test-site/gatsby-config.js | 121 + .../test-site/gatsby-node.js | 107 + .../test-site/package.json | 43 + .../test-site/src/assets/images/test.png | Bin 0 -> 269682 bytes .../test-site/src/assets/style.css | 24 + .../src/assets/svg/gatsby.inline.svg | 5 + .../test-site/src/components/header.js | 24 + .../test-site/src/components/layout.js | 21 + .../test-site/src/components/menu.js | 40 + .../components/template-parts/blog-post.js | 41 + .../test-site/src/fragments.js | 11 + .../test-site/src/pages/404.js | 13 + .../test-site/src/templates/index.js | 118 + .../test-site/src/templates/single/Page.js | 31 + .../test-site/src/templates/single/Post.js | 31 + .../test-site/src/utils/get-url-path.js | 23 + .../test-utils/authed-wpgql-request.js | 25 + .../test-site/test-utils/global-setup-jest.js | 54 + .../test-utils/global-teardown-jest.js | 25 + .../test-utils/increment-remote-data.js | 72 + .../test-site/test-utils/incremental-it.js | 8 + .../test-site/test-utils/jest.setup.js | 1 + .../test-site/test-utils/queries.js | 707 + .../test-utils/test-resolved-data.js | 43 + .../gatsby-source-wordpress/tsconfig.json | 10 + .../gatsby-starter-wordpress-blog/.gitignore | 71 + .../.prettierignore | 5 + .../gatsby-starter-wordpress-blog/.prettierrc | 4 + .../gatsby-starter-wordpress-blog/LICENSE | 14 + .../gatsby-starter-wordpress-blog/README.md | 99 + .../content/assets/gatsby-icon.png | Bin 0 -> 21212 bytes .../gatsby-browser.js | 7 + .../gatsby-config.js | 66 + .../gatsby-node.js | 192 + .../package.json | 51 + .../src/components/bio.js | 54 + .../src/components/layout.js | 48 + .../src/components/seo.js | 93 + .../src/normalize.css | 343 + .../src/pages/404.js | 29 + .../src/style.css | 335 + .../src/templates/Page.js | 128 + .../src/templates/Post.js | 129 + .../src/templates/blog-post-archive.js | 89 + .../static/favicon.ico | Bin 0 -> 198 bytes .../static/robots.txt | 2 + 220 files changed, 38401 insertions(+), 22048 deletions(-) delete mode 100644 packages/gatsby-source-wordpress/.babelrc create mode 100644 packages/gatsby-source-wordpress/.eslintignore create mode 100644 packages/gatsby-source-wordpress/.eslintrc.js create mode 100644 packages/gatsby-source-wordpress/.prettierignore create mode 100644 packages/gatsby-source-wordpress/.prettierrc.js delete mode 100644 packages/gatsby-source-wordpress/CHANGELOG.md create mode 100644 packages/gatsby-source-wordpress/LICENSE create mode 100644 packages/gatsby-source-wordpress/babel.config.js create mode 100644 packages/gatsby-source-wordpress/docker-compose.yml create mode 100755 packages/gatsby-source-wordpress/docker/rebuild.sh create mode 100644 packages/gatsby-source-wordpress/docker/seed/backup.sql create mode 100644 packages/gatsby-source-wordpress/docker/wordpress/Dockerfile create mode 100755 packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh create mode 100755 packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh create mode 100755 packages/gatsby-source-wordpress/docker/wordpress/start.sh create mode 100644 packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile create mode 100755 packages/gatsby-source-wordpress/docker/wp-cli/start.sh create mode 100755 packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-builds-webhook.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-frontend-url.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-webhook-url.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-wapuus.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/menu-locations.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wp-gatsby-builds-webhook-settings.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wp-gatsbyjs-preview-settings.png create mode 100644 packages/gatsby-source-wordpress/docs/community-and-support.md create mode 100644 packages/gatsby-source-wordpress/docs/contribution.md create mode 100644 packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md create mode 100644 packages/gatsby-source-wordpress/docs/features/caching.md create mode 100644 packages/gatsby-source-wordpress/docs/features/compatibility-api.md create mode 100644 packages/gatsby-source-wordpress/docs/features/fast-builds.md create mode 100644 packages/gatsby-source-wordpress/docs/features/html-processing.md create mode 100644 packages/gatsby-source-wordpress/docs/features/incremental-builds.md create mode 100644 packages/gatsby-source-wordpress/docs/features/index.md create mode 100644 packages/gatsby-source-wordpress/docs/features/limit-nodes-during-development.md create mode 100644 packages/gatsby-source-wordpress/docs/features/media-item-processing.md create mode 100644 packages/gatsby-source-wordpress/docs/features/preview.md create mode 100644 packages/gatsby-source-wordpress/docs/features/schema-merging.md create mode 100644 packages/gatsby-source-wordpress/docs/features/security.md create mode 100644 packages/gatsby-source-wordpress/docs/getting-started.md create mode 100644 packages/gatsby-source-wordpress/docs/hosting.md create mode 100644 packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md create mode 100644 packages/gatsby-source-wordpress/docs/plugin-options.md create mode 100644 packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md create mode 100644 packages/gatsby-source-wordpress/docs/problems-with-v3.md create mode 100644 packages/gatsby-source-wordpress/docs/themes-starters-examples.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/index.md create mode 100644 packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md create mode 100644 packages/gatsby-source-wordpress/docs/using-data.md create mode 100644 packages/gatsby-source-wordpress/docs/why-use-this-plugin.md create mode 100644 packages/gatsby-source-wordpress/gatsby-browser.js create mode 100644 packages/gatsby-source-wordpress/gatsby-config.js create mode 100644 packages/gatsby-source-wordpress/gatsby-node.js create mode 100644 packages/gatsby-source-wordpress/generate-plugin-options-docs.js create mode 100644 packages/gatsby-source-wordpress/jest-transformer.js create mode 100644 packages/gatsby-source-wordpress/jest.config.js create mode 100644 packages/gatsby-source-wordpress/loadershim.js delete mode 100644 packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap delete mode 100644 packages/gatsby-source-wordpress/src/__tests__/data.json delete mode 100644 packages/gatsby-source-wordpress/src/__tests__/fetch.js delete mode 100644 packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js delete mode 100644 packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js delete mode 100644 packages/gatsby-source-wordpress/src/__tests__/normalize.js delete mode 100644 packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js create mode 100644 packages/gatsby-source-wordpress/src/constants.ts delete mode 100644 packages/gatsby-source-wordpress/src/fetch.js create mode 100644 packages/gatsby-source-wordpress/src/hooks/index.ts create mode 100644 packages/gatsby-source-wordpress/src/hooks/node-filters.ts delete mode 100644 packages/gatsby-source-wordpress/src/http-exception-handler.js create mode 100644 packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js create mode 100644 packages/gatsby-source-wordpress/src/models/develop.ts create mode 100644 packages/gatsby-source-wordpress/src/models/gatsby-api.ts create mode 100644 packages/gatsby-source-wordpress/src/models/image-nodes.js create mode 100644 packages/gatsby-source-wordpress/src/models/index.ts create mode 100644 packages/gatsby-source-wordpress/src/models/logger.ts create mode 100644 packages/gatsby-source-wordpress/src/models/preview.ts create mode 100644 packages/gatsby-source-wordpress/src/models/remoteSchema.ts create mode 100644 packages/gatsby-source-wordpress/src/models/wp-hooks.ts delete mode 100644 packages/gatsby-source-wordpress/src/normalize-base-url.js delete mode 100644 packages/gatsby-source-wordpress/src/normalize.js delete mode 100644 packages/gatsby-source-wordpress/src/output-color.js delete mode 100644 packages/gatsby-source-wordpress/src/request-in-queue.js delete mode 100644 packages/gatsby-source-wordpress/src/scripts/download-test-data.js create mode 100644 packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js create mode 100644 packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js create mode 100644 packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.js create mode 100644 packages/gatsby-source-wordpress/src/steps/index.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js create mode 100644 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js create mode 100644 packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/preview/index.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/preview/preview.md create mode 100644 packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/set-error-map.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/index.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js create mode 100644 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js create mode 100644 packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts create mode 100644 packages/gatsby-source-wordpress/src/store.ts create mode 100644 packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/cache.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/format-log-message.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/gatsby-types.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/graphql-queries.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/report.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/run-steps.ts create mode 100644 packages/gatsby-source-wordpress/src/utils/url-to-path.ts create mode 100644 packages/gatsby-source-wordpress/style.css create mode 100644 packages/gatsby-source-wordpress/test-site/.env.plugins create mode 100644 packages/gatsby-source-wordpress/test-site/.env.test create mode 100644 packages/gatsby-source-wordpress/test-site/.gitignore create mode 100644 packages/gatsby-source-wordpress/test-site/README.md create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/preview-stresstest.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/users.json create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/build/build.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/build/plugin-options-schema.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/data-resolution.test.js.snap create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/filtered-type-defs.test.js.snap create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/gatsby-image.test.js.snap create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/integrity.test.js.snap create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/query-generation.test.js.snap create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/data-resolution.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/filtered-type-defs.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/gatsby-image.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/integrity.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/plugin-options.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/query-generation.test.js create mode 100644 packages/gatsby-source-wordpress/test-site/gatsby-config.js create mode 100644 packages/gatsby-source-wordpress/test-site/gatsby-node.js create mode 100644 packages/gatsby-source-wordpress/test-site/package.json create mode 100644 packages/gatsby-source-wordpress/test-site/src/assets/images/test.png create mode 100644 packages/gatsby-source-wordpress/test-site/src/assets/style.css create mode 100644 packages/gatsby-source-wordpress/test-site/src/assets/svg/gatsby.inline.svg create mode 100644 packages/gatsby-source-wordpress/test-site/src/components/header.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/components/layout.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/components/menu.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/components/template-parts/blog-post.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/fragments.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/pages/404.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/templates/index.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/templates/single/Page.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/templates/single/Post.js create mode 100644 packages/gatsby-source-wordpress/test-site/src/utils/get-url-path.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/authed-wpgql-request.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/global-setup-jest.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/global-teardown-jest.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/increment-remote-data.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/incremental-it.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/jest.setup.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/queries.js create mode 100644 packages/gatsby-source-wordpress/test-site/test-utils/test-resolved-data.js create mode 100644 packages/gatsby-source-wordpress/tsconfig.json create mode 100644 starters/gatsby-starter-wordpress-blog/.gitignore create mode 100644 starters/gatsby-starter-wordpress-blog/.prettierignore create mode 100644 starters/gatsby-starter-wordpress-blog/.prettierrc create mode 100644 starters/gatsby-starter-wordpress-blog/LICENSE create mode 100644 starters/gatsby-starter-wordpress-blog/README.md create mode 100644 starters/gatsby-starter-wordpress-blog/content/assets/gatsby-icon.png create mode 100644 starters/gatsby-starter-wordpress-blog/gatsby-browser.js create mode 100644 starters/gatsby-starter-wordpress-blog/gatsby-config.js create mode 100644 starters/gatsby-starter-wordpress-blog/gatsby-node.js create mode 100644 starters/gatsby-starter-wordpress-blog/package.json create mode 100644 starters/gatsby-starter-wordpress-blog/src/components/bio.js create mode 100644 starters/gatsby-starter-wordpress-blog/src/components/layout.js create mode 100644 starters/gatsby-starter-wordpress-blog/src/components/seo.js create mode 100644 starters/gatsby-starter-wordpress-blog/src/normalize.css create mode 100644 starters/gatsby-starter-wordpress-blog/src/pages/404.js create mode 100644 starters/gatsby-starter-wordpress-blog/src/style.css create mode 100644 starters/gatsby-starter-wordpress-blog/src/templates/Page.js create mode 100644 starters/gatsby-starter-wordpress-blog/src/templates/Post.js create mode 100644 starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js create mode 100644 starters/gatsby-starter-wordpress-blog/static/favicon.ico create mode 100644 starters/gatsby-starter-wordpress-blog/static/robots.txt diff --git a/packages/gatsby-source-wordpress/.babelrc b/packages/gatsby-source-wordpress/.babelrc deleted file mode 100644 index ac0ad292bb087..0000000000000 --- a/packages/gatsby-source-wordpress/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": [["babel-preset-gatsby-package"]] -} diff --git a/packages/gatsby-source-wordpress/.eslintignore b/packages/gatsby-source-wordpress/.eslintignore new file mode 100644 index 0000000000000..4caa65dcf41ca --- /dev/null +++ b/packages/gatsby-source-wordpress/.eslintignore @@ -0,0 +1,5 @@ +node_modules +public +dist +.cache +build \ No newline at end of file diff --git a/packages/gatsby-source-wordpress/.eslintrc.js b/packages/gatsby-source-wordpress/.eslintrc.js new file mode 100644 index 0000000000000..087f11f5d245d --- /dev/null +++ b/packages/gatsby-source-wordpress/.eslintrc.js @@ -0,0 +1,141 @@ +const TSEslint = require("@typescript-eslint/eslint-plugin") + +module.exports = { + parser: "babel-eslint", + extends: [ + "google", + "eslint:recommended", + "plugin:react/recommended", + "plugin:prettier/recommended", + "prettier", + "prettier/react", + ], + plugins: ["prettier", "react", "filenames"], + parserOptions: { + ecmaVersion: 2016, + sourceType: "module", + ecmaFeatures: { + jsx: true, + }, + }, + env: { + browser: true, + es6: true, + node: true, + jest: true, + }, + globals: { + before: true, + after: true, + spyOn: true, + __PATH_PREFIX__: true, + __BASE_PATH__: true, + __ASSET_PREFIX__: true, + dd: "readonly", + dump: "readonly", + clipboardy: "readonly", + }, + rules: { + "arrow-body-style": [ + "error", + "as-needed", + { requireReturnForObjectLiteral: true }, + ], + "no-unused-expressions": "off", + "@typescript-eslint/no-unused-expressions": "error", + "@typescript-eslint/explicit-function-return-type": "off", + // "filenames/match-regex": ["error", "^[a-z-\\d\\.]+$", true], + "no-console": "off", + "no-inner-declarations": "off", + "prettier/prettier": "error", + quotes: ["error", "backtick"], + "react/display-name": "off", + "react/jsx-key": "warn", + "react/no-unescaped-entities": "off", + "react/prop-types": "off", + "require-jsdoc": "off", + "valid-jsdoc": "off", + }, + overrides: [ + { + files: [ + "packages/**/gatsby-browser.js", + "packages/gatsby/cache-dir/**/*", + ], + env: { + browser: true, + }, + globals: { + ___loader: false, + ___emitter: false, + }, + }, + { + files: ["**/cypress/integration/**/*", "**/cypress/support/**/*"], + globals: { + cy: false, + Cypress: false, + }, + }, + { + files: ["*.ts", "*.tsx"], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint/eslint-plugin"], + rules: { + ...TSEslint.configs.recommended.rules, + // This rule ensures that typescript types do not have semicolons + // at the end of their lines, since our prettier setup is to have no semicolons + // e.g., + // interface Foo { + // - baz: string; + // + baz: string + // } + "@typescript-eslint/member-delimiter-style": [ + "error", + { + multiline: { + delimiter: "none", + }, + }, + ], + // This ensures all interfaces are named with an I as a prefix + // e.g., + // interface IFoo {} + // "@typescript-eslint/interface-name-prefix": [ + // "error", + // { prefixWithI: "always" }, + // ], + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-empty-function": "off", + // This ensures that we always type the return type of functions + // a high level focus of our TS setup is typing fn inputs and outputs. + "@typescript-eslint/explicit-function-return-type": "off", + // This forces us to use interfaces over types aliases for object defintions. + // Type is still useful for opaque types + // e.g., + // type UUID = string + "@typescript-eslint/consistent-type-definitions": [ + "error", + "interface", + ], + + // Allows us to write unions like `type Foo = "baz" | "bar"` + // otherwise eslint will want to switch the strings to backticks, + // which then crashes the ts compiler + quotes: "off", + "@typescript-eslint/quotes": [ + 2, + "backtick", + { + avoidEscape: true, + }, + ], + }, + }, + ], + settings: { + react: { + version: "16.4.2", + }, + }, +} diff --git a/packages/gatsby-source-wordpress/.gitignore b/packages/gatsby-source-wordpress/.gitignore index 44ac938c5a74b..840c33ab3c358 100644 --- a/packages/gatsby-source-wordpress/.gitignore +++ b/packages/gatsby-source-wordpress/.gitignore @@ -1,4 +1,12 @@ -/*.js -!index.js -yarn.lock -scripts +dist + +.DS_Store +yarn-error.log +.vscode + +node_modules +public +.cache +plugin/README.md + +.inc-builds diff --git a/packages/gatsby-source-wordpress/.npmignore b/packages/gatsby-source-wordpress/.npmignore index e771d2c9fa299..93622a353151f 100644 --- a/packages/gatsby-source-wordpress/.npmignore +++ b/packages/gatsby-source-wordpress/.npmignore @@ -1,3 +1,16 @@ +src +test-site +docker-compose.yml +babel.config.js +.gitignore +generate-plugin-options-docs.md +jest-transformer.js +jest.config.js +loadershim.js +tsconfig.json +docker +docs + # Logs logs *.log @@ -32,3 +45,5 @@ flow-typed coverage decls examples + +*.env* diff --git a/packages/gatsby-source-wordpress/.prettierignore b/packages/gatsby-source-wordpress/.prettierignore new file mode 100644 index 0000000000000..def2b970c043d --- /dev/null +++ b/packages/gatsby-source-wordpress/.prettierignore @@ -0,0 +1,8 @@ +dist +build +node_modules +public +.cache +WordPress +.yarn +.wordpress-cache diff --git a/packages/gatsby-source-wordpress/.prettierrc.js b/packages/gatsby-source-wordpress/.prettierrc.js new file mode 100644 index 0000000000000..a4d537e3304db --- /dev/null +++ b/packages/gatsby-source-wordpress/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + endOfLine: "lf", + semi: false, + singleQuote: false, + tabWidth: 2, + trailingComma: "es5", +} diff --git a/packages/gatsby-source-wordpress/CHANGELOG.md b/packages/gatsby-source-wordpress/CHANGELOG.md deleted file mode 100644 index be97bb68dba55..0000000000000 --- a/packages/gatsby-source-wordpress/CHANGELOG.md +++ /dev/null @@ -1,1168 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [3.11.0-next.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.10.0-next.1...gatsby-source-wordpress@3.11.0-next.0) (2021-01-18) - -### Bug Fixes - -- **security:** update vulnerable packages, include React 17 in peerDeps ([#28545](https://github.com/gatsbyjs/gatsby/issues/28545)) ([18b5f30](https://github.com/gatsbyjs/gatsby/commit/18b5f30e367895aa5f3af46e4989b347912a0f35)) - -# [3.10.0-next.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.10.0-next.0...gatsby-source-wordpress@3.10.0-next.1) (2021-01-12) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.10.0-next.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.9.0-next.2...gatsby-source-wordpress@3.10.0-next.0) (2020-12-29) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.9.0-next.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.9.0-next.1...gatsby-source-wordpress@3.9.0-next.2) (2020-12-29) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.9.0-next.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.9.0-next.0...gatsby-source-wordpress@3.9.0-next.1) (2020-12-17) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.9.0-next.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.8.0-next.0...gatsby-source-wordpress@3.9.0-next.0) (2020-12-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.8.0-next.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.7.0-next.2...gatsby-source-wordpress@3.8.0-next.0) (2020-11-26) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.7.0-next.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.7.0-next.1...gatsby-source-wordpress@3.7.0-next.2) (2020-11-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.7.0-next.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.7.0-next.0...gatsby-source-wordpress@3.7.0-next.1) (2020-11-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.7.0-next.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.6.0-next.0...gatsby-source-wordpress@3.7.0-next.0) (2020-11-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.5.0-next.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.5.0-next.1...gatsby-source-wordpress@3.5.0-next.2) (2020-11-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.5.0-next.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.5.0-next.0...gatsby-source-wordpress@3.5.0-next.1) (2020-11-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.4.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.41...gatsby-source-wordpress@3.4.0) (2020-11-02) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.41](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.40...gatsby-source-wordpress@3.3.41) (2020-10-27) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.40](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.39...gatsby-source-wordpress@3.3.40) (2020-10-26) - -### Bug Fixes - -- **deps:** update minor and patch for gatsby-source-wordpress ([#27655](https://github.com/gatsbyjs/gatsby/issues/27655)) ([b33f403](https://github.com/gatsbyjs/gatsby/commit/b33f403535c719b1b85698820abea21c5ae89a25)) - -## [3.3.39](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.38...gatsby-source-wordpress@3.3.39) (2020-10-16) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.38](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.37...gatsby-source-wordpress@3.3.38) (2020-10-08) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.37](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.36...gatsby-source-wordpress@3.3.37) (2020-10-06) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.36](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.35...gatsby-source-wordpress@3.3.36) (2020-10-01) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.35](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.34...gatsby-source-wordpress@3.3.35) (2020-09-28) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.34](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.33...gatsby-source-wordpress@3.3.34) (2020-09-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.33](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.32...gatsby-source-wordpress@3.3.33) (2020-09-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.32](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.31...gatsby-source-wordpress@3.3.32) (2020-09-07) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.31](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.30...gatsby-source-wordpress@3.3.31) (2020-08-28) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.30](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.29...gatsby-source-wordpress@3.3.30) (2020-08-26) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.29](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.28...gatsby-source-wordpress@3.3.29) (2020-08-24) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.28](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.27...gatsby-source-wordpress@3.3.28) (2020-08-05) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.27](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.26...gatsby-source-wordpress@3.3.27) (2020-08-03) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.26](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.25...gatsby-source-wordpress@3.3.26) (2020-07-24) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.25](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.24...gatsby-source-wordpress@3.3.25) (2020-07-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.24](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.23...gatsby-source-wordpress@3.3.24) (2020-07-21) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.23](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.22...gatsby-source-wordpress@3.3.23) (2020-07-17) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.22](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.21...gatsby-source-wordpress@3.3.22) (2020-07-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.21](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.20...gatsby-source-wordpress@3.3.21) (2020-07-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.20](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.19...gatsby-source-wordpress@3.3.20) (2020-07-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.19](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.18...gatsby-source-wordpress@3.3.19) (2020-07-02) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.18](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.17...gatsby-source-wordpress@3.3.18) (2020-07-02) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.17](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.16...gatsby-source-wordpress@3.3.17) (2020-07-01) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.16](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.15...gatsby-source-wordpress@3.3.16) (2020-07-01) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.15](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.14...gatsby-source-wordpress@3.3.15) (2020-06-24) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.14](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.13...gatsby-source-wordpress@3.3.14) (2020-06-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.13](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.12...gatsby-source-wordpress@3.3.13) (2020-06-19) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.12](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.11...gatsby-source-wordpress@3.3.12) (2020-06-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.11](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.10...gatsby-source-wordpress@3.3.11) (2020-06-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.10](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.9...gatsby-source-wordpress@3.3.10) (2020-06-02) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.9](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.8...gatsby-source-wordpress@3.3.9) (2020-06-02) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.8](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.7...gatsby-source-wordpress@3.3.8) (2020-05-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.7](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.6...gatsby-source-wordpress@3.3.7) (2020-05-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.6](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.5...gatsby-source-wordpress@3.3.6) (2020-05-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.5](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.4...gatsby-source-wordpress@3.3.5) (2020-05-19) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.4](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.3...gatsby-source-wordpress@3.3.4) (2020-05-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.3](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.2...gatsby-source-wordpress@3.3.3) (2020-05-13) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.1...gatsby-source-wordpress@3.3.2) (2020-05-13) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.3.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.3.0...gatsby-source-wordpress@3.3.1) (2020-05-05) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.3.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.2.6...gatsby-source-wordpress@3.3.0) (2020-04-27) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.2.6](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.2.5...gatsby-source-wordpress@3.2.6) (2020-04-24) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.2.5](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.2.4...gatsby-source-wordpress@3.2.5) (2020-04-17) - -### Bug Fixes - -- wrap ignore pattern in quotes ([#23176](https://github.com/gatsbyjs/gatsby/issues/23176)) ([7563db6](https://github.com/gatsbyjs/gatsby/commit/7563db6)) - -## [3.2.4](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.2.3...gatsby-source-wordpress@3.2.4) (2020-04-16) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.2.3](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.2.2...gatsby-source-wordpress@3.2.3) (2020-03-30) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.2.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.2.1...gatsby-source-wordpress@3.2.2) (2020-03-23) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.2.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.2.0...gatsby-source-wordpress@3.2.1) (2020-03-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.2.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.74...gatsby-source-wordpress@3.2.0) (2020-03-20) - -### Features - -- **gatsby:** bump node min version to 10.13.0 ([#22400](https://github.com/gatsbyjs/gatsby/issues/22400)) ([83d681a](https://github.com/gatsbyjs/gatsby/commit/83d681a)) - -## [3.1.74](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.73...gatsby-source-wordpress@3.1.74) (2020-03-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.73](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.72...gatsby-source-wordpress@3.1.73) (2020-03-18) - -### Bug Fixes - -- update dependency axios to ^0.19.2 ([#22317](https://github.com/gatsbyjs/gatsby/issues/22317)) ([91e780f](https://github.com/gatsbyjs/gatsby/commit/91e780f)) - -## [3.1.72](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.71...gatsby-source-wordpress@3.1.72) (2020-03-16) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.71](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.70...gatsby-source-wordpress@3.1.71) (2020-03-13) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.70](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.69...gatsby-source-wordpress@3.1.70) (2020-03-13) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.69](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.68...gatsby-source-wordpress@3.1.69) (2020-03-12) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.68](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.67...gatsby-source-wordpress@3.1.68) (2020-03-11) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.67](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.66...gatsby-source-wordpress@3.1.67) (2020-03-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.66](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.65...gatsby-source-wordpress@3.1.66) (2020-03-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.65](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.64...gatsby-source-wordpress@3.1.65) (2020-03-06) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.64](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.63...gatsby-source-wordpress@3.1.64) (2020-03-06) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.63](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.62...gatsby-source-wordpress@3.1.63) (2020-02-25) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.62](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.61...gatsby-source-wordpress@3.1.62) (2020-02-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.61](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.60...gatsby-source-wordpress@3.1.61) (2020-02-10) - -### Features - -- **gatsby-source-wordpress:** Ability to set a custom rest api route prefix ([#20998](https://github.com/gatsbyjs/gatsby/issues/20998)) ([789fb1c](https://github.com/gatsbyjs/gatsby/commit/789fb1c)) - -## [3.1.60](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.59...gatsby-source-wordpress@3.1.60) (2020-02-01) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.59](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.58...gatsby-source-wordpress@3.1.59) (2020-01-29) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.58](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.57...gatsby-source-wordpress@3.1.58) (2020-01-15) - -### Bug Fixes - -- **docs:** improve WordPress tutorial ([#20520](https://github.com/gatsbyjs/gatsby/issues/20520)) ([d5253f2](https://github.com/gatsbyjs/gatsby/commit/d5253f2)) - -## [3.1.57](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.56...gatsby-source-wordpress@3.1.57) (2020-01-09) - -### Features - -- **gatsby-source-wordpress:** add normalizers option to modif… ([#18079](https://github.com/gatsbyjs/gatsby/issues/18079)) ([2f67bce](https://github.com/gatsbyjs/gatsby/commit/2f67bce)) - -## [3.1.56](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.54...gatsby-source-wordpress@3.1.56) (2020-01-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.55](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.54...gatsby-source-wordpress@3.1.55) (2020-01-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.54](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.53...gatsby-source-wordpress@3.1.54) (2019-12-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.53](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.51...gatsby-source-wordpress@3.1.53) (2019-12-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.52](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.51...gatsby-source-wordpress@3.1.52) (2019-12-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.51](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.50...gatsby-source-wordpress@3.1.51) (2019-12-02) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.50](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.49...gatsby-source-wordpress@3.1.50) (2019-11-26) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.49](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.48...gatsby-source-wordpress@3.1.49) (2019-11-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.48](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.47...gatsby-source-wordpress@3.1.48) (2019-11-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.47](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.46...gatsby-source-wordpress@3.1.47) (2019-11-10) - -### Bug Fixes - -- **gatsby-source-wordpress:** Cannot read property of undefined error with polylang ([#19331](https://github.com/gatsbyjs/gatsby/issues/19331)) ([bd48b21](https://github.com/gatsbyjs/gatsby/commit/bd48b21)), closes [gatsbyjs#19285](https://github.com/gatsbyjs/issues/19285) - -## [3.1.46](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.45...gatsby-source-wordpress@3.1.46) (2019-10-28) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.45](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.44...gatsby-source-wordpress@3.1.45) (2019-10-28) - -### Bug Fixes - -- update minor updates in packages ([#18875](https://github.com/gatsbyjs/gatsby/issues/18875)) ([b692879](https://github.com/gatsbyjs/gatsby/commit/b692879)) - -## [3.1.44](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.43...gatsby-source-wordpress@3.1.44) (2019-10-22) - -### Bug Fixes - -- **gatsby-source-wordpress:** add undefined check to avoid mapPostsToTagsCategories error ([#18895](https://github.com/gatsbyjs/gatsby/issues/18895)) ([ad646d6](https://github.com/gatsbyjs/gatsby/commit/ad646d6)) - -## [3.1.43](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.42...gatsby-source-wordpress@3.1.43) (2019-10-14) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.42](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.41...gatsby-source-wordpress@3.1.42) (2019-10-14) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.41](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.40...gatsby-source-wordpress@3.1.41) (2019-10-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.40](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.39...gatsby-source-wordpress@3.1.40) (2019-10-08) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.39](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.38...gatsby-source-wordpress@3.1.39) (2019-10-04) - -### Bug Fixes - -- update dependency bluebird to ^3.7.0 ([#18029](https://github.com/gatsbyjs/gatsby/issues/18029)) ([bd235a8](https://github.com/gatsbyjs/gatsby/commit/bd235a8)) - -## [3.1.38](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.36...gatsby-source-wordpress@3.1.38) (2019-09-26) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.37](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.36...gatsby-source-wordpress@3.1.37) (2019-09-26) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.36](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.35...gatsby-source-wordpress@3.1.36) (2019-09-23) - -### Bug Fixes - -- update dependency qs to ^6.9.0 ([#17802](https://github.com/gatsbyjs/gatsby/issues/17802)) ([8119d4b](https://github.com/gatsbyjs/gatsby/commit/8119d4b)) - -## [3.1.35](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.34...gatsby-source-wordpress@3.1.35) (2019-09-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.34](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.33...gatsby-source-wordpress@3.1.34) (2019-09-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.33](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.32...gatsby-source-wordpress@3.1.33) (2019-09-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.32](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.31...gatsby-source-wordpress@3.1.32) (2019-09-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.31](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.30...gatsby-source-wordpress@3.1.31) (2019-09-09) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.30](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.29...gatsby-source-wordpress@3.1.30) (2019-09-04) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.29](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.28...gatsby-source-wordpress@3.1.29) (2019-09-04) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.28](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.27...gatsby-source-wordpress@3.1.28) (2019-09-01) - -### Bug Fixes - -- update minor updates in packages except react, babel and eslint ([#17254](https://github.com/gatsbyjs/gatsby/issues/17254)) ([252d867](https://github.com/gatsbyjs/gatsby/commit/252d867)) - -## [3.1.27](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.26...gatsby-source-wordpress@3.1.27) (2019-08-30) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.26](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.25...gatsby-source-wordpress@3.1.26) (2019-08-30) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.25](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.24...gatsby-source-wordpress@3.1.25) (2019-08-24) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.24](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.23...gatsby-source-wordpress@3.1.24) (2019-08-24) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.23](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.22...gatsby-source-wordpress@3.1.23) (2019-08-23) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.22](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.21...gatsby-source-wordpress@3.1.22) (2019-08-23) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.21](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.20...gatsby-source-wordpress@3.1.21) (2019-08-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.20](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.19...gatsby-source-wordpress@3.1.20) (2019-08-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.19](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.18...gatsby-source-wordpress@3.1.19) (2019-08-21) - -### Bug Fixes - -- update dependency bluebird to ^3.5.5 ([#16825](https://github.com/gatsbyjs/gatsby/issues/16825)) ([ec0be83](https://github.com/gatsbyjs/gatsby/commit/ec0be83)) - -## [3.1.18](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.17...gatsby-source-wordpress@3.1.18) (2019-08-21) - -### Bug Fixes - -- update dependency better-queue to ^3.8.10 ([#16824](https://github.com/gatsbyjs/gatsby/issues/16824)) ([6834344](https://github.com/gatsbyjs/gatsby/commit/6834344)) - -## [3.1.17](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.16...gatsby-source-wordpress@3.1.17) (2019-08-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.16](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.15...gatsby-source-wordpress@3.1.16) (2019-08-16) - -### Features - -- **gatsby-source-wordpress:** Add keepMediaDetails ([#15862](https://github.com/gatsbyjs/gatsby/issues/15862)) ([1b89f31](https://github.com/gatsbyjs/gatsby/commit/1b89f31)) - -## [3.1.15](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.14...gatsby-source-wordpress@3.1.15) (2019-08-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.14](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.13...gatsby-source-wordpress@3.1.14) (2019-08-06) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.13](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.12...gatsby-source-wordpress@3.1.13) (2019-08-01) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.12](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.11...gatsby-source-wordpress@3.1.12) (2019-07-30) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.11](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.10...gatsby-source-wordpress@3.1.11) (2019-07-22) - -### Bug Fixes - -- **gatsby-source-wordpress:** WordPress does not properly enco… ([#15835](https://github.com/gatsbyjs/gatsby/issues/15835)) ([f4af142](https://github.com/gatsbyjs/gatsby/commit/f4af142)) - -## [3.1.10](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.9...gatsby-source-wordpress@3.1.10) (2019-07-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.9](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.8...gatsby-source-wordpress@3.1.9) (2019-07-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.8](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.7...gatsby-source-wordpress@3.1.8) (2019-07-13) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.7](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.6...gatsby-source-wordpress@3.1.7) (2019-07-12) - -### Bug Fixes - -- correct links in package changelogs ([#15630](https://github.com/gatsbyjs/gatsby/issues/15630)) ([d07b9dd](https://github.com/gatsbyjs/gatsby/commit/d07b9dd)) - -## [3.1.6](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.5...gatsby-source-wordpress@3.1.6) (2019-07-11) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.5](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.4...gatsby-source-wordpress@3.1.5) (2019-07-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.4](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.3...gatsby-source-wordpress@3.1.4) (2019-07-04) - -### Features - -- **gatsby-source-wordpress:** add option to send cookies ([#15361](https://github.com/gatsbyjs/gatsby/issues/15361)) ([2b08ae5](https://github.com/gatsbyjs/gatsby/commit/2b08ae5)) - -## [3.1.3](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.2...gatsby-source-wordpress@3.1.3) (2019-07-02) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.1.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.1...gatsby-source-wordpress@3.1.2) (2019-06-26) - -### Features - -- **gatsby-source-wordpress:** Add support for WP-REST-API V2… ([#13343](https://github.com/gatsbyjs/gatsby/issues/13343)) ([e2c8402](https://github.com/gatsbyjs/gatsby/commit/e2c8402)) - -## [3.1.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.1.0...gatsby-source-wordpress@3.1.1) (2019-06-25) - -**Note:** Version bump only for package gatsby-source-wordpress - -# [3.1.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.69...gatsby-source-wordpress@3.1.0) (2019-06-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.69](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.66...gatsby-source-wordpress@3.0.69) (2019-06-19) - -### Bug Fixes - -- fix gatsby-cli dep in source-filesystem & plugin-sharp ([#14881](https://github.com/gatsbyjs/gatsby/issues/14881)) ([2594623](https://github.com/gatsbyjs/gatsby/commit/2594623)) - -## [3.0.68](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.67...gatsby-source-wordpress@3.0.68) (2019-06-19) - -### Bug Fixes - -- fix gatsby-cli dep in source-filesystem & plugin-sharp ([#14881](https://github.com/gatsbyjs/gatsby/issues/14881)) ([2594623](https://github.com/gatsbyjs/gatsby/commit/2594623)) - -## [3.0.67](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.66...gatsby-source-wordpress@3.0.67) (2019-06-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.66](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.65...gatsby-source-wordpress@3.0.66) (2019-06-18) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.65](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.64...gatsby-source-wordpress@3.0.65) (2019-06-10) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.64](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.63...gatsby-source-wordpress@3.0.64) (2019-05-31) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.63](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.62...gatsby-source-wordpress@3.0.63) (2019-05-31) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.62](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.61...gatsby-source-wordpress@3.0.62) (2019-05-20) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.61](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.60...gatsby-source-wordpress@3.0.61) (2019-05-16) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.60](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.59...gatsby-source-wordpress@3.0.60) (2019-05-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.59](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.58...gatsby-source-wordpress@3.0.59) (2019-05-14) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.58](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.57...gatsby-source-wordpress@3.0.58) (2019-04-30) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.57](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.56...gatsby-source-wordpress@3.0.57) (2019-04-24) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.56](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.55...gatsby-source-wordpress@3.0.56) (2019-04-23) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.55](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.54...gatsby-source-wordpress@3.0.55) (2019-04-23) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.54](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.53...gatsby-source-wordpress@3.0.54) (2019-04-15) - -### Bug Fixes - -- **gatsby-source-wordpress:** fix WP-API-MENUS when reported endpoint url doesn't match base url ([#12859](https://github.com/gatsbyjs/gatsby/issues/12859)) ([a430202](https://github.com/gatsbyjs/gatsby/commit/a430202)) - -## [3.0.53](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.52...gatsby-source-wordpress@3.0.53) (2019-04-08) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.52](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.51...gatsby-source-wordpress@3.0.52) (2019-04-05) - -### Bug Fixes - -- **gatsby-source-wordpress:** fix local files being nulles after unpublishing and republishing posts ([#13140](https://github.com/gatsbyjs/gatsby/issues/13140)) ([378f863](https://github.com/gatsbyjs/gatsby/commit/378f863)) - -### Features - -- **gatsby-source-wordpress:** Add yoast premium redirects support ([#11595](https://github.com/gatsbyjs/gatsby/issues/11595)) ([e01f080](https://github.com/gatsbyjs/gatsby/commit/e01f080)) - -## [3.0.51](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.50...gatsby-source-wordpress@3.0.51) (2019-03-28) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.50](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.49...gatsby-source-wordpress@3.0.50) (2019-03-27) - -### Bug Fixes - -- **gatsby-source-wordpress:** adjust how endpoint urls are constructed to fix fetching for wordpress.com hosted sites and proxied urls ([#10624](https://github.com/gatsbyjs/gatsby/issues/10624)) ([85b8749](https://github.com/gatsbyjs/gatsby/commit/85b8749)), closes [#10427](https://github.com/gatsbyjs/gatsby/issues/10427) [#10427](https://github.com/gatsbyjs/gatsby/issues/10427) - -## [3.0.49](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.48...gatsby-source-wordpress@3.0.49) (2019-03-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.48](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.47...gatsby-source-wordpress@3.0.48) (2019-03-19) - -### Features - -- **gatsby-source-wordpress:** use unique multi-site node id's ([#12683](https://github.com/gatsbyjs/gatsby/issues/12683)) ([925a655](https://github.com/gatsbyjs/gatsby/commit/925a655)) - -## [3.0.47](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.46...gatsby-source-wordpress@3.0.47) (2019-03-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.46](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.45...gatsby-source-wordpress@3.0.46) (2019-03-14) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.45](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.44...gatsby-source-wordpress@3.0.45) (2019-03-13) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.44](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.43...gatsby-source-wordpress@3.0.44) (2019-03-11) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.43](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.42...gatsby-source-wordpress@3.0.43) (2019-03-05) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.42](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.41...gatsby-source-wordpress@3.0.42) (2019-03-04) - -### Bug Fixes - -- **gatsby-source-wordpress:** Sync sample w/docs ([#11868](https://github.com/gatsbyjs/gatsby/issues/11868)) ([337d98e](https://github.com/gatsbyjs/gatsby/commit/337d98e)), closes [#11739](https://github.com/gatsbyjs/gatsby/issues/11739) - -## [3.0.41](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.40...gatsby-source-wordpress@3.0.41) (2019-02-28) - -### Features - -- **gatsby-source-wordpress:** Add "path" field to post/page/custom post type entities ([#11775](https://github.com/gatsbyjs/gatsby/issues/11775)) ([0b39498](https://github.com/gatsbyjs/gatsby/commit/0b39498)) - -## [3.0.40](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.39...gatsby-source-wordpress@3.0.40) (2019-02-25) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.39](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.38...gatsby-source-wordpress@3.0.39) (2019-02-25) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.38](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.37...gatsby-source-wordpress@3.0.38) (2019-02-22) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.37](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.36...gatsby-source-wordpress@3.0.37) (2019-02-20) - -### Bug Fixes - -- **gatsby-source-filesystem:** Let plugins set parent when creating File nodes with createRemoteFileNode ([#11795](https://github.com/gatsbyjs/gatsby/issues/11795)) ([5a3c1fc](https://github.com/gatsbyjs/gatsby/commit/5a3c1fc)) - -## [3.0.36](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.35...gatsby-source-wordpress@3.0.36) (2019-02-19) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.35](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.34...gatsby-source-wordpress@3.0.35) (2019-02-15) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.34](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.33...gatsby-source-wordpress@3.0.34) (2019-02-12) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.33](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.32...gatsby-source-wordpress@3.0.33) (2019-02-04) - -### Bug Fixes - -- **gatsby-source-wordpress:** handle woocommerce categories and tags ([#11527](https://github.com/gatsbyjs/gatsby/issues/11527)) ([afa4dad](https://github.com/gatsbyjs/gatsby/commit/afa4dad)) - -## [3.0.32](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.31...gatsby-source-wordpress@3.0.32) (2019-02-01) - -### Features - -- **gatsby-source-wordpress:** add jwt_base_path option ([#11425](https://github.com/gatsbyjs/gatsby/issues/11425)) ([8bcd19b](https://github.com/gatsbyjs/gatsby/commit/8bcd19b)) - -## [3.0.31](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.30...gatsby-source-wordpress@3.0.31) (2019-02-01) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.30](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.29...gatsby-source-wordpress@3.0.30) (2019-01-31) - -**Note:** Version bump only for package gatsby-source-wordpress - -## [3.0.29](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.28...gatsby-source-wordpress@3.0.29) (2019-01-28) - -### Bug Fixes - -- **gatsby-source-wordpress:** check response exists before accessing property ([#11349](https://github.com/gatsbyjs/gatsby/issues/11349)) ([3beb891](https://github.com/gatsbyjs/gatsby/commit/3beb891)) - -## [3.0.28](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.27...gatsby-source-wordpress@3.0.28) (2019-01-25) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.27](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.26...gatsby-source-wordpress@3.0.27) (2019-01-23) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.26](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.25...gatsby-source-wordpress@3.0.26) (2019-01-23) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.25](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.23...gatsby-source-wordpress@3.0.25) (2019-01-11) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.23](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.22...gatsby-source-wordpress@3.0.23) (2019-01-11) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.22](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.21...gatsby-source-wordpress@3.0.22) (2019-01-08) - -### Bug Fixes - -- **gatsby-source-wordpress:** add a check for namespaces in response from wp ([#10891](https://github.com/gatsbyjs/gatsby/issues/10891)) ([d96016c](https://github.com/gatsbyjs/gatsby/commit/d96016c)) -- **gatsby-source-wordpress:** use correct glob pattern paths for routes ([#10887](https://github.com/gatsbyjs/gatsby/issues/10887)) ([c793419](https://github.com/gatsbyjs/gatsby/commit/c793419)) - - - -## [3.0.21](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.20...gatsby-source-wordpress@3.0.21) (2018-12-18) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.20](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.19...gatsby-source-wordpress@3.0.20) (2018-12-11) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.19](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.18...gatsby-source-wordpress@3.0.19) (2018-12-06) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.18](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.17...gatsby-source-wordpress@3.0.18) (2018-12-03) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.17](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.16...gatsby-source-wordpress@3.0.17) (2018-12-01) - -### Bug Fixes - -- **gatsby-source-wordpress:** add undefined check to avoid taxonomy mapping error ([#10216](https://github.com/gatsbyjs/gatsby/issues/10216)) ([24c7dfc](https://github.com/gatsbyjs/gatsby/commit/24c7dfc)) - - - -## [3.0.16](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.15...gatsby-source-wordpress@3.0.16) (2018-11-29) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.15](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.14...gatsby-source-wordpress@3.0.15) (2018-11-26) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.14](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.13...gatsby-source-wordpress@3.0.14) (2018-11-14) - -### Bug Fixes - -- **docs:** update broken links with working links ([#9912](https://github.com/gatsbyjs/gatsby/issues/9912)) ([e9f2a6f](https://github.com/gatsbyjs/gatsby/commit/e9f2a6f)) - - - -## [3.0.13](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.12...gatsby-source-wordpress@3.0.13) (2018-11-08) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.12](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.11...gatsby-source-wordpress@3.0.12) (2018-11-05) - -### Features - -- **gatsby-source-wordpress:** allow users to obtain JWT Token to make authenticated requests ([#9509](https://github.com/gatsbyjs/gatsby/issues/9509)) ([9177fc6](https://github.com/gatsbyjs/gatsby/commit/9177fc6)), closes [#6879](https://github.com/gatsbyjs/gatsby/issues/6879) - - - -## [3.0.11](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.10...gatsby-source-wordpress@3.0.11) (2018-11-01) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.10](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.9...gatsby-source-wordpress@3.0.10) (2018-10-29) - -### Features - -- **gatsby-source-wordpress:** normalize baseUrl ([#9386](https://github.com/gatsbyjs/gatsby/issues/9386)) ([2235bf9](https://github.com/gatsbyjs/gatsby/commit/2235bf9)) - - - -## [3.0.9](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.8...gatsby-source-wordpress@3.0.9) (2018-10-24) - -### Features - -- **gatsby-source-wordpress:** create site metadata node ([#9329](https://github.com/gatsbyjs/gatsby/issues/9329)) ([2103e87](https://github.com/gatsbyjs/gatsby/commit/2103e87)), closes [#8051](https://github.com/gatsbyjs/gatsby/issues/8051) - - - -## [3.0.8](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.7...gatsby-source-wordpress@3.0.8) (2018-10-23) - -### Bug Fixes - -- throw error instead of string ([#9284](https://github.com/gatsbyjs/gatsby/issues/9284)) ([bcdd834](https://github.com/gatsbyjs/gatsby/commit/bcdd834)), closes [#9283](https://github.com/gatsbyjs/gatsby/issues/9283) - - - -## [3.0.7](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.6...gatsby-source-wordpress@3.0.7) (2018-10-19) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.6](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.5...gatsby-source-wordpress@3.0.6) (2018-10-15) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.5](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.4...gatsby-source-wordpress@3.0.5) (2018-10-12) - -### Bug Fixes - -- id generation for nested acf flexible content fields ([#9006](https://github.com/gatsbyjs/gatsby/issues/9006)) ([f458faf](https://github.com/gatsbyjs/gatsby/commit/f458faf)), closes [#8910](https://github.com/gatsbyjs/gatsby/issues/8910) [#8910](https://github.com/gatsbyjs/gatsby/issues/8910) - -### Features - -- **gatsby-source-wordpress:** add newline to error log message ([#9033](https://github.com/gatsbyjs/gatsby/issues/9033)) ([57b57e1](https://github.com/gatsbyjs/gatsby/commit/57b57e1)) -- **gatsby-source-wordpress:** add support for route whitelist to complement route blacklist option ([#6036](https://github.com/gatsbyjs/gatsby/issues/6036)) ([a088b51](https://github.com/gatsbyjs/gatsby/commit/a088b51)), closes [#6556](https://github.com/gatsbyjs/gatsby/issues/6556) - - - -## [3.0.4](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.3...gatsby-source-wordpress@3.0.4) (2018-10-10) - -### Features - -- **gatsby-source-wordpress:** improve error logging for WordPress API requests ([#8967](https://github.com/gatsbyjs/gatsby/issues/8967)) ([3bac0c4](https://github.com/gatsbyjs/gatsby/commit/3bac0c4)), closes [#8928](https://github.com/gatsbyjs/gatsby/issues/8928) - - - -## [3.0.3](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.2...gatsby-source-wordpress@3.0.3) (2018-10-09) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.1...gatsby-source-wordpress@3.0.2) (2018-10-05) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -## [3.0.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0...gatsby-source-wordpress@3.0.1) (2018-09-18) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.9...gatsby-source-wordpress@3.0.0) (2018-09-17) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.9](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.8...gatsby-source-wordpress@3.0.0-rc.9) (2018-09-13) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.8](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.7...gatsby-source-wordpress@3.0.0-rc.8) (2018-09-13) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.7](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.6...gatsby-source-wordpress@3.0.0-rc.7) (2018-09-12) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.6](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.5...gatsby-source-wordpress@3.0.0-rc.6) (2018-09-11) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.5](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.4...gatsby-source-wordpress@3.0.0-rc.5) (2018-09-11) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.4](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.3...gatsby-source-wordpress@3.0.0-rc.4) (2018-09-11) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.3](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.2...gatsby-source-wordpress@3.0.0-rc.3) (2018-09-11) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.1...gatsby-source-wordpress@3.0.0-rc.2) (2018-09-07) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-rc.0...gatsby-source-wordpress@3.0.0-rc.1) (2018-08-29) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-rc.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.21...gatsby-source-wordpress@3.0.0-rc.0) (2018-08-21) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.21](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.20...gatsby-source-wordpress@3.0.0-beta.21) (2018-08-21) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.20](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.19...gatsby-source-wordpress@3.0.0-beta.20) (2018-08-20) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.19](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.18...gatsby-source-wordpress@3.0.0-beta.19) (2018-08-13) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.18](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.17...gatsby-source-wordpress@3.0.0-beta.18) (2018-08-08) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.17](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.16...gatsby-source-wordpress@3.0.0-beta.17) (2018-08-04) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.16](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.15...gatsby-source-wordpress@3.0.0-beta.16) (2018-07-31) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.15](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.14...gatsby-source-wordpress@3.0.0-beta.15) (2018-07-27) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.14](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.13...gatsby-source-wordpress@3.0.0-beta.14) (2018-07-24) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.13](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.12...gatsby-source-wordpress@3.0.0-beta.13) (2018-07-21) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.12](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.11...gatsby-source-wordpress@3.0.0-beta.12) (2018-07-20) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.11](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.10...gatsby-source-wordpress@3.0.0-beta.11) (2018-07-19) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.10](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.9...gatsby-source-wordpress@3.0.0-beta.10) (2018-07-19) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.9](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.8...gatsby-source-wordpress@3.0.0-beta.9) (2018-07-18) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.8](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.7...gatsby-source-wordpress@3.0.0-beta.8) (2018-07-18) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.7](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.6...gatsby-source-wordpress@3.0.0-beta.7) (2018-07-14) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.6](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.5...gatsby-source-wordpress@3.0.0-beta.6) (2018-07-13) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.5](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.4...gatsby-source-wordpress@3.0.0-beta.5) (2018-07-09) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.4](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.3...gatsby-source-wordpress@3.0.0-beta.4) (2018-06-21) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.3](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.2...gatsby-source-wordpress@3.0.0-beta.3) (2018-06-20) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.2](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.1...gatsby-source-wordpress@3.0.0-beta.2) (2018-06-20) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.1](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@3.0.0-beta.0...gatsby-source-wordpress@3.0.0-beta.1) (2018-06-17) - -**Note:** Version bump only for package gatsby-source-wordpress - - - -# [3.0.0-beta.0](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-wordpress@2.0.92...gatsby-source-wordpress@3.0.0-beta.0) (2018-06-17) - -**Note:** Version bump only for package gatsby-source-wordpress diff --git a/packages/gatsby-source-wordpress/LICENSE b/packages/gatsby-source-wordpress/LICENSE new file mode 100644 index 0000000000000..ffff567cd16af --- /dev/null +++ b/packages/gatsby-source-wordpress/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2020 Gatsbyjs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/gatsby-source-wordpress/README.md b/packages/gatsby-source-wordpress/README.md index 3885de318b293..1e4ad4c2ff95f 100644 --- a/packages/gatsby-source-wordpress/README.md +++ b/packages/gatsby-source-wordpress/README.md @@ -1,1074 +1,53 @@ -Warning: -**The current version of this plugin will soon be deprecated** and replaced with a complete rewrite in the next version (v4). The reason for this is that we've adopted the use of WPGraphQL to support Preview and incremental builds as well as to make the schema generally more stable and consistent. - -Please upgrade to the beta of `gatsby-source-wordpress@v4` by installing `gatsby-source-wordpress-experimental`. - -These two packages are currently published under separate names to allow activating them side-by-side. -This makes migration between the two simpler. Once the new plugin is stable it will be merged back in and be published as `gatsby-source-wordpress`. - -[Read this blog post for the beta announcement](https://www.gatsbyjs.org/blog/2020-07-07-wordpress-source-beta/) - -[Or get started with the new plugin here](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/#readme) - -# gatsby-source-wordpress - -Source plugin for pulling data into [Gatsby](https://github.com/gatsbyjs) from -WordPress sites using the -[WordPress REST API](https://developer.wordpress.org/rest-api/reference/). - -An example site for this plugin is available. - -- [Demo](https://using-wordpress.gatsbyjs.org/) -- [Example site source code](https://github.com/gatsbyjs/gatsby/tree/master/examples/using-wordpress) - -## Features - -- Pulls data from self-hosted WordPress sites, or sites hosted on [WordPress.com](https://wordpress.com) -- Should work with any number of posts (tested on a site with 900 posts) -- Can authenticate to wordpress.com's API using OAuth 2 so media can be queried -- Easily create responsive images in Gatsby from WordPress images. See [image - processing](#image-processing) section. - -## WordPress and custom entities - -This module currently pulls the following entities from WordPress: - -- [x] All entities are supported (posts, pages, tags, categories, media, types, - users, statuses, taxonomies, site metadata, ...) -- [x] Any new entity should be pulled as long as the IDs are correct. -- [x] [ACF Entities (Advanced Custom Fields)](https://www.advancedcustomfields.com/) -- [x] Custom Post Types (any type you could have registered and enabled in the REST API) -- [x] Post Meta (any meta fields you could have registered and enabled in the REST API) - -We welcome PRs adding support for data from other plugins. - -Note : If some fields are missing, check [troubleshooting missing fields](#missing-fields) section. - -## Install - -`npm install gatsby-source-wordpress` - -## How to use - -First, you need a way to pass environment variables to the build process, so secrets and other secured data aren't committed to source control. We recommend using [`dotenv`][dotenv] which will then expose environment variables. [Read more about dotenv and using environment variables here][envvars]. Then we can _use_ these environment variables and configure our plugin. - -```javascript -// In your gatsby-config.js -module.exports = { - plugins: [ - /* - * Gatsby's data processing layer begins with “source” - * plugins. Here the site sources its data from WordPress. - */ - { - resolve: "gatsby-source-wordpress", - options: { - /* - * The base URL of the WordPress site without the trailingslash and the protocol. This is required. - * Example : 'demo.wp-api.org' or 'www.example-site.com' - */ - baseUrl: "live-gatbsyjswp.pantheonsite.io", - // The protocol. This can be http or https. - protocol: "https", - // The rest api route prefix that your WordPress site is using. - // Sometimes this is modified by WordPress plugins. - // If not set, it uses the default of "wp-json" - restApiRoutePrefix: "wp-json", - // Indicates whether the site is hosted on wordpress.com. - // If false, then the assumption is made that the site is self hosted. - // If true, then the plugin will source its content on wordpress.com using the JSON REST API V2. - // If your site is hosted on wordpress.org, then set this to false. - hostingWPCOM: false, - // If useACF is true, then the source plugin will try to import the WordPress ACF Plugin contents. - // This feature is untested for sites hosted on wordpress.com. - // Defaults to true. - useACF: true, - // Include specific ACF Option Pages that have a set post ID - // Regardless if an ID is set, the default options route will still be retrieved - // Must be using V3 of ACF to REST to include these routes - // Example: `["option_page_1", "option_page_2"]` will include the proper ACF option - // routes with the ID option_page_1 and option_page_2 - // The IDs provided to this array should correspond to the `post_id` value when defining your - // options page using the provided `acf_add_options_page` method, in your WordPress setup - // Dashes in IDs will be converted to underscores for use in GraphQL - acfOptionPageIds: [], - auth: { - // If auth.user and auth.pass are filled, then the source plugin will be allowed - // to access endpoints that are protected with .htaccess. - htaccess_user: "your-htaccess-username", - htaccess_pass: "your-htaccess-password", - htaccess_sendImmediately: false, - - // If hostingWPCOM is true then you will need to communicate with wordpress.com API - // in order to do that you need to create an app (of type Web) at https://developer.wordpress.com/apps/ - // then add your clientId, clientSecret, username, and password here - // Learn about environment variables: https://www.gatsbyjs.org/docs/environment-variables - // If two-factor authentication is enabled then you need to create an Application-Specific Password, - // see https://en.support.wordpress.com/security/two-step-authentication/#application-specific-passwords - wpcom_app_clientSecret: process.env.WORDPRESS_CLIENT_SECRET, - wpcom_app_clientId: "54793", - wpcom_user: "gatsbyjswpexample@gmail.com", - wpcom_pass: process.env.WORDPRESS_PASSWORD, - - // If you use "JWT Authentication for WP REST API" (https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/) - // or (https://github.com/jonathan-dejong/simple-jwt-authentication) requires jwt_base_path, path can be found in WordPress wp-api. - // plugin, you can specify user and password to obtain access token and use authenticated requests against WordPress REST API. - jwt_user: process.env.JWT_USER, - jwt_pass: process.env.JWT_PASSWORD, - jwt_base_path: "/jwt-auth/v1/token", // Default - can skip if you are using https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/ - }, - // Set cookies that should be send with requests to WordPress as key value pairs - cookies: {}, - // Set verboseOutput to true to display a verbose output on `npm run develop` or `npm run build` - // It can help you debug specific API Endpoints problems. - verboseOutput: false, - // Set how many pages are retrieved per API request. - perPage: 100, - // Search and Replace Urls across WordPress content. - searchAndReplaceContentUrls: { - sourceUrl: "https://source-url.com", - replacementUrl: "https://replacement-url.com", - }, - // Set how many simultaneous requests are sent at once. - concurrentRequests: 10, - // Set WP REST API routes whitelists - // and blacklists using glob patterns. - // Defaults to whitelist the routes shown - // in the example below. - // See: https://github.com/isaacs/minimatch - // Example: `["/*/*/comments", "/yoast/**"]` - // ` will either include or exclude routes ending in `comments` and - // all routes that begin with `yoast` from fetch. - // Whitelisted routes using glob patterns - includedRoutes: [ - "**/categories", - "**/posts", - "**/pages", - "**/media", - "**/tags", - "**/taxonomies", - "**/users", - ], - // Blacklisted routes using glob patterns - excludedRoutes: ["**/posts/1456"], - // Set this to keep media sizes. - // This option is particularly useful in case you need access to - // URLs for thumbnails, or any other media detail. - // Defaults to false - keepMediaSizes: false, - // use a custom normalizer which is applied after the built-in ones. - normalizer: function ({ entities }) { - return entities - }, - // The normalizers option allows you to manipulate the array of internal - // normalizers that are applied to entities after they're fetched - // from WordPress. - // You can add your own normalizers to this array by adding an object - // that contains name and normalizer properties. - // Name is the name of your normalizer, and normalizer is a function that - // should return the array of entities that are passed to it. - // This is useful if you need more control over the order of normalizers, - // instead of your normalizer being applied after the built in normalizers (as is the case with the normalizer option). - normalizers: normalizers => [ - ...normalizers, - { - name: "nameOfTheFunction", - normalizer: function ({ entities }) { - // manipulate entities here - return entities - }, - }, - ], - }, - }, - ], -} -``` - -## WordPress Plugins - -These plugins were tested. We welcome PRs adding support for data from other -plugins. - -- [x] Custom Post Types : it will work seamlessly, no further option needs to be - activated. ("Show in REST API" setting needs to be set to true on the - custom post in the plugin settings for this to work. It's set to "false" - by default.) - -- [x] [ACF](https://www.advancedcustomfields.com/) The option `useACF: true` - must be activated in your site's `gatsby-config.js`. - - - You must have the plugin - [acf-to-rest-api](https://github.com/airesvsg/acf-to-rest-api) installed in - WordPress. - - Will pull the `acf: { ... }` fields's contents from any entity which has it - attached (pages, posts, medias, ... you choose from in WordPress backend - while creating a Group of Fields). - - [ACF Pro](https://www.advancedcustomfields.com/pro/) same as ACF : - - Will work with - [Flexible content](https://www.advancedcustomfields.com/resources/flexible-content/) - and premium stuff like that (repeater, gallery, ...). - - Will pull the content attached to the - [options page](https://www.advancedcustomfields.com/add-ons/options-page/). - -- [x] [WP-API-MENUS](https://wordpress.org/plugins/wp-api-menus/) which gives - you the menus and menu locations endpoint. - -- [x] [WPML-REST-API](https://github.com/shawnhooper/wpml-rest-api) which adds - the current locale and available translations to all post types translated with WPML. - -- [x] [wp-rest-polylang](https://github.com/maru3l/wp-rest-polylang) which adds - the current locale and available translations to all post types translated with Polylang. - -- [x] [wp-rest-polylang-pro](https://github.com/dannyvaughton/wp-rest-polylang-pro) which adds - the current locale and available translations to all post types & taxonomies translated with Polylang Pro. - -- [x] [Yoast](https://yoast.com/wordpress/plugins/seo/) - - You must have the plugin [wp-api-yoast-meta](https://github.com/maru3l/wp-api-yoast-meta) installed in WordPress. - - Will pull the `yoast_meta: { ... }` field's contents in entity. - - Work with Yoast premium : - - Will create Yoast redirects model base on Yoast redirect - -## How to use Gatsby with Wordpress.com hosting - -### For Blogger, Personal, and Premium Plans - -Set `hostingWPCOM: true`. - -You will need to provide an [API Key](https://en.support.wordpress.com/api-keys/). - -Note : The WordPress.com API does not have all of the features of the WordPress.org API, specifically with respect to pagination. See ~TypeError - Cannot read property 'id' of undefined with WordPress.com~ in the troubleshooting section for more. - -### For Business, and E-commerce Plans - -Business and e-commerce plans will run the WordPress.org version, so it is recommended to set `hostingWPCOM: false`. - -## Test your WordPress API - -Before you run your first query, ensure the WordPress JSON API is working correctly by visiting /wp-json at your WordPress install. The result should be similar to the [WordPress demo API](https://demo.wp-api.org/wp-json/). - -If you see a page on your site, rather than the JSON output, check if your permalink settings are set to “Plain”. After changing this to any of the other settings, the JSON API should be accessible. - -## Fetching Data: WordPress REST API Route Selection - -By default `gatsby-source-wordpress` plugin will fetch data from all endpoints provided by introspection `/wp-json` response. To customize the routes fetched, two configuration options are available: `includeRoutes` for whitelisting and `excludeRoutes` for blacklisting. Both options expect an array of glob patterns. Glob matching is done by [minimatch](https://github.com/isaacs/minimatch). To test your glob patterns, [use this tool](https://pthrasher.github.io/minimatch-test/). You can inspect discovered routes by using `verboseOutput: true` configuration option. - -If an endpoint is whitelisted and not blacklisted, it will be fetched. Otherwise, it will be ignored. - -### Example: - -```javascript -includedRoutes: [ - "**/posts", - "**/pages", - "**/media", - "**/categories", - "**/tags", - "**/taxonomies", - "**/users", -], -``` - -Which would include most commonly used endpoints: - -- Posts -- Pages -- Media -- Categories -- Tags -- Taxonomies -- Users - -and would skip pulling Comments. - -## How to query - -You can query nodes created from WordPress using GraphQL like the following: -Note : Learn to use the GraphQL tool and Ctrl+Spacebar at -`http://localhost:3000/___graphiql` to discover the types and properties of your -GraphQL model. - -### Query posts - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - } - } - } -} -``` - -### Query pages - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - status - } - } - } -} -``` - -Same thing for other type of entity (tag, media, categories, ...). - -### Query any other entity - -In the following example, `${Manufacturer}` will be replaced by the endpoint -prefix and `${Endpoint}` by the name of the endpoint. - -To know what's what, check the URL of the endpoint. You can set `verboseOutput: true` in order to get more information of what's executed by the source plugin -behind the scene. - -For example the following URL: -`http://my-blog.wordpress.com/wp-json/acf/v2/options` - -- Manufacturer : `acf` -- Endpoint : `options` -- Final GraphQL Type : AllWordpressAcfOptions - -For example the following URL: -`http://my-blog.wordpress.com/wp-api-menus/v2/menu-locations` - -- Manufacturer : `wpapimenus` -- Endpoint : `menulocations` -- Final GraphQL Type : AllWordpressWpApiMenusMenuLocations - -```graphql -{ - allWordpress${Manufacturer}${Endpoint} { - edges { - node { - id - type - // Put your fields here - } - } - } -} -``` - -### Query ACF Options - -Whether you are using V2 or V3 of ACF to REST, the query below will return `options` as the default ACF Options page data. - -If you have specified `acfOptionPageIds` in your site's `gatsby-config.js` (ex: `option_page_1`), then they will be accessible by their ID: - -```graphql -{ - allWordpressAcfOptions { - edges { - node { - option_page_1 { - test_acf - } - options { - test_acf - } - } - } - } -} -``` - -### Query posts with the child ACF Fields Node - -Mention the apparition of `childWordpressAcfField` in the query below : - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - acf { - // use ___GraphiQL debugger and Ctrl+Spacebar to describe your model. - } - } - } - } -} -``` - -### Query pages with the child ACF Fields Node - -Mention the apparition of `childWordpressAcfField` in the query below : - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - acf { - // use ___GraphiQL debugger and Ctrl+Spacebar to describe your model. - } - } - } - } -} -``` - -### Query with ACF Flexible Content - -ACF Flexible Content returns an array of objects with different types and are -handled differently than other fields. - -To access those fields, instead of using their field name, you need to use -`[field_name]_[post_type]` (if you have field named `page_builder` in -your WordPress pages you would need to use `page_builder_page`). - -To access data stored in these fields, you need to use GraphQL -[inline fragments](https://graphql.org/learn/queries/#inline-fragments). This -require you to know types of nodes. The easiest way to get the types of nodes is to use -`___GraphiQL` debugger and run the below query (adjust post type and field name): - -```graphql -{ - allWordpressPage { - edges { - node { - title - acf { - page_builder_page { - __typename - } - } - } - } - } -} -``` - -When you have node type names, you can use them to create inline fragments. - -Full example: - -```graphql -{ - allWordpressPage { - edges { - node { - title - acf { - page_builder_page { - __typename - ... on WordPressAcf_hero { - title - subtitle - } - ... on WordpressAcf_text { - text - } - ... on WordpressAcf_image { - image { - localFile { - childImageSharp { - fluid(maxWidth: 800) { - ...GatsbyImageSharpFluid_withWebp - } - } - } - } - } - } - } - } - } - } -} -``` - -### Query posts with the WPML Fields Node - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - wpml_current_locale - wpml_translations { - locale - wordpress_id - post_title - href - } - } - } - } -} -``` - -### Query pages with the WPML Fields Node - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - wpml_current_locale - wpml_translations { - locale - wordpress_id - post_title - href - } - } - } - } -} -``` - -### Query posts with the Polylang Fields Node - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - polylang_current_lang - polylang_translations { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - polylang_current_lang - } - } - } - } -} -``` - -### Query pages with the Polylang Fields Node - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - polylang_current_lang - polylang_translations { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - polylang_current_lang - } - } - } - } -} -``` - -### Query pages with the Yoast Fields Node - -```graphql -{ - allWordpressPage { - edges { - node { - yoast_meta { - yoast_wpseo_title - yoast_wpseo_metadesc - yoast_wpseo_canonical - yoast_wpseo_facebook_title - yoast_wpseo_facebook_description - yoast_wpseo_facebook_type - yoast_wpseo_facebook_image - yoast_wpseo_twitter_title - yoast_wpseo_twitter_description - yoast_wpseo_twitter_image - yoast_wpseo_social_url - yoast_wpseo_company_or_person - yoast_wpseo_person_name - yoast_wpseo_company_name - yoast_wpseo_company_logo - yoast_wpseo_website_name - } - } - } - } -} -``` - -### Query Yoast Redirects - -**_only work with Yoast Premium_** - -```graphql -{ - allWordpressYoastRedirects { - edges { - node { - origin - url - type - format - } - } - } -} -``` - -## Image processing - -To use image processing you need `gatsby-transformer-sharp`, `gatsby-plugin-sharp` and their -dependencies `gatsby-image` and `gatsby-source-filesystem` in your `gatsby-config.js`. - -You can apply image processing to: - -- featured images (also known as post thumbnails), -- ACF fields: - - Image field type (return value must be set to `Image Object` or `Image URL` or field name must be `featured_media`), - - Gallery field type. - -Image processing of inline images added in WordPress WYSIWIG editor is -currently not supported. - -To access image processing in your queries you need to use this pattern: - -```graphql -{ - imageFieldName { - localFile { - childImageSharp { - ...ImageFragment - } - } - } -} -``` - -Full example: - -```graphql -{ - allWordpressPost { - edges { - node { - title - featured_media { - localFile { - childImageSharp { - fixed(width: 500, height: 300) { - ...GatsbyImageSharpFixed_withWebp - } - } - } - } - acf { - image { - localFile { - childImageSharp { - fluid(maxWidth: 500) { - ...GatsbyImageSharpFluid_withWebp - } - } - } - } - gallery { - localFile { - childImageSharp { - resize(width: 180, height: 180) { - src - } - } - } - } - } - } - } - } -} -``` - -To learn more about image processing check - -- documentation of [gatsby-plugin-sharp](/plugins/gatsby-plugin-sharp/), -- source code of [image processing example - site](https://github.com/gatsbyjs/gatsby/tree/master/examples/image-processing). - -## Using a custom normalizer - -The plugin uses the concept of normalizers to transform the json data from WordPress into -GraphQL nodes. You can extend the normalizers by modifying the normalizers array in plugin options in `gatsby-config.js`. - -### Example: - -You have a custom post type `movie` and a related custom taxonomy `genre` in your WordPress site. Since -`gatsby-source-wordpress` doesn't know about the relation of the two, we can build an additional normalizer function to map the movie GraphQL nodes to the genre nodes: - -```javascript -const mapMoviesToGenres = { - name: `mapMoviesToGenres`, - normalizer: function({ entities }) { - const genres = entities.filter(e => e.__type === `wordpress__wp_genre`) - - return entities.map(e => { - if (e.__type === `wordpress__wp_movie`) { - let hasGenres = e.genres && Array.isArray(e.genres) && e.genres.length - // Replace genres with links to their nodes. - if (hasGenres) { - e.genres___NODE = e.genres.map( - c => genres.find(gObj => c === gObj.wordpress_id).id - ) - delete e.genres - } - } - return e - }) -} -``` - -In your `gatsby-config.js` you can then add the normalizer to the plugin options called normalizers: - -```javascript -module.exports = { - plugins: [ - { - resolve: "gatsby-source-wordpress", - options: { - // ... - normalizers: normalizers => [...normalizers, mapMoviesToGenres], - }, - }, - ], -} -``` - -Next to the entities, the object passed to the custom normalizer function also contains other helpful Gatsby functions -and also your `wordpress-source-plugin` options from `gatsby-config.js`. To learn more about the passed object see the [source code](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-wordpress/src/gatsby-node.js). - -### Example with modifying gatsby-source-wordpress normalizers - -```javascript -const dropUnusedMediaNormalizer = { - name: "dropUnusedMediaNormalizer", - normalizer: function ({ entities }) { - return entities.filter( - e => !(e.__type === "wordpress__wp_media" && !e.post) - ) - }, -} -``` - -Adding this normalizer on top of other/builtin normalizers, so unused media entities are not further processed. - -```javascript -module.exports = { - plugins: [ - { - resolve: "gatsby-source-wordpress", - options: { - // ... - normalizers: normalizers => [dropUnusedMediaNormalizer, ...normalizers], - }, - }, - ], -} -``` - -## Site's `gatsby-node.js` example - -```javascript -const path = require(`path`) -const { slash } = require(`gatsby-core-utils`) - -// Implement the Gatsby API “createPages”. This is -// called after the Gatsby bootstrap is finished so you have -// access to any information necessary to programmatically -// create pages. -// Will create pages for WordPress pages (route : /{slug}) -// Will create pages for WordPress posts (route : /post/{slug}) -exports.createPages = async ({ graphql, actions }) => { - const { createPage } = actions - - // The “graphql” function allows us to run arbitrary - // queries against the local Gatsby GraphQL schema. Think of - // it like the site has a built-in database constructed - // from the fetched data that you can run queries against. - const result = await graphql(` - { - allWordpressPage { - edges { - node { - id - path - status - template - } - } - } - allWordpressPost { - edges { - node { - id - path - status - template - format - } - } - } - } - `) - - // Check for any errors - if (result.errors) { - throw new Error(result.errors) - } - - // Access query results via object destructuring - const { allWordpressPage, allWordpressPost } = result.data - - // Create Page pages. - const pageTemplate = path.resolve(`./src/templates/page.js`) - // We want to create a detailed page for each page node. - // The path field contains the relative original WordPress link - // and we use it for the slug to preserve url structure. - // The Page ID is prefixed with 'PAGE_' - allWordpressPage.edges.forEach(edge => { - // Gatsby uses Redux to manage its internal state. - // Plugins and sites can use functions like "createPage" - // to interact with Gatsby. - createPage({ - // Each page is required to have a `path` as well - // as a template component. The `context` is - // optional but is often necessary so the template - // can query data specific to each page. - path: edge.node.path, - component: slash(pageTemplate), - context: { - id: edge.node.id, - }, - }) - }) - - const postTemplate = path.resolve(`./src/templates/post.js`) - // We want to create a detailed page for each post node. - // The path field stems from the original WordPress link - // and we use it for the slug to preserve url structure. - // The Post ID is prefixed with 'POST_' - allWordpressPost.edges.forEach(edge => { - createPage({ - path: edge.node.path, - component: slash(postTemplate), - context: { - id: edge.node.id, - }, - }) - }) -} -``` - -## Troubleshooting - -### Missing Fields - -If you have custom post types or metadata that are not showing up within the schema, make sure that they are enabled within the REST API. - -- **Custom Meta** - - To retrieve custom post meta in your queries, they first must be registered using WordPress' `register_meta()` function with `show_in_rest` set as `true`. You will then see your registered post meta in your Gatsby GraphQL Schema nested within the `meta` field for associated entities. For more details, see . - -- **Custom Post Types** - - If you are programmatically registering post types with `register_post_type()` and would like to use them in your queries, make sure to have `show_in_rest` set as `true`. Otherwise if you are using a plugin such as CPT UI to register your custom post types, check your configurations to make sure that the post types you want to query are enabled to show in REST API. - -### GraphQL Error - Unknown Field on ACF - -ACF returns `false` in cases where there is no data to be returned. This can cause conflicting data types in GraphQL and often leads to the error: `GraphQL Error Unknown field {field} on type {type}`. - -To solve this, you can use the [acf/format_value filter](https://www.advancedcustomfields.com/resources/acf-format_value/). There are 2 possible ways to use this: - -- `acf/format_value` – filter for every field -- `acf/format_value/type={$field_type}` – filter for a specific field based on it’s type - -Using the following function, you can check for an empty field and if it's empty return `null`. - -```php -if (!function_exists('acf_nullify_empty')) { - /** - * Return `null` if an empty value is returned from ACF. - * - * @param mixed $value - * @param mixed $post_id - * @param array $field - * - * @return mixed - */ - function acf_nullify_empty($value, $post_id, $field) { - if (empty($value)) { - return null; - } - return $value; - } -} -``` - -You can then apply this function to all ACF fields using the following code snippet: - -```php -add_filter('acf/format_value', 'acf_nullify_empty', 100, 3); -``` - -Or if you would prefer to target specific fields, you can use the `acf/format_value/type={$field_type}` filter. Here are some examples: - -```php -add_filter('acf/format_value/type=image', 'acf_nullify_empty', 100, 3); -add_filter('acf/format_value/type=gallery', 'acf_nullify_empty', 100, 3); -add_filter('acf/format_value/type=repeater', 'acf_nullify_empty', 100, 3); -``` - -This code is also available as a [WordPress plugin](https://wordpress.org/plugins/wp-acf-nullify-gatsby/) or can be added within the `functions.php` of a theme. - -### GraphQL Error - Unknown field `localFile` on type `[image field]` - -WordPress has a [known issue](https://core.trac.wordpress.org/ticket/41445) that can affect how media objects are returned through the REST API. - -During the upload process to the WordPress media library, the `post_parent` value ([seen here in the wp_posts table](https://codex.wordpress.org/Database_Description#Table:_wp_posts)) is set to the ID of the post the image is attached to. This value is unable to be changed by any WordPress administration actions. - -When the post an image is attached to becomes inaccessible (e.g. from changing visibility settings, or deleting the post), the image itself is restricted in the REST API: - -```json -{ - "code": "rest_forbidden", - "message": "You don't have permission to do this.", - "data": { - "status": 403 - } -} -``` - -which prevents Gatsby from retrieving it. - -In order to resolve this, you can manually change the `post_parent` value of the image record to `0` in the database. The only side effect of this change is that the image will no longer appear in the "Uploaded to this post" filter in the Add Media dialog in the WordPress administration area. - -### TypeError - `Cannot read property 'id' of undefined` with WordPress.com - -While there are other reasons this can occur (see issues), a very specific version of this issue occurs when a particular tag, category, file (or any other referenced object) is referenced in a post but cannot be mapped to the list of related items to generate the proper node. - -This problem occurs because WordPress.com's API lacks the `X-WP-Total` and `X-WP-TotalPages` headers, which are used to determine the number of items and number of pages to pull from the API. Because of this, lower WordPress.com plans (Starter, Personal, and Premium) will not traverse the 2,...n pages and **will not be able to work with more than 100 items**. - -Note: The plugin is currently using `https://public-api.wordpress.com/wp/v2/sites/[site]/` base endpoint, instead of what is in the WordPress.com documentation (`https://public-api.wordpress.com/rest/v1.1/sites/[site]/`. the `wp/v2` closely resembles the WordPress.org API, whereas the `rest/v1` and `rest/v1.1` enpoints behave differently. - -### ACF Option Pages - Option page data not showing or not updating - -This issue occurs when you are trying to pull in data from your ACF Option pages. On certain occasions (initial setup or rebuilding) the data will not appear or won't update to the latest data. - -To resolve this issue, make sure that your ids in the `acfOptionPageIds` array, in the plugin config, corresponds to the `post_id` value when defining your Options page with the `acf_add_options_page` method provided by ACF. - -### Self-signed certificates - -When running locally, or in other situations that may involve self-signed certificates, you may run into the error: `The request failed with error code "DEPTH_ZERO_SELF_SIGNED_CERT"`. - -To solve this, you can disable Node.js' rejection of unauthorized certificates by adding the following to `.env.development`: - -```shell -NODE_TLS_REJECT_UNAUTHORIZED=0 -``` - -Please note that you need to add `dotenv`, as mentioned earlier, to expose environment variables in your gatsby-config.js or gatsby-node.js files. - -**CAUTION:** This should never be set in production. Always ensure that you disable `NODE_TLS_REJECT_UNAUTHORIZED` in development with `gatsby develop` only. - -[dotenv]: https://github.com/motdotla/dotenv -[envvars]: https://www.gatsbyjs.org/docs/environment-variables +
+Wapuu hugging a ball with the Gatsby logo on it +
+ +

+ + Gatsby and gatsby-source-wordpress are released under the MIT license. + + + Current npm package version. + + + Downloads per month on npm. + + + Total downloads on npm. + + + PRs welcome! + + + Follow @gatsbyjs + +

+ +# gatsby-source-wordpress v4 + +Source data from WordPress in a scaleable and efficient way with WPGraphQL 🚀 + +This plugin works by merging the [WPGraphQL schema & data](https://docs.wpgraphql.com/guides/about-wpgraphql/) with the [Gatsby schema & Node model](https://www.gatsbyjs.com/docs/node-model/) which allows us to efficiently cache WP data in Gatsby. What this means is that incremental builds, fast builds, and CMS Previews work beautifully! 💅 + +# Docs 📖 + +- 👩‍🎤 [Why use this plugin?](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md) +- 🏃‍ [Installation & Getting started](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/getting-started.md) +- 🏫 [Tutorials](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/tutorials/index.md) +- 🐾 [Features](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/features/index.md) +- 🔌 [Plugin options](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md) +- ⛵️ [Migrating from other WP source plugins](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md) +- 💻 [Using Data](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/using-data.md) +- 🏠 [Hosting WordPress](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/hosting.md) +- 👟 [Themes, Starters, and Examples](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/themes-starters-examples.md) +- 🏅 [Usage with popular WPGraphQL extensions](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md) +- 🛠 [Debugging and troubleshooting](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md) +- 🏞 [Community and Support](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/community-and-support.md) +- 💡 [Contribution](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/contribution.md) + +## Relevant Links 🔗 + +- [WPGatsby](https://github.com/gatsbyjs/wp-gatsby) +- [WPGraphQL](https://github.com/wp-graphql/wp-graphql) +- [Gatsby](https://www.gatsbyjs.com/) +- [WordPress](https://wordpress.com/) diff --git a/packages/gatsby-source-wordpress/babel.config.js b/packages/gatsby-source-wordpress/babel.config.js new file mode 100644 index 0000000000000..2a3c88f784c5d --- /dev/null +++ b/packages/gatsby-source-wordpress/babel.config.js @@ -0,0 +1,42 @@ +module.exports = { + presets: [[`babel-preset-gatsby-package`]], + plugins: [ + [ + `@babel/plugin-proposal-private-methods`, + { + loose: true, + }, + ], + [ + `babel-plugin-module-resolver`, + { + alias: { + "~": `./src`, + }, + }, + ], + [ + `@babel/plugin-proposal-class-properties`, + { + loose: true, + }, + ], + [ + `import-globals`, + { + dd: { + moduleName: `dumper.js`, + exportName: `dd`, + }, + dump: { + moduleName: `dumper.js`, + exportName: `dump`, + }, + clipboardy: { + moduleName: `clipboardy`, + exportName: `default`, + }, + }, + ], + ], +} diff --git a/packages/gatsby-source-wordpress/docker-compose.yml b/packages/gatsby-source-wordpress/docker-compose.yml new file mode 100644 index 0000000000000..6cbdfac1cf725 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker-compose.yml @@ -0,0 +1,59 @@ +version: "3.8" + +services: + db: + image: mysql:8 + environment: + MYSQL_ROOT_PASSWORD: gtsb-wp-dckr + MYSQL_DATABASE: wordpress + MYSQL_USER: wordpress + MYSQL_PASSWORD: gtsb-wp-dckr-user + restart: always + volumes: + - "db_data:/var/lib/mysql" + - "./docker/seed:/docker-entrypoint-initdb.d" + + docker-host: + image: qoomon/docker-host + cap_add: ["NET_ADMIN", "NET_RAW"] + mem_limit: 8M + restart: on-failure + + wordpress: + depends_on: + - db + env_file: + - ./test-site/.env.test + - ./test-site/.env.plugins + build: + context: ./docker/wordpress + ports: + - "8001:8001" + environment: + WORDPRESS_DB_PASSWORD: gtsb-wp-dckr-user + WORDPRESS_DB_NAME: wordpress + WORDPRESS_DB_USER: wordpress + WORDPRESS_DB_HOST: db:3306 + WORDPRESS_DEBUG: 1 + restart: always + volumes: + - wp_data:/var/www/html + + wordpress-cli: + depends_on: + - db + - wordpress + # Specify versions for wp cli or composer here + environment: + CPT_UI_VERSION: 1.8.1 + env_file: + - ./test-site/.env.test + - ./test-site/.env.plugins + build: + context: ./docker/wp-cli + volumes: + - wp_data:/var/www/html + +volumes: + db_data: + wp_data: diff --git a/packages/gatsby-source-wordpress/docker/rebuild.sh b/packages/gatsby-source-wordpress/docker/rebuild.sh new file mode 100755 index 0000000000000..fd8265c3abada --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/rebuild.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +function log () { + echo -e "\n\n[gatsby-source-wordpress] ${1}\n\n" +} + +log 'Rebuilding test docker-compose' + +docker-compose rm -fsv && \ +docker volume rm gatsby-source-wordpress_db_data gatsby-source-wordpress_wp_data && \ +docker-compose up --force-recreate --build -V --remove-orphans -d && \ + +log 'Successfully rebuilt test docker-compose. \n\nContainers are now running in detached mode & next the script will follow logs for wordpress & wp-cli.\nIf you press ctrl/cmd+C to exit the log follow process, the containers will remain running.\nYou can use docker-compose stop to stop them.' && \ + +docker-compose logs -f wordpress wordpress-cli; diff --git a/packages/gatsby-source-wordpress/docker/seed/backup.sql b/packages/gatsby-source-wordpress/docker/seed/backup.sql new file mode 100644 index 0000000000000..65c698b832899 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/seed/backup.sql @@ -0,0 +1,6642 @@ +-- phpMyAdmin SQL Dump +-- version 4.9.5 +-- https://www.phpmyadmin.net/ +-- +-- Host: pod-154453.wpengine.com:13306 +-- Generation Time: Oct 17, 2020 at 02:23 PM +-- Server version: 5.7.29-32-log +-- PHP Version: 7.2.24-0ubuntu0.18.04.7 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `wp_devgatsbyint` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_actions` +-- + +CREATE TABLE `wp_actionscheduler_actions` ( + `action_id` bigint(20) UNSIGNED NOT NULL, + `hook` varchar(191) COLLATE utf8mb4_unicode_520_ci NOT NULL, + `status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL, + `scheduled_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `scheduled_date_local` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `args` varchar(191) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL, + `schedule` longtext COLLATE utf8mb4_unicode_520_ci, + `group_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `attempts` int(11) NOT NULL DEFAULT '0', + `last_attempt_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `last_attempt_local` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `claim_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `extended_args` varchar(8000) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- +-- Dumping data for table `wp_actionscheduler_actions` +-- + +INSERT INTO `wp_actionscheduler_actions` (`action_id`, `hook`, `status`, `scheduled_date_gmt`, `scheduled_date_local`, `args`, `schedule`, `group_id`, `attempts`, `last_attempt_gmt`, `last_attempt_local`, `claim_id`, `extended_args`) VALUES +(8450, 'action_scheduler/migration_hook', 'complete', '2020-09-19 00:09:57', '2020-09-19 00:09:57', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600474197;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600474197;}', 1, 1, '2020-09-19 00:10:28', '2020-09-19 00:10:28', 0, NULL), +(8451, 'woocommerce_update_marketplace_suggestions', 'complete', '2020-09-19 00:12:34', '2020-09-19 00:12:34', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600474354;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600474354;}', 0, 1, '2020-09-19 00:12:59', '2020-09-19 00:12:59', 0, NULL), +(8452, 'action_scheduler/migration_hook', 'complete', '2020-09-24 22:48:39', '2020-09-24 22:48:39', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600987719;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600987719;}', 1, 1, '2020-09-24 22:51:32', '2020-09-24 22:51:32', 0, NULL), +(8453, 'action_scheduler/migration_hook', 'complete', '2020-09-24 22:52:32', '2020-09-24 22:52:32', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600987952;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600987952;}', 1, 1, '2020-09-24 22:53:15', '2020-09-24 22:53:15', 0, NULL), +(8454, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:02:42', '2020-09-24 23:02:42', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988562;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988562;}', 1, 1, '2020-09-24 23:02:55', '2020-09-24 23:02:55', 0, NULL), +(8455, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:03:55', '2020-09-24 23:03:55', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988635;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988635;}', 1, 1, '2020-09-24 23:06:38', '2020-09-24 23:06:38', 0, NULL), +(8456, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:07:38', '2020-09-24 23:07:38', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988858;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988858;}', 1, 1, '2020-09-24 23:07:53', '2020-09-24 23:07:53', 0, NULL), +(8457, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:08:55', '2020-09-24 23:08:55', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988935;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988935;}', 1, 1, '2020-09-24 23:09:03', '2020-09-24 23:09:03', 0, NULL), +(8458, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:10:03', '2020-09-24 23:10:03', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989003;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989003;}', 1, 1, '2020-09-24 23:11:44', '2020-09-24 23:11:44', 0, NULL), +(8459, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:12:44', '2020-09-24 23:12:44', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989164;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989164;}', 1, 1, '2020-09-24 23:12:54', '2020-09-24 23:12:54', 0, NULL), +(8460, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:13:54', '2020-09-24 23:13:54', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989234;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989234;}', 1, 1, '2020-09-24 23:14:54', '2020-09-24 23:14:54', 0, NULL), +(8461, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:15:54', '2020-09-24 23:15:54', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989354;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989354;}', 1, 1, '2020-09-24 23:15:57', '2020-09-24 23:15:57', 0, NULL), +(8462, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:16:57', '2020-09-24 23:16:57', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989417;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989417;}', 1, 1, '2020-09-24 23:18:16', '2020-09-24 23:18:16', 0, NULL), +(8463, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:19:16', '2020-09-24 23:19:16', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989556;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989556;}', 1, 1, '2020-09-24 23:20:28', '2020-09-24 23:20:28', 0, NULL), +(8464, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:21:28', '2020-09-24 23:21:28', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989688;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989688;}', 1, 1, '2020-09-24 23:21:59', '2020-09-24 23:21:59', 0, NULL), +(8465, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:22:59', '2020-09-24 23:22:59', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989779;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989779;}', 1, 1, '2020-09-24 23:26:27', '2020-09-24 23:26:27', 0, NULL), +(8466, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:45:24', '2020-09-24 23:45:24', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600991124;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600991124;}', 1, 1, '2020-09-24 23:47:38', '2020-09-24 23:47:38', 0, NULL), +(8467, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:48:38', '2020-09-24 23:48:38', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600991318;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600991318;}', 1, 1, '2020-09-24 23:50:09', '2020-09-24 23:50:09', 0, NULL), +(8468, 'action_scheduler/migration_hook', 'complete', '2020-09-25 22:44:31', '2020-09-25 22:44:31', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601073871;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601073871;}', 1, 1, '2020-09-25 22:44:40', '2020-09-25 22:44:40', 0, NULL), +(8469, 'action_scheduler/migration_hook', 'complete', '2020-09-25 22:47:13', '2020-09-25 22:47:13', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601074033;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601074033;}', 1, 1, '2020-09-25 22:47:16', '2020-09-25 22:47:16', 0, NULL), +(8470, 'action_scheduler/migration_hook', 'complete', '2020-10-01 00:34:29', '2020-10-01 00:34:29', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601512469;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601512469;}', 1, 1, '2020-10-01 00:35:34', '2020-10-01 00:35:34', 0, NULL), +(8471, 'action_scheduler/migration_hook', 'complete', '2020-10-01 00:36:34', '2020-10-01 00:36:34', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601512594;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601512594;}', 1, 1, '2020-10-01 00:36:47', '2020-10-01 00:36:47', 0, NULL), +(8472, 'action_scheduler/migration_hook', 'complete', '2020-10-02 18:52:00', '2020-10-02 18:52:00', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601664720;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601664720;}', 1, 1, '2020-10-02 18:52:06', '2020-10-02 18:52:06', 0, NULL), +(8473, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:00:49', '2020-10-15 21:00:49', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602795649;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602795649;}', 1, 1, '2020-10-15 21:04:44', '2020-10-15 21:04:44', 0, NULL), +(8474, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:05:44', '2020-10-15 21:05:44', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602795944;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602795944;}', 1, 1, '2020-10-15 21:05:57', '2020-10-15 21:05:57', 0, NULL), +(8475, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:29:19', '2020-10-15 21:29:19', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602797359;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602797359;}', 1, 1, '2020-10-15 21:29:33', '2020-10-15 21:29:33', 0, NULL), +(8476, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:30:33', '2020-10-15 21:30:33', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602797433;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602797433;}', 1, 1, '2020-10-15 21:31:00', '2020-10-15 21:31:00', 0, NULL), +(8477, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:40:34', '2020-10-15 21:40:34', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602798034;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602798034;}', 1, 1, '2020-10-15 23:34:08', '2020-10-15 23:34:08', 0, NULL), +(8478, 'action_scheduler/migration_hook', 'complete', '2020-10-15 23:35:08', '2020-10-15 23:35:08', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602804908;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602804908;}', 1, 1, '2020-10-15 23:38:56', '2020-10-15 23:38:56', 0, NULL), +(8479, 'action_scheduler/migration_hook', 'complete', '2020-10-15 23:39:56', '2020-10-15 23:39:56', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602805196;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602805196;}', 1, 1, '2020-10-15 23:47:03', '2020-10-15 23:47:03', 0, NULL), +(8480, 'action_scheduler/migration_hook', 'complete', '2020-10-15 23:48:03', '2020-10-15 23:48:03', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602805683;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602805683;}', 1, 1, '2020-10-15 23:54:29', '2020-10-15 23:54:29', 0, NULL), +(8481, 'action_scheduler/migration_hook', 'pending', '2020-10-17 13:51:12', '2020-10-17 13:51:12', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602942672;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602942672;}', 1, 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, NULL); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_claims` +-- + +CREATE TABLE `wp_actionscheduler_claims` ( + `claim_id` bigint(20) UNSIGNED NOT NULL, + `date_created_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_groups` +-- + +CREATE TABLE `wp_actionscheduler_groups` ( + `group_id` bigint(20) UNSIGNED NOT NULL, + `slug` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- +-- Dumping data for table `wp_actionscheduler_groups` +-- + +INSERT INTO `wp_actionscheduler_groups` (`group_id`, `slug`) VALUES +(1, 'action-scheduler-migration'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_logs` +-- + +CREATE TABLE `wp_actionscheduler_logs` ( + `log_id` bigint(20) UNSIGNED NOT NULL, + `action_id` bigint(20) UNSIGNED NOT NULL, + `message` text COLLATE utf8mb4_unicode_520_ci NOT NULL, + `log_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `log_date_local` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- +-- Dumping data for table `wp_actionscheduler_logs` +-- + +INSERT INTO `wp_actionscheduler_logs` (`log_id`, `action_id`, `message`, `log_date_gmt`, `log_date_local`) VALUES +(1, 8450, 'action created', '2020-09-19 00:08:57', '2020-09-19 00:08:57'), +(2, 8450, 'action started via Async Request', '2020-09-19 00:10:28', '2020-09-19 00:10:28'), +(3, 8450, 'action complete via Async Request', '2020-09-19 00:10:28', '2020-09-19 00:10:28'), +(4, 8451, 'action created', '2020-09-19 00:12:34', '2020-09-19 00:12:34'), +(5, 8451, 'action started via WP Cron', '2020-09-19 00:12:59', '2020-09-19 00:12:59'), +(6, 8451, 'action complete via WP Cron', '2020-09-19 00:12:59', '2020-09-19 00:12:59'), +(7, 8452, 'action created', '2020-09-24 22:47:39', '2020-09-24 22:47:39'), +(8, 8452, 'action started via WP Cron', '2020-09-24 22:51:32', '2020-09-24 22:51:32'), +(9, 8452, 'action complete via WP Cron', '2020-09-24 22:51:32', '2020-09-24 22:51:32'), +(10, 8453, 'action created', '2020-09-24 22:51:32', '2020-09-24 22:51:32'), +(11, 8453, 'action started via WP Cron', '2020-09-24 22:53:15', '2020-09-24 22:53:15'), +(12, 8453, 'action complete via WP Cron', '2020-09-24 22:53:15', '2020-09-24 22:53:15'), +(13, 8454, 'action created', '2020-09-24 23:01:42', '2020-09-24 23:01:42'), +(14, 8454, 'action started via WP Cron', '2020-09-24 23:02:55', '2020-09-24 23:02:55'), +(15, 8454, 'action complete via WP Cron', '2020-09-24 23:02:55', '2020-09-24 23:02:55'), +(16, 8455, 'action created', '2020-09-24 23:02:55', '2020-09-24 23:02:55'), +(17, 8455, 'action started via WP Cron', '2020-09-24 23:06:38', '2020-09-24 23:06:38'), +(18, 8455, 'action complete via WP Cron', '2020-09-24 23:06:38', '2020-09-24 23:06:38'), +(19, 8456, 'action created', '2020-09-24 23:06:38', '2020-09-24 23:06:38'), +(20, 8456, 'action started via Async Request', '2020-09-24 23:07:53', '2020-09-24 23:07:53'), +(21, 8456, 'action complete via Async Request', '2020-09-24 23:07:53', '2020-09-24 23:07:53'), +(22, 8457, 'action created', '2020-09-24 23:07:55', '2020-09-24 23:07:55'), +(23, 8457, 'action started via WP Cron', '2020-09-24 23:09:03', '2020-09-24 23:09:03'), +(24, 8457, 'action complete via WP Cron', '2020-09-24 23:09:03', '2020-09-24 23:09:03'), +(25, 8458, 'action created', '2020-09-24 23:09:03', '2020-09-24 23:09:03'), +(26, 8458, 'action started via WP Cron', '2020-09-24 23:11:44', '2020-09-24 23:11:44'), +(27, 8458, 'action complete via WP Cron', '2020-09-24 23:11:44', '2020-09-24 23:11:44'), +(28, 8459, 'action created', '2020-09-24 23:11:44', '2020-09-24 23:11:44'), +(29, 8459, 'action started via WP Cron', '2020-09-24 23:12:54', '2020-09-24 23:12:54'), +(30, 8459, 'action complete via WP Cron', '2020-09-24 23:12:54', '2020-09-24 23:12:54'), +(31, 8460, 'action created', '2020-09-24 23:12:54', '2020-09-24 23:12:54'), +(32, 8460, 'action started via WP Cron', '2020-09-24 23:14:54', '2020-09-24 23:14:54'), +(33, 8460, 'action complete via WP Cron', '2020-09-24 23:14:54', '2020-09-24 23:14:54'), +(34, 8461, 'action created', '2020-09-24 23:14:54', '2020-09-24 23:14:54'), +(35, 8461, 'action started via WP Cron', '2020-09-24 23:15:57', '2020-09-24 23:15:57'), +(36, 8461, 'action complete via WP Cron', '2020-09-24 23:15:57', '2020-09-24 23:15:57'), +(37, 8462, 'action created', '2020-09-24 23:15:57', '2020-09-24 23:15:57'), +(38, 8462, 'action started via WP Cron', '2020-09-24 23:18:16', '2020-09-24 23:18:16'), +(39, 8462, 'action complete via WP Cron', '2020-09-24 23:18:16', '2020-09-24 23:18:16'), +(40, 8463, 'action created', '2020-09-24 23:18:16', '2020-09-24 23:18:16'), +(41, 8463, 'action started via WP Cron', '2020-09-24 23:20:28', '2020-09-24 23:20:28'), +(42, 8463, 'action complete via WP Cron', '2020-09-24 23:20:28', '2020-09-24 23:20:28'), +(43, 8464, 'action created', '2020-09-24 23:20:28', '2020-09-24 23:20:28'), +(44, 8464, 'action started via WP Cron', '2020-09-24 23:21:59', '2020-09-24 23:21:59'), +(45, 8464, 'action complete via WP Cron', '2020-09-24 23:21:59', '2020-09-24 23:21:59'), +(46, 8465, 'action created', '2020-09-24 23:21:59', '2020-09-24 23:21:59'), +(47, 8465, 'action started via WP Cron', '2020-09-24 23:26:27', '2020-09-24 23:26:27'), +(48, 8465, 'action complete via WP Cron', '2020-09-24 23:26:27', '2020-09-24 23:26:27'), +(49, 8466, 'action created', '2020-09-24 23:44:24', '2020-09-24 23:44:24'), +(50, 8466, 'action started via WP Cron', '2020-09-24 23:47:38', '2020-09-24 23:47:38'), +(51, 8466, 'action complete via WP Cron', '2020-09-24 23:47:38', '2020-09-24 23:47:38'), +(52, 8467, 'action created', '2020-09-24 23:47:38', '2020-09-24 23:47:38'), +(53, 8467, 'action started via WP Cron', '2020-09-24 23:50:09', '2020-09-24 23:50:09'), +(54, 8467, 'action complete via WP Cron', '2020-09-24 23:50:09', '2020-09-24 23:50:09'), +(55, 8468, 'action created', '2020-09-25 22:43:31', '2020-09-25 22:43:31'), +(56, 8468, 'action started via Async Request', '2020-09-25 22:44:40', '2020-09-25 22:44:40'), +(57, 8468, 'action complete via Async Request', '2020-09-25 22:44:40', '2020-09-25 22:44:40'), +(58, 8469, 'action created', '2020-09-25 22:46:13', '2020-09-25 22:46:13'), +(59, 8469, 'action started via Async Request', '2020-09-25 22:47:16', '2020-09-25 22:47:16'), +(60, 8469, 'action complete via Async Request', '2020-09-25 22:47:16', '2020-09-25 22:47:16'), +(61, 8470, 'action created', '2020-10-01 00:33:29', '2020-10-01 00:33:29'), +(62, 8470, 'action started via WP Cron', '2020-10-01 00:35:34', '2020-10-01 00:35:34'), +(63, 8470, 'action complete via WP Cron', '2020-10-01 00:35:34', '2020-10-01 00:35:34'), +(64, 8471, 'action created', '2020-10-01 00:35:34', '2020-10-01 00:35:34'), +(65, 8471, 'action started via Async Request', '2020-10-01 00:36:47', '2020-10-01 00:36:47'), +(66, 8471, 'action complete via Async Request', '2020-10-01 00:36:47', '2020-10-01 00:36:47'), +(67, 8472, 'action created', '2020-10-02 18:51:00', '2020-10-02 18:51:00'), +(68, 8472, 'action started via Async Request', '2020-10-02 18:52:06', '2020-10-02 18:52:06'), +(69, 8472, 'action complete via Async Request', '2020-10-02 18:52:06', '2020-10-02 18:52:06'), +(70, 8473, 'action created', '2020-10-15 20:59:49', '2020-10-15 20:59:49'), +(71, 8473, 'action started via WP Cron', '2020-10-15 21:04:44', '2020-10-15 21:04:44'), +(72, 8473, 'action complete via WP Cron', '2020-10-15 21:04:44', '2020-10-15 21:04:44'), +(73, 8474, 'action created', '2020-10-15 21:04:44', '2020-10-15 21:04:44'), +(74, 8474, 'action started via WP Cron', '2020-10-15 21:05:57', '2020-10-15 21:05:57'), +(75, 8474, 'action complete via WP Cron', '2020-10-15 21:05:57', '2020-10-15 21:05:57'), +(76, 8475, 'action created', '2020-10-15 21:28:19', '2020-10-15 21:28:19'), +(77, 8475, 'action started via WP Cron', '2020-10-15 21:29:33', '2020-10-15 21:29:33'), +(78, 8475, 'action complete via WP Cron', '2020-10-15 21:29:33', '2020-10-15 21:29:33'), +(79, 8476, 'action created', '2020-10-15 21:29:33', '2020-10-15 21:29:33'), +(80, 8476, 'action started via WP Cron', '2020-10-15 21:31:00', '2020-10-15 21:31:00'), +(81, 8476, 'action complete via WP Cron', '2020-10-15 21:31:00', '2020-10-15 21:31:00'), +(82, 8477, 'action created', '2020-10-15 21:39:34', '2020-10-15 21:39:34'), +(83, 8477, 'action started via WP Cron', '2020-10-15 23:34:08', '2020-10-15 23:34:08'), +(84, 8477, 'action complete via WP Cron', '2020-10-15 23:34:08', '2020-10-15 23:34:08'), +(85, 8478, 'action created', '2020-10-15 23:34:08', '2020-10-15 23:34:08'), +(86, 8478, 'action started via WP Cron', '2020-10-15 23:38:56', '2020-10-15 23:38:56'), +(87, 8478, 'action complete via WP Cron', '2020-10-15 23:38:56', '2020-10-15 23:38:56'), +(88, 8479, 'action created', '2020-10-15 23:38:56', '2020-10-15 23:38:56'), +(89, 8479, 'action started via WP Cron', '2020-10-15 23:47:03', '2020-10-15 23:47:03'), +(90, 8479, 'action complete via WP Cron', '2020-10-15 23:47:03', '2020-10-15 23:47:03'), +(91, 8480, 'action created', '2020-10-15 23:47:03', '2020-10-15 23:47:03'), +(92, 8480, 'action started via WP Cron', '2020-10-15 23:54:29', '2020-10-15 23:54:29'), +(93, 8480, 'action complete via WP Cron', '2020-10-15 23:54:29', '2020-10-15 23:54:29'), +(94, 8481, 'action created', '2020-10-17 13:50:12', '2020-10-17 13:50:12'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_commentmeta` +-- + +CREATE TABLE `wp_commentmeta` ( + `meta_id` bigint(20) UNSIGNED NOT NULL, + `comment_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_comments` +-- + +CREATE TABLE `wp_comments` ( + `comment_ID` bigint(20) UNSIGNED NOT NULL, + `comment_post_ID` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `comment_author` tinytext COLLATE utf8mb4_unicode_ci NOT NULL, + `comment_author_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_author_url` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_author_IP` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_content` text COLLATE utf8mb4_unicode_ci NOT NULL, + `comment_karma` int(11) NOT NULL DEFAULT '0', + `comment_approved` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1', + `comment_agent` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'comment', + `comment_parent` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_comments` +-- + +INSERT INTO `wp_comments` (`comment_ID`, `comment_post_ID`, `comment_author`, `comment_author_email`, `comment_author_url`, `comment_author_IP`, `comment_date`, `comment_date_gmt`, `comment_content`, `comment_karma`, `comment_approved`, `comment_agent`, `comment_type`, `comment_parent`, `user_id`) VALUES +(1, 1, 'A WordPress Commenter', 'wapuu@wordpress.example', 'https://wordpress.org/', '', '2020-02-25 17:54:21', '2020-02-25 17:54:21', 'Hi, this is a comment.\nTo get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.\nCommenter avatars come from Gravatar.', 0, '1', '', 'comment', 0, 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_links` +-- + +CREATE TABLE `wp_links` ( + `link_id` bigint(20) UNSIGNED NOT NULL, + `link_url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_target` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_visible` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Y', + `link_owner` bigint(20) UNSIGNED NOT NULL DEFAULT '1', + `link_rating` int(11) NOT NULL DEFAULT '0', + `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `link_rel` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_notes` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `link_rss` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_options` +-- + +CREATE TABLE `wp_options` ( + `option_id` bigint(20) UNSIGNED NOT NULL, + `option_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `option_value` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `autoload` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'yes' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_options` +-- + +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(1, 'siteurl', 'https://devgatsbyint.wpengine.com', 'yes'), +(2, 'home', 'https://devgatsbyint.wpengine.com', 'yes'), +(3, 'blogname', 'Automated testing for Gatsby source WordPress V4', 'yes'), +(4, 'blogdescription', 'Just another WordPress site', 'yes'), +(5, 'users_can_register', '0', 'yes'), +(6, 'admin_email', 'tyler@gatsbyjs.com', 'yes'), +(7, 'start_of_week', '1', 'yes'), +(8, 'use_balanceTags', '0', 'yes'), +(9, 'use_smilies', '1', 'yes'), +(10, 'require_name_email', '1', 'yes'), +(11, 'comments_notify', '1', 'yes'), +(12, 'posts_per_rss', '10', 'yes'), +(13, 'rss_use_excerpt', '0', 'yes'), +(14, 'mailserver_url', 'mail.example.com', 'yes'), +(15, 'mailserver_login', 'login@example.com', 'yes'), +(16, 'mailserver_pass', 'password', 'yes'), +(17, 'mailserver_port', '110', 'yes'), +(18, 'default_category', '23', 'yes'), +(19, 'default_comment_status', 'open', 'yes'), +(20, 'default_ping_status', 'open', 'yes'), +(21, 'default_pingback_flag', '0', 'yes'), +(22, 'posts_per_page', '10', 'yes'), +(23, 'date_format', 'F j, Y', 'yes'), +(24, 'time_format', 'g:i a', 'yes'), +(25, 'links_updated_date_format', 'F j, Y g:i a', 'yes'), +(26, 'comment_moderation', '0', 'yes'), +(27, 'moderation_notify', '1', 'yes'), +(28, 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/', 'yes'), +(30, 'hack_file', '0', 'yes'), +(31, 'blog_charset', 'UTF-8', 'yes'), +(32, 'moderation_keys', '', 'no'), +(33, 'active_plugins', 'a:8:{i:1;s:32:\"Basic-Auth-master/basic-auth.php\";i:2;s:55:\"acf-gatsby-google-api-key/acf-gatsby-google-api-key.php\";i:3;s:41:\"advanced-custom-fields-pro-master/acf.php\";i:4;s:43:\"custom-post-type-ui/custom-post-type-ui.php\";i:8;s:23:\"wp-gatsby/wp-gatsby.php\";i:10;s:32:\"wp-graphql-0.13.1/wp-graphql.php\";i:11;s:41:\"wp-graphql-acf-develop/wp-graphql-acf.php\";i:12;s:72:\"wp-graphql-custom-post-type-ui-master/wp-graphql-custom-post-type-ui.php\";}', 'yes'), +(34, 'category_base', '', 'yes'), +(35, 'ping_sites', 'http://rpc.pingomatic.com/', 'yes'), +(36, 'comment_max_links', '2', 'yes'), +(37, 'gmt_offset', '0', 'yes'), +(38, 'default_email_category', '1', 'yes'), +(39, 'recently_edited', '', 'no'), +(40, 'template', 'twentytwenty', 'yes'), +(41, 'stylesheet', 'twentytwenty', 'yes'), +(44, 'comment_registration', '0', 'yes'), +(45, 'html_type', 'text/html', 'yes'), +(46, 'use_trackback', '0', 'yes'), +(47, 'default_role', 'subscriber', 'yes'), +(48, 'db_version', '48748', 'yes'), +(49, 'uploads_use_yearmonth_folders', '1', 'yes'), +(50, 'upload_path', '', 'yes'), +(51, 'blog_public', '0', 'yes'), +(52, 'default_link_category', '2', 'yes'), +(53, 'show_on_front', 'page', 'yes'), +(54, 'tag_base', '', 'yes'), +(55, 'show_avatars', '1', 'yes'), +(56, 'avatar_rating', 'G', 'yes'), +(57, 'upload_url_path', '', 'yes'), +(58, 'thumbnail_size_w', '150', 'yes'), +(59, 'thumbnail_size_h', '150', 'yes'), +(60, 'thumbnail_crop', '1', 'yes'), +(61, 'medium_size_w', '300', 'yes'), +(62, 'medium_size_h', '300', 'yes'), +(63, 'avatar_default', 'mystery', 'yes'), +(64, 'large_size_w', '1024', 'yes'), +(65, 'large_size_h', '1024', 'yes'), +(66, 'image_default_link_type', 'none', 'yes'), +(67, 'image_default_size', '', 'yes'), +(68, 'image_default_align', '', 'yes'), +(69, 'close_comments_for_old_posts', '0', 'yes'), +(70, 'close_comments_days_old', '14', 'yes'), +(71, 'thread_comments', '1', 'yes'), +(72, 'thread_comments_depth', '5', 'yes'), +(73, 'page_comments', '0', 'yes'), +(74, 'comments_per_page', '50', 'yes'), +(75, 'default_comments_page', 'newest', 'yes'), +(76, 'comment_order', 'asc', 'yes'), +(77, 'sticky_posts', 'a:0:{}', 'yes'), +(78, 'widget_categories', 'a:2:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:12:\"hierarchical\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(79, 'widget_text', 'a:0:{}', 'yes'), +(80, 'widget_rss', 'a:0:{}', 'yes'), +(81, 'uninstall_plugins', 'a:1:{s:28:\"wp-site-migrate/wpengine.php\";a:2:{i:0;s:11:\"WPEWPAction\";i:1;s:9:\"uninstall\";}}', 'no'), +(82, 'timezone_string', '', 'yes'), +(83, 'page_for_posts', '0', 'yes'), +(84, 'page_on_front', '17', 'yes'), +(85, 'default_post_format', '0', 'yes'), +(86, 'link_manager_enabled', '0', 'yes'), +(87, 'finished_splitting_shared_terms', '1', 'yes'), +(88, 'site_icon', '0', 'yes'), +(89, 'medium_large_size_w', '768', 'yes'), +(90, 'medium_large_size_h', '0', 'yes'), +(91, 'wp_page_for_privacy_policy', '3', 'yes'), +(92, 'show_comments_cookies_opt_in', '1', 'yes'), +(93, 'admin_email_lifespan', '1615848750', 'yes'), +(94, 'initial_db_version', '45805', 'yes'), +(95, 'wp_user_roles', 'a:7:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:115:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;s:12:\"manage_polls\";b:1;s:18:\"manage_woocommerce\";b:1;s:24:\"view_woocommerce_reports\";b:1;s:12:\"edit_product\";b:1;s:12:\"read_product\";b:1;s:14:\"delete_product\";b:1;s:13:\"edit_products\";b:1;s:20:\"edit_others_products\";b:1;s:16:\"publish_products\";b:1;s:21:\"read_private_products\";b:1;s:15:\"delete_products\";b:1;s:23:\"delete_private_products\";b:1;s:25:\"delete_published_products\";b:1;s:22:\"delete_others_products\";b:1;s:21:\"edit_private_products\";b:1;s:23:\"edit_published_products\";b:1;s:20:\"manage_product_terms\";b:1;s:18:\"edit_product_terms\";b:1;s:20:\"delete_product_terms\";b:1;s:20:\"assign_product_terms\";b:1;s:15:\"edit_shop_order\";b:1;s:15:\"read_shop_order\";b:1;s:17:\"delete_shop_order\";b:1;s:16:\"edit_shop_orders\";b:1;s:23:\"edit_others_shop_orders\";b:1;s:19:\"publish_shop_orders\";b:1;s:24:\"read_private_shop_orders\";b:1;s:18:\"delete_shop_orders\";b:1;s:26:\"delete_private_shop_orders\";b:1;s:28:\"delete_published_shop_orders\";b:1;s:25:\"delete_others_shop_orders\";b:1;s:24:\"edit_private_shop_orders\";b:1;s:26:\"edit_published_shop_orders\";b:1;s:23:\"manage_shop_order_terms\";b:1;s:21:\"edit_shop_order_terms\";b:1;s:23:\"delete_shop_order_terms\";b:1;s:23:\"assign_shop_order_terms\";b:1;s:16:\"edit_shop_coupon\";b:1;s:16:\"read_shop_coupon\";b:1;s:18:\"delete_shop_coupon\";b:1;s:17:\"edit_shop_coupons\";b:1;s:24:\"edit_others_shop_coupons\";b:1;s:20:\"publish_shop_coupons\";b:1;s:25:\"read_private_shop_coupons\";b:1;s:19:\"delete_shop_coupons\";b:1;s:27:\"delete_private_shop_coupons\";b:1;s:29:\"delete_published_shop_coupons\";b:1;s:26:\"delete_others_shop_coupons\";b:1;s:25:\"edit_private_shop_coupons\";b:1;s:27:\"edit_published_shop_coupons\";b:1;s:24:\"manage_shop_coupon_terms\";b:1;s:22:\"edit_shop_coupon_terms\";b:1;s:24:\"delete_shop_coupon_terms\";b:1;s:24:\"assign_shop_coupon_terms\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}s:8:\"customer\";a:2:{s:4:\"name\";s:8:\"Customer\";s:12:\"capabilities\";a:1:{s:4:\"read\";b:1;}}s:12:\"shop_manager\";a:2:{s:4:\"name\";s:12:\"Shop manager\";s:12:\"capabilities\";a:92:{s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:4:\"read\";b:1;s:18:\"read_private_pages\";b:1;s:18:\"read_private_posts\";b:1;s:10:\"edit_posts\";b:1;s:10:\"edit_pages\";b:1;s:20:\"edit_published_posts\";b:1;s:20:\"edit_published_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"edit_private_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:17:\"edit_others_pages\";b:1;s:13:\"publish_posts\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_posts\";b:1;s:12:\"delete_pages\";b:1;s:20:\"delete_private_pages\";b:1;s:20:\"delete_private_posts\";b:1;s:22:\"delete_published_pages\";b:1;s:22:\"delete_published_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:19:\"delete_others_pages\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:17:\"moderate_comments\";b:1;s:12:\"upload_files\";b:1;s:6:\"export\";b:1;s:6:\"import\";b:1;s:10:\"list_users\";b:1;s:18:\"edit_theme_options\";b:1;s:18:\"manage_woocommerce\";b:1;s:24:\"view_woocommerce_reports\";b:1;s:12:\"edit_product\";b:1;s:12:\"read_product\";b:1;s:14:\"delete_product\";b:1;s:13:\"edit_products\";b:1;s:20:\"edit_others_products\";b:1;s:16:\"publish_products\";b:1;s:21:\"read_private_products\";b:1;s:15:\"delete_products\";b:1;s:23:\"delete_private_products\";b:1;s:25:\"delete_published_products\";b:1;s:22:\"delete_others_products\";b:1;s:21:\"edit_private_products\";b:1;s:23:\"edit_published_products\";b:1;s:20:\"manage_product_terms\";b:1;s:18:\"edit_product_terms\";b:1;s:20:\"delete_product_terms\";b:1;s:20:\"assign_product_terms\";b:1;s:15:\"edit_shop_order\";b:1;s:15:\"read_shop_order\";b:1;s:17:\"delete_shop_order\";b:1;s:16:\"edit_shop_orders\";b:1;s:23:\"edit_others_shop_orders\";b:1;s:19:\"publish_shop_orders\";b:1;s:24:\"read_private_shop_orders\";b:1;s:18:\"delete_shop_orders\";b:1;s:26:\"delete_private_shop_orders\";b:1;s:28:\"delete_published_shop_orders\";b:1;s:25:\"delete_others_shop_orders\";b:1;s:24:\"edit_private_shop_orders\";b:1;s:26:\"edit_published_shop_orders\";b:1;s:23:\"manage_shop_order_terms\";b:1;s:21:\"edit_shop_order_terms\";b:1;s:23:\"delete_shop_order_terms\";b:1;s:23:\"assign_shop_order_terms\";b:1;s:16:\"edit_shop_coupon\";b:1;s:16:\"read_shop_coupon\";b:1;s:18:\"delete_shop_coupon\";b:1;s:17:\"edit_shop_coupons\";b:1;s:24:\"edit_others_shop_coupons\";b:1;s:20:\"publish_shop_coupons\";b:1;s:25:\"read_private_shop_coupons\";b:1;s:19:\"delete_shop_coupons\";b:1;s:27:\"delete_private_shop_coupons\";b:1;s:29:\"delete_published_shop_coupons\";b:1;s:26:\"delete_others_shop_coupons\";b:1;s:25:\"edit_private_shop_coupons\";b:1;s:27:\"edit_published_shop_coupons\";b:1;s:24:\"manage_shop_coupon_terms\";b:1;s:22:\"edit_shop_coupon_terms\";b:1;s:24:\"delete_shop_coupon_terms\";b:1;s:24:\"assign_shop_coupon_terms\";b:1;}}}', 'yes'), +(96, 'fresh_site', '0', 'yes'), +(97, 'widget_search', 'a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}', 'yes'), +(98, 'widget_recent-posts', 'a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(99, 'widget_recent-comments', 'a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(100, 'widget_archives', 'a:2:{i:2;a:3:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(101, 'widget_meta', 'a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}', 'yes'), +(102, 'sidebars_widgets', 'a:4:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:3:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";}s:9:\"sidebar-2\";a:3:{i:0;s:10:\"archives-2\";i:1;s:12:\"categories-2\";i:2;s:6:\"meta-2\";}s:13:\"array_version\";i:3;}', 'yes'), +(103, 'cron', 'a:18:{i:1602945015;a:1:{s:10:\"polls_cron\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602946463;a:1:{s:34:\"wp_privacy_delete_old_export_files\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602947336;a:1:{s:33:\"wc_admin_process_orders_milestone\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602947342;a:1:{s:29:\"wc_admin_unsnooze_admin_notes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602951311;a:1:{s:46:\"WPEngineSecurityAuditor_Scans_fingerprint_core\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:0:{}}}}i:1602957262;a:1:{s:32:\"recovery_mode_clean_expired_keys\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602957263;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1602957268;a:2:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}s:25:\"delete_expired_transients\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602957269;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602961110;a:1:{s:19:\"wpseo-reindex-links\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602962914;a:1:{s:17:\"gravityforms_cron\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602969665;a:1:{s:49:\"WPEngineSecurityAuditor_Scans_fingerprint_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:0:{}}}}i:1602970723;a:1:{s:16:\"backupbuddy_cron\";a:1:{s:32:\"b2d6f4df5dfc2b203ff6fc9b49103fdc\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:2:{i:0;s:12:\"housekeeping\";i:1;a:0:{}}s:8:\"interval\";i:86400;}}}i:1602977617;a:1:{s:39:\"WPEngineSecurityAuditor_Scans_scheduler\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1602979736;a:1:{s:14:\"wc_admin_daily\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602985651;a:1:{s:48:\"WPEngineSecurityAuditor_Scans_fingerprint_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:0:{}}}}i:1603322864;a:1:{s:30:\"wp_site_health_scheduled_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:604800;}}}s:7:\"version\";i:2;}', 'yes'), +(104, 'widget_pages', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(105, 'widget_calendar', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(106, 'widget_media_audio', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(107, 'widget_media_image', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(108, 'widget_media_gallery', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(109, 'widget_media_video', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(110, 'widget_tag_cloud', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(111, 'widget_nav_menu', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(112, 'widget_custom_html', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(114, 'theme_mods_twentytwenty', 'a:3:{s:18:\"custom_css_post_id\";i:-1;s:18:\"nav_menu_locations\";a:5:{s:7:\"primary\";i:0;s:8:\"expanded\";i:0;s:6:\"mobile\";i:0;s:6:\"footer\";i:0;s:6:\"social\";i:17;}s:16:\"background_color\";s:3:\"fff\";}', 'yes'), +(115, 'recovery_keys', 'a:0:{}', 'yes'), +(143, 'recently_activated', 'a:11:{s:41:\"wordpress-importer/wordpress-importer.php\";i:1602944377;s:29:\"wp-sync-db-1.5/wp-sync-db.php\";i:1602944377;s:56:\"wp-sync-db-media-files-master/wp-sync-db-media-files.php\";i:1602944377;s:34:\"wp-graphiql-master/wp-graphiql.php\";i:1602942694;s:37:\"wp-graphql-gutenberg-0.3.4/plugin.php\";i:1602942677;s:50:\"wp-graphql-polylang-master/wp-graphql-polylang.php\";i:1602942658;s:55:\"wp-graphql-woocommerce-0.5.1/wp-graphql-woocommerce.php\";i:1602942639;s:24:\"wordpress-seo/wp-seo.php\";i:1602942635;s:27:\"woocommerce/woocommerce.php\";i:1602942628;s:21:\"polylang/polylang.php\";i:1602942624;s:45:\"wp-graphql-yoast-seo/wp-graphql-yoast-seo.php\";i:1602942611;}', 'yes'), +(171, 'acf_version', '5.8.7', 'yes'), +(180, 'cptui_new_install', 'false', 'yes'), +(183, 'cptui_post_types', 'a:6:{s:11:\"team_member\";a:33:{s:4:\"name\";s:11:\"team_member\";s:5:\"label\";s:12:\"Team Members\";s:14:\"singular_label\";s:11:\"Team Member\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:4:\"true\";s:18:\"has_archive_string\";s:4:\"team\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:11:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:7:\"excerpt\";i:4;s:10:\"trackbacks\";i:5;s:13:\"custom-fields\";i:6;s:8:\"comments\";i:7;s:9:\"revisions\";i:8;s:6:\"author\";i:9;s:15:\"page-attributes\";i:10;s:12:\"post-formats\";}s:10:\"taxonomies\";a:2:{i:0;s:8:\"category\";i:1;s:8:\"post_tag\";}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:10:\"teamMember\";s:19:\"graphql_plural_name\";s:11:\"TeamMembers\";}s:7:\"project\";a:33:{s:4:\"name\";s:7:\"project\";s:5:\"label\";s:7:\"Project\";s:14:\"singular_label\";s:8:\"Projects\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:7:\"project\";s:19:\"graphql_plural_name\";s:8:\"projects\";}s:15:\"type_limit_test\";a:33:{s:4:\"name\";s:15:\"type_limit_test\";s:5:\"label\";s:15:\"Type Limit Test\";s:14:\"singular_label\";s:15:\"Type limit Test\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:13:\"typeLimitTest\";s:19:\"graphql_plural_name\";s:14:\"typeLimitTests\";}s:17:\"type_limit_0_test\";a:33:{s:4:\"name\";s:17:\"type_limit_0_test\";s:5:\"label\";s:17:\"Type Limit 0 Test\";s:14:\"singular_label\";s:17:\"Type Limit 0 Test\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:14:\"typeLimit0Test\";s:19:\"graphql_plural_name\";s:15:\"typeLimit0Tests\";}s:20:\"translation_filter_t\";a:33:{s:4:\"name\";s:20:\"translation_filter_t\";s:5:\"label\";s:23:\"Translation Filter Test\";s:14:\"singular_label\";s:23:\"Translation Filter Test\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"page\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:21:\"translationFilterTest\";s:19:\"graphql_plural_name\";s:22:\"translationFilterTests\";}s:20:\"acf custom post type\";a:33:{s:4:\"name\";s:20:\"acf custom post type\";s:5:\"label\";s:26:\"ACF Custom post type posts\";s:14:\"singular_label\";s:25:\"ACF Custom post type post\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:3:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:30:{s:9:\"menu_name\";s:29:\"My ACF Custom post type posts\";s:9:\"all_items\";s:30:\"All ACF Custom post type posts\";s:7:\"add_new\";s:7:\"Add new\";s:12:\"add_new_item\";s:33:\"Add new ACF Custom post type post\";s:9:\"edit_item\";s:30:\"Edit ACF Custom post type post\";s:8:\"new_item\";s:29:\"New ACF Custom post type post\";s:9:\"view_item\";s:30:\"View ACF Custom post type post\";s:10:\"view_items\";s:31:\"View ACF Custom post type posts\";s:12:\"search_items\";s:33:\"Search ACF Custom post type posts\";s:9:\"not_found\";s:35:\"No ACF Custom post type posts found\";s:18:\"not_found_in_trash\";s:44:\"No ACF Custom post type posts found in trash\";s:6:\"parent\";s:33:\"Parent ACF Custom post type post:\";s:14:\"featured_image\";s:49:\"Featured image for this ACF Custom post type post\";s:18:\"set_featured_image\";s:53:\"Set featured image for this ACF Custom post type post\";s:21:\"remove_featured_image\";s:56:\"Remove featured image for this ACF Custom post type post\";s:18:\"use_featured_image\";s:56:\"Use as featured image for this ACF Custom post type post\";s:8:\"archives\";s:34:\"ACF Custom post type post archives\";s:16:\"insert_into_item\";s:37:\"Insert into ACF Custom post type post\";s:21:\"uploaded_to_this_item\";s:40:\"Upload to this ACF Custom post type post\";s:17:\"filter_items_list\";s:38:\"Filter ACF Custom post type posts list\";s:21:\"items_list_navigation\";s:42:\"ACF Custom post type posts list navigation\";s:10:\"items_list\";s:31:\"ACF Custom post type posts list\";s:10:\"attributes\";s:37:\"ACF Custom post type posts attributes\";s:14:\"name_admin_bar\";s:25:\"ACF Custom post type post\";s:14:\"item_published\";s:35:\"ACF Custom post type post published\";s:24:\"item_published_privately\";s:46:\"ACF Custom post type post published privately.\";s:22:\"item_reverted_to_draft\";s:44:\"ACF Custom post type post reverted to draft.\";s:14:\"item_scheduled\";s:35:\"ACF Custom post type post scheduled\";s:12:\"item_updated\";s:34:\"ACF Custom post type post updated.\";s:17:\"parent_item_colon\";s:33:\"Parent ACF Custom post type post:\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"0\";s:19:\"graphql_single_name\";s:6:\"acfCPT\";s:19:\"graphql_plural_name\";s:7:\"acfCPTs\";}}', 'yes'), +(203, 'wpseo', 'a:30:{s:8:\"tracking\";b:0;s:22:\"license_server_version\";s:1:\"2\";s:15:\"ms_defaults_set\";b:0;s:40:\"ignore_search_engines_discouraged_notice\";b:1;s:25:\"ignore_indexation_warning\";b:0;s:29:\"indexation_warning_hide_until\";b:0;s:18:\"indexation_started\";b:0;s:28:\"indexables_indexation_reason\";s:0:\"\";s:31:\"indexables_indexation_completed\";b:1;s:7:\"version\";s:4:\"14.9\";s:16:\"previous_version\";s:6:\"14.8.1\";s:20:\"disableadvanced_meta\";b:1;s:30:\"enable_headless_rest_endpoints\";b:1;s:17:\"ryte_indexability\";b:1;s:11:\"baiduverify\";s:0:\"\";s:12:\"googleverify\";s:0:\"\";s:8:\"msverify\";s:0:\"\";s:12:\"yandexverify\";s:0:\"\";s:9:\"site_type\";s:0:\"\";s:20:\"has_multiple_authors\";s:0:\"\";s:16:\"environment_type\";s:0:\"\";s:23:\"content_analysis_active\";b:1;s:23:\"keyword_analysis_active\";b:1;s:21:\"enable_admin_bar_menu\";b:1;s:26:\"enable_cornerstone_content\";b:1;s:18:\"enable_xml_sitemap\";b:1;s:24:\"enable_text_link_counter\";b:1;s:22:\"show_onboarding_notice\";b:1;s:18:\"first_activated_on\";i:1582657110;s:13:\"myyoast-oauth\";b:0;}', 'yes'), +(204, 'wpseo_titles', 'a:77:{s:10:\"title_test\";i:0;s:17:\"forcerewritetitle\";b:0;s:9:\"separator\";s:7:\"sc-dash\";s:16:\"title-home-wpseo\";s:42:\"%%sitename%% %%page%% %%sep%% %%sitedesc%%\";s:18:\"title-author-wpseo\";s:41:\"%%name%%, Author at %%sitename%% %%page%%\";s:19:\"title-archive-wpseo\";s:38:\"%%date%% %%page%% %%sep%% %%sitename%%\";s:18:\"title-search-wpseo\";s:63:\"You searched for %%searchphrase%% %%page%% %%sep%% %%sitename%%\";s:15:\"title-404-wpseo\";s:35:\"Page not found %%sep%% %%sitename%%\";s:19:\"metadesc-home-wpseo\";s:0:\"\";s:21:\"metadesc-author-wpseo\";s:0:\"\";s:22:\"metadesc-archive-wpseo\";s:0:\"\";s:9:\"rssbefore\";s:0:\"\";s:8:\"rssafter\";s:53:\"The post %%POSTLINK%% appeared first on %%BLOGLINK%%.\";s:20:\"noindex-author-wpseo\";b:0;s:28:\"noindex-author-noposts-wpseo\";b:1;s:21:\"noindex-archive-wpseo\";b:1;s:14:\"disable-author\";b:0;s:12:\"disable-date\";b:0;s:19:\"disable-post_format\";b:0;s:18:\"disable-attachment\";b:1;s:23:\"is-media-purge-relevant\";b:0;s:20:\"breadcrumbs-404crumb\";s:25:\"Error 404: Page not found\";s:29:\"breadcrumbs-display-blog-page\";b:1;s:20:\"breadcrumbs-boldlast\";b:0;s:25:\"breadcrumbs-archiveprefix\";s:12:\"Archives for\";s:18:\"breadcrumbs-enable\";b:0;s:16:\"breadcrumbs-home\";s:4:\"Home\";s:18:\"breadcrumbs-prefix\";s:0:\"\";s:24:\"breadcrumbs-searchprefix\";s:16:\"You searched for\";s:15:\"breadcrumbs-sep\";s:7:\"»\";s:12:\"website_name\";s:0:\"\";s:11:\"person_name\";s:0:\"\";s:11:\"person_logo\";s:0:\"\";s:14:\"person_logo_id\";i:0;s:22:\"alternate_website_name\";s:0:\"\";s:12:\"company_logo\";s:0:\"\";s:15:\"company_logo_id\";i:0;s:12:\"company_name\";s:0:\"\";s:17:\"company_or_person\";s:7:\"company\";s:25:\"company_or_person_user_id\";b:0;s:17:\"stripcategorybase\";b:0;s:10:\"title-post\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:13:\"metadesc-post\";s:0:\"\";s:12:\"noindex-post\";b:0;s:13:\"showdate-post\";b:0;s:23:\"display-metabox-pt-post\";b:1;s:23:\"post_types-post-maintax\";i:0;s:10:\"title-page\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:13:\"metadesc-page\";s:0:\"\";s:12:\"noindex-page\";b:0;s:13:\"showdate-page\";b:0;s:23:\"display-metabox-pt-page\";b:1;s:23:\"post_types-page-maintax\";i:0;s:16:\"title-attachment\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:19:\"metadesc-attachment\";s:0:\"\";s:18:\"noindex-attachment\";b:0;s:19:\"showdate-attachment\";b:0;s:29:\"display-metabox-pt-attachment\";b:1;s:29:\"post_types-attachment-maintax\";i:0;s:17:\"title-team_member\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:20:\"metadesc-team_member\";s:0:\"\";s:19:\"noindex-team_member\";b:0;s:20:\"showdate-team_member\";b:0;s:30:\"display-metabox-pt-team_member\";b:1;s:30:\"post_types-team_member-maintax\";i:0;s:18:\"title-tax-category\";s:53:\"%%term_title%% Archives %%page%% %%sep%% %%sitename%%\";s:21:\"metadesc-tax-category\";s:0:\"\";s:28:\"display-metabox-tax-category\";b:1;s:20:\"noindex-tax-category\";b:0;s:18:\"title-tax-post_tag\";s:53:\"%%term_title%% Archives %%page%% %%sep%% %%sitename%%\";s:21:\"metadesc-tax-post_tag\";s:0:\"\";s:28:\"display-metabox-tax-post_tag\";b:1;s:20:\"noindex-tax-post_tag\";b:0;s:21:\"title-tax-post_format\";s:53:\"%%term_title%% Archives %%page%% %%sep%% %%sitename%%\";s:24:\"metadesc-tax-post_format\";s:0:\"\";s:31:\"display-metabox-tax-post_format\";b:1;s:23:\"noindex-tax-post_format\";b:1;}', 'yes'), +(205, 'wpseo_social', 'a:19:{s:13:\"facebook_site\";s:0:\"\";s:13:\"instagram_url\";s:0:\"\";s:12:\"linkedin_url\";s:0:\"\";s:11:\"myspace_url\";s:0:\"\";s:16:\"og_default_image\";s:0:\"\";s:19:\"og_default_image_id\";s:0:\"\";s:18:\"og_frontpage_title\";s:0:\"\";s:17:\"og_frontpage_desc\";s:0:\"\";s:18:\"og_frontpage_image\";s:0:\"\";s:21:\"og_frontpage_image_id\";s:0:\"\";s:9:\"opengraph\";b:1;s:13:\"pinterest_url\";s:0:\"\";s:15:\"pinterestverify\";s:0:\"\";s:7:\"twitter\";b:1;s:12:\"twitter_site\";s:0:\"\";s:17:\"twitter_card_type\";s:19:\"summary_large_image\";s:11:\"youtube_url\";s:0:\"\";s:13:\"wikipedia_url\";s:0:\"\";s:10:\"fbadminapp\";s:0:\"\";}', 'yes'), +(206, 'wpseo_flush_rewrite', '1', 'yes'), +(245, 'bp-deactivated-components', 'a:0:{}', 'yes'), +(246, 'bp-xprofile-base-group-name', 'Base', 'yes'), +(247, 'bp-xprofile-fullname-field-name', 'Name', 'yes'), +(248, 'bp-blogs-first-install', '', 'yes'), +(249, 'bp-disable-profile-sync', '', 'yes'), +(250, 'hide-loggedout-adminbar', '', 'yes'), +(251, 'bp-disable-avatar-uploads', '', 'yes'), +(252, 'bp-disable-cover-image-uploads', '', 'yes'), +(253, 'bp-disable-group-avatar-uploads', '', 'yes'), +(254, 'bp-disable-group-cover-image-uploads', '', 'yes'), +(255, 'bp-disable-account-deletion', '', 'yes'), +(256, 'bp-disable-blogforum-comments', '1', 'yes'), +(257, '_bp_theme_package_id', 'nouveau', 'yes'), +(258, 'bp-emails-unsubscribe-salt', 'U2EuZFVlUTJfTzg1aGZDMiAqaWsgTmI6XmAhd2xWJUNpUTRKdnxbYzZlMlVqIXAoTVpUUGZ3dFo4L2xsZCBoNQ==', 'yes'), +(259, 'bp_restrict_group_creation', '', 'yes'), +(260, '_bp_enable_akismet', '1', 'yes'), +(261, '_bp_enable_heartbeat_refresh', '1', 'yes'), +(262, '_bp_force_buddybar', '', 'yes'), +(263, '_bp_retain_bp_default', '', 'yes'), +(264, '_bp_ignore_deprecated_code', '1', 'yes'), +(265, 'widget_bp_core_login_widget', '', 'yes'), +(266, 'widget_bp_core_members_widget', '', 'yes'), +(267, 'widget_bp_core_whos_online_widget', '', 'yes'), +(268, 'widget_bp_core_recently_active_widget', '', 'yes'), +(269, 'widget_bp_groups_widget', '', 'yes'), +(270, 'widget_bp_messages_sitewide_notices_widget', '', 'yes'), +(275, 'widget_bp_nouveau_sidebar_object_nav_widget', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(276, 'bp-active-components', 'a:5:{s:8:\"activity\";i:1;s:7:\"members\";i:1;s:8:\"settings\";i:1;s:8:\"xprofile\";i:1;s:13:\"notifications\";i:1;}', 'yes'), +(277, 'bp-pages', 'a:2:{s:8:\"activity\";i:16;s:7:\"members\";i:17;}', 'yes'), +(278, '_bp_db_version', '12385', 'yes'), +(279, 'widget_bp_latest_activities', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(287, 'polylang', 'a:15:{s:7:\"browser\";i:1;s:7:\"rewrite\";i:1;s:12:\"hide_default\";i:1;s:10:\"force_lang\";i:1;s:13:\"redirect_lang\";i:0;s:13:\"media_support\";i:1;s:9:\"uninstall\";i:0;s:4:\"sync\";a:0:{}s:10:\"post_types\";a:1:{i:0;s:20:\"translation_filter_t\";}s:10:\"taxonomies\";a:0:{}s:7:\"domains\";a:0:{}s:7:\"version\";s:6:\"2.6.10\";s:16:\"first_activation\";i:1582658887;s:12:\"default_lang\";s:2:\"en\";s:9:\"nav_menus\";a:1:{s:12:\"twentytwenty\";a:5:{s:7:\"primary\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:8:\"expanded\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:6:\"mobile\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:6:\"footer\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:6:\"social\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:17;}}}}', 'yes'), +(288, 'polylang_wpml_strings', 'a:0:{}', 'yes'), +(289, 'widget_polylang', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(293, 'gf_db_version', '2.4.17', 'no'), +(294, 'rg_form_version', '2.4.17', 'no'), +(295, 'gform_enable_background_updates', '1', 'yes'), +(296, 'gform_pending_installation', '1', 'yes'), +(297, 'widget_gform_widget', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(298, 'gravityformsaddon_gravityformswebapi_version', '1.0', 'yes'), +(299, 'gform_version_info', 'a:6:{s:12:\"is_valid_key\";s:1:\"0\";s:15:\"expiration_time\";i:0;s:7:\"version\";s:5:\"1.7.9\";s:3:\"url\";s:0:\"\";s:9:\"offerings\";a:0:{}s:9:\"timestamp\";i:1583181700;}', 'no'), +(346, 'poll_template_pollarchivepagingheader', '', 'yes'), +(347, 'poll_template_pollarchivepagingfooter', '', 'yes'), +(371, 'wpgraphql_settings_basics', '', 'yes'), +(695, 'wpsdb_settings', 'a:7:{s:11:\"max_request\";i:1048576;s:3:\"key\";s:32:\"BZLvH/SezHJiJW43ZrvIeXXmlOgAm0Us\";s:10:\"allow_pull\";b:1;s:10:\"allow_push\";b:1;s:8:\"profiles\";a:0:{}s:10:\"verify_ssl\";b:0;s:17:\"blacklist_plugins\";a:0:{}}', 'yes'), +(752, 'wpsdb_error_log', '********************************************\n****** Log date: 2020/03/03 00:33:47 ******\n********************************************\n\nWPSDB Error: Invalid content verification signature, please verify the connection information on the remote site and try again. (#123)\n\nArray\n(\n [action] => wpsdb_remote_finalize_migration\n [intent] => pull\n [url] => https://devgatsbyint.wpengine.com\n [key] => qAGLW3Wdd1B9xZmenH6IyJXYbNQLZV1N\n [form_data] => save_computer=1&gzip_file=1&action=push&connection_info=https%3A%2F%2Fdevgatsbyint.wpengine.com%0D%0AqAGLW3Wdd1B9xZmenH6IyJXYbNQLZV1N&auth_username=&auth_password=&replace_old%5B%5D=&replace_new%5B%5D=&replace_old%5B%5D=http%3A%2F%2Fautomatedtestinggatsbysourcewordpresswpgraphql.local&replace_new%5B%5D=https%3A%2F%2Fdevgatsbyint.wpengine.com&replace_old%5B%5D=%2FUsers%2Ftyler%2FLocal+Sites%2Fautomated-testing-gatsby-source-wordpress-wpgraphql%2Fapp%2Fpublic&replace_new%5B%5D=%2Fsrv%2Fbindings%2F91fa00e23cd24d43b6375dec520d48fb%2Fcode&table_migrate_option=migrate_only_with_prefix&replace_guids=1&exclude_transients=1&backup_option=backup_only_with_prefix&media_files=1&save_migration_profile=1&save_migration_profile_option=new&create_new_profile=dev-automated-testing-gatsby-source-wordpress-wpgraphql.pantheonsite.io&remote_json_data=\n [prefix] => wp_\n [temp_prefix] => _mig_\n [tables] => wp_bp_activity,wp_bp_activity_meta,wp_bp_invitations,wp_bp_notifications,wp_bp_notifications_meta,wp_bp_xprofile_data,wp_bp_xprofile_fields,wp_bp_xprofile_groups,wp_bp_xprofile_meta,wp_commentmeta,wp_comments,wp_gf_draft_submissions,wp_gf_entry,wp_gf_entry_meta,wp_gf_entry_notes,wp_gf_form,wp_gf_form_meta,wp_gf_form_revisions,wp_gf_form_view,wp_links,wp_options,wp_pollsa,wp_pollsip,wp_pollsq,wp_postmeta,wp_posts,wp_signups,wp_term_relationships,wp_term_taxonomy,wp_termmeta,wp_terms,wp_usermeta,wp_users,wp_yoast_seo_links,wp_yoast_seo_meta\n [type] => push\n [location] => http://automatedtestinggatsbysourcewordpresswpgraphql.local\n [sig] => eHHNaMogkv+5hlgTprFHi2jS+/c=\n)\n\n\n********************************************\n****** Log date: 2020/03/03 00:34:42 ******\n********************************************\n\nWPSDB Error: Invalid content verification signature, please verify the connection information on the remote site and try again. (#123)\n\nArray\n(\n [action] => wpsdb_remote_finalize_migration\n [intent] => pull\n [url] => https://devgatsbyint.wpengine.com\n [key] => BZLvH/SezHJiJW43ZrvIeXXmlOgAm0Us\n [form_data] => save_computer=1&gzip_file=1&action=push&connection_info=https%3A%2F%2Fdevgatsbyint.wpengine.com%0D%0ABZLvH%2FSezHJiJW43ZrvIeXXmlOgAm0Us&auth_username=&auth_password=&replace_old%5B%5D=&replace_new%5B%5D=&replace_old%5B%5D=http%3A%2F%2Fautomatedtestinggatsbysourcewordpresswpgraphql.local&replace_new%5B%5D=https%3A%2F%2Fdevgatsbyint.wpengine.com&replace_old%5B%5D=%2FUsers%2Ftyler%2FLocal+Sites%2Fautomated-testing-gatsby-source-wordpress-wpgraphql%2Fapp%2Fpublic&replace_new%5B%5D=%2Fsrv%2Fbindings%2F91fa00e23cd24d43b6375dec520d48fb%2Fcode&table_migrate_option=migrate_only_with_prefix&replace_guids=1&exclude_transients=1&backup_option=backup_only_with_prefix&media_files=1&save_migration_profile=1&save_migration_profile_option=0&create_new_profile=dev-automated-testing-gatsby-source-wordpress-wpgraphql.pantheonsite.io&remote_json_data=\n [prefix] => wp_\n [temp_prefix] => _mig_\n [tables] => wp_bp_activity,wp_bp_activity_meta,wp_bp_invitations,wp_bp_notifications,wp_bp_notifications_meta,wp_bp_xprofile_data,wp_bp_xprofile_fields,wp_bp_xprofile_groups,wp_bp_xprofile_meta,wp_commentmeta,wp_comments,wp_gf_draft_submissions,wp_gf_entry,wp_gf_entry_meta,wp_gf_entry_notes,wp_gf_form,wp_gf_form_meta,wp_gf_form_revisions,wp_gf_form_view,wp_links,wp_options,wp_pollsa,wp_pollsip,wp_pollsq,wp_postmeta,wp_posts,wp_signups,wp_term_relationships,wp_term_taxonomy,wp_termmeta,wp_terms,wp_usermeta,wp_users,wp_yoast_seo_links,wp_yoast_seo_meta\n [type] => push\n [location] => http://automatedtestinggatsbysourcewordpresswpgraphql.local\n [sig] => 82taPsby4mczKgpknedd2K8O39s=\n)\n\n\n', 'yes'), +(840, 'nav_menu_options', 'a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}', 'yes'), +(1705, 'wpgatsby_settings', 'a:5:{s:18:\"builds_api_webhook\";b:0;s:21:\"enable_gatsby_preview\";s:2:\"on\";s:20:\"preview_instance_url\";s:30:\"https://b911b322d94d.ngrok.io/\";s:19:\"preview_api_webhook\";s:39:\"https://b911b322d94d.ngrok.io/__refresh\";s:18:\"preview_jwt_secret\";s:50:\"Svx7Ps4S0CqAoeHNUpyZmuUVtxJukoyP1P3LeruTaOG3N1VWe8\";}', 'yes'), +(2975, 'pantheon-cache', 'a:1:{s:11:\"default_ttl\";i:0;}', 'yes'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(3588, 'pb_backupbuddy', 'a:109:{s:12:\"data_version\";s:2:\"18\";s:21:\"importbuddy_pass_hash\";s:0:\"\";s:23:\"importbuddy_pass_length\";i:0;s:16:\"backup_reminders\";i:1;s:16:\"edits_since_last\";a:4:{s:3:\"all\";i:0;s:4:\"post\";i:0;s:6:\"plugin\";i:0;s:6:\"option\";i:0;}s:12:\"recent_edits\";a:0:{}s:19:\"edits_tracking_mode\";s:5:\"basic\";s:17:\"last_backup_start\";d:1592595891.282742;s:18:\"last_backup_finish\";d:1592595879.663283;s:18:\"last_backup_serial\";s:10:\"7r7gwpcf3r\";s:17:\"last_backup_stats\";a:10:{s:11:\"archiveFile\";s:115:\"backup-dev-automated-testing-gatsby-source-wordpress-wpgraphql_pantheonsite_io-2020_06_19-07_42pm-db-0t48bvq2b2.zip\";s:10:\"archiveURL\";s:188:\"https://devgatsbyint.wpengine.com/wp-content/uploads/backupbuddy_backups/backup-dev-automated-testing-gatsby-source-wordpress-wpgraphql_pantheonsite_io-2020_06_19-07_42pm-db-0t48bvq2b2.zip\";s:11:\"archiveSize\";i:91167;s:5:\"start\";d:1592595765.844207;s:6:\"finish\";d:1592595879.663283;s:4:\"type\";s:2:\"db\";s:12:\"profileTitle\";s:13:\"Database Only\";s:13:\"scheduleTitle\";s:0:\"\";s:15:\"integrityStatus\";b:1;s:12:\"destinations\";a:0:{}}s:21:\"last_error_email_time\";i:0;s:19:\"force_compatibility\";i:0;s:29:\"force_mysqldump_compatibility\";i:0;s:9:\"schedules\";a:0:{}s:9:\"log_level\";s:1:\"1\";s:13:\"high_security\";i:0;s:19:\"next_schedule_index\";i:100;s:13:\"archive_limit\";i:0;s:18:\"archive_limit_full\";i:0;s:16:\"archive_limit_db\";i:0;s:19:\"archive_limit_files\";i:0;s:18:\"archive_limit_size\";i:0;s:22:\"archive_limit_size_big\";i:50000;s:17:\"archive_limit_age\";i:0;s:26:\"delete_archives_pre_backup\";i:0;s:23:\"lock_archives_directory\";s:1:\"0\";s:25:\"set_greedy_execution_time\";i:0;s:28:\"email_notify_scheduled_start\";s:0:\"\";s:36:\"email_notify_scheduled_start_subject\";s:49:\"BackupBuddy Scheduled Backup Started - {home_url}\";s:33:\"email_notify_scheduled_start_body\";s:140:\"A scheduled backup has started with BackupBuddy v{backupbuddy_version} on {current_datetime} for the site {home_url}.\n\nDetails:\r\n\r\n{message}\";s:31:\"email_notify_scheduled_complete\";s:0:\"\";s:39:\"email_notify_scheduled_complete_subject\";s:50:\"BackupBuddy Scheduled Backup Complete - {home_url}\";s:36:\"email_notify_scheduled_complete_body\";s:142:\"A scheduled backup has completed with BackupBuddy v{backupbuddy_version} on {current_datetime} for the site {home_url}.\n\nDetails:\r\n\r\n{message}\";s:24:\"email_notify_send_finish\";s:0:\"\";s:32:\"email_notify_send_finish_subject\";s:43:\"BackupBuddy File Send Finished - {home_url}\";s:29:\"email_notify_send_finish_body\";s:168:\"A destination file send of file {backup_file} has finished with BackupBuddy v{backupbuddy_version} on {current_datetime} for the site {home_url}.\n\nDetails:\r\n\r\n{message}\";s:18:\"email_notify_error\";s:18:\"tyler@gatsbyjs.com\";s:26:\"email_notify_error_subject\";s:37:\"BackupBuddy Server Error - {home_url}\";s:23:\"email_notify_error_body\";s:136:\"BackupBuddy v{backupbuddy_version} encountered a server error on {current_datetime} for the site {home_url}. Error details:\r\n\r\n{message}\";s:12:\"email_return\";s:0:\"\";s:19:\"remote_destinations\";a:0:{}s:27:\"remote_send_timeout_retries\";s:1:\"1\";s:11:\"role_access\";s:16:\"activate_plugins\";s:16:\"dropboxtemptoken\";s:0:\"\";s:16:\"multisite_export\";s:1:\"0\";s:16:\"backup_directory\";s:0:\"\";s:14:\"temp_directory\";s:0:\"\";s:13:\"log_directory\";s:0:\"\";s:10:\"log_serial\";s:15:\"e51oedj6rbsjhep\";s:13:\"notifications\";a:0:{}s:19:\"zip_method_strategy\";s:1:\"1\";s:24:\"database_method_strategy\";s:3:\"php\";s:17:\"alternative_zip_2\";s:1:\"0\";s:19:\"ignore_zip_warnings\";s:1:\"1\";s:19:\"ignore_zip_symlinks\";s:1:\"1\";s:18:\"zip_build_strategy\";s:1:\"3\";s:15:\"zip_step_period\";s:2:\"30\";s:13:\"zip_burst_gap\";s:1:\"2\";s:21:\"zip_min_burst_content\";s:2:\"10\";s:21:\"zip_max_burst_content\";s:3:\"100\";s:25:\"disable_zipmethod_caching\";s:1:\"0\";s:19:\"archive_name_format\";s:8:\"datetime\";s:20:\"archive_name_profile\";s:1:\"0\";s:30:\"disable_https_local_ssl_verify\";s:1:\"0\";s:17:\"save_comment_meta\";s:1:\"1\";s:27:\"ignore_command_length_check\";s:1:\"0\";s:18:\"default_backup_tab\";s:1:\"0\";s:18:\"deployment_allowed\";s:1:\"0\";s:9:\"hide_live\";s:1:\"0\";s:21:\"hide_dashboard_widget\";s:1:\"0\";s:16:\"deploy_sslverify\";s:1:\"1\";s:10:\"remote_api\";a:2:{s:4:\"keys\";a:0:{}s:3:\"ips\";a:0:{}}s:20:\"skip_spawn_cron_call\";s:1:\"0\";s:5:\"stats\";a:6:{s:9:\"site_size\";i:0;s:18:\"site_size_excluded\";i:0;s:17:\"site_size_updated\";i:0;s:7:\"db_size\";i:0;s:16:\"db_size_excluded\";i:0;s:15:\"db_size_updated\";i:0;}s:9:\"disalerts\";a:0:{}s:15:\"breakout_tables\";s:1:\"1\";s:19:\"include_importbuddy\";s:1:\"1\";s:17:\"max_site_log_size\";s:1:\"3\";s:11:\"compression\";s:1:\"1\";s:25:\"no_new_backups_error_days\";s:2:\"10\";s:15:\"skip_quicksetup\";s:1:\"1\";s:13:\"prevent_flush\";s:1:\"0\";s:17:\"rollback_cleanups\";a:0:{}s:20:\"phpmysqldump_maxrows\";s:0:\"\";s:20:\"disable_localization\";s:1:\"0\";s:18:\"max_execution_time\";s:0:\"\";s:24:\"backup_cron_rescheduling\";s:1:\"0\";s:29:\"backup_cron_passed_force_time\";s:0:\"\";s:20:\"force_single_db_file\";s:1:\"0\";s:11:\"deployments\";a:0:{}s:19:\"max_send_stats_days\";s:1:\"7\";s:20:\"max_send_stats_count\";s:1:\"6\";s:26:\"max_notifications_age_days\";s:2:\"21\";s:19:\"save_backup_sum_log\";s:1:\"1\";s:26:\"limit_single_cron_per_pass\";s:1:\"1\";s:18:\"tested_php_runtime\";i:0;s:17:\"tested_php_memory\";i:0;s:23:\"last_tested_php_runtime\";i:0;s:22:\"last_tested_php_memory\";i:0;s:17:\"use_internal_cron\";s:1:\"0\";s:11:\"umask_check\";b:0;s:28:\"default_restores_permissions\";s:8:\"standard\";s:25:\"disable_dat_file_creation\";i:0;s:33:\"php_runtime_test_minimum_interval\";s:6:\"604800\";s:32:\"php_memory_test_minimum_interval\";s:6:\"604800\";s:29:\"cron_request_timeout_override\";s:0:\"\";s:8:\"profiles\";a:6:{i:2;a:2:{s:4:\"type\";s:4:\"full\";s:5:\"title\";s:15:\"Complete Backup\";}i:1;a:3:{s:4:\"type\";s:2:\"db\";s:5:\"title\";s:13:\"Database Only\";s:3:\"tip\";s:49:\"Just your database. I like your minimalist style.\";}i:-3;a:3:{s:4:\"type\";s:6:\"themes\";s:5:\"title\";s:11:\"Themes Only\";s:3:\"tip\";s:17:\"Just your themes.\";}i:-2;a:3:{s:4:\"type\";s:7:\"plugins\";s:5:\"title\";s:12:\"Plugins Only\";s:3:\"tip\";s:18:\"Just your plugins.\";}i:-1;a:3:{s:4:\"type\";s:5:\"media\";s:5:\"title\";s:10:\"Media Only\";s:3:\"tip\";s:16:\"WordPress Media.\";}i:0;a:14:{s:4:\"type\";s:8:\"defaults\";s:5:\"title\";s:15:\"Global Defaults\";s:18:\"skip_database_dump\";s:1:\"0\";s:19:\"backup_nonwp_tables\";s:1:\"0\";s:15:\"integrity_check\";s:1:\"1\";s:29:\"mysqldump_additional_includes\";s:0:\"\";s:29:\"mysqldump_additional_excludes\";s:0:\"\";s:8:\"excludes\";s:0:\"\";s:11:\"custom_root\";s:0:\"\";s:11:\"backup_mode\";s:1:\"2\";s:13:\"exclude_media\";s:1:\"0\";s:14:\"exclude_themes\";s:1:\"0\";s:15:\"exclude_plugins\";s:1:\"0\";s:19:\"active_plugins_only\";s:1:\"0\";}}s:23:\"show_all_cron_schedules\";i:0;}', 'no'), +(3606, 'ithemes-updater-cache', 'a:9:{s:18:\"timeout-multiplier\";i:1;s:10:\"expiration\";i:0;s:9:\"timestamp\";i:0;s:8:\"packages\";a:0:{}s:14:\"update_plugins\";a:0:{}s:13:\"update_themes\";a:0:{}s:12:\"use_ca_patch\";b:0;s:7:\"use_ssl\";b:1;s:14:\"quick_releases\";b:0;}', 'no'), +(3620, 'pb_backupbuddy_notifications', 'a:1:{i:0;a:7:{s:4:\"time\";i:1592595881;s:4:\"slug\";s:14:\"backup_success\";s:5:\"title\";s:30:\"Backup completed successfully.\";s:7:\"message\";s:56:\"A manual backup has completed successfully on your site.\";s:4:\"data\";a:3:{s:6:\"serial\";s:10:\"0t48bvq2b2\";s:4:\"type\";s:2:\"db\";s:13:\"profile_title\";s:13:\"Database Only\";}s:6:\"urgent\";b:0;s:8:\"syncSent\";b:0;}}', 'no'), +(3868, 'db_upgraded', '', 'yes'), +(5067, 'wperedirect', 'no', 'no'), +(5068, 'bvActivateTime', '1597964512', 'no'), +(5069, 'bvSecretKey', 'ruOpTrs6GkEIWlLXTEj8nWJ68LodcP4E', 'no'), +(5072, 'bvAccountsList', 'a:1:{s:32:\"fcec3ddcb404067eb6ffb3d34be3911c\";a:5:{s:6:\"secret\";s:32:\"5643dbe6c5b70e688d67171815df75c6\";s:14:\"lastbackuptime\";i:1597965139;s:8:\"wpengine\";b:1;s:3:\"url\";s:33:\"https://devgatsbyint.wpengine.com\";s:5:\"email\";s:22:\"tyl******@gatsbyjs.com\";}}', 'no'), +(5073, 'bvLastRecvTime', '1597965196', 'no'), +(5074, 'bvApiPublic', 'fcec3ddcb404067eb6ffb3d34be3911c', 'no'), +(5077, 'widget_wpe_powered_by_widget', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5078, 'wpe_notices', 'a:1:{s:4:\"read\";s:0:\"\";}', 'yes'), +(5079, 'wpe_notices_ttl', '1602946159', 'yes'), +(5092, 'yoast_migrations_free', 'a:1:{s:7:\"version\";s:4:\"14.9\";}', 'yes'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(5102, 'wp_graphql_gutenberg_block_types', 'a:105:{s:23:\"woocommerce/all-reviews\";a:12:{s:4:\"name\";s:23:\"woocommerce/all-reviews\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:15:{s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"imageType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"reviewer\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:11:\"most-recent\";}s:17:\"reviewsOnLoadMore\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:17:\"reviewsOnPageLoad\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:12:\"showLoadMore\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"showOrderby\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"showReviewDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewerName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"showReviewImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewRating\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"showReviewContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewReviews\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";N;}s:15:\"showProductName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"All Reviews\";s:11:\"description\";s:35:\"Show a list of all product reviews.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:14:{s:8:\"editMode\";b:0;s:9:\"imageType\";s:8:\"reviewer\";s:7:\"orderby\";s:11:\"most-recent\";s:17:\"reviewsOnLoadMore\";i:10;s:17:\"reviewsOnPageLoad\";i:10;s:12:\"showLoadMore\";b:1;s:11:\"showOrderby\";b:1;s:14:\"showReviewDate\";b:1;s:16:\"showReviewerName\";b:1;s:15:\"showReviewImage\";b:1;s:16:\"showReviewRating\";b:1;s:17:\"showReviewContent\";b:1;s:14:\"previewReviews\";a:2:{i:0;a:12:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:22:\"formatted_date_created\";s:13:\"July 15, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T15:05:04\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:5:\"Alice\";s:6:\"review\";s:67:\"

I bought this product last week and I\'m very happy with it.

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";i:5;s:8:\"verified\";b:1;}i:1;a:12:{s:2:\"id\";i:2;s:12:\"date_created\";s:19:\"2019-07-12T12:39:39\";s:22:\"formatted_date_created\";s:13:\"July 12, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-12T10:39:39\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:3:\"Bob\";s:6:\"review\";s:43:\"

This product is awesome, I love it!

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";N;s:8:\"verified\";b:0;}}s:15:\"showProductName\";b:1;}}s:10:\"variations\";a:0:{}}s:29:\"woocommerce/featured-category\";a:12:{s:4:\"name\";s:29:\"woocommerce/featured-category\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:15:{s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:6:\"height\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:500;}s:7:\"mediaId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:8:\"mediaSrc\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"linkText\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"Shop now\";}s:10:\"categoryId\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"showDesc\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"previewCategory\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";N;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:17:\"Featured Category\";s:11:\"description\";s:66:\"Visually highlight a product category and encourage prompt action.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:8:{s:12:\"contentAlign\";s:6:\"center\";s:8:\"dimRatio\";i:50;s:8:\"editMode\";b:0;s:6:\"height\";i:500;s:8:\"mediaSrc\";s:0:\"\";s:8:\"showDesc\";b:1;s:10:\"categoryId\";s:7:\"preview\";s:15:\"previewCategory\";a:8:{s:2:\"id\";i:1;s:4:\"name\";s:8:\"Clothing\";s:4:\"slug\";s:8:\"clothing\";s:6:\"parent\";i:0;s:5:\"count\";i:10;s:11:\"description\";s:50:\"

Branded t-shirts, jumpers, pants and more!

\n\";s:5:\"image\";a:8:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T17:05:04\";s:13:\"date_modified\";s:19:\"2019-07-15T17:05:04\";s:17:\"date_modified_gmt\";s:19:\"2019-07-15T17:05:04\";s:3:\"src\";s:118:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/collection.jpg\";s:4:\"name\";s:0:\"\";s:3:\"alt\";s:0:\"\";}s:9:\"permalink\";s:1:\"#\";}}}s:10:\"variations\";a:0:{}}s:28:\"woocommerce/featured-product\";a:12:{s:4:\"name\";s:28:\"woocommerce/featured-product\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:16:{s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:6:\"height\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:500;}s:7:\"mediaId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:8:\"mediaSrc\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"linkText\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"Shop now\";}s:9:\"productId\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"showDesc\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"showPrice\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewProduct\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";N;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:16:\"Featured Product\";s:11:\"description\";s:70:\"Visually highlight a product or variation and encourage prompt action.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:8:{s:12:\"contentAlign\";s:6:\"center\";s:8:\"dimRatio\";i:50;s:8:\"editMode\";b:0;s:6:\"height\";i:500;s:8:\"mediaSrc\";s:0:\"\";s:8:\"showDesc\";b:1;s:9:\"productId\";s:7:\"preview\";s:14:\"previewProduct\";a:18:{s:2:\"id\";i:1;s:4:\"name\";s:17:\"WordPress Pennant\";s:9:\"variation\";s:0:\"\";s:9:\"permalink\";s:19:\"https://example.org\";s:3:\"sku\";s:10:\"wp-pennant\";s:17:\"short_description\";s:150:\"Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!\";s:11:\"description\";s:278:\"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.\";s:5:\"price\";s:4:\"7.99\";s:10:\"price_html\";s:112:\"$7.99\";s:6:\"images\";a:1:{i:0;a:7:{s:2:\"id\";i:1;s:3:\"src\";s:115:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/pennant.jpg\";s:9:\"thumbnail\";s:115:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/pennant.jpg\";s:4:\"name\";s:13:\"pennant-1.jpg\";s:3:\"alt\";s:17:\"WordPress Pennant\";s:6:\"srcset\";s:0:\"\";s:5:\"sizes\";s:0:\"\";}}s:14:\"average_rating\";i:5;s:12:\"review_count\";i:1;s:6:\"prices\";a:10:{s:13:\"currency_code\";s:3:\"GBP\";s:17:\"decimal_separator\";s:1:\".\";s:18:\"thousand_separator\";s:1:\",\";s:8:\"decimals\";i:2;s:12:\"price_prefix\";s:2:\"£\";s:12:\"price_suffix\";s:0:\"\";s:5:\"price\";s:4:\"7.99\";s:13:\"regular_price\";s:4:\"9.99\";s:10:\"sale_price\";s:4:\"7.99\";s:11:\"price_range\";N;}s:11:\"add_to_cart\";a:2:{s:4:\"text\";s:11:\"Add to cart\";s:11:\"description\";s:11:\"Add to cart\";}s:11:\"has_options\";b:0;s:14:\"is_purchasable\";b:1;s:11:\"is_in_stock\";b:1;s:7:\"on_sale\";b:1;}}}s:10:\"variations\";a:0:{}}s:31:\"woocommerce/handpicked-products\";a:13:{s:4:\"name\";s:31:\"woocommerce/handpicked-products\";s:8:\"keywords\";a:2:{i:0;s:19:\"Handpicked Products\";i:1;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:8:\"products\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:20:\"Hand-picked Products\";s:11:\"description\";s:54:\"Display a selection of hand-picked products in a grid.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:7:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:8:\"products\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:32:\"woocommerce/product-best-sellers\";a:13:{s:4:\"name\";s:32:\"woocommerce/product-best-sellers\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:21:\"Best Selling Products\";s:11:\"description\";s:54:\"Display a grid of your all-time best selling products.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:30:\"woocommerce/product-categories\";a:13:{s:4:\"name\";s:30:\"woocommerce/product-categories\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:7:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"hasCount\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:8:\"hasImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"hasEmpty\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"isDropdown\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:14:\"isHierarchical\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:23:\"Product Categories List\";s:11:\"description\";s:50:\"Show all product categories as a list or dropdown.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:8:\"hasCount\";b:1;s:8:\"hasImage\";b:0;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:5:{s:8:\"hasCount\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:14:\"data-has-count\";}s:8:\"hasEmpty\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:14:\"data-has-empty\";}s:10:\"isDropdown\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:16:\"data-is-dropdown\";}s:14:\"isHierarchical\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:20:\"data-is-hierarchical\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:28:\"woocommerce/product-category\";a:13:{s:4:\"name\";s:28:\"woocommerce/product-category\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:11:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:20:\"Products by Category\";s:11:\"description\";s:57:\"Display a grid of products from your selected categories.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:10:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"woocommerce/product-new\";a:13:{s:4:\"name\";s:23:\"woocommerce/product-new\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:15:\"Newest Products\";s:11:\"description\";s:39:\"Display a grid of your newest products.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:27:\"woocommerce/product-on-sale\";a:13:{s:4:\"name\";s:27:\"woocommerce/product-on-sale\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:10:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:16:\"On Sale Products\";s:11:\"description\";s:45:\"Display a grid of products currently on sale.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:33:\"woocommerce/products-by-attribute\";a:13:{s:4:\"name\";s:33:\"woocommerce/products-by-attribute\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:11:{s:10:\"attributes\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:12:\"attrOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:21:\"Products by Attribute\";s:11:\"description\";s:52:\"Display a grid of products with selected attributes.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:10:\"attributes\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:12:\"attrOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:29:\"woocommerce/product-top-rated\";a:13:{s:4:\"name\";s:29:\"woocommerce/product-top-rated\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:18:\"Top Rated Products\";s:11:\"description\";s:42:\"Display a grid of your top rated products.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:30:\"woocommerce/reviews-by-product\";a:12:{s:4:\"name\";s:30:\"woocommerce/reviews-by-product\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:15:{s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"imageType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"reviewer\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:11:\"most-recent\";}s:17:\"reviewsOnLoadMore\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:17:\"reviewsOnPageLoad\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:12:\"showLoadMore\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"showOrderby\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"showReviewDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewerName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"showReviewImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewRating\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"showReviewContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewReviews\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";N;}s:9:\"productId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:18:\"Reviews by Product\";s:11:\"description\";s:45:\"Show reviews of your products to build trust.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:14:{s:8:\"editMode\";b:0;s:9:\"imageType\";s:8:\"reviewer\";s:7:\"orderby\";s:11:\"most-recent\";s:17:\"reviewsOnLoadMore\";i:10;s:17:\"reviewsOnPageLoad\";i:10;s:12:\"showLoadMore\";b:1;s:11:\"showOrderby\";b:1;s:14:\"showReviewDate\";b:1;s:16:\"showReviewerName\";b:1;s:15:\"showReviewImage\";b:1;s:16:\"showReviewRating\";b:1;s:17:\"showReviewContent\";b:1;s:14:\"previewReviews\";a:2:{i:0;a:12:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:22:\"formatted_date_created\";s:13:\"July 15, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T15:05:04\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:5:\"Alice\";s:6:\"review\";s:67:\"

I bought this product last week and I\'m very happy with it.

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";i:5;s:8:\"verified\";b:1;}i:1;a:12:{s:2:\"id\";i:2;s:12:\"date_created\";s:19:\"2019-07-12T12:39:39\";s:22:\"formatted_date_created\";s:13:\"July 12, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-12T10:39:39\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:3:\"Bob\";s:6:\"review\";s:43:\"

This product is awesome, I love it!

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";N;s:8:\"verified\";b:0;}}s:9:\"productId\";i:1;}}s:10:\"variations\";a:0:{}}s:31:\"woocommerce/reviews-by-category\";a:12:{s:4:\"name\";s:31:\"woocommerce/reviews-by-category\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:16:{s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"imageType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"reviewer\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:11:\"most-recent\";}s:17:\"reviewsOnLoadMore\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:17:\"reviewsOnPageLoad\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:12:\"showLoadMore\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"showOrderby\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"showReviewDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewerName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"showReviewImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewRating\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"showReviewContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewReviews\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";N;}s:11:\"categoryIds\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:15:\"showProductName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:19:\"Reviews by Category\";s:11:\"description\";s:46:\"Show product reviews from specific categories.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:15:{s:8:\"editMode\";b:0;s:9:\"imageType\";s:8:\"reviewer\";s:7:\"orderby\";s:11:\"most-recent\";s:17:\"reviewsOnLoadMore\";i:10;s:17:\"reviewsOnPageLoad\";i:10;s:12:\"showLoadMore\";b:1;s:11:\"showOrderby\";b:1;s:14:\"showReviewDate\";b:1;s:16:\"showReviewerName\";b:1;s:15:\"showReviewImage\";b:1;s:16:\"showReviewRating\";b:1;s:17:\"showReviewContent\";b:1;s:14:\"previewReviews\";a:2:{i:0;a:12:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:22:\"formatted_date_created\";s:13:\"July 15, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T15:05:04\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:5:\"Alice\";s:6:\"review\";s:67:\"

I bought this product last week and I\'m very happy with it.

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";i:5;s:8:\"verified\";b:1;}i:1;a:12:{s:2:\"id\";i:2;s:12:\"date_created\";s:19:\"2019-07-12T12:39:39\";s:22:\"formatted_date_created\";s:13:\"July 12, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-12T10:39:39\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:3:\"Bob\";s:6:\"review\";s:43:\"

This product is awesome, I love it!

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";N;s:8:\"verified\";b:0;}}s:11:\"categoryIds\";a:1:{i:0;i:1;}s:15:\"showProductName\";b:1;}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/product-search\";a:12:{s:4:\"name\";s:26:\"woocommerce/product-search\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:6:{s:8:\"hasLabel\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"label\";a:4:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"Search\";s:6:\"source\";s:4:\"text\";s:8:\"selector\";s:5:\"label\";}s:11:\"placeholder\";a:5:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:18:\"Search products…\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:36:\"input.wc-block-product-search__field\";s:9:\"attribute\";s:11:\"placeholder\";}s:6:\"formId\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}}s:6:\"styles\";a:0:{}s:5:\"title\";s:14:\"Product Search\";s:11:\"description\";s:66:\"A search box to allow customers to search for products by keyword.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:8:\"hasLabel\";b:1;}}s:10:\"variations\";a:0:{}}s:23:\"woocommerce/product-tag\";a:12:{s:4:\"name\";s:23:\"woocommerce/product-tag\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:10:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:4:\"tags\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"tagOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:15:\"Products by Tag\";s:11:\"description\";s:46:\"Display a grid of products with selected tags.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"variations\";a:0:{}}s:25:\"woocommerce/product-title\";a:13:{s:4:\"name\";s:25:\"woocommerce/product-title\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:4:{s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"productLink\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Product Title\";s:11:\"description\";s:31:\"Display the title of a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:25:\"woocommerce/product-price\";a:13:{s:4:\"name\";s:25:\"woocommerce/product-price\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Product Price\";s:11:\"description\";s:31:\"Display the price of a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:25:\"woocommerce/product-image\";a:13:{s:4:\"name\";s:25:\"woocommerce/product-image\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:6:{s:11:\"productLink\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:13:\"showSaleBadge\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"saleBadgeAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"right\";}s:11:\"imageSizing\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:9:\"full-size\";}s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Product Image\";s:11:\"description\";s:30:\"Display the main product image\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/product-rating\";a:13:{s:4:\"name\";s:26:\"woocommerce/product-rating\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:14:\"Product Rating\";s:11:\"description\";s:40:\"Display the average rating of a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/product-button\";a:13:{s:4:\"name\";s:26:\"woocommerce/product-button\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:18:\"Add to Cart Button\";s:11:\"description\";s:104:\"Display a call to action button which either adds the product to the cart, or links to the product page.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:27:\"woocommerce/product-summary\";a:13:{s:4:\"name\";s:27:\"woocommerce/product-summary\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:15:\"Product Summary\";s:11:\"description\";s:44:\"Display a short description about a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:30:\"woocommerce/product-sale-badge\";a:13:{s:4:\"name\";s:30:\"woocommerce/product-sale-badge\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"On-Sale Badge\";s:11:\"description\";s:52:\"Displays an on-sale badge if the product is on-sale.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:24:\"woocommerce/all-products\";a:14:{s:4:\"name\";s:24:\"woocommerce/all-products\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"rows\";a:1:{s:4:\"type\";s:6:\"number\";}s:12:\"alignButtons\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:17:\"contentVisibility\";a:1:{s:4:\"type\";s:6:\"object\";}s:7:\"orderby\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"layoutConfig\";a:1:{s:4:\"type\";s:5:\"array\";}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"All Products\";s:11:\"description\";s:50:\"Display products from your store in a grid layout.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:8:\"defaults\";a:7:{s:7:\"columns\";i:3;s:4:\"rows\";i:3;s:12:\"alignButtons\";b:0;s:17:\"contentVisibility\";a:1:{s:7:\"orderBy\";b:1;}s:7:\"orderby\";s:4:\"date\";s:12:\"layoutConfig\";a:5:{i:0;a:1:{i:0;s:25:\"woocommerce/product-image\";}i:1;a:1:{i:0;s:25:\"woocommerce/product-title\";}i:2;a:1:{i:0;s:25:\"woocommerce/product-price\";}i:3;a:1:{i:0;s:26:\"woocommerce/product-rating\";}i:4;a:1:{i:0;s:26:\"woocommerce/product-button\";}}s:9:\"isPreview\";b:0;}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:1;}s:12:\"alignButtons\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:17:\"contentVisibility\";a:1:{s:4:\"type\";s:6:\"object\";}s:7:\"orderby\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"layoutConfig\";a:1:{s:4:\"type\";s:5:\"array\";}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:24:\"woocommerce/price-filter\";a:12:{s:4:\"name\";s:24:\"woocommerce/price-filter\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:5:{s:15:\"showInputFields\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showFilterButton\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:7:\"heading\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:15:\"Filter by price\";}s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:24:\"Filter Products by Price\";s:11:\"description\";s:130:\"Allow customers to filter the products by choosing a lower or upper price limit. Works in combination with the All Products block.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:28:\"woocommerce/attribute-filter\";a:12:{s:4:\"name\";s:28:\"woocommerce/attribute-filter\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:11:\"attributeId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:10:\"showCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"queryType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"or\";}s:7:\"heading\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:19:\"Filter by attribute\";}s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"displayStyle\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:16:\"showFilterButton\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:28:\"Filter Products by Attribute\";s:11:\"description\";s:121:\"Allow customers to filter the grid by product attribute, such as color. Works in combination with the All Products block.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/active-filters\";a:12:{s:4:\"name\";s:26:\"woocommerce/active-filters\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:4:{s:12:\"displayStyle\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"heading\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:14:\"Active filters\";}s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:22:\"Active Product Filters\";s:11:\"description\";s:105:\"Show the currently active product filters. Works in combination with the All Products and filters blocks.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:0:{}}s:10:\"variations\";a:0:{}}s:18:\"yoast/how-to-block\";a:13:{s:4:\"name\";s:18:\"yoast/how-to-block\";s:8:\"keywords\";a:5:{i:0;s:6:\"How-to\";i:1;s:6:\"How to\";i:2;s:6:\"Schema\";i:3;s:3:\"SEO\";i:4;s:15:\"Structured Data\";}s:10:\"attributes\";a:12:{s:11:\"hasDuration\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:4:\"days\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"hours\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"minutes\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"description\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:26:\".schema-how-to-description\";}s:15:\"jsonDescription\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"steps\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:13:\"unorderedList\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:12:\"durationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:19:\"defaultDurationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"Yoast How-to\";s:11:\"description\";s:89:\"Create a How-to guide in an SEO-friendly way. You can only use one How-to block per post.\";s:8:\"category\";s:28:\"yoast-structured-data-blocks\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:5:\"steps\";a:2:{i:0;a:3:{s:2:\"id\";s:25:\"how-to-step-1602177822453\";s:4:\"name\";a:0:{}s:4:\"text\";a:0:{}}i:1;a:3:{s:2:\"id\";s:25:\"how-to-step-1602177822453\";s:4:\"name\";a:0:{}s:4:\"text\";a:0:{}}}}}s:10:\"deprecated\";a:2:{i:0;a:1:{s:10:\"attributes\";a:12:{s:11:\"hasDuration\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:4:\"days\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"hours\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"minutes\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"description\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:26:\".schema-how-to-description\";}s:15:\"jsonDescription\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"steps\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:13:\"unorderedList\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:12:\"durationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:19:\"defaultDurationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:12:{s:11:\"hasDuration\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:4:\"days\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"hours\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"minutes\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"description\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:26:\".schema-how-to-description\";}s:15:\"jsonDescription\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"steps\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:13:\"unorderedList\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:12:\"durationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:19:\"defaultDurationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:15:\"yoast/faq-block\";a:13:{s:4:\"name\";s:15:\"yoast/faq-block\";s:8:\"keywords\";a:5:{i:0;s:3:\"FAQ\";i:1;s:26:\"Frequently Asked Questions\";i:2;s:6:\"Schema\";i:3;s:3:\"SEO\";i:4;s:15:\"Structured Data\";}s:10:\"attributes\";a:3:{s:9:\"questions\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"Yoast FAQ\";s:11:\"description\";s:101:\"List your Frequently Asked Questions in an SEO-friendly way. You can only use one FAQ block per post.\";s:8:\"category\";s:28:\"yoast-structured-data-blocks\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"questions\";a:3:{i:0;a:3:{s:2:\"id\";s:26:\"faq-question-1602177822454\";s:8:\"question\";a:0:{}s:6:\"answer\";a:0:{}}i:1;a:3:{s:2:\"id\";s:26:\"faq-question-1602177822454\";s:8:\"question\";a:0:{}s:6:\"answer\";a:0:{}}i:2;a:3:{s:2:\"id\";s:26:\"faq-question-1602177822454\";s:8:\"question\";a:0:{}s:6:\"answer\";a:0:{}}}}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:3:{s:9:\"questions\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:14:\"core/paragraph\";a:13:{s:4:\"name\";s:14:\"core/paragraph\";s:8:\"keywords\";a:1:{i:0;s:4:\"text\";}s:10:\"attributes\";a:11:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:9:{s:6:\"anchor\";b:1;s:9:\"className\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:1:{s:9:\"linkColor\";b:1;}s:22:\"__experimentalFontSize\";b:1;s:24:\"__experimentalLineHeight\";b:1;s:22:\"__experimentalFeatures\";a:1:{s:10:\"typography\";a:1:{s:7:\"dropCap\";b:1;}}s:22:\"__experimentalSelector\";s:1:\"p\";s:25:\"__unstablePasteTextInline\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:9:\"Paragraph\";s:11:\"description\";s:47:\"Start with the building block of all narrative.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:7:\"content\";s:224:\"In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.\";s:5:\"style\";a:1:{s:10:\"typography\";a:1:{s:8:\"fontSize\";i:28;}}s:7:\"dropCap\";b:1;}}s:10:\"deprecated\";a:5:{i:0;a:2:{s:10:\"attributes\";a:12:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customFontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:1;a:2:{s:10:\"attributes\";a:12:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customFontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:2;a:2:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customFontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:3;a:2:{s:10:\"attributes\";a:9:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:4;a:2:{s:10:\"attributes\";a:10:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}}s:10:\"variations\";a:0:{}}s:10:\"core/image\";a:13:{s:4:\"name\";s:10:\"core/image\";s:8:\"keywords\";a:2:{i:0;s:3:\"img\";i:1;s:5:\"photo\";}s:10:\"attributes\";a:16:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:5:\"title\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"sizeSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:7:\"rounded\";s:5:\"label\";s:7:\"Rounded\";}}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Image\";s:11:\"description\";s:43:\"Insert an image to make a visual statement.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:8:\"sizeSlug\";s:5:\"large\";s:3:\"url\";s:44:\"https://s.w.org/images/core/5.3/MtBlanc1.jpg\";s:7:\"caption\";s:46:\"Mont Blanc appears—still, snowy, and serene.\";}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:12:\"core/heading\";a:13:{s:4:\"name\";s:12:\"core/heading\";s:8:\"keywords\";a:2:{i:0;s:5:\"title\";i:1;s:8:\"subtitle\";}s:10:\"attributes\";a:10:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:8:{s:6:\"anchor\";b:1;s:9:\"className\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:1:{s:9:\"linkColor\";b:1;}s:22:\"__experimentalFontSize\";b:1;s:24:\"__experimentalLineHeight\";b:1;s:22:\"__experimentalSelector\";a:6:{s:15:\"core/heading/h1\";s:2:\"h1\";s:15:\"core/heading/h2\";s:2:\"h2\";s:15:\"core/heading/h3\";s:2:\"h3\";s:15:\"core/heading/h4\";s:2:\"h4\";s:15:\"core/heading/h5\";s:2:\"h5\";s:15:\"core/heading/h6\";s:2:\"h6\";}s:25:\"__unstablePasteTextInline\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:7:\"Heading\";s:11:\"description\";s:123:\"Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:7:\"content\";s:14:\"Code is Poetry\";s:5:\"level\";i:2;}}s:10:\"deprecated\";a:3:{i:0;a:2:{s:10:\"attributes\";a:8:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:9:\"className\";b:0;s:6:\"anchor\";b:1;}}i:1;a:2:{s:10:\"attributes\";a:8:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:9:\"className\";b:0;s:6:\"anchor\";b:1;}}i:2;a:2:{s:10:\"attributes\";a:8:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:9:\"className\";b:0;s:6:\"anchor\";b:1;}}}s:10:\"variations\";a:0:{}}s:12:\"core/gallery\";a:13:{s:4:\"name\";s:12:\"core/gallery\";s:8:\"keywords\";a:2:{i:0;s:6:\"images\";i:1;s:6:\"photos\";}s:10:\"attributes\";a:10:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:20:\".blocks-gallery-item\";s:5:\"query\";a:6:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:7:\"fullUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:13:\"data-full-url\";}s:4:\"link\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:29:\".blocks-gallery-item__caption\";}}}s:3:\"ids\";a:3:{s:4:\"type\";s:5:\"array\";s:5:\"items\";a:1:{s:4:\"type\";s:6:\"number\";}s:7:\"default\";a:0:{}}s:7:\"columns\";a:3:{s:4:\"type\";s:6:\"number\";s:7:\"minimum\";i:1;s:7:\"maximum\";i:8;}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:23:\".blocks-gallery-caption\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:8:\"sizeSlug\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"large\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:7:\"Gallery\";s:11:\"description\";s:42:\"Display multiple images in a rich gallery.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:7:\"columns\";i:2;s:6:\"images\";a:2:{i:0;a:1:{s:3:\"url\";s:59:\"https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg\";}i:1;a:1:{s:3:\"url\";s:70:\"https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg\";}}}}s:10:\"deprecated\";a:4:{i:0;a:2:{s:10:\"attributes\";a:8:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:20:\".blocks-gallery-item\";s:5:\"query\";a:6:{s:3:\"url\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:7:\"fullUrl\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:13:\"data-full-url\";}s:4:\"link\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:3:\"alt\";a:4:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:29:\".blocks-gallery-item__caption\";}}}s:3:\"ids\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:23:\".blocks-gallery-caption\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:1;a:2:{s:10:\"attributes\";a:7:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:40:\"ul.wp-block-gallery .blocks-gallery-item\";s:5:\"query\";a:6:{s:3:\"url\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:7:\"fullUrl\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:13:\"data-full-url\";}s:3:\"alt\";a:4:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:4:\"link\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:7:\"caption\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:10:\"figcaption\";}}}s:3:\"ids\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:2;a:2:{s:10:\"attributes\";a:6:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:40:\"ul.wp-block-gallery .blocks-gallery-item\";s:5:\"query\";a:5:{s:3:\"url\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:4:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:4:\"link\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:7:\"caption\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:10:\"figcaption\";}}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:3;a:2:{s:10:\"attributes\";a:6:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:52:\"div.wp-block-gallery figure.blocks-gallery-image img\";s:5:\"query\";a:3:{s:3:\"url\";a:2:{s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:3:{s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:2:{s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:7:\"data-id\";}}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}}s:10:\"variations\";a:0:{}}s:9:\"core/list\";a:12:{s:4:\"name\";s:9:\"core/list\";s:8:\"keywords\";a:3:{i:0;s:11:\"bullet list\";i:1;s:12:\"ordered list\";i:2;s:13:\"numbered list\";}s:10:\"attributes\";a:7:{s:7:\"ordered\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:6:\"values\";a:6:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:5:\"ol,ul\";s:9:\"multiline\";s:2:\"li\";s:30:\"__unstableMultilineWrapperTags\";a:2:{i:0;s:2:\"ol\";i:1;s:2:\"ul\";}s:7:\"default\";s:0:\"\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"start\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"reversed\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:6:\"anchor\";b:1;s:9:\"className\";b:0;s:25:\"__unstablePasteTextInline\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:4:\"List\";s:11:\"description\";s:35:\"Create a bulleted or numbered list.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:6:\"values\";s:120:\"
  • Alice.
  • The White Rabbit.
  • The Cheshire Cat.
  • The Mad Hatter.
  • The Queen of Hearts.
  • \";}}s:10:\"variations\";a:0:{}}s:10:\"core/quote\";a:13:{s:4:\"name\";s:10:\"core/quote\";s:8:\"keywords\";a:2:{i:0;s:10:\"blockquote\";i:1;s:4:\"cite\";}s:10:\"attributes\";a:5:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:6:\"anchor\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:5:\"large\";s:5:\"label\";s:5:\"Large\";}}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:5:\"Quote\";s:11:\"description\";s:93:\"Give quoted text visual emphasis. \"In quoting others, we cite ourselves.\" — Julio Cortázar\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:5:\"value\";s:44:\"

    In quoting others, we cite ourselves.

    \";s:8:\"citation\";s:15:\"Julio Cortázar\";s:9:\"className\";s:14:\"is-style-large\";}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:4:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:5:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:5:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:6:\"footer\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:14:\"core/shortcode\";a:11:{s:4:\"name\";s:14:\"core/shortcode\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:1:{s:4:\"text\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:9:\"className\";b:0;s:15:\"customClassName\";b:0;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:9:\"Shortcode\";s:11:\"description\";s:61:\"Insert additional custom elements with a WordPress shortcode.\";s:10:\"variations\";a:0:{}}s:13:\"core/archives\";a:12:{s:4:\"name\";s:13:\"core/archives\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:17:\"displayAsDropdown\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:14:\"showPostCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:8:\"Archives\";s:11:\"description\";s:40:\"Display a monthly archive of your posts.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:10:\"core/audio\";a:12:{s:4:\"name\";s:10:\"core/audio\";s:8:\"keywords\";a:4:{i:0;s:5:\"music\";i:1;s:5:\"sound\";i:2;s:7:\"podcast\";i:3;s:9:\"recording\";}s:10:\"attributes\";a:9:{s:3:\"src\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:3:\"src\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"autoplay\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:8:\"autoplay\";}s:4:\"loop\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:4:\"loop\";}s:7:\"preload\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:7:\"preload\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Audio\";s:11:\"description\";s:28:\"Embed a simple audio player.\";s:10:\"deprecated\";a:1:{i:0;a:2:{s:10:\"attributes\";a:8:{s:3:\"src\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:3:\"src\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"autoplay\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:8:\"autoplay\";}s:4:\"loop\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:4:\"loop\";}s:7:\"preload\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:7:\"preload\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}}s:10:\"variations\";a:0:{}}s:11:\"core/button\";a:14:{s:4:\"name\";s:11:\"core/button\";s:8:\"keywords\";a:1:{i:0;s:4:\"link\";}s:10:\"attributes\";a:14:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"borderRadius\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:9:\"alignWide\";b:0;s:8:\"reusable\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:4:\"fill\";s:5:\"label\";s:4:\"Fill\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:7:\"outline\";s:5:\"label\";s:7:\"Outline\";}}s:8:\"category\";s:6:\"design\";s:6:\"parent\";a:1:{i:0;s:12:\"core/buttons\";}s:5:\"title\";s:6:\"Button\";s:11:\"description\";s:56:\"Prompt visitors to take action with a button-style link.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:9:\"className\";s:13:\"is-style-fill\";s:15:\"backgroundColor\";s:16:\"vivid-green-cyan\";s:4:\"text\";s:14:\"Call to Action\";}}s:10:\"deprecated\";a:6:{i:0;a:2:{s:10:\"attributes\";a:13:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"borderRadius\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";b:1;s:9:\"alignWide\";b:0;s:19:\"__experimentalColor\";a:1:{s:9:\"gradients\";b:1;}}}i:1;a:2:{s:10:\"attributes\";a:15:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"borderRadius\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:9:\"alignWide\";b:0;}}i:2;a:1:{s:10:\"attributes\";a:12:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:3;a:1:{s:10:\"attributes\";a:9:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:4;a:1:{s:10:\"attributes\";a:7:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"color\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:5;a:1:{s:10:\"attributes\";a:7:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"color\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:12:\"core/buttons\";a:11:{s:4:\"name\";s:12:\"core/buttons\";s:8:\"keywords\";a:1:{i:0;s:4:\"link\";}s:10:\"attributes\";a:3:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:9:\"alignWide\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:7:\"Buttons\";s:11:\"description\";s:66:\"Prompt visitors to take action with a group of button-style links.\";s:10:\"variations\";a:0:{}}s:13:\"core/calendar\";a:12:{s:4:\"name\";s:13:\"core/calendar\";s:8:\"keywords\";a:2:{i:0;s:5:\"posts\";i:1;s:7:\"archive\";}s:10:\"attributes\";a:4:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"month\";a:1:{s:4:\"type\";s:7:\"integer\";}s:4:\"year\";a:1:{s:4:\"type\";s:7:\"integer\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:8:\"Calendar\";s:11:\"description\";s:34:\"A calendar of your site’s posts.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:15:\"core/categories\";a:12:{s:4:\"name\";s:15:\"core/categories\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:5:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:17:\"displayAsDropdown\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:13:\"showHierarchy\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:14:\"showPostCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:10:\"Categories\";s:11:\"description\";s:33:\"Display a list of all categories.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:9:\"core/code\";a:12:{s:4:\"name\";s:9:\"core/code\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:7:\"content\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"text\";s:8:\"selector\";s:4:\"code\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:6:\"anchor\";b:1;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:4:\"Code\";s:11:\"description\";s:57:\"Display code snippets that respect your spacing and tabs.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:179:\"// A \"block\" is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );\";}}s:10:\"variations\";a:0:{}}s:12:\"core/columns\";a:13:{s:4:\"name\";s:12:\"core/columns\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:8:{s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:2:{s:9:\"gradients\";b:1;s:9:\"linkColor\";b:1;}}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:7:\"Columns\";s:11:\"description\";s:101:\"Add a block that displays content in multiple columns, then add whatever content blocks you’d like.\";s:10:\"variations\";a:5:{i:0;a:7:{s:4:\"name\";s:17:\"two-columns-equal\";s:5:\"title\";s:7:\"50 / 50\";s:11:\"description\";s:24:\"Two columns; equal split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:3:{s:8:\"fillRule\";s:7:\"evenodd\";s:8:\"clipRule\";s:7:\"evenodd\";s:1:\"d\";s:163:\"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:9:\"isDefault\";b:1;s:11:\"innerBlocks\";a:2:{i:0;a:1:{i:0;s:11:\"core/column\";}i:1;a:1:{i:0;s:11:\"core/column\";}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:1;a:6:{s:4:\"name\";s:32:\"two-columns-one-third-two-thirds\";s:5:\"title\";s:7:\"30 / 70\";s:11:\"description\";s:40:\"Two columns; one-third, two-thirds split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:3:{s:8:\"fillRule\";s:7:\"evenodd\";s:8:\"clipRule\";s:7:\"evenodd\";s:1:\"d\";s:163:\"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:2:{i:0;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:33.33;}}i:1;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:66.66;}}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:2;a:6:{s:4:\"name\";s:32:\"two-columns-two-thirds-one-third\";s:5:\"title\";s:7:\"70 / 30\";s:11:\"description\";s:40:\"Two columns; two-thirds, one-third split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:3:{s:8:\"fillRule\";s:7:\"evenodd\";s:8:\"clipRule\";s:7:\"evenodd\";s:1:\"d\";s:163:\"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:2:{i:0;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:66.66;}}i:1;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:33.33;}}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:3;a:6:{s:4:\"name\";s:19:\"three-columns-equal\";s:5:\"title\";s:12:\"33 / 33 / 33\";s:11:\"description\";s:26:\"Three columns; equal split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:2:{s:8:\"fillRule\";s:7:\"evenodd\";s:1:\"d\";s:132:\"M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:3:{i:0;a:1:{i:0;s:11:\"core/column\";}i:1;a:1:{i:0;s:11:\"core/column\";}i:2;a:1:{i:0;s:11:\"core/column\";}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:4;a:6:{s:4:\"name\";s:26:\"three-columns-wider-center\";s:5:\"title\";s:12:\"25 / 50 / 25\";s:11:\"description\";s:33:\"Three columns; wide center column\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:2:{s:8:\"fillRule\";s:7:\"evenodd\";s:1:\"d\";s:126:\"M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM31 34H17V14h14v20zm2 0V14h6v20h-6zm-18 0H9V14h6v20z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:3:{i:0;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";i:25;}}i:1;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";i:50;}}i:2;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";i:25;}}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}}s:7:\"example\";a:1:{s:11:\"innerBlocks\";a:2:{i:0;a:2:{s:4:\"name\";s:11:\"core/column\";s:11:\"innerBlocks\";a:3:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:83:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.\";}}i:1;a:2:{s:4:\"name\";s:10:\"core/image\";s:10:\"attributes\";a:1:{s:3:\"url\";s:49:\"https://s.w.org/images/core/5.3/Windbuchencom.jpg\";}}i:2;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:59:\"Suspendisse commodo neque lacus, a dictum orci interdum et.\";}}}}i:1;a:2:{s:4:\"name\";s:11:\"core/column\";s:11:\"innerBlocks\";a:2:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:157:\"Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.\";}}i:1;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:103:\"Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.\";}}}}}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:6:{s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:2:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:2:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}}s:11:\"core/column\";a:12:{s:4:\"name\";s:11:\"core/column\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"width\";a:3:{s:4:\"type\";s:6:\"number\";s:3:\"min\";i:0;s:3:\"max\";i:100;}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:6:\"anchor\";b:1;s:8:\"reusable\";b:0;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:6:\"parent\";a:1:{i:0;s:12:\"core/columns\";}s:5:\"title\";s:6:\"Column\";s:11:\"description\";s:39:\"A single column within a columns block.\";s:10:\"variations\";a:0:{}}s:10:\"core/cover\";a:13:{s:4:\"name\";s:10:\"core/cover\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:17:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"minHeight\";a:1:{s:4:\"type\";s:6:\"number\";}s:13:\"minHeightUnit\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"contentPosition\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:21:\"__experimentalPadding\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Cover\";s:11:\"description\";s:64:\"Add an image or video with a text overlay — great for headers.\";s:7:\"example\";a:2:{s:10:\"attributes\";a:3:{s:18:\"customOverlayColor\";s:7:\"#065174\";s:8:\"dimRatio\";i:40;s:3:\"url\";s:49:\"https://s.w.org/images/core/5.3/Windbuchencom.jpg\";}s:11:\"innerBlocks\";a:1:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:14:\"customFontSize\";i:48;s:7:\"content\";s:28:\"Snow Patrol\";s:5:\"align\";s:6:\"center\";}}}}s:10:\"deprecated\";a:5:{i:0;a:1:{s:10:\"attributes\";a:14:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:9:\"minHeight\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:14:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:9:\"minHeight\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:2:{s:10:\"attributes\";a:12:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:3;a:2:{s:10:\"attributes\";a:12:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:4;a:2:{s:10:\"attributes\";a:12:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:2:\"h2\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}}s:10:\"variations\";a:0:{}}s:10:\"core/embed\";a:12:{s:4:\"name\";s:10:\"core/embed\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Embed\";s:11:\"description\";s:77:\"Embed videos, images, tweets, audio, and other content from external sources.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/twitter\";a:12:{s:4:\"name\";s:18:\"core-embed/twitter\";s:8:\"keywords\";a:2:{i:0;s:5:\"tweet\";i:1;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Twitter\";s:11:\"description\";s:14:\"Embed a tweet.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/youtube\";a:12:{s:4:\"name\";s:18:\"core-embed/youtube\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"YouTube\";s:11:\"description\";s:22:\"Embed a YouTube video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:19:\"core-embed/facebook\";a:12:{s:4:\"name\";s:19:\"core-embed/facebook\";s:8:\"keywords\";a:1:{i:0;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:8:\"Facebook\";s:11:\"description\";s:22:\"Embed a Facebook post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core-embed/instagram\";a:12:{s:4:\"name\";s:20:\"core-embed/instagram\";s:8:\"keywords\";a:2:{i:0;s:5:\"image\";i:1;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"Instagram\";s:11:\"description\";s:24:\"Embed an Instagram post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core-embed/wordpress\";a:12:{s:4:\"name\";s:20:\"core-embed/wordpress\";s:8:\"keywords\";a:2:{i:0;s:4:\"post\";i:1;s:4:\"blog\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"WordPress\";s:11:\"description\";s:23:\"Embed a WordPress post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/soundcloud\";a:12:{s:4:\"name\";s:21:\"core-embed/soundcloud\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"audio\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"SoundCloud\";s:11:\"description\";s:25:\"Embed SoundCloud content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/spotify\";a:12:{s:4:\"name\";s:18:\"core-embed/spotify\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"audio\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Spotify\";s:11:\"description\";s:22:\"Embed Spotify content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/flickr\";a:12:{s:4:\"name\";s:17:\"core-embed/flickr\";s:8:\"keywords\";a:1:{i:0;s:5:\"image\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Flickr\";s:11:\"description\";s:21:\"Embed Flickr content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core-embed/vimeo\";a:12:{s:4:\"name\";s:16:\"core-embed/vimeo\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Vimeo\";s:11:\"description\";s:20:\"Embed a Vimeo video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/animoto\";a:12:{s:4:\"name\";s:18:\"core-embed/animoto\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Animoto\";s:11:\"description\";s:23:\"Embed an Animoto video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/cloudup\";a:12:{s:4:\"name\";s:18:\"core-embed/cloudup\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Cloudup\";s:11:\"description\";s:22:\"Embed Cloudup content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/collegehumor\";a:12:{s:4:\"name\";s:23:\"core-embed/collegehumor\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"CollegeHumor\";s:11:\"description\";s:27:\"Embed CollegeHumor content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:22:\"core-embed/crowdsignal\";a:12:{s:4:\"name\";s:22:\"core-embed/crowdsignal\";s:8:\"keywords\";a:2:{i:0;s:9:\"polldaddy\";i:1;s:6:\"survey\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"Crowdsignal\";s:11:\"description\";s:47:\"Embed Crowdsignal (formerly Polldaddy) content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:22:\"core-embed/dailymotion\";a:12:{s:4:\"name\";s:22:\"core-embed/dailymotion\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"Dailymotion\";s:11:\"description\";s:26:\"Embed a Dailymotion video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core-embed/imgur\";a:12:{s:4:\"name\";s:16:\"core-embed/imgur\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Imgur\";s:11:\"description\";s:20:\"Embed Imgur content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core-embed/issuu\";a:12:{s:4:\"name\";s:16:\"core-embed/issuu\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Issuu\";s:11:\"description\";s:20:\"Embed Issuu content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:22:\"core-embed/kickstarter\";a:12:{s:4:\"name\";s:22:\"core-embed/kickstarter\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"Kickstarter\";s:11:\"description\";s:26:\"Embed Kickstarter content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/meetup-com\";a:12:{s:4:\"name\";s:21:\"core-embed/meetup-com\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"Meetup.com\";s:11:\"description\";s:25:\"Embed Meetup.com content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:19:\"core-embed/mixcloud\";a:12:{s:4:\"name\";s:19:\"core-embed/mixcloud\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"audio\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:8:\"Mixcloud\";s:11:\"description\";s:23:\"Embed Mixcloud content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core-embed/polldaddy\";a:12:{s:4:\"name\";s:20:\"core-embed/polldaddy\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"Polldaddy\";s:11:\"description\";s:24:\"Embed Polldaddy content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/reddit\";a:12:{s:4:\"name\";s:17:\"core-embed/reddit\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Reddit\";s:11:\"description\";s:22:\"Embed a Reddit thread.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/reverbnation\";a:12:{s:4:\"name\";s:23:\"core-embed/reverbnation\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"ReverbNation\";s:11:\"description\";s:27:\"Embed ReverbNation content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/screencast\";a:12:{s:4:\"name\";s:21:\"core-embed/screencast\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"Screencast\";s:11:\"description\";s:25:\"Embed Screencast content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/scribd\";a:12:{s:4:\"name\";s:17:\"core-embed/scribd\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Scribd\";s:11:\"description\";s:21:\"Embed Scribd content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/slideshare\";a:12:{s:4:\"name\";s:21:\"core-embed/slideshare\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"Slideshare\";s:11:\"description\";s:25:\"Embed Slideshare content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/smugmug\";a:12:{s:4:\"name\";s:18:\"core-embed/smugmug\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"SmugMug\";s:11:\"description\";s:22:\"Embed SmugMug content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/speaker\";a:12:{s:4:\"name\";s:18:\"core-embed/speaker\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Speaker\";s:11:\"description\";s:94:\"Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/speaker-deck\";a:12:{s:4:\"name\";s:23:\"core-embed/speaker-deck\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"Speaker Deck\";s:11:\"description\";s:27:\"Embed Speaker Deck content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/tiktok\";a:12:{s:4:\"name\";s:17:\"core-embed/tiktok\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"TikTok\";s:11:\"description\";s:21:\"Embed a TikTok video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:14:\"core-embed/ted\";a:12:{s:4:\"name\";s:14:\"core-embed/ted\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:3:\"TED\";s:11:\"description\";s:18:\"Embed a TED video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/tumblr\";a:12:{s:4:\"name\";s:17:\"core-embed/tumblr\";s:8:\"keywords\";a:1:{i:0;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Tumblr\";s:11:\"description\";s:20:\"Embed a Tumblr post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/videopress\";a:12:{s:4:\"name\";s:21:\"core-embed/videopress\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"VideoPress\";s:11:\"description\";s:25:\"Embed a VideoPress video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/wordpress-tv\";a:12:{s:4:\"name\";s:23:\"core-embed/wordpress-tv\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"WordPress.tv\";s:11:\"description\";s:27:\"Embed a WordPress.tv video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:24:\"core-embed/amazon-kindle\";a:12:{s:4:\"name\";s:24:\"core-embed/amazon-kindle\";s:8:\"keywords\";a:1:{i:0;s:5:\"ebook\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Amazon Kindle\";s:11:\"description\";s:28:\"Embed Amazon Kindle content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:9:\"core/file\";a:11:{s:4:\"name\";s:9:\"core/file\";s:8:\"keywords\";a:3:{i:0;s:8:\"document\";i:1;s:3:\"pdf\";i:2;s:8:\"download\";}s:10:\"attributes\";a:10:{s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"href\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fileName\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"a:not([download])\";}s:12:\"textLinkHref\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:17:\"a:not([download])\";s:9:\"attribute\";s:4:\"href\";}s:14:\"textLinkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:17:\"a:not([download])\";s:9:\"attribute\";s:6:\"target\";}s:18:\"showDownloadButton\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:18:\"downloadButtonText\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:11:\"a[download]\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:4:\"File\";s:11:\"description\";s:34:\"Add a link to a downloadable file.\";s:10:\"variations\";a:0:{}}s:10:\"core/group\";a:13:{s:4:\"name\";s:10:\"core/group\";s:8:\"keywords\";a:4:{i:0;s:9:\"container\";i:1;s:7:\"wrapper\";i:2;s:3:\"row\";i:3;s:7:\"section\";}s:10:\"attributes\";a:8:{s:7:\"tagName\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"div\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:2:{s:9:\"gradients\";b:1;s:9:\"linkColor\";b:1;}}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:5:\"Group\";s:11:\"description\";s:33:\"A block that groups other blocks.\";s:7:\"example\";a:2:{s:10:\"attributes\";a:1:{s:5:\"style\";a:1:{s:5:\"color\";a:2:{s:4:\"text\";s:7:\"#000000\";s:10:\"background\";s:7:\"#ffffff\";}}}s:11:\"innerBlocks\";a:6:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#cf2e2e\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:4:\"One.\";}}i:1;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#ff6900\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:4:\"Two.\";}}i:2;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#fcb900\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:6:\"Three.\";}}i:3;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#00d084\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:5:\"Four.\";}}i:4;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#0693e3\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:5:\"Five.\";}}i:5;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#9b51e0\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:4:\"Six.\";}}}}s:10:\"deprecated\";a:3:{i:0;a:2:{s:10:\"attributes\";a:7:{s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;}}i:1;a:2:{s:10:\"attributes\";a:7:{s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;}}i:2;a:2:{s:10:\"attributes\";a:5:{s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;}}}s:10:\"variations\";a:0:{}}s:13:\"core/freeform\";a:11:{s:4:\"name\";s:13:\"core/freeform\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:1:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:9:\"className\";b:0;s:15:\"customClassName\";b:0;s:8:\"reusable\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:7:\"Classic\";s:11:\"description\";s:33:\"Use the classic WordPress editor.\";s:10:\"variations\";a:0:{}}s:9:\"core/html\";a:12:{s:4:\"name\";s:9:\"core/html\";s:8:\"keywords\";a:1:{i:0;s:5:\"embed\";}s:10:\"attributes\";a:1:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:15:\"customClassName\";b:0;s:9:\"className\";b:0;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:11:\"Custom HTML\";s:11:\"description\";s:48:\"Add custom HTML code and preview it as you edit.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:62:\"Welcome to the wonderful world of blocks…\";}}s:10:\"variations\";a:0:{}}s:15:\"core/media-text\";a:13:{s:4:\"name\";s:15:\"core/media-text\";s:8:\"keywords\";a:2:{i:0;s:5:\"image\";i:1;s:5:\"video\";}s:10:\"attributes\";a:23:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"mediaUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:23:\"figure video,figure img\";s:9:\"attribute\";s:3:\"src\";}s:9:\"mediaLink\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"linkDestination\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:6:\"target\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:5:\"class\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"imageFill\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:2:{s:9:\"gradients\";b:1;s:9:\"linkColor\";b:1;}}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:12:\"Media & Text\";s:11:\"description\";s:53:\"Set media and words side-by-side for a richer layout.\";s:7:\"example\";a:2:{s:10:\"attributes\";a:2:{s:9:\"mediaType\";s:5:\"image\";s:8:\"mediaUrl\";s:94:\"https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg\";}s:11:\"innerBlocks\";a:2:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:44:\"The wren
    Earns his living
    Noiselessly.\";}}i:1;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:27:\"— Kobayashi Issa (一茶)\";}}}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:19:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"mediaLink\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"linkDestination\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:6:\"target\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:5:\"class\";}s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"imageFill\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:14:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:23:\"figure video,figure img\";s:9:\"attribute\";s:3:\"src\";}s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"imageFill\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:11:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:23:\"figure video,figure img\";s:9:\"attribute\";s:3:\"src\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core/latest-comments\";a:12:{s:4:\"name\";s:20:\"core/latest-comments\";s:8:\"keywords\";a:1:{i:0;s:15:\"recent comments\";}s:10:\"attributes\";a:6:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"commentsToShow\";a:4:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;s:7:\"minimum\";i:1;s:7:\"maximum\";i:100;}s:13:\"displayAvatar\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"displayDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"displayExcerpt\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:15:\"Latest Comments\";s:11:\"description\";s:44:\"Display a list of your most recent comments.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:17:\"core/latest-posts\";a:13:{s:4:\"name\";s:17:\"core/latest-posts\";s:8:\"keywords\";a:1:{i:0;s:12:\"recent posts\";}s:10:\"attributes\";a:19:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:5:\"items\";a:1:{s:4:\"type\";s:6:\"object\";}}s:14:\"selectedAuthor\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"postsToShow\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;}s:18:\"displayPostContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:23:\"displayPostContentRadio\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:7:\"excerpt\";}s:13:\"excerptLength\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:55;}s:13:\"displayAuthor\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"displayPostDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"postLayout\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:5:\"order\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"desc\";}s:7:\"orderBy\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:20:\"displayFeaturedImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:18:\"featuredImageAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:3:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";}}s:21:\"featuredImageSizeSlug\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:9:\"thumbnail\";}s:22:\"featuredImageSizeWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}s:23:\"featuredImageSizeHeight\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:12:\"Latest Posts\";s:11:\"description\";s:41:\"Display a list of your most recent posts.\";s:7:\"example\";a:0:{}s:10:\"deprecated\";a:1:{i:0;a:2:{s:10:\"attributes\";a:19:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"categories\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"selectedAuthor\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"postsToShow\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;}s:18:\"displayPostContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:23:\"displayPostContentRadio\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:7:\"excerpt\";}s:13:\"excerptLength\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:55;}s:13:\"displayAuthor\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"displayPostDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"postLayout\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:5:\"order\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"desc\";}s:7:\"orderBy\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:20:\"displayFeaturedImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:18:\"featuredImageAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:3:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";}}s:21:\"featuredImageSizeSlug\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:9:\"thumbnail\";}s:22:\"featuredImageSizeWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}s:23:\"featuredImageSizeHeight\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}}}s:10:\"variations\";a:0:{}}s:12:\"core/missing\";a:11:{s:4:\"name\";s:12:\"core/missing\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:12:\"originalName\";a:1:{s:4:\"type\";s:6:\"string\";}s:26:\"originalUndelimitedContent\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"originalContent\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:9:\"className\";b:0;s:15:\"customClassName\";b:0;s:8:\"inserter\";b:0;s:4:\"html\";b:0;s:8:\"reusable\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:11:\"Unsupported\";s:11:\"description\";s:51:\"Your site doesn’t include support for this block.\";s:10:\"variations\";a:0:{}}s:9:\"core/more\";a:12:{s:4:\"name\";s:9:\"core/more\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:2:{s:10:\"customText\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"noTeaser\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:15:\"customClassName\";b:0;s:9:\"className\";b:0;s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:4:\"More\";s:11:\"description\";s:77:\"Content before this block will be shown in the excerpt on your archives page.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:13:\"core/nextpage\";a:13:{s:4:\"name\";s:13:\"core/nextpage\";s:8:\"keywords\";a:2:{i:0;s:9:\"next page\";i:1;s:10:\"pagination\";}s:10:\"attributes\";a:0:{}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:15:\"customClassName\";b:0;s:9:\"className\";b:0;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:6:\"parent\";a:1:{i:0;s:17:\"core/post-content\";}s:5:\"title\";s:10:\"Page Break\";s:11:\"description\";s:51:\"Separate your content into a multi-page experience.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:17:\"core/preformatted\";a:12:{s:4:\"name\";s:17:\"core/preformatted\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:7:\"content\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:3:\"pre\";s:7:\"default\";s:0:\"\";s:28:\"__unstablePreserveWhiteSpace\";b:1;}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:12:\"Preformatted\";s:11:\"description\";s:70:\"Add text that respects your spacing and tabs, and also allows styling.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:260:\"EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)\nWindow, very small in the distance, illuminated.\nAll around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;\";}}s:10:\"variations\";a:0:{}}s:14:\"core/pullquote\";a:13:{s:4:\"name\";s:14:\"core/pullquote\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:9:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";a:4:{i:0;s:4:\"left\";i:1;s:5:\"right\";i:2;s:4:\"wide\";i:3;s:4:\"full\";}}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:11:\"solid-color\";s:5:\"label\";s:11:\"Solid color\";}}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:9:\"Pullquote\";s:11:\"description\";s:55:\"Give special visual emphasis to a quote from your text.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:5:\"value\";s:73:\"

    One of the hardest things to do in technology is disrupt yourself.

    \";s:8:\"citation\";s:14:\"Matt Mullenweg\";}}s:10:\"deprecated\";a:4:{i:0;a:1:{s:10:\"attributes\";a:8:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"figureStyle\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:6:\"figure\";s:9:\"attribute\";s:5:\"style\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:7:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:7:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:3;a:1:{s:10:\"attributes\";a:8:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:6:\"footer\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:8:\"core/rss\";a:12:{s:4:\"name\";s:8:\"core/rss\";s:8:\"keywords\";a:2:{i:0;s:4:\"atom\";i:1;s:4:\"feed\";}s:10:\"attributes\";a:10:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"blockLayout\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"feedURL\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:11:\"itemsToShow\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;}s:14:\"displayExcerpt\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:13:\"displayAuthor\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"displayDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:13:\"excerptLength\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:55;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:3:\"RSS\";s:11:\"description\";s:42:\"Display entries from any RSS or Atom feed.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"feedURL\";s:21:\"https://wordpress.org\";}}s:10:\"variations\";a:0:{}}s:11:\"core/search\";a:12:{s:4:\"name\";s:11:\"core/search\";s:8:\"keywords\";a:1:{i:0;s:4:\"find\";}s:10:\"attributes\";a:5:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"label\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"placeholder\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:10:\"buttonText\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:6:\"Search\";s:11:\"description\";s:32:\"Help visitors find your content.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:1:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:9:\"isDefault\";b:1;s:10:\"attributes\";a:2:{s:10:\"buttonText\";s:6:\"Search\";s:5:\"label\";s:6:\"Search\";}}}}s:14:\"core/separator\";a:12:{s:4:\"name\";s:14:\"core/separator\";s:8:\"keywords\";a:3:{i:0;s:15:\"horizontal-line\";i:1;s:2:\"hr\";i:2;s:7:\"divider\";}s:10:\"attributes\";a:4:{s:5:\"color\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"customColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:6:\"anchor\";b:1;}s:6:\"styles\";a:3:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:4:\"wide\";s:5:\"label\";s:9:\"Wide Line\";}i:2;a:2:{s:4:\"name\";s:4:\"dots\";s:5:\"label\";s:4:\"Dots\";}}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:9:\"Separator\";s:11:\"description\";s:69:\"Create a break between ideas or sections with a horizontal separator.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:11:\"customColor\";s:7:\"#065174\";s:9:\"className\";s:13:\"is-style-wide\";}}s:10:\"variations\";a:0:{}}s:10:\"core/block\";a:11:{s:4:\"name\";s:10:\"core/block\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:1:{s:3:\"ref\";a:1:{s:4:\"type\";s:6:\"number\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:15:\"customClassName\";b:0;s:4:\"html\";b:0;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:8:\"reusable\";s:5:\"title\";s:14:\"Reusable Block\";s:11:\"description\";s:114:\"Create and save content to reuse across your site. Update the block, and the changes apply everywhere it’s used.\";s:10:\"variations\";a:0:{}}s:17:\"core/social-links\";a:12:{s:4:\"name\";s:17:\"core/social-links\";s:8:\"keywords\";a:1:{i:0;s:5:\"links\";}s:10:\"attributes\";a:3:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:5:\"align\";a:3:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";}s:17:\"lightBlockWrapper\";b:1;s:6:\"anchor\";b:1;}s:6:\"styles\";a:3:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:10:\"logos-only\";s:5:\"label\";s:10:\"Logos Only\";}i:2;a:2:{s:4:\"name\";s:10:\"pill-shape\";s:5:\"label\";s:10:\"Pill Shape\";}}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:12:\"Social Icons\";s:11:\"description\";s:64:\"Display icons linking to your social media profiles or websites.\";s:7:\"example\";a:1:{s:11:\"innerBlocks\";a:3:{i:0;a:2:{s:4:\"name\";s:16:\"core/social-link\";s:10:\"attributes\";a:2:{s:7:\"service\";s:9:\"wordpress\";s:3:\"url\";s:21:\"https://wordpress.org\";}}i:1;a:2:{s:4:\"name\";s:16:\"core/social-link\";s:10:\"attributes\";a:2:{s:7:\"service\";s:8:\"facebook\";s:3:\"url\";s:35:\"https://www.facebook.com/WordPress/\";}}i:2;a:2:{s:4:\"name\";s:16:\"core/social-link\";s:10:\"attributes\";a:2:{s:7:\"service\";s:7:\"twitter\";s:3:\"url\";s:29:\"https://twitter.com/WordPress\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core/social-link\";a:12:{s:4:\"name\";s:16:\"core/social-link\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"service\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"label\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:8:\"reusable\";b:0;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:6:\"parent\";a:1:{i:0;s:17:\"core/social-links\";}s:5:\"title\";s:11:\"Social Icon\";s:11:\"description\";s:61:\"Display an icon linking to a social media profile or website.\";s:10:\"variations\";a:39:{i:0;a:4:{s:9:\"isDefault\";b:1;s:4:\"name\";s:9:\"wordpress\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"wordpress\";}s:5:\"title\";s:9:\"WordPress\";}i:1;a:3:{s:4:\"name\";s:13:\"fivehundredpx\";s:10:\"attributes\";a:1:{s:7:\"service\";s:13:\"fivehundredpx\";}s:5:\"title\";s:5:\"500px\";}i:2;a:3:{s:4:\"name\";s:6:\"amazon\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"amazon\";}s:5:\"title\";s:6:\"Amazon\";}i:3;a:3:{s:4:\"name\";s:8:\"bandcamp\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"bandcamp\";}s:5:\"title\";s:8:\"Bandcamp\";}i:4;a:3:{s:4:\"name\";s:7:\"behance\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"behance\";}s:5:\"title\";s:7:\"Behance\";}i:5;a:3:{s:4:\"name\";s:5:\"chain\";s:10:\"attributes\";a:1:{s:7:\"service\";s:5:\"chain\";}s:5:\"title\";s:4:\"Link\";}i:6;a:3:{s:4:\"name\";s:7:\"codepen\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"codepen\";}s:5:\"title\";s:7:\"CodePen\";}i:7;a:3:{s:4:\"name\";s:10:\"deviantart\";s:10:\"attributes\";a:1:{s:7:\"service\";s:10:\"deviantart\";}s:5:\"title\";s:10:\"DeviantArt\";}i:8;a:3:{s:4:\"name\";s:8:\"dribbble\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"dribbble\";}s:5:\"title\";s:8:\"Dribbble\";}i:9;a:3:{s:4:\"name\";s:7:\"dropbox\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"dropbox\";}s:5:\"title\";s:7:\"Dropbox\";}i:10;a:3:{s:4:\"name\";s:4:\"etsy\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"etsy\";}s:5:\"title\";s:4:\"Etsy\";}i:11;a:3:{s:4:\"name\";s:8:\"facebook\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"facebook\";}s:5:\"title\";s:8:\"Facebook\";}i:12;a:3:{s:4:\"name\";s:4:\"feed\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"feed\";}s:5:\"title\";s:8:\"RSS Feed\";}i:13;a:3:{s:4:\"name\";s:6:\"flickr\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"flickr\";}s:5:\"title\";s:6:\"Flickr\";}i:14;a:3:{s:4:\"name\";s:10:\"foursquare\";s:10:\"attributes\";a:1:{s:7:\"service\";s:10:\"foursquare\";}s:5:\"title\";s:10:\"Foursquare\";}i:15;a:3:{s:4:\"name\";s:9:\"goodreads\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"goodreads\";}s:5:\"title\";s:9:\"Goodreads\";}i:16;a:3:{s:4:\"name\";s:6:\"google\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"google\";}s:5:\"title\";s:6:\"Google\";}i:17;a:3:{s:4:\"name\";s:6:\"github\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"github\";}s:5:\"title\";s:6:\"GitHub\";}i:18;a:3:{s:4:\"name\";s:9:\"instagram\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"instagram\";}s:5:\"title\";s:9:\"Instagram\";}i:19;a:3:{s:4:\"name\";s:6:\"lastfm\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"lastfm\";}s:5:\"title\";s:7:\"Last.fm\";}i:20;a:3:{s:4:\"name\";s:8:\"linkedin\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"linkedin\";}s:5:\"title\";s:8:\"LinkedIn\";}i:21;a:3:{s:4:\"name\";s:4:\"mail\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"mail\";}s:5:\"title\";s:4:\"Mail\";}i:22;a:3:{s:4:\"name\";s:8:\"mastodon\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"mastodon\";}s:5:\"title\";s:8:\"Mastodon\";}i:23;a:3:{s:4:\"name\";s:6:\"meetup\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"meetup\";}s:5:\"title\";s:6:\"Meetup\";}i:24;a:3:{s:4:\"name\";s:6:\"medium\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"medium\";}s:5:\"title\";s:6:\"Medium\";}i:25;a:3:{s:4:\"name\";s:9:\"pinterest\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"pinterest\";}s:5:\"title\";s:9:\"Pinterest\";}i:26;a:3:{s:4:\"name\";s:6:\"pocket\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"pocket\";}s:5:\"title\";s:6:\"Pocket\";}i:27;a:3:{s:4:\"name\";s:6:\"reddit\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"reddit\";}s:5:\"title\";s:6:\"Reddit\";}i:28;a:3:{s:4:\"name\";s:5:\"skype\";s:10:\"attributes\";a:1:{s:7:\"service\";s:5:\"skype\";}s:5:\"title\";s:5:\"Skype\";}i:29;a:3:{s:4:\"name\";s:8:\"snapchat\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"snapchat\";}s:5:\"title\";s:8:\"Snapchat\";}i:30;a:3:{s:4:\"name\";s:10:\"soundcloud\";s:10:\"attributes\";a:1:{s:7:\"service\";s:10:\"soundcloud\";}s:5:\"title\";s:10:\"SoundCloud\";}i:31;a:3:{s:4:\"name\";s:7:\"spotify\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"spotify\";}s:5:\"title\";s:7:\"Spotify\";}i:32;a:3:{s:4:\"name\";s:6:\"tumblr\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"tumblr\";}s:5:\"title\";s:6:\"Tumblr\";}i:33;a:3:{s:4:\"name\";s:6:\"twitch\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"twitch\";}s:5:\"title\";s:6:\"Twitch\";}i:34;a:3:{s:4:\"name\";s:7:\"twitter\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"twitter\";}s:5:\"title\";s:7:\"Twitter\";}i:35;a:3:{s:4:\"name\";s:5:\"vimeo\";s:10:\"attributes\";a:1:{s:7:\"service\";s:5:\"vimeo\";}s:5:\"title\";s:5:\"Vimeo\";}i:36;a:3:{s:4:\"name\";s:2:\"vk\";s:10:\"attributes\";a:1:{s:7:\"service\";s:2:\"vk\";}s:5:\"title\";s:2:\"VK\";}i:37;a:3:{s:4:\"name\";s:4:\"yelp\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"yelp\";}s:5:\"title\";s:4:\"Yelp\";}i:38;a:3:{s:4:\"name\";s:7:\"youtube\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"youtube\";}s:5:\"title\";s:7:\"YouTube\";}}}s:11:\"core/spacer\";a:11:{s:4:\"name\";s:11:\"core/spacer\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:6:\"height\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:100;}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:6:\"anchor\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:6:\"Spacer\";s:11:\"description\";s:56:\"Add white space between blocks and customize its height.\";s:10:\"variations\";a:0:{}}s:12:\"core/subhead\";a:11:{s:4:\"name\";s:12:\"core/subhead\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:8:\"inserter\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:23:\"Subheading (deprecated)\";s:11:\"description\";s:65:\"This block is deprecated. Please use the Paragraph block instead.\";s:10:\"variations\";a:0:{}}s:10:\"core/table\";a:13:{s:4:\"name\";s:10:\"core/table\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:9:{s:14:\"hasFixedLayout\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";s:7:\"default\";s:0:\"\";}s:4:\"head\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"thead tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:4:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}s:5:\"align\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:10:\"data-align\";}}}}}s:4:\"body\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tbody tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:4:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}s:5:\"align\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:10:\"data-align\";}}}}}s:4:\"foot\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tfoot tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:4:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}s:5:\"align\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:10:\"data-align\";}}}}}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"regular\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:7:\"stripes\";s:5:\"label\";s:7:\"Stripes\";}}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:5:\"Table\";s:11:\"description\";s:55:\"Insert a table — perfect for sharing charts and data.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:4:\"head\";a:1:{i:0;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:7:\"Version\";s:3:\"tag\";s:2:\"th\";}i:1;a:2:{s:7:\"content\";s:13:\"Jazz Musician\";s:3:\"tag\";s:2:\"th\";}i:2;a:2:{s:7:\"content\";s:12:\"Release Date\";s:3:\"tag\";s:2:\"th\";}}}}s:4:\"body\";a:3:{i:0;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:3:\"5.2\";s:3:\"tag\";s:2:\"td\";}i:1;a:2:{s:7:\"content\";s:14:\"Jaco Pastorius\";s:3:\"tag\";s:2:\"td\";}i:2;a:2:{s:7:\"content\";s:11:\"May 7, 2019\";s:3:\"tag\";s:2:\"td\";}}}i:1;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:3:\"5.1\";s:3:\"tag\";s:2:\"td\";}i:1;a:2:{s:7:\"content\";s:12:\"Betty Carter\";s:3:\"tag\";s:2:\"td\";}i:2;a:2:{s:7:\"content\";s:17:\"February 21, 2019\";s:3:\"tag\";s:2:\"td\";}}}i:2;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:3:\"5.0\";s:3:\"tag\";s:2:\"td\";}i:1;a:2:{s:7:\"content\";s:12:\"Bebo Valdés\";s:3:\"tag\";s:2:\"td\";}i:2;a:2:{s:7:\"content\";s:16:\"December 6, 2018\";s:3:\"tag\";s:2:\"td\";}}}}}}s:10:\"deprecated\";a:1:{i:0;a:2:{s:10:\"attributes\";a:7:{s:14:\"hasFixedLayout\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:4:\"head\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"thead tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:3:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}}}}}s:4:\"body\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tbody tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:3:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}}}}}s:4:\"foot\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tfoot tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:3:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}}}}}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}}s:10:\"variations\";a:0:{}}s:14:\"core/tag-cloud\";a:12:{s:4:\"name\";s:14:\"core/tag-cloud\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"taxonomy\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"post_tag\";}s:13:\"showTagCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:4:\"html\";b:0;s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:9:\"Tag Cloud\";s:11:\"description\";s:31:\"A cloud of your most used tags.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:17:\"core/text-columns\";a:11:{s:4:\"name\";s:17:\"core/text-columns\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:7:\"content\";a:5:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:1:\"p\";s:5:\"query\";a:1:{s:8:\"children\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:7:\"default\";a:2:{i:0;a:0:{}i:1;a:0:{}}}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:25:\"Text Columns (deprecated)\";s:11:\"description\";s:63:\"This block is deprecated. Please use the Columns block instead.\";s:10:\"variations\";a:0:{}}s:10:\"core/verse\";a:13:{s:4:\"name\";s:10:\"core/verse\";s:8:\"keywords\";a:2:{i:0;s:6:\"poetry\";i:1;s:4:\"poem\";}s:10:\"attributes\";a:4:{s:7:\"content\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:3:\"pre\";s:7:\"default\";s:0:\"\";s:28:\"__unstablePreserveWhiteSpace\";b:1;}s:9:\"textAlign\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:5:\"Verse\";s:11:\"description\";s:65:\"Insert poetry. Use special spacing formats. Or quote song lyrics.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:226:\"WHAT was he doing, the great god Pan,\n Down in the reeds by the river?\nSpreading ruin and scattering ban,\nSplashing and paddling with hoofs of a goat,\nAnd breaking the golden lilies afloat\n With the dragon-fly on the river.\";}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:3:{s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:3:\"pre\";s:7:\"default\";s:0:\"\";}s:9:\"textAlign\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:10:\"core/video\";a:11:{s:4:\"name\";s:10:\"core/video\";s:8:\"keywords\";a:1:{i:0;s:5:\"movie\";}s:10:\"attributes\";a:13:{s:8:\"autoplay\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:8:\"autoplay\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:8:\"controls\";a:5:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:8:\"controls\";s:7:\"default\";b:1;}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"loop\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:4:\"loop\";}s:5:\"muted\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:5:\"muted\";}s:6:\"poster\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:6:\"poster\";}s:7:\"preload\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:7:\"preload\";s:7:\"default\";s:8:\"metadata\";}s:3:\"src\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:3:\"src\";}s:11:\"playsInline\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:11:\"playsinline\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Video\";s:11:\"description\";s:58:\"Embed a video from your media library or upload a new one.\";s:10:\"variations\";a:0:{}}}', 'no'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(5107, 'action_scheduler_hybrid_store_demarkation', '8449', 'yes'), +(5108, 'schema-ActionScheduler_StoreSchema', '3.0.1600474134', 'yes'), +(5109, 'schema-ActionScheduler_LoggerSchema', '2.0.1600474134', 'yes'), +(5110, 'woocommerce_schema_version', '430', 'yes'), +(5111, 'woocommerce_store_address', '123 test st.', 'yes'), +(5112, 'woocommerce_store_address_2', '', 'yes'), +(5113, 'woocommerce_store_city', 'Victoria', 'yes'), +(5114, 'woocommerce_default_country', 'CA:BC', 'yes'), +(5115, 'woocommerce_store_postcode', 'v8v2g9', 'yes'), +(5116, 'woocommerce_allowed_countries', 'all', 'yes'), +(5117, 'woocommerce_all_except_countries', 'a:0:{}', 'yes'), +(5118, 'woocommerce_specific_allowed_countries', 'a:0:{}', 'yes'), +(5119, 'woocommerce_ship_to_countries', '', 'yes'), +(5120, 'woocommerce_specific_ship_to_countries', 'a:0:{}', 'yes'), +(5121, 'woocommerce_default_customer_address', 'base', 'yes'), +(5122, 'woocommerce_calc_taxes', 'no', 'yes'), +(5123, 'woocommerce_enable_coupons', 'yes', 'yes'), +(5124, 'woocommerce_calc_discounts_sequentially', 'no', 'no'), +(5125, 'woocommerce_currency', 'CAD', 'yes'), +(5126, 'woocommerce_currency_pos', 'left', 'yes'), +(5127, 'woocommerce_price_thousand_sep', ',', 'yes'), +(5128, 'woocommerce_price_decimal_sep', '.', 'yes'), +(5129, 'woocommerce_price_num_decimals', '2', 'yes'), +(5130, 'woocommerce_shop_page_id', '8454', 'yes'), +(5131, 'woocommerce_cart_redirect_after_add', 'no', 'yes'), +(5132, 'woocommerce_enable_ajax_add_to_cart', 'yes', 'yes'), +(5133, 'woocommerce_placeholder_image', '8449', 'yes'), +(5134, 'woocommerce_weight_unit', 'kg', 'yes'), +(5135, 'woocommerce_dimension_unit', 'cm', 'yes'), +(5136, 'woocommerce_enable_reviews', 'yes', 'yes'), +(5137, 'woocommerce_review_rating_verification_label', 'yes', 'no'), +(5138, 'woocommerce_review_rating_verification_required', 'no', 'no'), +(5139, 'woocommerce_enable_review_rating', 'yes', 'yes'), +(5140, 'woocommerce_review_rating_required', 'yes', 'no'), +(5141, 'woocommerce_manage_stock', 'yes', 'yes'), +(5142, 'woocommerce_hold_stock_minutes', '60', 'no'), +(5143, 'woocommerce_notify_low_stock', 'yes', 'no'), +(5144, 'woocommerce_notify_no_stock', 'yes', 'no'), +(5145, 'woocommerce_stock_email_recipient', 'tyler@gatsbyjs.com', 'no'), +(5146, 'woocommerce_notify_low_stock_amount', '2', 'no'), +(5147, 'woocommerce_notify_no_stock_amount', '0', 'yes'), +(5148, 'woocommerce_hide_out_of_stock_items', 'no', 'yes'), +(5149, 'woocommerce_stock_format', '', 'yes'), +(5150, 'woocommerce_file_download_method', 'force', 'no'), +(5151, 'woocommerce_downloads_require_login', 'no', 'no'), +(5152, 'woocommerce_downloads_grant_access_after_payment', 'yes', 'no'), +(5153, 'woocommerce_downloads_add_hash_to_filename', 'yes', 'yes'), +(5154, 'woocommerce_prices_include_tax', 'no', 'yes'), +(5155, 'woocommerce_tax_based_on', 'shipping', 'yes'), +(5156, 'woocommerce_shipping_tax_class', 'inherit', 'yes'), +(5157, 'woocommerce_tax_round_at_subtotal', 'no', 'yes'), +(5158, 'woocommerce_tax_classes', '', 'yes'), +(5159, 'woocommerce_tax_display_shop', 'excl', 'yes'), +(5160, 'woocommerce_tax_display_cart', 'excl', 'yes'), +(5161, 'woocommerce_price_display_suffix', '', 'yes'), +(5162, 'woocommerce_tax_total_display', 'itemized', 'no'), +(5163, 'woocommerce_enable_shipping_calc', 'yes', 'no'), +(5164, 'woocommerce_shipping_cost_requires_address', 'no', 'yes'), +(5165, 'woocommerce_ship_to_destination', 'billing', 'no'), +(5166, 'woocommerce_shipping_debug_mode', 'no', 'yes'), +(5167, 'woocommerce_enable_guest_checkout', 'yes', 'no'), +(5168, 'woocommerce_enable_checkout_login_reminder', 'no', 'no'), +(5169, 'woocommerce_enable_signup_and_login_from_checkout', 'no', 'no'), +(5170, 'woocommerce_enable_myaccount_registration', 'no', 'no'), +(5171, 'woocommerce_registration_generate_username', 'yes', 'no'), +(5172, 'woocommerce_registration_generate_password', 'yes', 'no'), +(5173, 'woocommerce_erasure_request_removes_order_data', 'no', 'no'), +(5174, 'woocommerce_erasure_request_removes_download_data', 'no', 'no'), +(5175, 'woocommerce_allow_bulk_remove_personal_data', 'no', 'no'), +(5176, 'woocommerce_registration_privacy_policy_text', 'Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our [privacy_policy].', 'yes'), +(5177, 'woocommerce_checkout_privacy_policy_text', 'Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our [privacy_policy].', 'yes'), +(5178, 'woocommerce_delete_inactive_accounts', 'a:2:{s:6:\"number\";s:0:\"\";s:4:\"unit\";s:6:\"months\";}', 'no'), +(5179, 'woocommerce_trash_pending_orders', '', 'no'), +(5180, 'woocommerce_trash_failed_orders', '', 'no'), +(5181, 'woocommerce_trash_cancelled_orders', '', 'no'), +(5182, 'woocommerce_anonymize_completed_orders', 'a:2:{s:6:\"number\";s:0:\"\";s:4:\"unit\";s:6:\"months\";}', 'no'), +(5183, 'woocommerce_email_from_name', 'Automated testing for Gatsby source WordPress V4', 'no'), +(5184, 'woocommerce_email_from_address', 'tyler@gatsbyjs.com', 'no'), +(5185, 'woocommerce_email_header_image', '', 'no'), +(5186, 'woocommerce_email_footer_text', '{site_title} — Built with {WooCommerce}', 'no'), +(5187, 'woocommerce_email_base_color', '#96588a', 'no'), +(5188, 'woocommerce_email_background_color', '#f7f7f7', 'no'), +(5189, 'woocommerce_email_body_background_color', '#ffffff', 'no'), +(5190, 'woocommerce_email_text_color', '#3c3c3c', 'no'), +(5191, 'woocommerce_cart_page_id', '8457', 'no'), +(5192, 'woocommerce_checkout_page_id', '8460', 'no'), +(5193, 'woocommerce_myaccount_page_id', '8463', 'no'), +(5194, 'woocommerce_terms_page_id', '', 'no'), +(5195, 'woocommerce_checkout_pay_endpoint', 'order-pay', 'yes'), +(5196, 'woocommerce_checkout_order_received_endpoint', 'order-received', 'yes'), +(5197, 'woocommerce_myaccount_add_payment_method_endpoint', 'add-payment-method', 'yes'), +(5198, 'woocommerce_myaccount_delete_payment_method_endpoint', 'delete-payment-method', 'yes'), +(5199, 'woocommerce_myaccount_set_default_payment_method_endpoint', 'set-default-payment-method', 'yes'), +(5200, 'woocommerce_myaccount_orders_endpoint', 'orders', 'yes'), +(5201, 'woocommerce_myaccount_view_order_endpoint', 'view-order', 'yes'), +(5202, 'woocommerce_myaccount_downloads_endpoint', 'downloads', 'yes'), +(5203, 'woocommerce_myaccount_edit_account_endpoint', 'edit-account', 'yes'), +(5204, 'woocommerce_myaccount_edit_address_endpoint', 'edit-address', 'yes'), +(5205, 'woocommerce_myaccount_payment_methods_endpoint', 'payment-methods', 'yes'), +(5206, 'woocommerce_myaccount_lost_password_endpoint', 'lost-password', 'yes'), +(5207, 'woocommerce_logout_endpoint', 'customer-logout', 'yes'), +(5208, 'woocommerce_api_enabled', 'no', 'yes'), +(5209, 'woocommerce_allow_tracking', 'no', 'no'), +(5210, 'woocommerce_show_marketplace_suggestions', 'yes', 'no'), +(5211, 'woocommerce_single_image_width', '600', 'yes'), +(5212, 'woocommerce_thumbnail_image_width', '300', 'yes'), +(5213, 'woocommerce_checkout_highlight_required_fields', 'yes', 'yes'), +(5214, 'woocommerce_demo_store', 'no', 'no'), +(5215, 'woocommerce_permalinks', 'a:5:{s:12:\"product_base\";s:7:\"product\";s:13:\"category_base\";s:16:\"product-category\";s:8:\"tag_base\";s:11:\"product-tag\";s:14:\"attribute_base\";s:0:\"\";s:22:\"use_verbose_page_rules\";b:0;}', 'yes'), +(5216, 'current_theme_supports_woocommerce', 'yes', 'yes'), +(5217, 'woocommerce_queue_flush_rewrite_rules', 'no', 'yes'), +(5219, 'default_product_cat', '56', 'yes'), +(5220, 'woocommerce_admin_notices', 'a:1:{i:0;s:7:\"install\";}', 'yes'), +(5221, 'woocommerce_version', '4.5.2', 'yes'), +(5222, 'woocommerce_db_version', '4.5.2', 'yes'), +(5223, 'woocommerce_homescreen_enabled', 'yes', 'yes'), +(5224, 'action_scheduler_lock_async-request-runner', '1602942684', 'yes'), +(5225, 'woocommerce_maxmind_geolocation_settings', 'a:1:{s:15:\"database_prefix\";s:32:\"LAKNUexZHRyHwC1JhGYNV43V7rTD5auL\";}', 'yes'), +(5226, 'widget_woocommerce_widget_cart', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5227, 'widget_woocommerce_layered_nav_filters', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5228, 'widget_woocommerce_layered_nav', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5229, 'widget_woocommerce_price_filter', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5230, 'widget_woocommerce_product_categories', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5231, 'widget_woocommerce_product_search', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5232, 'widget_woocommerce_product_tag_cloud', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5233, 'widget_woocommerce_products', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5234, 'widget_woocommerce_recently_viewed_products', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5235, 'widget_woocommerce_top_rated_products', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5236, 'widget_woocommerce_recent_reviews', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5237, 'widget_woocommerce_rating_filter', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5238, 'woocommerce_admin_version', '1.5.0', 'yes'), +(5239, 'woocommerce_admin_install_timestamp', '1600474136', 'yes'), +(5240, 'wc_admin_note_home_screen_feedback_homescreen_accessed', '1600474137', 'yes'), +(5241, 'woocommerce_meta_box_errors', 'a:0:{}', 'yes'), +(5242, 'wc_blocks_db_schema_version', '260', 'yes'), +(5243, 'woocommerce_onboarding_profile', 'a:9:{s:9:\"completed\";b:1;s:12:\"setup_client\";b:0;s:8:\"industry\";a:1:{i:0;a:1:{s:4:\"slug\";s:27:\"fashion-apparel-accessories\";}}s:13:\"product_types\";a:1:{i:0;s:9:\"downloads\";}s:13:\"product_count\";s:4:\"1-10\";s:14:\"selling_venues\";s:2:\"no\";s:19:\"business_extensions\";a:0:{}s:5:\"theme\";s:12:\"twentytwenty\";s:7:\"plugins\";s:7:\"skipped\";}', 'yes'), +(5244, 'woocommerce_onboarding_opt_in', 'yes', 'yes'), +(5246, 'wc_remote_inbox_notifications_specs', 'a:3:{s:37:\"ecomm-need-help-setting-up-your-store\";O:8:\"stdClass\":8:{s:4:\"slug\";s:37:\"ecomm-need-help-setting-up-your-store\";s:4:\"type\";s:4:\"info\";s:6:\"status\";s:10:\"unactioned\";s:12:\"is_snoozable\";i:0;s:6:\"source\";s:15:\"woocommerce.com\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":3:{s:6:\"locale\";s:5:\"en_US\";s:5:\"title\";s:32:\"Need help setting up your Store?\";s:7:\"content\";s:350:\"Schedule a free 30-min quick start session and get help from our specialists. We’re happy to walk through setup steps, show you around the WordPress.com dashboard, troubleshoot any issues you may have, and help you the find the features you need to accomplish your goals for your site.\";}}s:7:\"actions\";a:1:{i:0;O:8:\"stdClass\":6:{s:4:\"name\";s:16:\"set-up-concierge\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":2:{s:6:\"locale\";s:5:\"en_US\";s:5:\"label\";s:21:\"Schedule free session\";}}s:3:\"url\";s:34:\"https://wordpress.com/me/concierge\";s:18:\"url_is_admin_query\";b:0;s:10:\"is_primary\";b:1;s:6:\"status\";s:8:\"actioned\";}}s:5:\"rules\";a:1:{i:0;O:8:\"stdClass\":2:{s:4:\"type\";s:17:\"plugins_activated\";s:7:\"plugins\";a:3:{i:0;s:35:\"woocommerce-shipping-australia-post\";i:1;s:32:\"woocommerce-shipping-canada-post\";i:2;s:30:\"woocommerce-shipping-royalmail\";}}}}s:20:\"woocommerce-services\";O:8:\"stdClass\":8:{s:4:\"slug\";s:20:\"woocommerce-services\";s:4:\"type\";s:4:\"info\";s:6:\"status\";s:10:\"unactioned\";s:12:\"is_snoozable\";i:0;s:6:\"source\";s:15:\"woocommerce.com\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":3:{s:6:\"locale\";s:5:\"en_US\";s:5:\"title\";s:20:\"WooCommerce Services\";s:7:\"content\";s:249:\"WooCommerce Services helps get your store “ready to sell” as quickly as possible. You create your products. We take care of tax calculation, payment processing, and shipping label printing! Learn more about the extension that you just installed.\";}}s:7:\"actions\";a:1:{i:0;O:8:\"stdClass\":6:{s:4:\"name\";s:10:\"learn-more\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":2:{s:6:\"locale\";s:5:\"en_US\";s:5:\"label\";s:10:\"Learn more\";}}s:3:\"url\";s:76:\"https://docs.woocommerce.com/document/woocommerce-services/?utm_source=inbox\";s:18:\"url_is_admin_query\";b:0;s:10:\"is_primary\";b:1;s:6:\"status\";s:10:\"unactioned\";}}s:5:\"rules\";a:2:{i:0;O:8:\"stdClass\":2:{s:4:\"type\";s:17:\"plugins_activated\";s:7:\"plugins\";a:1:{i:0;s:20:\"woocommerce-services\";}}i:1;O:8:\"stdClass\":3:{s:4:\"type\";s:18:\"wcadmin_active_for\";s:9:\"operation\";s:1:\"<\";s:4:\"days\";i:2;}}}s:32:\"ecomm-unique-shopping-experience\";O:8:\"stdClass\":8:{s:4:\"slug\";s:32:\"ecomm-unique-shopping-experience\";s:4:\"type\";s:4:\"info\";s:6:\"status\";s:10:\"unactioned\";s:12:\"is_snoozable\";i:0;s:6:\"source\";s:15:\"woocommerce.com\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":3:{s:6:\"locale\";s:5:\"en_US\";s:5:\"title\";s:53:\"For a shopping experience as unique as your customers\";s:7:\"content\";s:274:\"Product Add-Ons allow your customers to personalize products while they’re shopping on your online store. No more follow-up email requests—customers get what they want, before they’re done checking out. Learn more about this extension that comes included in your plan.\";}}s:7:\"actions\";a:1:{i:0;O:8:\"stdClass\":6:{s:4:\"name\";s:43:\"learn-more-ecomm-unique-shopping-experience\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":2:{s:6:\"locale\";s:5:\"en_US\";s:5:\"label\";s:10:\"Learn more\";}}s:3:\"url\";s:71:\"https://docs.woocommerce.com/document/product-add-ons/?utm_source=inbox\";s:18:\"url_is_admin_query\";b:0;s:10:\"is_primary\";b:1;s:6:\"status\";s:8:\"actioned\";}}s:5:\"rules\";a:2:{i:0;O:8:\"stdClass\":2:{s:4:\"type\";s:17:\"plugins_activated\";s:7:\"plugins\";a:3:{i:0;s:35:\"woocommerce-shipping-australia-post\";i:1;s:32:\"woocommerce-shipping-canada-post\";i:2;s:30:\"woocommerce-shipping-royalmail\";}}i:1;O:8:\"stdClass\":3:{s:4:\"type\";s:18:\"wcadmin_active_for\";s:9:\"operation\";s:1:\"<\";s:4:\"days\";i:2;}}}}', 'yes'), +(5247, 'wc_remote_inbox_notifications_stored_state', 'O:8:\"stdClass\":2:{s:22:\"there_were_no_products\";b:1;s:22:\"there_are_now_products\";b:0;}', 'yes'), +(5248, 'woocommerce_task_list_tracked_completed_tasks', 'a:1:{i:0;s:13:\"store_details\";}', 'yes'), +(5249, 'woocommerce_task_list_welcome_modal_dismissed', '1', 'yes'), +(5256, 'product_cat_children', 'a:1:{i:57;a:3:{i:0;i:58;i:1;i:59;i:2;i:60;}}', 'yes'), +(5262, 'pa_size_children', 'a:0:{}', 'yes'), +(5264, 'pa_color_children', 'a:0:{}', 'yes'), +(5265, 'woocommerce_marketplace_suggestions', 'a:2:{s:11:\"suggestions\";a:26:{i:0;a:4:{s:4:\"slug\";s:28:\"product-edit-meta-tab-header\";s:7:\"context\";s:28:\"product-edit-meta-tab-header\";s:5:\"title\";s:22:\"Recommended extensions\";s:13:\"allow-dismiss\";b:0;}i:1;a:6:{s:4:\"slug\";s:39:\"product-edit-meta-tab-footer-browse-all\";s:7:\"context\";s:28:\"product-edit-meta-tab-footer\";s:9:\"link-text\";s:21:\"Browse all extensions\";s:3:\"url\";s:64:\"https://woocommerce.com/product-category/woocommerce-extensions/\";s:8:\"promoted\";s:31:\"category-woocommerce-extensions\";s:13:\"allow-dismiss\";b:0;}i:2;a:9:{s:4:\"slug\";s:46:\"product-edit-mailchimp-woocommerce-memberships\";s:7:\"product\";s:33:\"woocommerce-memberships-mailchimp\";s:14:\"show-if-active\";a:1:{i:0;s:23:\"woocommerce-memberships\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:116:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/mailchimp-for-memberships.svg\";s:5:\"title\";s:25:\"Mailchimp for Memberships\";s:4:\"copy\";s:79:\"Completely automate your email lists by syncing membership changes to Mailchimp\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:67:\"https://woocommerce.com/products/mailchimp-woocommerce-memberships/\";}i:3;a:9:{s:4:\"slug\";s:19:\"product-edit-addons\";s:7:\"product\";s:26:\"woocommerce-product-addons\";s:14:\"show-if-active\";a:2:{i:0;s:25:\"woocommerce-subscriptions\";i:1;s:20:\"woocommerce-bookings\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/product-add-ons.svg\";s:5:\"title\";s:15:\"Product Add-Ons\";s:4:\"copy\";s:93:\"Offer add-ons like gift wrapping, special messages or other special options for your products\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/product-add-ons/\";}i:4;a:9:{s:4:\"slug\";s:46:\"product-edit-woocommerce-subscriptions-gifting\";s:7:\"product\";s:33:\"woocommerce-subscriptions-gifting\";s:14:\"show-if-active\";a:1:{i:0;s:25:\"woocommerce-subscriptions\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:116:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/gifting-for-subscriptions.svg\";s:5:\"title\";s:25:\"Gifting for Subscriptions\";s:4:\"copy\";s:70:\"Let customers buy subscriptions for others - they\'re the ultimate gift\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:67:\"https://woocommerce.com/products/woocommerce-subscriptions-gifting/\";}i:5;a:9:{s:4:\"slug\";s:42:\"product-edit-teams-woocommerce-memberships\";s:7:\"product\";s:33:\"woocommerce-memberships-for-teams\";s:14:\"show-if-active\";a:1:{i:0;s:23:\"woocommerce-memberships\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:112:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/teams-for-memberships.svg\";s:5:\"title\";s:21:\"Teams for Memberships\";s:4:\"copy\";s:123:\"Adds B2B functionality to WooCommerce Memberships, allowing sites to sell team, group, corporate, or family member accounts\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:63:\"https://woocommerce.com/products/teams-woocommerce-memberships/\";}i:6;a:8:{s:4:\"slug\";s:29:\"product-edit-variation-images\";s:7:\"product\";s:39:\"woocommerce-additional-variation-images\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:118:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/additional-variation-images.svg\";s:5:\"title\";s:27:\"Additional Variation Images\";s:4:\"copy\";s:72:\"Showcase your products in the best light with a image for each variation\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:73:\"https://woocommerce.com/products/woocommerce-additional-variation-images/\";}i:7;a:9:{s:4:\"slug\";s:47:\"product-edit-woocommerce-subscription-downloads\";s:7:\"product\";s:34:\"woocommerce-subscription-downloads\";s:14:\"show-if-active\";a:1:{i:0;s:25:\"woocommerce-subscriptions\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:113:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/subscription-downloads.svg\";s:5:\"title\";s:22:\"Subscription Downloads\";s:4:\"copy\";s:57:\"Give customers special downloads with their subscriptions\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:68:\"https://woocommerce.com/products/woocommerce-subscription-downloads/\";}i:8;a:8:{s:4:\"slug\";s:31:\"product-edit-min-max-quantities\";s:7:\"product\";s:30:\"woocommerce-min-max-quantities\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:109:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/min-max-quantities.svg\";s:5:\"title\";s:18:\"Min/Max Quantities\";s:4:\"copy\";s:81:\"Specify minimum and maximum allowed product quantities for orders to be completed\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:52:\"https://woocommerce.com/products/min-max-quantities/\";}i:9;a:8:{s:4:\"slug\";s:28:\"product-edit-name-your-price\";s:7:\"product\";s:27:\"woocommerce-name-your-price\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/name-your-price.svg\";s:5:\"title\";s:15:\"Name Your Price\";s:4:\"copy\";s:70:\"Let customers pay what they want - useful for donations, tips and more\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/name-your-price/\";}i:10;a:8:{s:4:\"slug\";s:42:\"product-edit-woocommerce-one-page-checkout\";s:7:\"product\";s:29:\"woocommerce-one-page-checkout\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:108:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/one-page-checkout.svg\";s:5:\"title\";s:17:\"One Page Checkout\";s:4:\"copy\";s:92:\"Don\'t make customers click around - let them choose products, checkout & pay all on one page\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:63:\"https://woocommerce.com/products/woocommerce-one-page-checkout/\";}i:11;a:4:{s:4:\"slug\";s:19:\"orders-empty-header\";s:7:\"context\";s:24:\"orders-list-empty-header\";s:5:\"title\";s:20:\"Tools for your store\";s:13:\"allow-dismiss\";b:0;}i:12;a:6:{s:4:\"slug\";s:30:\"orders-empty-footer-browse-all\";s:7:\"context\";s:24:\"orders-list-empty-footer\";s:9:\"link-text\";s:21:\"Browse all extensions\";s:3:\"url\";s:64:\"https://woocommerce.com/product-category/woocommerce-extensions/\";s:8:\"promoted\";s:31:\"category-woocommerce-extensions\";s:13:\"allow-dismiss\";b:0;}i:13;a:8:{s:4:\"slug\";s:19:\"orders-empty-zapier\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:18:\"woocommerce-zapier\";s:4:\"icon\";s:97:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/zapier.svg\";s:5:\"title\";s:6:\"Zapier\";s:4:\"copy\";s:88:\"Save time and increase productivity by connecting your store to more than 1000+ services\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:52:\"https://woocommerce.com/products/woocommerce-zapier/\";}i:14;a:8:{s:4:\"slug\";s:30:\"orders-empty-shipment-tracking\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:29:\"woocommerce-shipment-tracking\";s:4:\"icon\";s:108:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/shipment-tracking.svg\";s:5:\"title\";s:17:\"Shipment Tracking\";s:4:\"copy\";s:86:\"Let customers know when their orders will arrive by adding shipment tracking to emails\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:51:\"https://woocommerce.com/products/shipment-tracking/\";}i:15;a:8:{s:4:\"slug\";s:32:\"orders-empty-table-rate-shipping\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:31:\"woocommerce-table-rate-shipping\";s:4:\"icon\";s:110:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/table-rate-shipping.svg\";s:5:\"title\";s:19:\"Table Rate Shipping\";s:4:\"copy\";s:122:\"Advanced, flexible shipping. Define multiple shipping rates based on location, price, weight, shipping class or item count\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:53:\"https://woocommerce.com/products/table-rate-shipping/\";}i:16;a:8:{s:4:\"slug\";s:40:\"orders-empty-shipping-carrier-extensions\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:4:\"icon\";s:118:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/shipping-carrier-extensions.svg\";s:5:\"title\";s:27:\"Shipping Carrier Extensions\";s:4:\"copy\";s:116:\"Show live rates from FedEx, UPS, USPS and more directly on your store - never under or overcharge for shipping again\";s:11:\"button-text\";s:13:\"Find Carriers\";s:8:\"promoted\";s:26:\"category-shipping-carriers\";s:3:\"url\";s:99:\"https://woocommerce.com/product-category/woocommerce-extensions/shipping-methods/shipping-carriers/\";}i:17;a:8:{s:4:\"slug\";s:32:\"orders-empty-google-product-feed\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:25:\"woocommerce-product-feeds\";s:4:\"icon\";s:110:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/google-product-feed.svg\";s:5:\"title\";s:19:\"Google Product Feed\";s:4:\"copy\";s:76:\"Increase sales by letting customers find you when they\'re shopping on Google\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:53:\"https://woocommerce.com/products/google-product-feed/\";}i:18;a:4:{s:4:\"slug\";s:35:\"products-empty-header-product-types\";s:7:\"context\";s:26:\"products-list-empty-header\";s:5:\"title\";s:23:\"Other types of products\";s:13:\"allow-dismiss\";b:0;}i:19;a:6:{s:4:\"slug\";s:32:\"products-empty-footer-browse-all\";s:7:\"context\";s:26:\"products-list-empty-footer\";s:9:\"link-text\";s:21:\"Browse all extensions\";s:3:\"url\";s:64:\"https://woocommerce.com/product-category/woocommerce-extensions/\";s:8:\"promoted\";s:31:\"category-woocommerce-extensions\";s:13:\"allow-dismiss\";b:0;}i:20;a:8:{s:4:\"slug\";s:30:\"products-empty-product-vendors\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:27:\"woocommerce-product-vendors\";s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/product-vendors.svg\";s:5:\"title\";s:15:\"Product Vendors\";s:4:\"copy\";s:47:\"Turn your store into a multi-vendor marketplace\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/product-vendors/\";}i:21;a:8:{s:4:\"slug\";s:26:\"products-empty-memberships\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:23:\"woocommerce-memberships\";s:4:\"icon\";s:102:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/memberships.svg\";s:5:\"title\";s:11:\"Memberships\";s:4:\"copy\";s:76:\"Give members access to restricted content or products, for a fee or for free\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:57:\"https://woocommerce.com/products/woocommerce-memberships/\";}i:22;a:9:{s:4:\"slug\";s:35:\"products-empty-woocommerce-deposits\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:20:\"woocommerce-deposits\";s:14:\"show-if-active\";a:1:{i:0;s:20:\"woocommerce-bookings\";}s:4:\"icon\";s:99:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/deposits.svg\";s:5:\"title\";s:8:\"Deposits\";s:4:\"copy\";s:75:\"Make it easier for customers to pay by offering a deposit or a payment plan\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:54:\"https://woocommerce.com/products/woocommerce-deposits/\";}i:23;a:8:{s:4:\"slug\";s:40:\"products-empty-woocommerce-subscriptions\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:25:\"woocommerce-subscriptions\";s:4:\"icon\";s:104:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/subscriptions.svg\";s:5:\"title\";s:13:\"Subscriptions\";s:4:\"copy\";s:97:\"Let customers subscribe to your products or services and pay on a weekly, monthly or annual basis\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:59:\"https://woocommerce.com/products/woocommerce-subscriptions/\";}i:24;a:8:{s:4:\"slug\";s:35:\"products-empty-woocommerce-bookings\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:20:\"woocommerce-bookings\";s:4:\"icon\";s:99:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/bookings.svg\";s:5:\"title\";s:8:\"Bookings\";s:4:\"copy\";s:99:\"Allow customers to book appointments, make reservations or rent equipment without leaving your site\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:54:\"https://woocommerce.com/products/woocommerce-bookings/\";}i:25;a:8:{s:4:\"slug\";s:30:\"products-empty-product-bundles\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:27:\"woocommerce-product-bundles\";s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/product-bundles.svg\";s:5:\"title\";s:15:\"Product Bundles\";s:4:\"copy\";s:49:\"Offer customizable bundles and assembled products\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/product-bundles/\";}}s:7:\"updated\";i:1600474379;}', 'no'), +(5281, 'category_children', 'a:4:{i:71;a:1:{i:0;i:72;}i:72;a:1:{i:0;i:73;}i:73;a:1:{i:0;i:74;}i:74;a:1:{i:0;i:75;}}', 'yes'), +(5284, 'graphql_general_settings', '', 'yes'), +(5318, 'disallowed_keys', '', 'no'), +(5319, 'comment_previously_approved', '1', 'yes'), +(5320, 'auto_plugin_theme_update_emails', 'a:0:{}', 'no'), +(5321, 'finished_updating_comment_type', '1', 'yes'), +(5322, 'can_compress_scripts', '0', 'no'), +(5346, 'auto_update_plugins', 'a:1:{i:0;s:23:\"wp-gatsby/wp-gatsby.php\";}', 'no'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(5349, 'rewrite_rules', 'a:243:{s:19:\"sitemap_index\\.xml$\";s:19:\"index.php?sitemap=1\";s:31:\"([^/]+?)-sitemap([0-9]+)?\\.xml$\";s:51:\"index.php?sitemap=$matches[1]&sitemap_n=$matches[2]\";s:24:\"([a-z]+)?-?sitemap\\.xsl$\";s:39:\"index.php?yoast-sitemap-xsl=$matches[1]\";s:11:\"^wp-json/?$\";s:22:\"index.php?rest_route=/\";s:14:\"^wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:21:\"^index.php/wp-json/?$\";s:22:\"index.php?rest_route=/\";s:24:\"^index.php/wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:17:\"^wp-sitemap\\.xml$\";s:23:\"index.php?sitemap=index\";s:17:\"^wp-sitemap\\.xsl$\";s:36:\"index.php?sitemap-stylesheet=sitemap\";s:23:\"^wp-sitemap-index\\.xsl$\";s:34:\"index.php?sitemap-stylesheet=index\";s:48:\"^wp-sitemap-([a-z]+?)-([a-z\\d_-]+?)-(\\d+?)\\.xml$\";s:75:\"index.php?sitemap=$matches[1]&sitemap-subtype=$matches[2]&paged=$matches[3]\";s:34:\"^wp-sitemap-([a-z]+?)-(\\d+?)\\.xml$\";s:47:\"index.php?sitemap=$matches[1]&paged=$matches[2]\";s:7:\"team/?$\";s:31:\"index.php?post_type=team_member\";s:37:\"team/feed/(feed|rdf|rss|rss2|atom)/?$\";s:48:\"index.php?post_type=team_member&feed=$matches[1]\";s:32:\"team/(feed|rdf|rss|rss2|atom)/?$\";s:48:\"index.php?post_type=team_member&feed=$matches[1]\";s:24:\"team/page/([0-9]{1,})/?$\";s:49:\"index.php?post_type=team_member&paged=$matches[1]\";s:10:\"graphql/?$\";s:22:\"index.php?graphql=true\";s:47:\"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:42:\"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:23:\"category/(.+?)/embed/?$\";s:46:\"index.php?category_name=$matches[1]&embed=true\";s:35:\"category/(.+?)/page/?([0-9]{1,})/?$\";s:53:\"index.php?category_name=$matches[1]&paged=$matches[2]\";s:17:\"category/(.+?)/?$\";s:35:\"index.php?category_name=$matches[1]\";s:44:\"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:39:\"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:20:\"tag/([^/]+)/embed/?$\";s:36:\"index.php?tag=$matches[1]&embed=true\";s:32:\"tag/([^/]+)/page/?([0-9]{1,})/?$\";s:43:\"index.php?tag=$matches[1]&paged=$matches[2]\";s:14:\"tag/([^/]+)/?$\";s:25:\"index.php?tag=$matches[1]\";s:45:\"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:40:\"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:21:\"type/([^/]+)/embed/?$\";s:44:\"index.php?post_format=$matches[1]&embed=true\";s:33:\"type/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?post_format=$matches[1]&paged=$matches[2]\";s:15:\"type/([^/]+)/?$\";s:33:\"index.php?post_format=$matches[1]\";s:39:\"team_member/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:49:\"team_member/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:69:\"team_member/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"team_member/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"team_member/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:45:\"team_member/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:28:\"team_member/([^/]+)/embed/?$\";s:44:\"index.php?team_member=$matches[1]&embed=true\";s:32:\"team_member/([^/]+)/trackback/?$\";s:38:\"index.php?team_member=$matches[1]&tb=1\";s:52:\"team_member/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?team_member=$matches[1]&feed=$matches[2]\";s:47:\"team_member/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?team_member=$matches[1]&feed=$matches[2]\";s:40:\"team_member/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?team_member=$matches[1]&paged=$matches[2]\";s:47:\"team_member/([^/]+)/comment-page-([0-9]{1,})/?$\";s:51:\"index.php?team_member=$matches[1]&cpage=$matches[2]\";s:36:\"team_member/([^/]+)(?:/([0-9]+))?/?$\";s:50:\"index.php?team_member=$matches[1]&page=$matches[2]\";s:28:\"team_member/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:38:\"team_member/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:58:\"team_member/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"team_member/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"team_member/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:34:\"team_member/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:35:\"project/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:45:\"project/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:65:\"project/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:60:\"project/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:60:\"project/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:41:\"project/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:24:\"project/([^/]+)/embed/?$\";s:40:\"index.php?project=$matches[1]&embed=true\";s:28:\"project/([^/]+)/trackback/?$\";s:34:\"index.php?project=$matches[1]&tb=1\";s:36:\"project/([^/]+)/page/?([0-9]{1,})/?$\";s:47:\"index.php?project=$matches[1]&paged=$matches[2]\";s:43:\"project/([^/]+)/comment-page-([0-9]{1,})/?$\";s:47:\"index.php?project=$matches[1]&cpage=$matches[2]\";s:32:\"project/([^/]+)(?:/([0-9]+))?/?$\";s:46:\"index.php?project=$matches[1]&page=$matches[2]\";s:24:\"project/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:34:\"project/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:54:\"project/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:49:\"project/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:49:\"project/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:30:\"project/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:43:\"type_limit_test/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:53:\"type_limit_test/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:73:\"type_limit_test/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:68:\"type_limit_test/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:68:\"type_limit_test/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:49:\"type_limit_test/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:32:\"type_limit_test/([^/]+)/embed/?$\";s:48:\"index.php?type_limit_test=$matches[1]&embed=true\";s:36:\"type_limit_test/([^/]+)/trackback/?$\";s:42:\"index.php?type_limit_test=$matches[1]&tb=1\";s:44:\"type_limit_test/([^/]+)/page/?([0-9]{1,})/?$\";s:55:\"index.php?type_limit_test=$matches[1]&paged=$matches[2]\";s:51:\"type_limit_test/([^/]+)/comment-page-([0-9]{1,})/?$\";s:55:\"index.php?type_limit_test=$matches[1]&cpage=$matches[2]\";s:40:\"type_limit_test/([^/]+)(?:/([0-9]+))?/?$\";s:54:\"index.php?type_limit_test=$matches[1]&page=$matches[2]\";s:32:\"type_limit_test/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:42:\"type_limit_test/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:62:\"type_limit_test/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:57:\"type_limit_test/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:57:\"type_limit_test/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:38:\"type_limit_test/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:45:\"type_limit_0_test/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:55:\"type_limit_0_test/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:75:\"type_limit_0_test/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:70:\"type_limit_0_test/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:70:\"type_limit_0_test/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:51:\"type_limit_0_test/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:34:\"type_limit_0_test/([^/]+)/embed/?$\";s:50:\"index.php?type_limit_0_test=$matches[1]&embed=true\";s:38:\"type_limit_0_test/([^/]+)/trackback/?$\";s:44:\"index.php?type_limit_0_test=$matches[1]&tb=1\";s:46:\"type_limit_0_test/([^/]+)/page/?([0-9]{1,})/?$\";s:57:\"index.php?type_limit_0_test=$matches[1]&paged=$matches[2]\";s:53:\"type_limit_0_test/([^/]+)/comment-page-([0-9]{1,})/?$\";s:57:\"index.php?type_limit_0_test=$matches[1]&cpage=$matches[2]\";s:42:\"type_limit_0_test/([^/]+)(?:/([0-9]+))?/?$\";s:56:\"index.php?type_limit_0_test=$matches[1]&page=$matches[2]\";s:34:\"type_limit_0_test/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:44:\"type_limit_0_test/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:64:\"type_limit_0_test/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:59:\"type_limit_0_test/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:59:\"type_limit_0_test/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:40:\"type_limit_0_test/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:48:\"translation_filter_t/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:58:\"translation_filter_t/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:78:\"translation_filter_t/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"translation_filter_t/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"translation_filter_t/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:54:\"translation_filter_t/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:37:\"translation_filter_t/([^/]+)/embed/?$\";s:53:\"index.php?translation_filter_t=$matches[1]&embed=true\";s:41:\"translation_filter_t/([^/]+)/trackback/?$\";s:47:\"index.php?translation_filter_t=$matches[1]&tb=1\";s:49:\"translation_filter_t/([^/]+)/page/?([0-9]{1,})/?$\";s:60:\"index.php?translation_filter_t=$matches[1]&paged=$matches[2]\";s:56:\"translation_filter_t/([^/]+)/comment-page-([0-9]{1,})/?$\";s:60:\"index.php?translation_filter_t=$matches[1]&cpage=$matches[2]\";s:45:\"translation_filter_t/([^/]+)(?:/([0-9]+))?/?$\";s:59:\"index.php?translation_filter_t=$matches[1]&page=$matches[2]\";s:37:\"translation_filter_t/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:47:\"translation_filter_t/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:67:\"translation_filter_t/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"translation_filter_t/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"translation_filter_t/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:43:\"translation_filter_t/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:48:\"acf custom post type/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:58:\"acf custom post type/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:78:\"acf custom post type/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"acf custom post type/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"acf custom post type/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:54:\"acf custom post type/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:37:\"acf custom post type/([^/]+)/embed/?$\";s:50:\"index.php?acfcustomposttype=$matches[1]&embed=true\";s:41:\"acf custom post type/([^/]+)/trackback/?$\";s:44:\"index.php?acfcustomposttype=$matches[1]&tb=1\";s:49:\"acf custom post type/([^/]+)/page/?([0-9]{1,})/?$\";s:57:\"index.php?acfcustomposttype=$matches[1]&paged=$matches[2]\";s:56:\"acf custom post type/([^/]+)/comment-page-([0-9]{1,})/?$\";s:57:\"index.php?acfcustomposttype=$matches[1]&cpage=$matches[2]\";s:45:\"acf custom post type/([^/]+)(?:/([0-9]+))?/?$\";s:56:\"index.php?acfcustomposttype=$matches[1]&page=$matches[2]\";s:37:\"acf custom post type/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:47:\"acf custom post type/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:67:\"acf custom post type/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"acf custom post type/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"acf custom post type/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:43:\"acf custom post type/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:39:\"wgg_preview/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:49:\"wgg_preview/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:69:\"wgg_preview/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"wgg_preview/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"wgg_preview/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:45:\"wgg_preview/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:28:\"wgg_preview/([^/]+)/embed/?$\";s:44:\"index.php?wgg_preview=$matches[1]&embed=true\";s:32:\"wgg_preview/([^/]+)/trackback/?$\";s:38:\"index.php?wgg_preview=$matches[1]&tb=1\";s:40:\"wgg_preview/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?wgg_preview=$matches[1]&paged=$matches[2]\";s:47:\"wgg_preview/([^/]+)/comment-page-([0-9]{1,})/?$\";s:51:\"index.php?wgg_preview=$matches[1]&cpage=$matches[2]\";s:36:\"wgg_preview/([^/]+)(?:/([0-9]+))?/?$\";s:50:\"index.php?wgg_preview=$matches[1]&page=$matches[2]\";s:28:\"wgg_preview/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:38:\"wgg_preview/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:58:\"wgg_preview/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"wgg_preview/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"wgg_preview/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:34:\"wgg_preview/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:42:\"action_monitor/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:52:\"action_monitor/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:72:\"action_monitor/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:67:\"action_monitor/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:67:\"action_monitor/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:48:\"action_monitor/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:31:\"action_monitor/([^/]+)/embed/?$\";s:47:\"index.php?action_monitor=$matches[1]&embed=true\";s:35:\"action_monitor/([^/]+)/trackback/?$\";s:41:\"index.php?action_monitor=$matches[1]&tb=1\";s:43:\"action_monitor/([^/]+)/page/?([0-9]{1,})/?$\";s:54:\"index.php?action_monitor=$matches[1]&paged=$matches[2]\";s:50:\"action_monitor/([^/]+)/comment-page-([0-9]{1,})/?$\";s:54:\"index.php?action_monitor=$matches[1]&cpage=$matches[2]\";s:39:\"action_monitor/([^/]+)(?:/([0-9]+))?/?$\";s:53:\"index.php?action_monitor=$matches[1]&page=$matches[2]\";s:31:\"action_monitor/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:41:\"action_monitor/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:61:\"action_monitor/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:56:\"action_monitor/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:56:\"action_monitor/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:37:\"action_monitor/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:12:\"robots\\.txt$\";s:18:\"index.php?robots=1\";s:13:\"favicon\\.ico$\";s:19:\"index.php?favicon=1\";s:48:\".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$\";s:18:\"index.php?feed=old\";s:20:\".*wp-app\\.php(/.*)?$\";s:19:\"index.php?error=403\";s:18:\".*wp-register.php$\";s:23:\"index.php?register=true\";s:32:\"feed/(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:27:\"(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:8:\"embed/?$\";s:21:\"index.php?&embed=true\";s:20:\"page/?([0-9]{1,})/?$\";s:28:\"index.php?&paged=$matches[1]\";s:27:\"comment-page-([0-9]{1,})/?$\";s:39:\"index.php?&page_id=17&cpage=$matches[1]\";s:41:\"comments/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:36:\"comments/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:17:\"comments/embed/?$\";s:21:\"index.php?&embed=true\";s:44:\"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:39:\"search/(.+)/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:20:\"search/(.+)/embed/?$\";s:34:\"index.php?s=$matches[1]&embed=true\";s:32:\"search/(.+)/page/?([0-9]{1,})/?$\";s:41:\"index.php?s=$matches[1]&paged=$matches[2]\";s:14:\"search/(.+)/?$\";s:23:\"index.php?s=$matches[1]\";s:47:\"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:42:\"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:23:\"author/([^/]+)/embed/?$\";s:44:\"index.php?author_name=$matches[1]&embed=true\";s:35:\"author/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?author_name=$matches[1]&paged=$matches[2]\";s:17:\"author/([^/]+)/?$\";s:33:\"index.php?author_name=$matches[1]\";s:69:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:45:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/embed/?$\";s:74:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]\";s:39:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$\";s:63:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]\";s:56:\"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:51:\"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:32:\"([0-9]{4})/([0-9]{1,2})/embed/?$\";s:58:\"index.php?year=$matches[1]&monthnum=$matches[2]&embed=true\";s:44:\"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]\";s:26:\"([0-9]{4})/([0-9]{1,2})/?$\";s:47:\"index.php?year=$matches[1]&monthnum=$matches[2]\";s:43:\"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:38:\"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:19:\"([0-9]{4})/embed/?$\";s:37:\"index.php?year=$matches[1]&embed=true\";s:31:\"([0-9]{4})/page/?([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&paged=$matches[2]\";s:13:\"([0-9]{4})/?$\";s:26:\"index.php?year=$matches[1]\";s:58:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:68:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:88:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:64:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:53:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/embed/?$\";s:91:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$\";s:85:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1\";s:77:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:65:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]\";s:61:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(?:/([0-9]+))?/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]\";s:47:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:57:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:77:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:53:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]\";s:51:\"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]\";s:38:\"([0-9]{4})/comment-page-([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&cpage=$matches[2]\";s:27:\".?.+?/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:37:\".?.+?/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:57:\".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:33:\".?.+?/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:16:\"(.?.+?)/embed/?$\";s:41:\"index.php?pagename=$matches[1]&embed=true\";s:20:\"(.?.+?)/trackback/?$\";s:35:\"index.php?pagename=$matches[1]&tb=1\";s:40:\"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:35:\"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:28:\"(.?.+?)/page/?([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&paged=$matches[2]\";s:35:\"(.?.+?)/comment-page-([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&cpage=$matches[2]\";s:24:\"(.?.+?)(?:/([0-9]+))?/?$\";s:47:\"index.php?pagename=$matches[1]&page=$matches[2]\";}', 'yes'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_postmeta` +-- + +CREATE TABLE `wp_postmeta` ( + `meta_id` bigint(20) UNSIGNED NOT NULL, + `post_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_postmeta` +-- + +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(1, 2, '_wp_page_template', 'default'), +(2, 3, '_wp_page_template', 'default'), +(174, 1, '__update', '1'), +(224, 74, '_edit_last', '1'), +(225, 75, '__update', '1'), +(226, 74, '__update', '1'), +(275, 84, '__update', '1'), +(300, 89, '__update', '1'), +(337, 74, '_edit_lock', '1583187828:1'), +(350, 98, '_edit_lock', '1597973347:1'), +(351, 99, '_wp_attached_file', '2020/03/avatar.jpg'), +(352, 99, '__update', '1'), +(383, 99, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:160;s:6:\"height\";i:160;s:4:\"file\";s:18:\"2020/03/avatar.jpg\";s:5:\"sizes\";a:1:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"avatar-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(408, 98, '__update', '1'), +(433, 98, '_edit_last', '1'), +(446, 98, '_yoast_wpseo_content_score', '60'), +(459, 98, 'name', 'Jason'), +(472, 98, '_name', 'field_5e5d725460853'), +(485, 98, 'title', 'WPGraphQL guy'), +(498, 98, '_title', 'field_5e5d726060854'), +(511, 98, 'portrait', '99'), +(524, 98, '_portrait', 'field_5e5d727560855'), +(537, 116, 'name', 'Jason'), +(538, 116, '_name', 'field_5e5d725460853'), +(539, 116, 'title', 'WPGraphQL guy'), +(540, 116, '_title', 'field_5e5d726060854'), +(541, 116, 'portrait', '99'), +(542, 116, '_portrait', 'field_5e5d727560855'), +(579, 72, '_edit_last', '1'), +(581, 72, '__update', '1'), +(674, 72, '_edit_lock', '1601669226:1'), +(675, 155, '__update', '1'), +(712, 162, '__update', '1'), +(767, 172, '_edit_lock', '1597973266:1'), +(768, 172, '__update', '1'), +(793, 172, '_edit_last', '1'), +(818, 181, '_edit_last', '1'), +(819, 182, '__update', '1'), +(820, 181, '__update', '1'), +(851, 188, '__update', '1'), +(888, 181, '_edit_lock', '1583187772:1'), +(889, 195, '_wp_attached_file', '2020/03/1024x1024-300x300-1.png'), +(890, 195, '__update', '1'), +(945, 195, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:300;s:6:\"height\";i:300;s:4:\"file\";s:31:\"2020/03/1024x1024-300x300-1.png\";s:5:\"sizes\";a:2:{s:6:\"medium\";a:4:{s:4:\"file\";s:31:\"1024x1024-300x300-1-300x300.png\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:31:\"1024x1024-300x300-1-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(1030, 172, 'project_url', 'a:3:{s:5:\"title\";s:0:\"\";s:3:\"url\";s:26:\"https://www.wpgraphql.com/\";s:6:\"target\";s:6:\"_blank\";}'), +(1043, 172, '_project_url', 'field_5e5d8628dde4a'), +(1056, 172, 'image', '195'), +(1069, 172, '_image', 'field_5e5d8631dde4b'), +(1094, 229, '__update', '1'), +(1143, 98, 'twitterlink', 'a:3:{s:5:\"title\";s:0:\"\";s:3:\"url\";s:29:\"https://twitter.com/jasonbahl\";s:6:\"target\";s:6:\"_blank\";}'), +(1156, 98, '_twitterlink', 'field_5e5d73f3f4d05'), +(1169, 98, 'web_site', 'a:3:{s:5:\"title\";s:0:\"\";s:3:\"url\";s:22:\"https://jasonbahl.com/\";s:6:\"target\";s:0:\"\";}'), +(1182, 98, '_web_site', 'field_5e5d740688701'), +(1195, 98, 'projects', 'a:1:{i:0;s:3:\"172\";}'), +(1208, 98, '_projects', 'field_5e5d87b185982'), +(1410, 17, '_edit_lock', '1597973122:1'), +(1411, 284, '_wp_attached_file', '2020/03/Screen-Shot-2020-02-18-at-7.04.39-AM.png'), +(1412, 284, '__update', '1'), +(1419, 17, '__update', '1'), +(1480, 284, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:5120;s:6:\"height\";i:2880;s:4:\"file\";s:48:\"2020/03/Screen-Shot-2020-02-18-at-7.04.39-AM.png\";s:5:\"sizes\";a:4:{s:6:\"medium\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-18-at-7.04.39-AM-300x169.png\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-18-at-7.04.39-AM-1024x576.png\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-18-at-7.04.39-AM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-18-at-7.04.39-AM-768x432.png\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(1601, 316, '_wp_attached_file', '2020/03/Screen-Shot-2020-02-27-at-7.40.56-PM.png'), +(1602, 316, '__update', '1'), +(1657, 316, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:2190;s:6:\"height\";i:610;s:4:\"file\";s:48:\"2020/03/Screen-Shot-2020-02-27-at-7.40.56-PM.png\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:47:\"Screen-Shot-2020-02-27-at-7.40.56-PM-300x84.png\";s:5:\"width\";i:300;s:6:\"height\";i:84;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1024x285.png\";s:5:\"width\";i:1024;s:6:\"height\";i:285;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-27-at-7.40.56-PM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-27-at-7.40.56-PM-768x214.png\";s:5:\"width\";i:768;s:6:\"height\";i:214;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1536x428.png\";s:5:\"width\";i:1536;s:6:\"height\";i:428;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-2048x570.png\";s:5:\"width\";i:2048;s:6:\"height\";i:570;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1200x334.png\";s:5:\"width\";i:1200;s:6:\"height\";i:334;s:9:\"mime-type\";s:9:\"image/png\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1980x552.png\";s:5:\"width\";i:1980;s:6:\"height\";i:552;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(1874, 362, '_wp_attached_file', '2020/03/84-1000x1000-1.jpg'), +(1875, 362, '__update', '1'), +(1930, 362, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1000;s:6:\"height\";i:1000;s:4:\"file\";s:26:\"2020/03/84-1000x1000-1.jpg\";s:5:\"sizes\";a:3:{s:6:\"medium\";a:4:{s:4:\"file\";s:26:\"84-1000x1000-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:26:\"84-1000x1000-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:26:\"84-1000x1000-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}}'), +(2039, 17, '_thumbnail_id', '362'), +(2052, 17, '_edit_last', '1'), +(2065, 17, '_yoast_wpseo_content_score', '30'), +(2078, 17, 'image', '316'), +(2091, 17, '_image', 'field_5e5d71e8712f4'), +(2104, 17, 'flex', 'a:2:{i:0;s:6:\"header\";i:1;s:12:\"team_members\";}'), +(2117, 17, '_flex', 'field_5e5d71ef712f5'), +(2158, 17, 'flex_0_header', 'header text test'), +(2171, 17, '_flex_0_header', 'field_5e5d71f8712f6'), +(2184, 17, 'flex_1_team_members_0_team_member', 'a:1:{i:0;s:2:\"98\";}'), +(2197, 17, '_flex_1_team_members_0_team_member', 'field_5e5d9d0ec49f2'), +(2210, 17, 'flex_1_team_members', '1'), +(2223, 17, '_flex_1_team_members', 'field_5e5d9d01c49f1'), +(2236, 17, 'flex_2_project_relationship', 'a:1:{i:0;s:3:\"172\";}'), +(2249, 17, '_flex_2_project_relationship', 'field_5e5d88d15d14b'), +(3079, 564, '_menu_item_type', 'post_type'), +(3080, 564, '_menu_item_menu_item_parent', '0'), +(3081, 564, '_menu_item_object_id', '16'), +(3082, 564, '_menu_item_object', 'page'), +(3083, 564, '_menu_item_target', ''), +(3084, 564, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3085, 564, '_menu_item_xfn', ''), +(3086, 564, '_menu_item_url', ''), +(3088, 565, '_menu_item_type', 'post_type'), +(3089, 565, '_menu_item_menu_item_parent', '0'), +(3090, 565, '_menu_item_object_id', '2'), +(3091, 565, '_menu_item_object', 'page'), +(3092, 565, '_menu_item_target', ''), +(3093, 565, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3094, 565, '_menu_item_xfn', ''), +(3095, 565, '_menu_item_url', ''), +(3097, 566, '_menu_item_type', 'post_type'), +(3098, 566, '_menu_item_menu_item_parent', '565'), +(3099, 566, '_menu_item_object_id', '1'), +(3100, 566, '_menu_item_object', 'post'), +(3101, 566, '_menu_item_target', ''), +(3102, 566, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3103, 566, '_menu_item_xfn', ''), +(3104, 566, '_menu_item_url', ''), +(3106, 567, '_menu_item_type', 'custom'), +(3107, 567, '_menu_item_menu_item_parent', '566'), +(3108, 567, '_menu_item_object_id', '567'), +(3109, 567, '_menu_item_object', 'custom'), +(3110, 567, '_menu_item_target', ''), +(3111, 567, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3112, 567, '_menu_item_xfn', ''), +(3113, 567, '_menu_item_url', 'https://google.com'), +(3147, 1, '_thumbnail_id', '362'), +(3160, 1, '_edit_last', '4'), +(3210, 1, '_yoast_wpseo_content_score', '90'), +(3223, 586, '_edit_lock', '1597973681:1'), +(3224, 586, '__update', '1'), +(3231, 2, '__update', '1'), +(3286, 586, '_thumbnail_id', '195'), +(3311, 586, '_edit_last', '1'), +(3336, 586, 'image', ''), +(3349, 586, '_image', 'field_5e5d71e8712f4'), +(3362, 586, 'flex', ''), +(3375, 586, '_flex', 'field_5e5d71ef712f5'), +(3404, 586, '_yoast_wpseo_content_score', '30'), +(3879, 1, '_wp_page_template', 'default'), +(3958, 711, '__update', '1'), +(3983, 711, '_edit_last', '1'), +(4035, 711, '_yoast_wpseo_content_score', '60'), +(4067, 2, '_edit_last', '4'), +(4641, 2, 'image', ''), +(4654, 2, '_image', 'field_5e5d71e8712f4'), +(4667, 2, 'flex', ''), +(4680, 2, '_flex', 'field_5e5d71ef712f5'), +(4725, 2, '_yoast_wpseo_content_score', '90'), +(5734, 1035, '_edit_lock', '1597973315:1'), +(5735, 1035, '__update', '1'), +(5760, 1035, '_edit_last', '1'), +(5785, 1035, '_yoast_wpseo_content_score', '30'), +(5798, 1046, '_edit_lock', '1597973302:1'), +(5799, 1046, '__update', '1'), +(5824, 1046, '_edit_last', '1'), +(5849, 1046, '_yoast_wpseo_content_score', '30'), +(5862, 1057, '_edit_lock', '1597973317:1'), +(5863, 1057, '__update', '1'), +(5888, 1057, '_edit_last', '1'), +(5913, 1057, '_yoast_wpseo_content_score', '30'), +(5926, 1068, '_edit_lock', '1597973316:1'), +(5927, 1068, '__update', '1'), +(5952, 1068, '_edit_last', '1'), +(5977, 1068, '_yoast_wpseo_content_score', '30'), +(5990, 1079, '_edit_lock', '1597973301:1'), +(5991, 1079, '__update', '1'), +(6016, 1079, '_edit_last', '1'), +(6041, 1079, '_yoast_wpseo_content_score', '30'), +(6054, 1090, '_edit_lock', '1597973287:1'), +(6055, 1090, '__update', '1'), +(6080, 1090, '_edit_last', '1'), +(6105, 1090, '_yoast_wpseo_content_score', '30'), +(6118, 1101, '_edit_lock', '1597973284:1'), +(6119, 1101, '__update', '1'), +(6144, 1101, '_edit_last', '1'), +(6169, 1101, '_yoast_wpseo_content_score', '30'), +(6182, 1112, '_edit_lock', '1597973277:1'), +(6183, 1112, '__update', '1'), +(6208, 1112, '_edit_last', '1'), +(6233, 1112, '_yoast_wpseo_content_score', '30'), +(6246, 1123, '_edit_lock', '1597973275:1'), +(6247, 1123, '__update', '1'), +(6272, 1123, '_edit_last', '1'), +(6297, 1123, '_yoast_wpseo_content_score', '30'), +(6310, 1134, '_edit_lock', '1584578565:1'), +(6311, 1134, '__update', '1'), +(6336, 1134, '_edit_last', '1'), +(6361, 1134, '_yoast_wpseo_content_score', '30'), +(6374, 1145, '_edit_lock', '1597973274:1'), +(6375, 1145, '__update', '1'), +(6400, 1145, '_edit_last', '1'), +(6425, 1145, '_yoast_wpseo_content_score', '30'), +(6438, 1156, '_edit_lock', '1597973271:1'), +(6439, 1156, '__update', '1'), +(6464, 1156, '_edit_last', '1'), +(6489, 1156, '_yoast_wpseo_content_score', '30'), +(6502, 1167, '_edit_lock', '1597973269:1'), +(6503, 1167, '__update', '1'), +(6528, 1167, '_edit_last', '1'), +(6553, 1167, '_yoast_wpseo_content_score', '30'), +(7040, 1258, '__update', '1'), +(7053, 1258, '_pll_strings_translations', 'a:0:{}'), +(7108, 1270, '__update', '1'), +(7121, 1270, '_pll_strings_translations', 'a:0:{}'), +(7140, 1276, 'image', '316'), +(7141, 1276, 'flex', 'a:2:{i:0;s:6:\"header\";i:1;s:12:\"team_members\";}'), +(7142, 1276, 'flex_0_header', 'header text test'), +(7143, 1276, 'flex_1_team_members_0_team_member', 'a:1:{i:0;s:2:\"98\";}'), +(7144, 1276, 'flex_1_team_members', '1'), +(7145, 1276, 'flex_2_project_relationship', 'a:1:{i:0;s:3:\"172\";}'), +(7146, 1276, '_thumbnail_id', '362'), +(7147, 1276, '_edit_lock', '1597973128:1'), +(7148, 1276, '__update', '1'), +(7173, 1276, '_edit_last', '1'), +(7186, 1276, '_image', 'field_5e5d71e8712f4'), +(7199, 1276, '_flex_0_header', 'field_5e5d71f8712f6'), +(7212, 1276, '_flex_1_team_members_0_team_member', 'field_5e5d9d0ec49f2'), +(7225, 1276, '_flex_1_team_members', 'field_5e5d9d01c49f1'), +(7238, 1276, '_flex', 'field_5e5d71ef712f5'), +(7273, 1276, '_yoast_wpseo_content_score', '30'), +(7316, 16, '_edit_lock', '1597973124:1'), +(7366, 1311, '_edit_lock', '1597973320:1'), +(7367, 1311, '__update', '1'), +(7392, 1311, '_edit_last', '1'), +(7511, 1335, '_edit_lock', '1597973319:1'), +(7512, 1335, '__update', '1'), +(7537, 1335, '_edit_last', '1'), +(7562, 1335, '_yoast_wpseo_content_score', '30'), +(7923, 1311, '_yoast_wpseo_content_score', '60'), +(43903, 7627, '_wp_attached_file', '2020/08/Screen-Shot-2020-08-11-at-3.10.03-PM.png'), +(43904, 7627, '__update', '1'), +(43924, 7627, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1760;s:6:\"height\";i:240;s:4:\"file\";s:48:\"2020/08/Screen-Shot-2020-08-11-at-3.10.03-PM.png\";s:5:\"sizes\";a:6:{s:6:\"medium\";a:4:{s:4:\"file\";s:47:\"Screen-Shot-2020-08-11-at-3.10.03-PM-300x41.png\";s:5:\"width\";i:300;s:6:\"height\";i:41;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-08-11-at-3.10.03-PM-1024x140.png\";s:5:\"width\";i:1024;s:6:\"height\";i:140;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-08-11-at-3.10.03-PM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-08-11-at-3.10.03-PM-768x105.png\";s:5:\"width\";i:768;s:6:\"height\";i:105;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-08-11-at-3.10.03-PM-1536x209.png\";s:5:\"width\";i:1536;s:6:\"height\";i:209;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-08-11-at-3.10.03-PM-1200x164.png\";s:5:\"width\";i:1200;s:6:\"height\";i:164;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(44027, 7646, '_edit_lock', '1602179614:1'), +(44028, 7646, '__update', '1'), +(44042, 7646, '_edit_last', '1'), +(44043, 7646, 'image', ''), +(44044, 7646, '_image', 'field_5e5d71e8712f4'), +(44045, 7646, 'flex', ''), +(44046, 7646, '_flex', 'field_5e5d71ef712f5'), +(44053, 7650, '__update', '1'), +(44060, 7652, '__update', '1'), +(44067, 7654, '__update', '1'), +(44074, 7656, '__update', '1'), +(44081, 7658, '__update', '1'), +(44088, 7660, '__update', '1'), +(44095, 7662, '__update', '1'), +(44102, 7664, '__update', '1'), +(44109, 7666, '__update', '1'), +(44116, 7668, '__update', '1'), +(44123, 7670, '__update', '1'), +(44130, 7672, '__update', '1'), +(44137, 7674, '__update', '1'), +(44144, 7676, '__update', '1'), +(44151, 7678, '__update', '1'), +(44158, 7680, '__update', '1'), +(44165, 7682, '__update', '1'), +(44172, 7684, '__update', '1'), +(44179, 7686, '__update', '1'), +(44186, 7688, '__update', '1'), +(44193, 7690, '__update', '1'), +(44200, 7692, '__update', '1'), +(44207, 7694, '__update', '1'), +(44214, 7696, '__update', '1'), +(44221, 7698, '__update', '1'), +(44228, 7700, '__update', '1'), +(44235, 7702, '__update', '1'), +(44242, 7704, '__update', '1'), +(44249, 7706, '__update', '1'), +(44256, 7708, '__update', '1'), +(44473, 7740, '_wp_attached_file', '2020/08/file-sample_1MB.doc'), +(44474, 7740, '__update', '1'), +(44494, 7744, '_wp_attached_file', '2020/08/101-2621x1747-1-scaled.jpg'), +(44495, 7744, '__update', '1'), +(44515, 7744, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1706;s:4:\"file\";s:34:\"2020/08/101-2621x1747-1-scaled.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:27:\"101-2621x1747-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:28:\"101-2621x1747-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:27:\"101-2621x1747-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:27:\"101-2621x1747-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:29:\"101-2621x1747-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:29:\"101-2621x1747-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:28:\"101-2621x1747-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:29:\"101-2621x1747-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:19:\"101-2621x1747-1.jpg\";}'), +(44516, 7748, '_wp_attached_file', '2020/08/1002-4312x2868-1-scaled.jpg'), +(44517, 7748, '__update', '1'), +(44537, 7748, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1703;s:4:\"file\";s:35:\"2020/08/1002-4312x2868-1-scaled.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1002-4312x2868-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1002-4312x2868-1-1024x681.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:681;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1002-4312x2868-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1002-4312x2868-1-768x511.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:511;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1002-4312x2868-1-1536x1022.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1022;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1002-4312x2868-1-2048x1362.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1362;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1002-4312x2868-1-1200x798.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:798;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1002-4312x2868-1-1980x1317.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1317;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1002-4312x2868-1.jpg\";}'), +(44538, 7752, '_wp_attached_file', '2020/08/1003-1181x1772-1.jpg'), +(44539, 7752, '__update', '1'), +(44559, 7752, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1181;s:6:\"height\";i:1772;s:4:\"file\";s:28:\"2020/08/1003-1181x1772-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1003-1181x1772-1-682x1024.jpg\";s:5:\"width\";i:682;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:29:\"1003-1181x1772-1-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1003-1181x1772-1-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:28:\"1003-1181x1772-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}}'), +(44560, 7756, '_wp_attached_file', '2020/08/1001-5616x3744-1-scaled.jpg'), +(44561, 7756, '__update', '1'), +(44581, 7756, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:35:\"2020/08/1001-5616x3744-1-scaled.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1001-5616x3744-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1001-5616x3744-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1001-5616x3744-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1001-5616x3744-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1001-5616x3744-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1001-5616x3744-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1001-5616x3744-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1001-5616x3744-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1001-5616x3744-1.jpg\";}'), +(44582, 7760, '_wp_attached_file', '2020/08/10-2500x1667-1.jpg'), +(44583, 7760, '__update', '1'), +(44603, 7760, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:2500;s:6:\"height\";i:1667;s:4:\"file\";s:26:\"2020/08/10-2500x1667-1.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:27:\"10-2500x1667-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:28:\"10-2500x1667-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:28:\"10-2500x1667-1-2048x1366.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1366;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:27:\"10-2500x1667-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:28:\"10-2500x1667-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:26:\"10-2500x1667-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}}'), +(44604, 7764, '_wp_attached_file', '2020/08/1004-5616x3744-1-scaled.jpg'), +(44605, 7764, '__update', '1'), +(44625, 7764, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:35:\"2020/08/1004-5616x3744-1-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1004-5616x3744-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1004-5616x3744-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1004-5616x3744-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1004-5616x3744-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1004-5616x3744-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1004-5616x3744-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1004-5616x3744-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1004-5616x3744-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1004-5616x3744-1.jpg\";}'), +(44652, 7646, 'range_field', '53'), +(44653, 7646, '_range_field', 'field_5f47e967644b1'), +(44654, 7646, 'text_field', 'Text Field test example'), +(44655, 7646, '_text_field', 'field_5f47e986644b2'), +(44656, 7646, 'text_area_field', 'Text Area Field test example'), +(44657, 7646, '_text_area_field', 'field_5f47e993644b3'), +(44658, 7646, 'button_group_field', 'button2'), +(44659, 7646, '_button_group_field', 'field_5f47e99f644b4'), +(44660, 7646, 'checkbox_field', 'a:1:{i:0;s:9:\"checkbox2\";}'), +(44661, 7646, '_checkbox_field', 'field_5f47e9c5644b5'), +(44662, 7646, 'radio_button_field', 'radiobutton2'), +(44663, 7646, '_radio_button_field', 'field_5f47e9f3644b6'), +(44664, 7646, 'select_field', 'select2'), +(44665, 7646, '_select_field', 'field_5f47ea12644b7'), +(44666, 7646, 'true_false_field', '1'), +(44667, 7646, '_true_false_field', 'field_5f47ea28644b8'), +(44668, 7646, 'file_field', '7740'), +(44669, 7646, '_file_field', 'field_5f47ea3f644b9'), +(44670, 7646, 'gallery_field', 'a:5:{i:0;s:4:\"7744\";i:1;s:4:\"7748\";i:2;s:4:\"7752\";i:3;s:4:\"7756\";i:4;s:4:\"7760\";}'), +(44671, 7646, '_gallery_field', 'field_5f47ea4a644ba'), +(44672, 7646, 'image_field', '7764'), +(44673, 7646, '_image_field', 'field_5f47ea53644bb'), +(44674, 7646, 'oembed_field', 'https://www.youtube.com/watch?v=2MpUj-Aua48'), +(44675, 7646, '_oembed_field', 'field_5f47ea5b644bc'), +(44676, 7646, 'wysiwyg_editor_field', 'Wysiwyh Editor Field test content.\r\n\r\n \r\n

    H1

    \r\n\"\" \"\"'), +(44677, 7646, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(44678, 7646, 'color_picker_field', '#1e73be'), +(44679, 7646, '_color_picker_field', 'field_5f47ea75644be'), +(44680, 7646, 'date_picker_field', '20200827'), +(44681, 7646, '_date_picker_field', 'field_5f47ea7f644bf'), +(44682, 7646, 'date_time_picker_field', '2020-08-28 00:11:10'), +(44683, 7646, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(44684, 7646, 'google_map_field', 'a:10:{s:7:\"address\";s:20:\"Victoria, BC, Canada\";s:3:\"lat\";d:48.4284207;s:3:\"lng\";d:-123.3656444;s:4:\"zoom\";i:14;s:8:\"place_id\";s:27:\"ChIJcWGw3Ytzj1QR7Ui7HnTz6Dg\";s:4:\"city\";s:8:\"Victoria\";s:5:\"state\";s:16:\"British Columbia\";s:11:\"state_short\";s:2:\"BC\";s:7:\"country\";s:6:\"Canada\";s:13:\"country_short\";s:2:\"CA\";}'), +(44685, 7646, '_google_map_field', 'field_5f47ea9d644c1'), +(44686, 7646, 'time_picker', '21:00:47'), +(44687, 7646, '_time_picker', 'field_5f47eaa7644c2'), +(44688, 7646, 'flexible_content_field', 'a:1:{i:0;s:13:\"flex_layout_1\";}'), +(44689, 7646, '_flexible_content_field', 'field_5f47eadf644c4'), +(44690, 7646, 'link_field', 'a:3:{s:5:\"title\";s:9:\"Google it\";s:3:\"url\";s:18:\"https://google.com\";s:6:\"target\";s:6:\"_blank\";}'), +(44691, 7646, '_link_field', 'field_5f47eb54644c9'), +(44692, 7646, 'page_link_field', '16'), +(44693, 7646, '_page_link_field', 'field_5f47eb5e644ca'), +(44694, 7646, 'post_object_field', '7646'), +(44695, 7646, '_post_object_field', 'field_5f47eb69644cb'), +(44696, 7646, 'relationship_field', 'a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}'), +(44697, 7646, '_relationship_field', 'field_5f47eb74644cc'), +(44698, 7646, 'taxonomy_field', 'a:1:{i:0;s:2:\"33\";}'), +(44699, 7646, '_taxonomy_field', 'field_5f47edce644cd'), +(44700, 7646, 'user_field', '1'), +(44701, 7646, '_user_field', 'field_5f47eddc644ce'), +(44702, 7772, '_wp_attached_file', '2020/08/1008-5616x3744-1-scaled.jpg'), +(44703, 7772, '__update', '1'), +(44723, 7772, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:35:\"2020/08/1008-5616x3744-1-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1008-5616x3744-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1008-5616x3744-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1008-5616x3744-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1008-5616x3744-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1008-5616x3744-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1008-5616x3744-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1008-5616x3744-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1008-5616x3744-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1008-5616x3744-1.jpg\";}'), +(44871, 7800, '__update', '1'), +(44884, 7803, '__update', '1'), +(44891, 7805, '__update', '1'), +(44898, 7807, '__update', '1'), +(44905, 7809, '__update', '1'), +(44912, 7811, '__update', '1'), +(44919, 7813, '__update', '1'), +(44932, 7816, '__update', '1'), +(44939, 7818, '__update', '1'), +(44965, 7646, 'flexible_content_field_0_flex_title', 'flex title test'), +(44966, 7646, '_flexible_content_field_0_flex_title', 'field_5f482998401a3'), +(44967, 7646, 'flexible_content_field_0_flex_image', '7764'), +(44968, 7646, '_flexible_content_field_0_flex_image', 'field_5f48299d401a4'), +(44969, 7646, 'flexible_content_field_0_flex_repeater_0_flex_repeater_title', 'flex repeater title test'), +(44970, 7646, '_flexible_content_field_0_flex_repeater_0_flex_repeater_title', 'field_5f4829b1401a6'), +(44971, 7646, 'flexible_content_field_0_flex_repeater_0_flex_repeater_relationship', 'a:2:{i:0;s:1:\"1\";i:1;s:2:\"16\";}'), +(44972, 7646, '_flexible_content_field_0_flex_repeater_0_flex_repeater_relationship', 'field_5f4829c7401a7'), +(44973, 7646, 'flexible_content_field_0_flex_repeater', '2'), +(44974, 7646, '_flexible_content_field_0_flex_repeater', 'field_5f4829a6401a5'), +(44975, 7646, 'flexible_content_field_0_flex_relationship', 'a:2:{i:0;s:1:\"1\";i:1;s:3:\"586\";}'), +(44976, 7646, '_flexible_content_field_0_flex_relationship', 'field_5f4829dc401a8'), +(44977, 7646, 'flexible_content_field_1_flex_title', 'flex title test 2'), +(44978, 7646, '_flexible_content_field_1_flex_title', 'field_5f482998401a3'), +(44979, 7646, 'flexible_content_field_1_flex_image', ''), +(44980, 7646, '_flexible_content_field_1_flex_image', 'field_5f48299d401a4'), +(44981, 7646, 'flexible_content_field_1_flex_repeater', ''), +(44982, 7646, '_flexible_content_field_1_flex_repeater', 'field_5f4829a6401a5'), +(44983, 7646, 'flexible_content_field_1_flex_relationship', ''), +(44984, 7646, '_flexible_content_field_1_flex_relationship', 'field_5f4829dc401a8'), +(44985, 7646, 'repeater_field_0_repeater_flex_0_repeater_flex_title', 'cloned repeater flex title'), +(44986, 7646, '_repeater_field_0_repeater_flex_0_repeater_flex_title', 'field_5f482a05401aa'), +(44987, 7646, 'repeater_field_0_repeater_flex_1_repeater_flex_relationship', 'a:1:{i:0;s:4:\"7646\";}'), +(44988, 7646, '_repeater_field_0_repeater_flex_1_repeater_flex_relationship', 'field_5f482a24401ac'), +(44989, 7646, 'repeater_field_0_repeater_flex', 'a:2:{i:0;s:26:\"repeater_flex_title_layout\";i:1;s:33:\"repeater_flex_relationship_layout\";}'), +(44990, 7646, '_repeater_field_0_repeater_flex', 'field_5f4829ed401a9'), +(44995, 7646, 'repeater_field', '1'), +(44996, 7646, '_repeater_field', 'field_5f47eaf8644c6'), +(44997, 7646, 'clone_field', ''), +(44998, 7646, '_clone_field', 'field_5f47eb4b644c8'), +(45037, 7646, 'flexible_content_field_0_flex_repeater_1_flex_repeater_title', 'flex repeater title test 2'), +(45038, 7646, '_flexible_content_field_0_flex_repeater_1_flex_repeater_title', 'field_5f4829b1401a6'), +(45039, 7646, 'flexible_content_field_0_flex_repeater_1_flex_repeater_relationship', ''), +(45040, 7646, '_flexible_content_field_0_flex_repeater_1_flex_repeater_relationship', 'field_5f4829c7401a7'), +(45311, 7868, '_edit_lock', '1598571524:1'), +(45312, 7868, '__update', '1'), +(45326, 7868, '_edit_last', '1'), +(45327, 7868, 'range_field', '0'), +(45328, 7868, '_range_field', 'field_5f47e967644b1'), +(45329, 7868, 'text_field', ''), +(45330, 7868, '_text_field', 'field_5f47e986644b2'), +(45331, 7868, 'text_area_field', ''), +(45332, 7868, '_text_area_field', 'field_5f47e993644b3'), +(45333, 7868, 'button_group_field', 'button1'), +(45334, 7868, '_button_group_field', 'field_5f47e99f644b4'), +(45335, 7868, 'checkbox_field', ''), +(45336, 7868, '_checkbox_field', 'field_5f47e9c5644b5'), +(45337, 7868, 'radio_button_field', 'radiobutton1'), +(45338, 7868, '_radio_button_field', 'field_5f47e9f3644b6'), +(45339, 7868, 'select_field', 'select1'), +(45340, 7868, '_select_field', 'field_5f47ea12644b7'), +(45341, 7868, 'true_false_field', '0'), +(45342, 7868, '_true_false_field', 'field_5f47ea28644b8'), +(45343, 7868, 'file_field', ''), +(45344, 7868, '_file_field', 'field_5f47ea3f644b9'), +(45345, 7868, 'gallery_field', ''), +(45346, 7868, '_gallery_field', 'field_5f47ea4a644ba'), +(45347, 7868, 'image_field', ''), +(45348, 7868, '_image_field', 'field_5f47ea53644bb'), +(45349, 7868, 'oembed_field', ''), +(45350, 7868, '_oembed_field', 'field_5f47ea5b644bc'), +(45351, 7868, 'wysiwyg_editor_field', ''), +(45352, 7868, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(45353, 7868, 'color_picker_field', ''), +(45354, 7868, '_color_picker_field', 'field_5f47ea75644be'), +(45355, 7868, 'date_picker_field', ''), +(45356, 7868, '_date_picker_field', 'field_5f47ea7f644bf'), +(45357, 7868, 'date_time_picker_field', ''), +(45358, 7868, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(45359, 7868, 'google_map_field', ''), +(45360, 7868, '_google_map_field', 'field_5f47ea9d644c1'), +(45361, 7868, 'time_picker', ''), +(45362, 7868, '_time_picker', 'field_5f47eaa7644c2'), +(45363, 7868, 'flexible_content_field', ''), +(45364, 7868, '_flexible_content_field', 'field_5f47eadf644c4'), +(45365, 7868, 'repeater_field', ''), +(45366, 7868, '_repeater_field', 'field_5f47eaf8644c6'), +(45367, 7868, 'clone_field', ''), +(45368, 7868, '_clone_field', 'field_5f47eb4b644c8'), +(45369, 7868, 'link_field', ''), +(45370, 7868, '_link_field', 'field_5f47eb54644c9'), +(45371, 7868, 'page_link_field', ''), +(45372, 7868, '_page_link_field', 'field_5f47eb5e644ca'), +(45373, 7868, 'post_object_field', ''), +(45374, 7868, '_post_object_field', 'field_5f47eb69644cb'), +(45375, 7868, 'relationship_field', ''), +(45376, 7868, '_relationship_field', 'field_5f47eb74644cc'), +(45377, 7868, 'taxonomy_field', ''), +(45378, 7868, '_taxonomy_field', 'field_5f47edce644cd'), +(45379, 7868, 'user_field', ''), +(45380, 7868, '_user_field', 'field_5f47eddc644ce'), +(45381, 7868, '_yoast_wpseo_opengraph-title', 'my facebook title'), +(45382, 7868, '_yoast_wpseo_opengraph-description', 'my facebook description'), +(45383, 7868, '_yoast_wpseo_opengraph-image', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/10-2500x1667-1.jpg'), +(45384, 7868, '_yoast_wpseo_opengraph-image-id', '7760'), +(45385, 7868, '_yoast_wpseo_twitter-title', 'My twitter title'), +(45386, 7868, '_yoast_wpseo_twitter-description', 'My twitter description'), +(45387, 7868, '_yoast_wpseo_twitter-image', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/84-1000x1000-1.jpg'), +(45388, 7868, '_yoast_wpseo_twitter-image-id', '362'), +(45389, 7868, '_yoast_wpseo_focuskw', 'My keyphrase'), +(45390, 7868, '_yoast_wpseo_metadesc', 'My meta description'), +(45391, 7868, '_yoast_wpseo_linkdex', '27'), +(45392, 7868, '_yoast_wpseo_content_score', '60'), +(45957, 7956, '_edit_lock', '1600299554:1'), +(45980, 7961, '__update', '1'), +(45993, 79, '__update', '1'), +(46013, 79, '_publicize_job_id', '23508272129'), +(46014, 79, 'timeline_notification', '1540323121'), +(46015, 90, '__update', '1'), +(46035, 90, 'timeline_notification', '1540323506'), +(46036, 90, '_publicize_job_id', '23508454437'), +(46037, 94, '__update', '1'), +(46051, 94, '_publicize_job_id', '23516779222'), +(46052, 94, 'timeline_notification', '1540344816'), +(46055, 95, '_wp_attached_file', '2018/10/aperture-vintage-346923-unsplash-scaled.jpg'), +(46056, 95, '__update', '1'), +(46076, 95, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:51:\"2018/10/aperture-vintage-346923-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:44:\"aperture-vintage-346923-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:45:\"aperture-vintage-346923-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:44:\"aperture-vintage-346923-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:44:\"aperture-vintage-346923-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:46:\"aperture-vintage-346923-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:46:\"aperture-vintage-346923-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:45:\"aperture-vintage-346923-unsplash-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:46:\"aperture-vintage-346923-unsplash-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:36:\"aperture-vintage-346923-unsplash.jpg\";}'), +(46077, 96, '_wp_attached_file', '2018/10/brandon-siu-608784-unsplash-scaled.jpg'), +(46078, 96, '__update', '1'), +(46098, 96, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1709;s:4:\"file\";s:46:\"2018/10/brandon-siu-608784-unsplash-scaled.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:39:\"brandon-siu-608784-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:40:\"brandon-siu-608784-unsplash-1024x684.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:684;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:39:\"brandon-siu-608784-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:39:\"brandon-siu-608784-unsplash-768x513.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:513;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:41:\"brandon-siu-608784-unsplash-1536x1025.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1025;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:41:\"brandon-siu-608784-unsplash-2048x1367.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1367;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:40:\"brandon-siu-608784-unsplash-1200x801.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:801;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:31:\"brandon-siu-608784-unsplash.jpg\";}'), +(46099, 97, '_wp_attached_file', '2018/10/casey-horner-512022-unsplash-scaled.jpg'), +(46100, 97, '__update', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(46120, 97, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1709;s:6:\"height\";i:2560;s:4:\"file\";s:47:\"2018/10/casey-horner-512022-unsplash-scaled.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:40:\"casey-horner-512022-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:41:\"casey-horner-512022-unsplash-684x1024.jpg\";s:5:\"width\";i:684;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:40:\"casey-horner-512022-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:41:\"casey-horner-512022-unsplash-768x1150.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:42:\"casey-horner-512022-unsplash-1025x1536.jpg\";s:5:\"width\";i:1025;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:42:\"casey-horner-512022-unsplash-1367x2048.jpg\";s:5:\"width\";i:1367;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:42:\"casey-horner-512022-unsplash-1980x2966.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2966;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:32:\"casey-horner-512022-unsplash.jpg\";}'), +(46121, 7981, '_wp_attached_file', '2018/10/daniel-leone-197357-unsplash-scaled.jpg'), +(46122, 7981, '__update', '1'), +(46142, 7981, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1619;s:4:\"file\";s:47:\"2018/10/daniel-leone-197357-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:40:\"daniel-leone-197357-unsplash-300x190.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:190;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:41:\"daniel-leone-197357-unsplash-1024x648.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:648;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:40:\"daniel-leone-197357-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:40:\"daniel-leone-197357-unsplash-768x486.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:486;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:41:\"daniel-leone-197357-unsplash-1536x972.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:972;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:42:\"daniel-leone-197357-unsplash-2048x1296.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1296;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:41:\"daniel-leone-197357-unsplash-1200x759.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:759;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:42:\"daniel-leone-197357-unsplash-1980x1253.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1253;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:32:\"daniel-leone-197357-unsplash.jpg\";}'), +(46143, 7985, '_wp_attached_file', '2018/10/daniel-olah-495967-unsplash.jpg'), +(46144, 7985, '__update', '1'), +(46164, 7985, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1342;s:6:\"height\";i:2300;s:4:\"file\";s:39:\"2018/10/daniel-olah-495967-unsplash.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:39:\"daniel-olah-495967-unsplash-175x300.jpg\";s:5:\"width\";i:175;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:40:\"daniel-olah-495967-unsplash-597x1024.jpg\";s:5:\"width\";i:597;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:39:\"daniel-olah-495967-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:40:\"daniel-olah-495967-unsplash-768x1316.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1316;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:40:\"daniel-olah-495967-unsplash-896x1536.jpg\";s:5:\"width\";i:896;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:41:\"daniel-olah-495967-unsplash-1195x2048.jpg\";s:5:\"width\";i:1195;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:41:\"daniel-olah-495967-unsplash-1200x2057.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:2057;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(46165, 100, '_wp_attached_file', '2018/10/federico-bottos-442265-unsplash-scaled.jpg'), +(46166, 100, '__update', '1'), +(46186, 100, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1567;s:6:\"height\";i:2560;s:4:\"file\";s:50:\"2018/10/federico-bottos-442265-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:43:\"federico-bottos-442265-unsplash-184x300.jpg\";s:5:\"width\";i:184;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:44:\"federico-bottos-442265-unsplash-627x1024.jpg\";s:5:\"width\";i:627;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:43:\"federico-bottos-442265-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:44:\"federico-bottos-442265-unsplash-768x1254.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1254;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:44:\"federico-bottos-442265-unsplash-940x1536.jpg\";s:5:\"width\";i:940;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:45:\"federico-bottos-442265-unsplash-1254x2048.jpg\";s:5:\"width\";i:1254;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:45:\"federico-bottos-442265-unsplash-1200x1960.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1960;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:45:\"federico-bottos-442265-unsplash-1980x3234.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:3234;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:35:\"federico-bottos-442265-unsplash.jpg\";}'), +(46187, 101, '_wp_attached_file', '2018/10/jordan-steranka-504707-unsplash-scaled.jpg'), +(46188, 101, '__update', '1'), +(46208, 101, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:50:\"2018/10/jordan-steranka-504707-unsplash-scaled.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:43:\"jordan-steranka-504707-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:44:\"jordan-steranka-504707-unsplash-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:43:\"jordan-steranka-504707-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:44:\"jordan-steranka-504707-unsplash-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:45:\"jordan-steranka-504707-unsplash-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:45:\"jordan-steranka-504707-unsplash-1365x2048.jpg\";s:5:\"width\";i:1365;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:45:\"jordan-steranka-504707-unsplash-1980x2970.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2970;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:35:\"jordan-steranka-504707-unsplash.jpg\";}'), +(46209, 102, '_wp_attached_file', '2018/10/kristopher-roller-110203-unsplash-scaled.jpg'), +(46210, 102, '__update', '1'), +(46230, 102, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:52:\"2018/10/kristopher-roller-110203-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:45:\"kristopher-roller-110203-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:46:\"kristopher-roller-110203-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:45:\"kristopher-roller-110203-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:45:\"kristopher-roller-110203-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:47:\"kristopher-roller-110203-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:47:\"kristopher-roller-110203-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:46:\"kristopher-roller-110203-unsplash-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:47:\"kristopher-roller-110203-unsplash-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:37:\"kristopher-roller-110203-unsplash.jpg\";}'), +(46231, 103, '_wp_attached_file', '2018/10/zoltan-tasi-482489-unsplash-scaled.jpg'), +(46232, 103, '__update', '1'), +(46252, 103, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1721;s:4:\"file\";s:46:\"2018/10/zoltan-tasi-482489-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:39:\"zoltan-tasi-482489-unsplash-300x202.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:202;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:40:\"zoltan-tasi-482489-unsplash-1024x688.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:688;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:39:\"zoltan-tasi-482489-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:39:\"zoltan-tasi-482489-unsplash-768x516.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:516;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:41:\"zoltan-tasi-482489-unsplash-1536x1033.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1033;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:41:\"zoltan-tasi-482489-unsplash-2048x1377.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1377;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:40:\"zoltan-tasi-482489-unsplash-1200x807.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:807;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:41:\"zoltan-tasi-482489-unsplash-1980x1331.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1331;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:31:\"zoltan-tasi-482489-unsplash.jpg\";}'), +(46253, 104, '_wp_attached_file', '2018/10/wordpress-logotype-standard.pdf'), +(46254, 104, '__update', '1'), +(46274, 104, '_wp_attachment_metadata', 'a:1:{s:5:\"sizes\";a:4:{s:4:\"full\";a:4:{s:4:\"file\";s:35:\"wordpress-logotype-standard-pdf.jpg\";s:5:\"width\";i:2489;s:6:\"height\";i:844;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:43:\"wordpress-logotype-standard-pdf-300x102.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:102;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:44:\"wordpress-logotype-standard-pdf-1024x347.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:347;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:42:\"wordpress-logotype-standard-pdf-150x51.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:51;s:9:\"mime-type\";s:10:\"image/jpeg\";}}}'), +(46275, 114, '__update', '1'), +(46289, 114, '_publicize_job_id', '23546760452'), +(46290, 114, '_oembed_944a224b79e1fa84b1bbff1ef070865d', '{{unknown}}'), +(46291, 116, '__update', '1'), +(46305, 8008, '__update', '1'), +(46312, 8010, '__update', '1'), +(46319, 8012, '__update', '1'), +(46326, 8014, '__update', '1'), +(46333, 8016, '__update', '1'), +(46340, 8018, '__update', '1'), +(46347, 8020, '__update', '1'), +(46354, 8022, '__update', '1'), +(46361, 8024, '__update', '1'), +(46368, 8026, '__update', '1'), +(46375, 8028, '__update', '1'), +(46382, 116, '_oembed_ac8faf3e9c1ecbb1e4a7822e5de0f91c', '{{unknown}}'), +(46383, 116, '_oembed_09b667afb24ec9ee8159aa80c3b91eea', ''), +(46384, 116, '_oembed_time_09b667afb24ec9ee8159aa80c3b91eea', '1540415866'), +(46385, 116, '_oembed_b6c3663b93d47ab8a76c323c6478521e', '{{unknown}}'), +(46386, 116, '_oembed_2be6dce6cba3a8e9ac2270cd0a70e4b6', '{{unknown}}'), +(46387, 116, '_oembed_585f0e6b33d094813de6769120b699be', ''), +(46388, 116, '_oembed_time_585f0e6b33d094813de6769120b699be', '1540414769'), +(46389, 116, '_publicize_job_id', '23547015390'), +(46390, 116, 'timeline_notification', '1540414771'), +(46391, 116, '_oembed_3c0d60710566c1e4af6491a3c6dfca43', ''), +(46392, 116, '_oembed_time_3c0d60710566c1e4af6491a3c6dfca43', '1540414774'), +(46393, 116, '_oembed_7b845488354869099c395911d9bd1655', '{{unknown}}'), +(46394, 116, '_oembed_7c6af4f5175700d48a188793b2f74fb5', '{{unknown}}'), +(46395, 116, '_oembed_842b5f83d01cb7a69c9880ae500b73c8', '{{unknown}}'), +(46396, 116, '_oembed_381b622c458b0a9437acd3dd36c925c4', '{{unknown}}'), +(46397, 116, '_oembed_5ebe65cc777ea63267ad32121292941c', '{{unknown}}'), +(46398, 116, '_oembed_f0778f11ce74ffc6522a583bccc146a2', '{{unknown}}'), +(46399, 116, '_oembed_42ad1a764873a8523a15987e8537948f', '{{unknown}}'), +(46400, 116, '_oembed_eaa8f79bb3124cc87e2397f0851cf910', '{{unknown}}'), +(46401, 116, '_oembed_799daec0c31d2d5636d39928845cf521', '{{unknown}}'), +(46402, 116, '_oembed_e0c7aca4be8e8fdc5476550b7634157d', ''), +(46403, 116, '_oembed_time_e0c7aca4be8e8fdc5476550b7634157d', '1540415032'), +(46404, 116, '_oembed_92ad456289284f38b17c61268815ee2c', '{{unknown}}'), +(46405, 116, '_oembed_4af0f3086bf3e109a84a376031f362a4', '{{unknown}}'), +(46406, 116, '_oembed_73096de60ee1111af117b81cc19dc3b5', '
    '), +(46407, 116, '_oembed_time_73096de60ee1111af117b81cc19dc3b5', '1540415267'), +(46408, 116, '_oembed_6c85e945fbd178b59a7d5a68b63dabfc', '
    '), +(46409, 116, '_oembed_time_6c85e945fbd178b59a7d5a68b63dabfc', '1540415279'), +(46410, 116, '_oembed_6c16740267948b5dd7780d377d3e5539', '
    '), +(46411, 116, '_oembed_time_6c16740267948b5dd7780d377d3e5539', '1540415588'), +(46412, 116, '_oembed_7a740f192c08218f528012a2a4fa7cd1', '
    '), +(46413, 116, '_oembed_cab7d6a86a5df265107ba8f6b4f5e7b8', '
    '), +(46414, 116, '_oembed_02ee719ca306b46a132d9eeb4724ffea', '{{unknown}}'), +(46415, 116, '_oembed_time_cab7d6a86a5df265107ba8f6b4f5e7b8', '1540415869'), +(46416, 116, '_oembed_70670379cae5981e237191ef6f3d112a', '
    '), +(46417, 116, '_oembed_time_70670379cae5981e237191ef6f3d112a', '1540415599'), +(46418, 116, '_oembed_time_7a740f192c08218f528012a2a4fa7cd1', '1540415686'), +(46419, 116, '_oembed_bd941b11d8fc62d43de7e5cefd79f80a', '
    '), +(46420, 116, '_oembed_time_bd941b11d8fc62d43de7e5cefd79f80a', '1540415869'), +(46421, 116, '_oembed_fb03bb0b9c9e7bf69eccd1e749e55745', '
    '), +(46422, 116, '_oembed_time_fb03bb0b9c9e7bf69eccd1e749e55745', '1540415855'), +(46423, 116, '_oembed_1053c82208000bb89f28e5e95da8665b', '
    '), +(46424, 116, '_oembed_time_1053c82208000bb89f28e5e95da8665b', '1540415870'), +(46425, 116, '_oembed_71e166d7c0822457b0612498340d0b3d', '
    '), +(46426, 116, '_oembed_time_71e166d7c0822457b0612498340d0b3d', '1540415898'), +(46427, 116, '_oembed_4a53eca1e78e2adc298e2fe62bc55717', '
    '), +(46428, 116, '_oembed_time_4a53eca1e78e2adc298e2fe62bc55717', '1540415898'), +(46429, 116, '_oembed_7382c3fd719817572fa67b8e8691deaa', '
    '), +(46430, 116, '_oembed_time_7382c3fd719817572fa67b8e8691deaa', '1540416048'), +(46431, 116, '_oembed_691498e19ae415959aa29d81a889d96c', '
    '), +(46432, 116, '_oembed_time_691498e19ae415959aa29d81a889d96c', '1540416057'), +(46433, 116, '_oembed_da7bc35eeaa34cf4d32bb77050420ec0', '
    '), +(46434, 116, '_oembed_time_da7bc35eeaa34cf4d32bb77050420ec0', '1540416058'), +(46435, 116, '_oembed_58be9b34a7dfd60efb4947b3233c90a3', '{{unknown}}'), +(46436, 116, '_oembed_5e2aba341574699c3997438590e4e227', '{{unknown}}'), +(46437, 116, '_oembed_f7f1eaf08ee7b0424f2899abf2d61405', '{{unknown}}'), +(46438, 116, '_oembed_ac13df148e895c701e0a0f84ba57613a', '
    '), +(46439, 116, '_oembed_time_ac13df148e895c701e0a0f84ba57613a', '1540416272'), +(46440, 116, '_oembed_448734004434240474152d48340efb4a', '
    '), +(46441, 116, '_oembed_time_448734004434240474152d48340efb4a', '1540416273'), +(46442, 116, '_oembed_d7bf4411dc209303cb86b6d647bfa528', '
    '), +(46443, 116, '_oembed_time_d7bf4411dc209303cb86b6d647bfa528', '1540416273'), +(46444, 122, '__update', '1'), +(46458, 122, '_publicize_job_id', '23547690444'), +(46459, 122, 'timeline_notification', '1540416266'), +(46460, 125, '__update', '1'), +(46474, 125, '_publicize_job_id', '23547921636'), +(46475, 125, 'timeline_notification', '1540416845'), +(46476, 128, '__update', '1'), +(46490, 128, 'timeline_notification', '1540418076'), +(46491, 128, '_publicize_job_id', '23548395290'), +(46492, 128, '_wp_old_slug', 'gutenberg-layout-page'), +(46534, 116, '_oembed_24f34eb93912978bac579c87fb591102', '
    My dream car. Pagani Zonda
    '), +(46535, 116, '_oembed_time_24f34eb93912978bac579c87fb591102', '1600377204'), +(46536, 116, '_oembed_f6abb0e0c18de769108bddf99ab66f35', '{{unknown}}'), +(46537, 116, '_oembed_c0adb69381ea2dc75081f49420641f6a', 'Tweets by wordpressdotcom'), +(46538, 116, '_oembed_time_c0adb69381ea2dc75081f49420641f6a', '1600377205'), +(46539, 116, '_oembed_f978386b1cda1bf7b1f8918e2b996815', ''), +(46540, 116, '_oembed_time_f978386b1cda1bf7b1f8918e2b996815', '1600377205'), +(46541, 116, '_oembed_a06fa1c80c1b4df7b3d05cbf4d798037', '{{unknown}}'), +(46542, 116, '_oembed_9dab016ba3dc6bedb3135111b973d088', '{{unknown}}'), +(46543, 116, '_oembed_88f6fbeebc867fc4e045e50c5891986f', '{{unknown}}'), +(46544, 116, '_oembed_e88b08fb1989a33bdcd6381971a7fd96', ''), +(46545, 116, '_oembed_time_e88b08fb1989a33bdcd6381971a7fd96', '1600377207'), +(46546, 116, '_oembed_2689431d391b550d5e1ea5c308fab281', ''), +(46547, 116, '_oembed_time_2689431d391b550d5e1ea5c308fab281', '1600377207'), +(46548, 116, '_oembed_93e4fb35ab2d8dcb607a948f5e9a0274', '\"star\"'), +(46549, 116, '_oembed_time_93e4fb35ab2d8dcb607a948f5e9a0274', '1600377208'), +(46550, 116, '_oembed_8413e2f5a1ec2d352aa22e8807b649df', ''), +(46551, 116, '_oembed_time_8413e2f5a1ec2d352aa22e8807b649df', '1600377208'), +(46587, 7956, '_wp_trash_meta_status', 'draft'), +(46588, 7956, '_wp_trash_meta_time', '1600356367'), +(46589, 7956, '_wp_desired_post_slug', ''), +(46591, 94, '_edit_lock', '1602040127:1'), +(46594, 128, '_edit_lock', '1600375745:1'), +(46611, 128, '_edit_last', '1'), +(46626, 128, '_yoast_wpseo_content_score', '90'), +(46627, 125, '_edit_lock', '1600376582:1'), +(46628, 122, '_edit_lock', '1602025482:1'), +(46629, 116, '_edit_lock', '1600377383:1'), +(46632, 114, '_edit_lock', '1600377407:1'), +(46635, 90, '_edit_lock', '1602025760:1'), +(46638, 79, '_edit_lock', '1600377429:1'), +(46659, 125, '_edit_last', '1'), +(46689, 122, '_edit_last', '1'), +(46704, 122, '_yoast_wpseo_content_score', '60'), +(46719, 116, '_edit_last', '1'), +(46734, 116, '_yoast_wpseo_content_score', '60'), +(46749, 114, '_edit_last', '1'), +(46763, 114, '_yoast_wpseo_content_score', '60'), +(46778, 94, '_edit_last', '1'), +(46793, 94, '_yoast_wpseo_content_score', '30'), +(46808, 90, '_edit_last', '1'), +(46822, 90, '_yoast_wpseo_content_score', '60'), +(46837, 79, '_edit_last', '1'), +(46852, 79, '_yoast_wpseo_content_score', '30'), +(47017, 125, '_yoast_wpseo_content_score', '60'), +(49322, 8449, '_wp_attached_file', 'woocommerce-placeholder.png'), +(49323, 8449, '__update', '1'), +(49343, 8449, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1200;s:6:\"height\";i:1200;s:4:\"file\";s:27:\"woocommerce-placeholder.png\";s:5:\"sizes\";a:4:{s:6:\"medium\";a:4:{s:4:\"file\";s:35:\"woocommerce-placeholder-300x300.png\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:37:\"woocommerce-placeholder-1024x1024.png\";s:5:\"width\";i:1024;s:6:\"height\";i:1024;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:35:\"woocommerce-placeholder-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:35:\"woocommerce-placeholder-768x768.png\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(49350, 8454, '__update', '1'), +(49364, 8457, '__update', '1'), +(49378, 8460, '__update', '1'), +(49392, 8463, '__update', '1'), +(49446, 8473, '__update', '1'), +(49453, 8475, '__update', '1'), +(49460, 8475, '_sku', 'woo-vneck-tee'), +(49461, 8475, 'total_sales', '0'), +(49462, 8475, '_tax_status', 'taxable'), +(49463, 8475, '_tax_class', ''), +(49464, 8475, '_manage_stock', 'no'), +(49465, 8475, '_backorders', 'no'), +(49466, 8475, '_sold_individually', 'no'), +(49467, 8475, '_virtual', 'no'), +(49468, 8475, '_downloadable', 'no'), +(49469, 8475, '_download_limit', '0'), +(49470, 8475, '_download_expiry', '0'), +(49471, 8475, '_stock', NULL), +(49472, 8475, '_stock_status', 'instock'), +(49473, 8475, '_wc_average_rating', '0'), +(49474, 8475, '_wc_review_count', '0'), +(49475, 8475, '_product_version', '4.5.2'), +(49477, 8477, '__update', '1'), +(49484, 8477, '_sku', 'woo-hoodie'), +(49485, 8477, 'total_sales', '0'), +(49486, 8477, '_tax_status', 'taxable'), +(49487, 8477, '_tax_class', ''), +(49488, 8477, '_manage_stock', 'no'), +(49489, 8477, '_backorders', 'no'), +(49490, 8477, '_sold_individually', 'no'), +(49491, 8477, '_virtual', 'no'), +(49492, 8477, '_downloadable', 'no'), +(49493, 8477, '_download_limit', '0'), +(49494, 8477, '_download_expiry', '0'), +(49495, 8477, '_stock', NULL), +(49496, 8477, '_stock_status', 'instock'), +(49497, 8477, '_wc_average_rating', '0'), +(49498, 8477, '_wc_review_count', '0'), +(49499, 8477, '_product_version', '4.5.2'), +(49501, 8479, '__update', '1'), +(49508, 8479, '_sku', 'woo-hoodie-with-logo'), +(49509, 8479, 'total_sales', '0'), +(49510, 8479, '_tax_status', 'taxable'), +(49511, 8479, '_tax_class', ''), +(49512, 8479, '_manage_stock', 'no'), +(49513, 8479, '_backorders', 'no'), +(49514, 8479, '_sold_individually', 'no'), +(49515, 8479, '_virtual', 'no'), +(49516, 8479, '_downloadable', 'no'), +(49517, 8479, '_download_limit', '0'), +(49518, 8479, '_download_expiry', '0'), +(49519, 8479, '_stock', NULL), +(49520, 8479, '_stock_status', 'instock'), +(49521, 8479, '_wc_average_rating', '0'), +(49522, 8479, '_wc_review_count', '0'), +(49523, 8479, '_product_version', '4.5.2'), +(49525, 8481, '__update', '1'), +(49532, 8481, '_sku', 'woo-tshirt'), +(49533, 8481, 'total_sales', '0'), +(49534, 8481, '_tax_status', 'taxable'), +(49535, 8481, '_tax_class', ''), +(49536, 8481, '_manage_stock', 'no'), +(49537, 8481, '_backorders', 'no'), +(49538, 8481, '_sold_individually', 'no'), +(49539, 8481, '_virtual', 'no'), +(49540, 8481, '_downloadable', 'no'), +(49541, 8481, '_download_limit', '0'), +(49542, 8481, '_download_expiry', '0'), +(49543, 8481, '_stock', NULL), +(49544, 8481, '_stock_status', 'instock'), +(49545, 8481, '_wc_average_rating', '0'), +(49546, 8481, '_wc_review_count', '0'), +(49547, 8481, '_product_version', '4.5.2'), +(49549, 8483, '__update', '1'), +(49556, 8483, '_sku', 'woo-beanie'), +(49557, 8483, 'total_sales', '0'), +(49558, 8483, '_tax_status', 'taxable'), +(49559, 8483, '_tax_class', ''), +(49560, 8483, '_manage_stock', 'no'), +(49561, 8483, '_backorders', 'no'), +(49562, 8483, '_sold_individually', 'no'), +(49563, 8483, '_virtual', 'no'), +(49564, 8483, '_downloadable', 'no'), +(49565, 8483, '_download_limit', '0'), +(49566, 8483, '_download_expiry', '0'), +(49567, 8483, '_stock', NULL), +(49568, 8483, '_stock_status', 'instock'), +(49569, 8483, '_wc_average_rating', '0'), +(49570, 8483, '_wc_review_count', '0'), +(49571, 8483, '_product_version', '4.5.2'), +(49573, 8485, '__update', '1'), +(49580, 8485, '_sku', 'woo-belt'), +(49581, 8485, 'total_sales', '0'), +(49582, 8485, '_tax_status', 'taxable'), +(49583, 8485, '_tax_class', ''), +(49584, 8485, '_manage_stock', 'no'), +(49585, 8485, '_backorders', 'no'), +(49586, 8485, '_sold_individually', 'no'), +(49587, 8485, '_virtual', 'no'), +(49588, 8485, '_downloadable', 'no'), +(49589, 8485, '_download_limit', '0'), +(49590, 8485, '_download_expiry', '0'), +(49591, 8485, '_stock', NULL), +(49592, 8485, '_stock_status', 'instock'), +(49593, 8485, '_wc_average_rating', '0'), +(49594, 8485, '_wc_review_count', '0'), +(49595, 8485, '_product_version', '4.5.2'), +(49597, 8487, '__update', '1'), +(49604, 8487, '_sku', 'woo-cap'), +(49605, 8487, 'total_sales', '0'), +(49606, 8487, '_tax_status', 'taxable'), +(49607, 8487, '_tax_class', ''), +(49608, 8487, '_manage_stock', 'no'), +(49609, 8487, '_backorders', 'no'), +(49610, 8487, '_sold_individually', 'no'), +(49611, 8487, '_virtual', 'no'), +(49612, 8487, '_downloadable', 'no'), +(49613, 8487, '_download_limit', '0'), +(49614, 8487, '_download_expiry', '0'), +(49615, 8487, '_stock', NULL), +(49616, 8487, '_stock_status', 'instock'), +(49617, 8487, '_wc_average_rating', '0'), +(49618, 8487, '_wc_review_count', '0'), +(49619, 8487, '_product_version', '4.5.2'), +(49621, 8489, '__update', '1'), +(49628, 8489, '_sku', 'woo-sunglasses'), +(49629, 8489, 'total_sales', '0'), +(49630, 8489, '_tax_status', 'taxable'), +(49631, 8489, '_tax_class', ''), +(49632, 8489, '_manage_stock', 'no'), +(49633, 8489, '_backorders', 'no'), +(49634, 8489, '_sold_individually', 'no'), +(49635, 8489, '_virtual', 'no'), +(49636, 8489, '_downloadable', 'no'), +(49637, 8489, '_download_limit', '0'), +(49638, 8489, '_download_expiry', '0'), +(49639, 8489, '_stock', NULL), +(49640, 8489, '_stock_status', 'instock'), +(49641, 8489, '_wc_average_rating', '0'), +(49642, 8489, '_wc_review_count', '0'), +(49643, 8489, '_product_version', '4.5.2'), +(49645, 8491, '__update', '1'), +(49652, 8491, '_sku', 'woo-hoodie-with-pocket'), +(49653, 8491, 'total_sales', '0'), +(49654, 8491, '_tax_status', 'taxable'), +(49655, 8491, '_tax_class', ''), +(49656, 8491, '_manage_stock', 'no'), +(49657, 8491, '_backorders', 'no'), +(49658, 8491, '_sold_individually', 'no'), +(49659, 8491, '_virtual', 'no'), +(49660, 8491, '_downloadable', 'no'), +(49661, 8491, '_download_limit', '0'), +(49662, 8491, '_download_expiry', '0'), +(49663, 8491, '_stock', NULL), +(49664, 8491, '_stock_status', 'instock'), +(49665, 8491, '_wc_average_rating', '0'), +(49666, 8491, '_wc_review_count', '0'), +(49667, 8491, '_product_version', '4.5.2'), +(49669, 8493, '__update', '1'), +(49676, 8493, '_sku', 'woo-hoodie-with-zipper'), +(49677, 8493, 'total_sales', '0'), +(49678, 8493, '_tax_status', 'taxable'), +(49679, 8493, '_tax_class', ''), +(49680, 8493, '_manage_stock', 'no'), +(49681, 8493, '_backorders', 'no'), +(49682, 8493, '_sold_individually', 'no'), +(49683, 8493, '_virtual', 'no'), +(49684, 8493, '_downloadable', 'no'), +(49685, 8493, '_download_limit', '0'), +(49686, 8493, '_download_expiry', '0'), +(49687, 8493, '_stock', NULL), +(49688, 8493, '_stock_status', 'instock'), +(49689, 8493, '_wc_average_rating', '0'), +(49690, 8493, '_wc_review_count', '0'), +(49691, 8493, '_product_version', '4.5.2'), +(49693, 8495, '__update', '1'), +(49700, 8495, '_sku', 'woo-long-sleeve-tee'), +(49701, 8495, 'total_sales', '0'), +(49702, 8495, '_tax_status', 'taxable'), +(49703, 8495, '_tax_class', ''), +(49704, 8495, '_manage_stock', 'no'), +(49705, 8495, '_backorders', 'no'), +(49706, 8495, '_sold_individually', 'no'), +(49707, 8495, '_virtual', 'no'), +(49708, 8495, '_downloadable', 'no'), +(49709, 8495, '_download_limit', '0'), +(49710, 8495, '_download_expiry', '0'), +(49711, 8495, '_stock', NULL), +(49712, 8495, '_stock_status', 'instock'), +(49713, 8495, '_wc_average_rating', '0'), +(49714, 8495, '_wc_review_count', '0'), +(49715, 8495, '_product_version', '4.5.2'), +(49717, 8497, '__update', '1'), +(49724, 8497, '_sku', 'woo-polo'), +(49725, 8497, 'total_sales', '0'), +(49726, 8497, '_tax_status', 'taxable'), +(49727, 8497, '_tax_class', ''), +(49728, 8497, '_manage_stock', 'no'), +(49729, 8497, '_backorders', 'no'), +(49730, 8497, '_sold_individually', 'no'), +(49731, 8497, '_virtual', 'no'), +(49732, 8497, '_downloadable', 'no'), +(49733, 8497, '_download_limit', '0'), +(49734, 8497, '_download_expiry', '0'), +(49735, 8497, '_stock', NULL), +(49736, 8497, '_stock_status', 'instock'), +(49737, 8497, '_wc_average_rating', '0'), +(49738, 8497, '_wc_review_count', '0'), +(49739, 8497, '_product_version', '4.5.2'), +(49741, 8499, '__update', '1'), +(49748, 8499, '_sku', 'woo-album'), +(49749, 8499, 'total_sales', '0'), +(49750, 8499, '_tax_status', 'taxable'), +(49751, 8499, '_tax_class', ''), +(49752, 8499, '_manage_stock', 'no'), +(49753, 8499, '_backorders', 'no'), +(49754, 8499, '_sold_individually', 'no'), +(49755, 8499, '_virtual', 'yes'), +(49756, 8499, '_downloadable', 'yes'), +(49757, 8499, '_download_limit', '1'), +(49758, 8499, '_download_expiry', '1'), +(49759, 8499, '_stock', NULL), +(49760, 8499, '_stock_status', 'instock'), +(49761, 8499, '_wc_average_rating', '0'), +(49762, 8499, '_wc_review_count', '0'), +(49763, 8499, '_product_version', '4.5.2'), +(49765, 8501, '__update', '1'), +(49772, 8501, '_sku', 'woo-single'), +(49773, 8501, 'total_sales', '0'), +(49774, 8501, '_tax_status', 'taxable'), +(49775, 8501, '_tax_class', ''), +(49776, 8501, '_manage_stock', 'no'), +(49777, 8501, '_backorders', 'no'), +(49778, 8501, '_sold_individually', 'no'), +(49779, 8501, '_virtual', 'yes'), +(49780, 8501, '_downloadable', 'yes'), +(49781, 8501, '_download_limit', '1'), +(49782, 8501, '_download_expiry', '1'), +(49783, 8501, '_stock', NULL), +(49784, 8501, '_stock_status', 'instock'), +(49785, 8501, '_wc_average_rating', '0'), +(49786, 8501, '_wc_review_count', '0'), +(49787, 8501, '_product_version', '4.5.2'), +(49789, 8503, '__update', '1'), +(49796, 8503, '_sku', 'woo-vneck-tee-red'), +(49797, 8503, 'total_sales', '0'), +(49798, 8503, '_tax_status', 'taxable'), +(49799, 8503, '_tax_class', ''), +(49800, 8503, '_manage_stock', 'no'), +(49801, 8503, '_backorders', 'no'), +(49802, 8503, '_sold_individually', 'no'), +(49803, 8503, '_virtual', 'no'), +(49804, 8503, '_downloadable', 'no'), +(49805, 8503, '_download_limit', '0'), +(49806, 8503, '_download_expiry', '0'), +(49807, 8503, '_stock', NULL), +(49808, 8503, '_stock_status', 'instock'), +(49809, 8503, '_wc_average_rating', '0'), +(49810, 8503, '_wc_review_count', '0'), +(49811, 8503, '_product_version', '4.5.2'), +(49813, 8505, '__update', '1'), +(49820, 8505, '_sku', 'woo-vneck-tee-green'), +(49821, 8505, 'total_sales', '0'), +(49822, 8505, '_tax_status', 'taxable'), +(49823, 8505, '_tax_class', ''), +(49824, 8505, '_manage_stock', 'no'), +(49825, 8505, '_backorders', 'no'), +(49826, 8505, '_sold_individually', 'no'), +(49827, 8505, '_virtual', 'no'), +(49828, 8505, '_downloadable', 'no'), +(49829, 8505, '_download_limit', '0'), +(49830, 8505, '_download_expiry', '0'), +(49831, 8505, '_stock', NULL), +(49832, 8505, '_stock_status', 'instock'), +(49833, 8505, '_wc_average_rating', '0'), +(49834, 8505, '_wc_review_count', '0'), +(49835, 8505, '_product_version', '4.5.2'), +(49837, 8507, '__update', '1'), +(49844, 8507, '_sku', 'woo-vneck-tee-blue'), +(49845, 8507, 'total_sales', '0'), +(49846, 8507, '_tax_status', 'taxable'), +(49847, 8507, '_tax_class', ''), +(49848, 8507, '_manage_stock', 'no'), +(49849, 8507, '_backorders', 'no'), +(49850, 8507, '_sold_individually', 'no'), +(49851, 8507, '_virtual', 'no'), +(49852, 8507, '_downloadable', 'no'), +(49853, 8507, '_download_limit', '0'), +(49854, 8507, '_download_expiry', '0'), +(49855, 8507, '_stock', NULL), +(49856, 8507, '_stock_status', 'instock'), +(49857, 8507, '_wc_average_rating', '0'), +(49858, 8507, '_wc_review_count', '0'), +(49859, 8507, '_product_version', '4.5.2'), +(49861, 8509, '__update', '1'), +(49868, 8509, '_sku', 'woo-hoodie-red'), +(49869, 8509, 'total_sales', '0'), +(49870, 8509, '_tax_status', 'taxable'), +(49871, 8509, '_tax_class', ''), +(49872, 8509, '_manage_stock', 'no'), +(49873, 8509, '_backorders', 'no'), +(49874, 8509, '_sold_individually', 'no'), +(49875, 8509, '_virtual', 'no'), +(49876, 8509, '_downloadable', 'no'), +(49877, 8509, '_download_limit', '0'), +(49878, 8509, '_download_expiry', '0'), +(49879, 8509, '_stock', NULL), +(49880, 8509, '_stock_status', 'instock'), +(49881, 8509, '_wc_average_rating', '0'), +(49882, 8509, '_wc_review_count', '0'), +(49883, 8509, '_product_version', '4.5.2'), +(49885, 8511, '__update', '1'), +(49892, 8511, '_sku', 'woo-hoodie-green'), +(49893, 8511, 'total_sales', '0'), +(49894, 8511, '_tax_status', 'taxable'), +(49895, 8511, '_tax_class', ''), +(49896, 8511, '_manage_stock', 'no'), +(49897, 8511, '_backorders', 'no'), +(49898, 8511, '_sold_individually', 'no'), +(49899, 8511, '_virtual', 'no'), +(49900, 8511, '_downloadable', 'no'), +(49901, 8511, '_download_limit', '0'), +(49902, 8511, '_download_expiry', '0'), +(49903, 8511, '_stock', NULL), +(49904, 8511, '_stock_status', 'instock'), +(49905, 8511, '_wc_average_rating', '0'), +(49906, 8511, '_wc_review_count', '0'), +(49907, 8511, '_product_version', '4.5.2'), +(49909, 8513, '__update', '1'), +(49916, 8513, '_sku', 'woo-hoodie-blue'), +(49917, 8513, 'total_sales', '0'), +(49918, 8513, '_tax_status', 'taxable'), +(49919, 8513, '_tax_class', ''), +(49920, 8513, '_manage_stock', 'no'), +(49921, 8513, '_backorders', 'no'), +(49922, 8513, '_sold_individually', 'no'), +(49923, 8513, '_virtual', 'no'), +(49924, 8513, '_downloadable', 'no'), +(49925, 8513, '_download_limit', '0'), +(49926, 8513, '_download_expiry', '0'), +(49927, 8513, '_stock', NULL), +(49928, 8513, '_stock_status', 'instock'), +(49929, 8513, '_wc_average_rating', '0'), +(49930, 8513, '_wc_review_count', '0'), +(49931, 8513, '_product_version', '4.5.2'), +(49933, 8515, '__update', '1'), +(49940, 8515, '_sku', 'Woo-tshirt-logo'), +(49941, 8515, 'total_sales', '0'), +(49942, 8515, '_tax_status', 'taxable'), +(49943, 8515, '_tax_class', ''), +(49944, 8515, '_manage_stock', 'no'), +(49945, 8515, '_backorders', 'no'), +(49946, 8515, '_sold_individually', 'no'), +(49947, 8515, '_virtual', 'no'), +(49948, 8515, '_downloadable', 'no'), +(49949, 8515, '_download_limit', '0'), +(49950, 8515, '_download_expiry', '0'), +(49951, 8515, '_stock', NULL), +(49952, 8515, '_stock_status', 'instock'), +(49953, 8515, '_wc_average_rating', '0'), +(49954, 8515, '_wc_review_count', '0'), +(49955, 8515, '_product_version', '4.5.2'), +(49957, 8517, '__update', '1'), +(49964, 8517, '_sku', 'Woo-beanie-logo'), +(49965, 8517, 'total_sales', '0'), +(49966, 8517, '_tax_status', 'taxable'), +(49967, 8517, '_tax_class', ''), +(49968, 8517, '_manage_stock', 'no'), +(49969, 8517, '_backorders', 'no'), +(49970, 8517, '_sold_individually', 'no'), +(49971, 8517, '_virtual', 'no'), +(49972, 8517, '_downloadable', 'no'), +(49973, 8517, '_download_limit', '0'), +(49974, 8517, '_download_expiry', '0'), +(49975, 8517, '_stock', NULL), +(49976, 8517, '_stock_status', 'instock'), +(49977, 8517, '_wc_average_rating', '0'), +(49978, 8517, '_wc_review_count', '0'), +(49979, 8517, '_product_version', '4.5.2'), +(49981, 8519, '__update', '1'), +(49988, 8519, '_sku', 'logo-collection'), +(49989, 8519, 'total_sales', '0'), +(49990, 8519, '_tax_status', 'taxable'), +(49991, 8519, '_tax_class', ''), +(49992, 8519, '_manage_stock', 'no'), +(49993, 8519, '_backorders', 'no'), +(49994, 8519, '_sold_individually', 'no'), +(49995, 8519, '_virtual', 'no'), +(49996, 8519, '_downloadable', 'no'), +(49997, 8519, '_download_limit', '0'), +(49998, 8519, '_download_expiry', '0'), +(49999, 8519, '_stock', NULL), +(50000, 8519, '_stock_status', 'instock'), +(50001, 8519, '_wc_average_rating', '0'), +(50002, 8519, '_wc_review_count', '0'), +(50003, 8519, '_product_version', '4.5.2'), +(50005, 8521, '__update', '1'), +(50012, 8521, '_sku', 'wp-pennant'), +(50013, 8521, 'total_sales', '0'), +(50014, 8521, '_tax_status', 'taxable'), +(50015, 8521, '_tax_class', ''), +(50016, 8521, '_manage_stock', 'no'), +(50017, 8521, '_backorders', 'no'), +(50018, 8521, '_sold_individually', 'no'), +(50019, 8521, '_virtual', 'no'), +(50020, 8521, '_downloadable', 'no'), +(50021, 8521, '_download_limit', '0'), +(50022, 8521, '_download_expiry', '0'), +(50023, 8521, '_stock', NULL), +(50024, 8521, '_stock_status', 'instock'), +(50025, 8521, '_wc_average_rating', '0'), +(50026, 8521, '_wc_review_count', '0'), +(50027, 8521, '_product_version', '4.5.2'), +(50029, 8523, '__update', '1'), +(50036, 8523, '_sku', 'woo-hoodie-blue-logo'), +(50037, 8523, 'total_sales', '0'), +(50038, 8523, '_tax_status', 'taxable'), +(50039, 8523, '_tax_class', ''), +(50040, 8523, '_manage_stock', 'no'), +(50041, 8523, '_backorders', 'no'), +(50042, 8523, '_sold_individually', 'no'), +(50043, 8523, '_virtual', 'no'), +(50044, 8523, '_downloadable', 'no'), +(50045, 8523, '_download_limit', '0'), +(50046, 8523, '_download_expiry', '0'), +(50047, 8523, '_stock', NULL), +(50048, 8523, '_stock_status', 'instock'), +(50049, 8523, '_wc_average_rating', '0'), +(50050, 8523, '_wc_review_count', '0'), +(50051, 8523, '_product_version', '4.5.2'), +(50053, 8525, '_wp_attached_file', '2020/09/vneck-tee-2.jpg'), +(50054, 8525, '__update', '1'), +(50074, 8525, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:800;s:4:\"file\";s:23:\"2020/09/vneck-tee-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-768x767.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:767;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:23:\"vneck-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50075, 8525, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/vneck-tee-2.jpg'), +(50076, 8529, '_wp_attached_file', '2020/09/vnech-tee-green-1.jpg'), +(50077, 8529, '__update', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(50097, 8529, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:29:\"2020/09/vnech-tee-green-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:29:\"vnech-tee-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50098, 8529, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/vnech-tee-green-1.jpg'), +(50099, 8533, '_wp_attached_file', '2020/09/vnech-tee-blue-1.jpg'), +(50100, 8533, '__update', '1'), +(50120, 8533, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:28:\"2020/09/vnech-tee-blue-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:28:\"vnech-tee-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50121, 8533, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/vnech-tee-blue-1.jpg'), +(50122, 8475, '_wpcom_is_markdown', '1'), +(50123, 8475, '_wp_old_slug', 'import-placeholder-for-44'), +(50124, 8475, '_product_image_gallery', '8529,8533'), +(50125, 8475, '_thumbnail_id', '8525'), +(50126, 8475, '_product_attributes', 'a:2:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"1\";}s:7:\"pa_size\";a:6:{s:4:\"name\";s:7:\"pa_size\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"1\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50127, 8537, '_wp_attached_file', '2020/09/hoodie-2.jpg'), +(50128, 8537, '__update', '1'), +(50148, 8537, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:20:\"2020/09/hoodie-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"hoodie-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"hoodie-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"hoodie-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"hoodie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"hoodie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"hoodie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"hoodie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"hoodie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"hoodie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50149, 8537, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-2.jpg'), +(50150, 8541, '_wp_attached_file', '2020/09/hoodie-blue-1.jpg'), +(50151, 8541, '__update', '1'), +(50171, 8541, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:25:\"2020/09/hoodie-blue-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:25:\"hoodie-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50172, 8541, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-blue-1.jpg'), +(50173, 8545, '_wp_attached_file', '2020/09/hoodie-green-1.jpg'), +(50174, 8545, '__update', '1'), +(50194, 8545, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:26:\"2020/09/hoodie-green-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:26:\"hoodie-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50195, 8545, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-green-1.jpg'), +(50196, 8549, '_wp_attached_file', '2020/09/hoodie-with-logo-2.jpg'), +(50197, 8549, '__update', '1'), +(50217, 8549, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:30:\"2020/09/hoodie-with-logo-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:30:\"hoodie-with-logo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50218, 8549, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-with-logo-2.jpg'), +(50219, 8477, '_wpcom_is_markdown', '1'), +(50220, 8477, '_wp_old_slug', 'import-placeholder-for-45'), +(50221, 8477, '_product_image_gallery', '8541,8545,8549'), +(50222, 8477, '_thumbnail_id', '8537'), +(50223, 8477, '_product_attributes', 'a:2:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"1\";}s:4:\"logo\";a:6:{s:4:\"name\";s:4:\"Logo\";s:5:\"value\";s:8:\"Yes | No\";s:8:\"position\";s:1:\"1\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"0\";}}'), +(50224, 8479, '_wpcom_is_markdown', '1'), +(50225, 8479, '_wp_old_slug', 'import-placeholder-for-46'), +(50226, 8479, '_regular_price', '45'), +(50227, 8479, '_thumbnail_id', '8549'), +(50228, 8479, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50229, 8479, '_price', '45'), +(50230, 8553, '_wp_attached_file', '2020/09/tshirt-2.jpg'), +(50231, 8553, '__update', '1'), +(50251, 8553, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:20:\"2020/09/tshirt-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"tshirt-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"tshirt-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"tshirt-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"tshirt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"tshirt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"tshirt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"tshirt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"tshirt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"tshirt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50252, 8553, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/tshirt-2.jpg'), +(50253, 8481, '_wpcom_is_markdown', '1'), +(50254, 8481, '_wp_old_slug', 'import-placeholder-for-47'), +(50255, 8481, '_regular_price', '18'), +(50256, 8481, '_thumbnail_id', '8553'), +(50257, 8481, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50258, 8481, '_price', '18'), +(50259, 8557, '_wp_attached_file', '2020/09/beanie-2.jpg'), +(50260, 8557, '__update', '1'), +(50280, 8557, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:20:\"2020/09/beanie-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"beanie-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"beanie-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"beanie-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"beanie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"beanie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"beanie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"beanie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"beanie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"beanie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50281, 8557, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/beanie-2.jpg'), +(50282, 8483, '_wpcom_is_markdown', '1'), +(50283, 8483, '_wp_old_slug', 'import-placeholder-for-48'), +(50284, 8483, '_regular_price', '20'), +(50285, 8483, '_sale_price', '18'), +(50286, 8483, '_thumbnail_id', '8557'), +(50287, 8483, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50288, 8483, '_price', '18'), +(50289, 8561, '_wp_attached_file', '2020/09/belt-2.jpg'), +(50290, 8561, '__update', '1'), +(50310, 8561, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:18:\"2020/09/belt-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:18:\"belt-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"belt-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:18:\"belt-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:18:\"belt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:18:\"belt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:18:\"belt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:18:\"belt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:18:\"belt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:18:\"belt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50311, 8561, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/belt-2.jpg'), +(50312, 8485, '_wpcom_is_markdown', '1'), +(50313, 8485, '_wp_old_slug', 'import-placeholder-for-58'), +(50314, 8485, '_regular_price', '65'), +(50315, 8485, '_sale_price', '55'), +(50316, 8485, '_thumbnail_id', '8561'), +(50317, 8485, '_price', '55'), +(50318, 8565, '_wp_attached_file', '2020/09/cap-2.jpg'), +(50319, 8565, '__update', '1'), +(50339, 8565, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:17:\"2020/09/cap-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:17:\"cap-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:17:\"cap-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:17:\"cap-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:17:\"cap-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:17:\"cap-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:17:\"cap-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:17:\"cap-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:17:\"cap-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:17:\"cap-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50340, 8565, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/cap-2.jpg'), +(50341, 8487, '_wpcom_is_markdown', '1'), +(50342, 8487, '_wp_old_slug', 'import-placeholder-for-60'), +(50343, 8487, '_regular_price', '18'), +(50344, 8487, '_sale_price', '16'), +(50345, 8487, '_thumbnail_id', '8565'), +(50346, 8487, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50347, 8487, '_price', '16'), +(50348, 8569, '_wp_attached_file', '2020/09/sunglasses-2.jpg'), +(50349, 8569, '__update', '1'), +(50369, 8569, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:24:\"2020/09/sunglasses-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:24:\"sunglasses-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50370, 8569, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/sunglasses-2.jpg'), +(50371, 8489, '_wpcom_is_markdown', '1'), +(50372, 8489, '_wp_old_slug', 'import-placeholder-for-62'), +(50373, 8489, '_regular_price', '90'), +(50374, 8489, '_thumbnail_id', '8569'), +(50375, 8489, '_price', '90'), +(50376, 8573, '_wp_attached_file', '2020/09/hoodie-with-pocket-2.jpg'), +(50377, 8573, '__update', '1'), +(50397, 8573, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:32:\"2020/09/hoodie-with-pocket-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50398, 8573, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-with-pocket-2.jpg'), +(50399, 8491, '_wpcom_is_markdown', '1'), +(50400, 8491, '_wp_old_slug', 'import-placeholder-for-64'), +(50401, 8491, '_regular_price', '45'), +(50402, 8491, '_sale_price', '35'), +(50403, 8491, '_thumbnail_id', '8573'), +(50404, 8491, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50405, 8491, '_price', '35'), +(50406, 8577, '_wp_attached_file', '2020/09/hoodie-with-zipper-2.jpg'), +(50407, 8577, '__update', '1'), +(50427, 8577, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:32:\"2020/09/hoodie-with-zipper-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50428, 8577, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-with-zipper-2.jpg'), +(50429, 8493, '_wpcom_is_markdown', '1'), +(50430, 8493, '_wp_old_slug', 'import-placeholder-for-66'), +(50431, 8493, '_regular_price', '45'), +(50432, 8493, '_thumbnail_id', '8577'), +(50433, 8493, '_price', '45'), +(50434, 8581, '_wp_attached_file', '2020/09/long-sleeve-tee-2.jpg'), +(50435, 8581, '__update', '1'), +(50455, 8581, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:29:\"2020/09/long-sleeve-tee-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:29:\"long-sleeve-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50456, 8581, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/long-sleeve-tee-2.jpg'), +(50457, 8495, '_wpcom_is_markdown', '1'), +(50458, 8495, '_wp_old_slug', 'import-placeholder-for-68'), +(50459, 8495, '_regular_price', '25'), +(50460, 8495, '_thumbnail_id', '8581'), +(50461, 8495, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50462, 8495, '_price', '25'), +(50463, 8585, '_wp_attached_file', '2020/09/polo-2.jpg'), +(50464, 8585, '__update', '1'), +(50484, 8585, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:800;s:4:\"file\";s:18:\"2020/09/polo-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:18:\"polo-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"polo-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:18:\"polo-2-768x767.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:767;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:18:\"polo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:18:\"polo-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:18:\"polo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:18:\"polo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:18:\"polo-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:18:\"polo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50485, 8585, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/polo-2.jpg'), +(50486, 8497, '_wpcom_is_markdown', '1'), +(50487, 8497, '_wp_old_slug', 'import-placeholder-for-70'), +(50488, 8497, '_regular_price', '20'), +(50489, 8497, '_thumbnail_id', '8585'), +(50490, 8497, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50491, 8497, '_price', '20'), +(50492, 8589, '_wp_attached_file', '2020/09/album-1.jpg'), +(50493, 8589, '__update', '1'), +(50513, 8589, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:19:\"2020/09/album-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:19:\"album-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:19:\"album-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:19:\"album-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:19:\"album-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:19:\"album-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:19:\"album-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:19:\"album-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:19:\"album-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:19:\"album-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50514, 8589, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/album-1.jpg'), +(50515, 8499, '_wpcom_is_markdown', '1'), +(50516, 8499, '_wp_old_slug', 'import-placeholder-for-73'), +(50517, 8499, '_regular_price', '15'), +(50518, 8499, '_thumbnail_id', '8589'), +(50519, 8499, '_downloadable_files', 'a:2:{s:36:\"c1953006-328f-44e0-a480-844968ae857a\";a:3:{s:2:\"id\";s:36:\"c1953006-328f-44e0-a480-844968ae857a\";s:4:\"name\";s:8:\"Single 1\";s:4:\"file\";s:85:\"https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg\";}s:36:\"3103181b-dc96-41c2-839d-83a1f6684326\";a:3:{s:2:\"id\";s:36:\"3103181b-dc96-41c2-839d-83a1f6684326\";s:4:\"name\";s:8:\"Single 2\";s:4:\"file\";s:84:\"https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/album.jpg\";}}'), +(50520, 8499, '_price', '15'), +(50521, 8593, '_wp_attached_file', '2020/09/single-1.jpg'), +(50522, 8593, '__update', '1'), +(50542, 8593, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:20:\"2020/09/single-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"single-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"single-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"single-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"single-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"single-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"single-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"single-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"single-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"single-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50543, 8593, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/single-1.jpg'), +(50544, 8501, '_wpcom_is_markdown', '1'), +(50545, 8501, '_wp_old_slug', 'import-placeholder-for-75'), +(50546, 8501, '_regular_price', '3'), +(50547, 8501, '_sale_price', '2'), +(50548, 8501, '_thumbnail_id', '8593'), +(50549, 8501, '_downloadable_files', 'a:1:{s:36:\"65608cc3-c4c3-4aaf-bae4-d3086a6d5583\";a:3:{s:2:\"id\";s:36:\"65608cc3-c4c3-4aaf-bae4-d3086a6d5583\";s:4:\"name\";s:6:\"Single\";s:4:\"file\";s:85:\"https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg\";}}'), +(50550, 8501, '_price', '2'), +(50551, 8503, '_wpcom_is_markdown', ''), +(50552, 8503, '_wp_old_slug', 'import-placeholder-for-76'), +(50553, 8503, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50554, 8503, '_regular_price', '20'), +(50555, 8503, '_thumbnail_id', '8525'), +(50556, 8503, 'attribute_pa_color', 'red'), +(50557, 8503, 'attribute_pa_size', ''), +(50558, 8503, '_price', '20'), +(50559, 8505, '_wpcom_is_markdown', ''), +(50560, 8505, '_wp_old_slug', 'import-placeholder-for-77'), +(50561, 8505, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50562, 8505, '_regular_price', '20'), +(50563, 8505, '_thumbnail_id', '8529'), +(50564, 8505, 'attribute_pa_color', 'green'), +(50565, 8505, 'attribute_pa_size', ''), +(50566, 8505, '_price', '20'), +(50567, 8507, '_wpcom_is_markdown', ''), +(50568, 8507, '_wp_old_slug', 'import-placeholder-for-78'), +(50569, 8507, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50570, 8507, '_regular_price', '15'), +(50571, 8507, '_thumbnail_id', '8533'), +(50572, 8507, 'attribute_pa_color', 'blue'), +(50573, 8507, 'attribute_pa_size', ''), +(50574, 8507, '_price', '15'), +(50575, 8509, '_wpcom_is_markdown', ''), +(50576, 8509, '_wp_old_slug', 'import-placeholder-for-79'), +(50577, 8509, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50578, 8509, '_regular_price', '45'), +(50579, 8509, '_sale_price', '42'), +(50580, 8509, '_thumbnail_id', '8537'), +(50581, 8509, 'attribute_pa_color', 'red'), +(50582, 8509, 'attribute_logo', 'No'), +(50583, 8509, '_price', '42'), +(50584, 8511, '_wpcom_is_markdown', ''), +(50585, 8511, '_wp_old_slug', 'import-placeholder-for-80'), +(50586, 8511, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50587, 8511, '_regular_price', '45'), +(50588, 8511, '_thumbnail_id', '8545'), +(50589, 8511, 'attribute_pa_color', 'green'), +(50590, 8511, 'attribute_logo', 'No'), +(50591, 8511, '_price', '45'), +(50592, 8513, '_wpcom_is_markdown', ''), +(50593, 8513, '_wp_old_slug', 'import-placeholder-for-81'), +(50594, 8513, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50595, 8513, '_regular_price', '45'), +(50596, 8513, '_thumbnail_id', '8541'), +(50597, 8513, 'attribute_pa_color', 'blue'), +(50598, 8513, 'attribute_logo', 'No'), +(50599, 8513, '_price', '45'), +(50600, 8597, '_wp_attached_file', '2020/09/t-shirt-with-logo-1.jpg'), +(50601, 8597, '__update', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(50621, 8597, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:31:\"2020/09/t-shirt-with-logo-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50622, 8597, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/t-shirt-with-logo-1.jpg'), +(50623, 8515, '_wpcom_is_markdown', '1'), +(50624, 8515, '_wp_old_slug', 'import-placeholder-for-83'), +(50625, 8515, '_regular_price', '18'), +(50626, 8515, '_thumbnail_id', '8597'), +(50627, 8515, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50628, 8515, '_price', '18'), +(50629, 8601, '_wp_attached_file', '2020/09/beanie-with-logo-1.jpg'), +(50630, 8601, '__update', '1'), +(50650, 8601, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:30:\"2020/09/beanie-with-logo-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:30:\"beanie-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50651, 8601, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/beanie-with-logo-1.jpg'), +(50652, 8517, '_wpcom_is_markdown', '1'), +(50653, 8517, '_wp_old_slug', 'import-placeholder-for-85'), +(50654, 8517, '_regular_price', '20'), +(50655, 8517, '_sale_price', '18'), +(50656, 8517, '_thumbnail_id', '8601'), +(50657, 8517, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50658, 8517, '_price', '18'), +(50659, 8605, '_wp_attached_file', '2020/09/logo-1.jpg'), +(50660, 8605, '__update', '1'), +(50680, 8605, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:799;s:4:\"file\";s:18:\"2020/09/logo-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:18:\"logo-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"logo-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:18:\"logo-1-768x767.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:767;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:18:\"logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:18:\"logo-1-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:18:\"logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:18:\"logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:18:\"logo-1-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:18:\"logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50681, 8605, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/logo-1.jpg'), +(50682, 8519, '_wpcom_is_markdown', '1'), +(50683, 8519, '_wp_old_slug', 'import-placeholder-for-87'), +(50684, 8519, '_children', 'a:3:{i:0;i:8479;i:1;i:8481;i:2;i:8483;}'), +(50685, 8519, '_product_image_gallery', '8601,8597,8549'), +(50686, 8519, '_thumbnail_id', '8605'), +(50687, 8519, '_price', '18'), +(50688, 8519, '_price', '45'), +(50689, 8609, '_wp_attached_file', '2020/09/pennant-1.jpg'), +(50690, 8609, '__update', '1'), +(50710, 8609, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:21:\"2020/09/pennant-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:21:\"pennant-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:21:\"pennant-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:21:\"pennant-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:21:\"pennant-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:21:\"pennant-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:21:\"pennant-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:21:\"pennant-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:21:\"pennant-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:21:\"pennant-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50711, 8609, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/pennant-1.jpg'), +(50712, 8521, '_wpcom_is_markdown', '1'), +(50713, 8521, '_wp_old_slug', 'import-placeholder-for-89'), +(50714, 8521, '_regular_price', '11.05'), +(50715, 8521, '_thumbnail_id', '8609'), +(50716, 8521, '_product_url', 'https://mercantile.wordpress.org/product/wordpress-pennant/'), +(50717, 8521, '_button_text', 'Buy on the WordPress swag store!'), +(50718, 8521, '_price', '11.05'), +(50719, 8475, '_price', '15'), +(50720, 8475, '_price', '20'), +(50729, 8523, '_wpcom_is_markdown', ''), +(50730, 8523, '_wp_old_slug', 'import-placeholder-for-90'), +(50731, 8523, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50732, 8523, '_regular_price', '45'), +(50733, 8523, '_thumbnail_id', '8549'), +(50734, 8523, 'attribute_pa_color', 'blue'), +(50735, 8523, 'attribute_logo', 'Yes'), +(50736, 8523, '_price', '45'), +(50743, 8477, '_price', '42'), +(50744, 8477, '_price', '45'), +(50942, 8644, '__update', '1'), +(51864, 8521, '_edit_lock', '1600488655:1'), +(52809, 8521, '_edit_last', '1'), +(52823, 8521, '_yoast_wpseo_content_score', '60'), +(53168, 8964, '_edit_lock', '1601944984:1'), +(53171, 8964, '__update', '1'), +(53185, 8964, '_edit_last', '1'), +(53186, 8964, 'range_field', '0'), +(53187, 8964, '_range_field', 'field_5f47e967644b1'), +(53188, 8964, 'text_field', ''), +(53189, 8964, '_text_field', 'field_5f47e986644b2'), +(53190, 8964, 'text_area_field', ''), +(53191, 8964, '_text_area_field', 'field_5f47e993644b3'), +(53192, 8964, 'button_group_field', 'button1'), +(53193, 8964, '_button_group_field', 'field_5f47e99f644b4'), +(53194, 8964, 'checkbox_field', ''), +(53195, 8964, '_checkbox_field', 'field_5f47e9c5644b5'), +(53196, 8964, 'radio_button_field', 'radiobutton1'), +(53197, 8964, '_radio_button_field', 'field_5f47e9f3644b6'), +(53198, 8964, 'select_field', 'select1'), +(53199, 8964, '_select_field', 'field_5f47ea12644b7'), +(53200, 8964, 'true_false_field', '0'), +(53201, 8964, '_true_false_field', 'field_5f47ea28644b8'), +(53202, 8964, 'file_field', ''), +(53203, 8964, '_file_field', 'field_5f47ea3f644b9'), +(53204, 8964, 'gallery_field', ''), +(53205, 8964, '_gallery_field', 'field_5f47ea4a644ba'), +(53206, 8964, 'image_field', ''), +(53207, 8964, '_image_field', 'field_5f47ea53644bb'), +(53208, 8964, 'oembed_field', ''), +(53209, 8964, '_oembed_field', 'field_5f47ea5b644bc'), +(53210, 8964, 'wysiwyg_editor_field', ''), +(53211, 8964, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(53212, 8964, 'color_picker_field', ''), +(53213, 8964, '_color_picker_field', 'field_5f47ea75644be'), +(53214, 8964, 'date_picker_field', ''), +(53215, 8964, '_date_picker_field', 'field_5f47ea7f644bf'), +(53216, 8964, 'date_time_picker_field', ''), +(53217, 8964, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(53218, 8964, 'google_map_field', ''), +(53219, 8964, '_google_map_field', 'field_5f47ea9d644c1'), +(53220, 8964, 'time_picker', ''), +(53221, 8964, '_time_picker', 'field_5f47eaa7644c2'), +(53222, 8964, 'flexible_content_field', ''), +(53223, 8964, '_flexible_content_field', 'field_5f47eadf644c4'), +(53224, 8964, 'repeater_field', ''), +(53225, 8964, '_repeater_field', 'field_5f47eaf8644c6'), +(53226, 8964, 'clone_field', ''), +(53227, 8964, '_clone_field', 'field_5f47eb4b644c8'), +(53228, 8964, 'link_field', ''), +(53229, 8964, '_link_field', 'field_5f47eb54644c9'), +(53230, 8964, 'page_link_field', ''), +(53231, 8964, '_page_link_field', 'field_5f47eb5e644ca'), +(53232, 8964, 'post_object_field', ''), +(53233, 8964, '_post_object_field', 'field_5f47eb69644cb'), +(53234, 8964, 'relationship_field', ''), +(53235, 8964, '_relationship_field', 'field_5f47eb74644cc'), +(53236, 8964, 'taxonomy_field', ''), +(53237, 8964, '_taxonomy_field', 'field_5f47edce644cd'), +(53238, 8964, 'user_field', ''), +(53239, 8964, '_user_field', 'field_5f47eddc644ce'), +(53240, 8964, '_yoast_wpseo_content_score', '30'), +(54508, 2, 'range_field', '0'), +(54509, 2, '_range_field', 'field_5f47e967644b1'), +(54510, 2, 'text_field', ''), +(54511, 2, '_text_field', 'field_5f47e986644b2'), +(54512, 2, 'text_area_field', ''), +(54513, 2, '_text_area_field', 'field_5f47e993644b3'), +(54514, 2, 'button_group_field', 'button1'), +(54515, 2, '_button_group_field', 'field_5f47e99f644b4'), +(54516, 2, 'checkbox_field', ''), +(54517, 2, '_checkbox_field', 'field_5f47e9c5644b5'), +(54518, 2, 'radio_button_field', 'radiobutton1'), +(54519, 2, '_radio_button_field', 'field_5f47e9f3644b6'), +(54520, 2, 'select_field', 'select1'), +(54521, 2, '_select_field', 'field_5f47ea12644b7'), +(54522, 2, 'true_false_field', '0'), +(54523, 2, '_true_false_field', 'field_5f47ea28644b8'), +(54524, 2, 'file_field', ''), +(54525, 2, '_file_field', 'field_5f47ea3f644b9'), +(54526, 2, 'gallery_field', ''), +(54527, 2, '_gallery_field', 'field_5f47ea4a644ba'), +(54528, 2, 'image_field', ''), +(54529, 2, '_image_field', 'field_5f47ea53644bb'), +(54530, 2, 'oembed_field', ''), +(54531, 2, '_oembed_field', 'field_5f47ea5b644bc'), +(54532, 2, 'wysiwyg_editor_field', ''), +(54533, 2, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(54534, 2, 'color_picker_field', ''), +(54535, 2, '_color_picker_field', 'field_5f47ea75644be'), +(54536, 2, 'date_picker_field', ''), +(54537, 2, '_date_picker_field', 'field_5f47ea7f644bf'), +(54538, 2, 'date_time_picker_field', ''), +(54539, 2, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(54540, 2, 'google_map_field', ''), +(54541, 2, '_google_map_field', 'field_5f47ea9d644c1'), +(54542, 2, 'time_picker', ''), +(54543, 2, '_time_picker', 'field_5f47eaa7644c2'), +(54544, 2, 'flexible_content_field', ''), +(54545, 2, '_flexible_content_field', 'field_5f47eadf644c4'), +(54546, 2, 'repeater_field', ''), +(54547, 2, '_repeater_field', 'field_5f47eaf8644c6'), +(54548, 2, 'clone_field', ''), +(54549, 2, '_clone_field', 'field_5f47eb4b644c8'), +(54550, 2, 'link_field', ''), +(54551, 2, '_link_field', 'field_5f47eb54644c9'), +(54552, 2, 'page_link_field', ''), +(54553, 2, '_page_link_field', 'field_5f47eb5e644ca'), +(54554, 2, 'post_object_field', ''), +(54555, 2, '_post_object_field', 'field_5f47eb69644cb'), +(54556, 2, 'relationship_field', ''), +(54557, 2, '_relationship_field', 'field_5f47eb74644cc'), +(54558, 2, 'taxonomy_field', ''), +(54559, 2, '_taxonomy_field', 'field_5f47edce644cd'), +(54560, 2, 'user_field', ''), +(54561, 2, '_user_field', 'field_5f47eddc644ce'), +(54925, 9204, '_wp_attached_file', '2020/09/windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939.jpg'), +(54926, 9204, '__update', '1'), +(54946, 9204, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:64:\"2020/09/windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939.jpg\";s:5:\"sizes\";a:13:{s:6:\"medium\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:65:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:65:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:66:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:66:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-1366x2048.jpg\";s:5:\"width\";i:1366;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:66:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-1200x1800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:34:\"windows-W1N58KDE8r0-unsplash-1.jpg\";}'), +(54947, 9208, '_edit_lock', '1601597226:1'), +(54950, 9210, '_wp_attached_file', '2020/09/windows-W1N58KDE8r0-unsplash-scaled-e1600819062167.jpg'), +(54951, 9210, '__update', '1'), +(54971, 9210, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1708;s:4:\"file\";s:62:\"2020/09/windows-W1N58KDE8r0-unsplash-scaled-e1600819062167.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:63:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1536x1025.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1025;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-2048x1366.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1366;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1980x1321.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1321;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-600x400.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:400;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-600x400.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:400;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:63:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1200x801.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:801;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:32:\"windows-W1N58KDE8r0-unsplash.jpg\";}'), +(54978, 9210, '_wp_attachment_backup_sizes', 'a:14:{s:9:\"full-orig\";a:3:{s:5:\"width\";i:1708;s:6:\"height\";i:2560;s:4:\"file\";s:39:\"windows-W1N58KDE8r0-unsplash-scaled.jpg\";}s:14:\"thumbnail-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"medium-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"medium_large-orig\";a:4:{s:4:\"file\";s:41:\"windows-W1N58KDE8r0-unsplash-768x1151.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1151;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:10:\"large-orig\";a:4:{s:4:\"file\";s:41:\"windows-W1N58KDE8r0-unsplash-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"1536x1536-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1025x1536.jpg\";s:5:\"width\";i:1025;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"2048x2048-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1366x2048.jpg\";s:5:\"width\";i:1366;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:28:\"twentytwenty-fullscreen-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1980x2969.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2969;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:26:\"woocommerce_thumbnail-orig\";a:5:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:23:\"woocommerce_single-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:34:\"woocommerce_gallery_thumbnail-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"shop_catalog-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:16:\"shop_single-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:19:\"shop_thumbnail-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}'), +(54979, 9208, '__update', '1'), +(54993, 9208, '_edit_last', '1'), +(55007, 9208, 'range_field', '0'), +(55008, 9208, '_range_field', 'field_5f47e967644b1'), +(55009, 9208, 'text_field', ''), +(55010, 9208, '_text_field', 'field_5f47e986644b2'), +(55011, 9208, 'text_area_field', ''), +(55012, 9208, '_text_area_field', 'field_5f47e993644b3'), +(55013, 9208, 'button_group_field', 'button1'), +(55014, 9208, '_button_group_field', 'field_5f47e99f644b4'), +(55015, 9208, 'checkbox_field', ''), +(55016, 9208, '_checkbox_field', 'field_5f47e9c5644b5'), +(55017, 9208, 'radio_button_field', 'radiobutton1'), +(55018, 9208, '_radio_button_field', 'field_5f47e9f3644b6'), +(55019, 9208, 'select_field', 'select1'), +(55020, 9208, '_select_field', 'field_5f47ea12644b7'), +(55021, 9208, 'true_false_field', '0'), +(55022, 9208, '_true_false_field', 'field_5f47ea28644b8'), +(55023, 9208, 'file_field', ''), +(55024, 9208, '_file_field', 'field_5f47ea3f644b9'), +(55025, 9208, 'gallery_field', ''), +(55026, 9208, '_gallery_field', 'field_5f47ea4a644ba'), +(55027, 9208, 'image_field', ''), +(55028, 9208, '_image_field', 'field_5f47ea53644bb'), +(55029, 9208, 'oembed_field', ''), +(55030, 9208, '_oembed_field', 'field_5f47ea5b644bc'), +(55031, 9208, 'wysiwyg_editor_field', ''), +(55032, 9208, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(55033, 9208, 'color_picker_field', ''), +(55034, 9208, '_color_picker_field', 'field_5f47ea75644be'), +(55035, 9208, 'date_picker_field', ''), +(55036, 9208, '_date_picker_field', 'field_5f47ea7f644bf'), +(55037, 9208, 'date_time_picker_field', ''), +(55038, 9208, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(55039, 9208, 'google_map_field', ''), +(55040, 9208, '_google_map_field', 'field_5f47ea9d644c1'), +(55041, 9208, 'time_picker', ''), +(55042, 9208, '_time_picker', 'field_5f47eaa7644c2'), +(55043, 9208, 'flexible_content_field', ''), +(55044, 9208, '_flexible_content_field', 'field_5f47eadf644c4'), +(55045, 9208, 'repeater_field', ''), +(55046, 9208, '_repeater_field', 'field_5f47eaf8644c6'), +(55047, 9208, 'clone_field', ''), +(55048, 9208, '_clone_field', 'field_5f47eb4b644c8'), +(55049, 9208, 'link_field', ''), +(55050, 9208, '_link_field', 'field_5f47eb54644c9'), +(55051, 9208, 'page_link_field', ''), +(55052, 9208, '_page_link_field', 'field_5f47eb5e644ca'), +(55053, 9208, 'post_object_field', ''), +(55054, 9208, '_post_object_field', 'field_5f47eb69644cb'), +(55055, 9208, 'relationship_field', ''), +(55056, 9208, '_relationship_field', 'field_5f47eb74644cc'), +(55057, 9208, 'taxonomy_field', ''), +(55058, 9208, '_taxonomy_field', 'field_5f47edce644cd'), +(55059, 9208, 'user_field', ''), +(55060, 9208, '_user_field', 'field_5f47eddc644ce'), +(55061, 9208, '_yoast_wpseo_content_score', '30'), +(55062, 9219, '_edit_lock', '1600825221:1'), +(55065, 9219, '__update', '1'), +(55079, 9219, '_edit_last', '1'), +(55093, 9219, 'range_field', '0'), +(55094, 9219, '_range_field', 'field_5f47e967644b1'), +(55095, 9219, 'text_field', ''), +(55096, 9219, '_text_field', 'field_5f47e986644b2'), +(55097, 9219, 'text_area_field', ''), +(55098, 9219, '_text_area_field', 'field_5f47e993644b3'), +(55099, 9219, 'button_group_field', 'button1'), +(55100, 9219, '_button_group_field', 'field_5f47e99f644b4'), +(55101, 9219, 'checkbox_field', ''), +(55102, 9219, '_checkbox_field', 'field_5f47e9c5644b5'), +(55103, 9219, 'radio_button_field', 'radiobutton1'), +(55104, 9219, '_radio_button_field', 'field_5f47e9f3644b6'), +(55105, 9219, 'select_field', 'select1'), +(55106, 9219, '_select_field', 'field_5f47ea12644b7'), +(55107, 9219, 'true_false_field', '0'), +(55108, 9219, '_true_false_field', 'field_5f47ea28644b8'), +(55109, 9219, 'file_field', ''), +(55110, 9219, '_file_field', 'field_5f47ea3f644b9'), +(55111, 9219, 'gallery_field', ''), +(55112, 9219, '_gallery_field', 'field_5f47ea4a644ba'), +(55113, 9219, 'image_field', ''), +(55114, 9219, '_image_field', 'field_5f47ea53644bb'), +(55115, 9219, 'oembed_field', ''), +(55116, 9219, '_oembed_field', 'field_5f47ea5b644bc'), +(55117, 9219, 'wysiwyg_editor_field', ''), +(55118, 9219, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(55119, 9219, 'color_picker_field', ''), +(55120, 9219, '_color_picker_field', 'field_5f47ea75644be'), +(55121, 9219, 'date_picker_field', ''), +(55122, 9219, '_date_picker_field', 'field_5f47ea7f644bf'), +(55123, 9219, 'date_time_picker_field', ''), +(55124, 9219, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(55125, 9219, 'google_map_field', ''), +(55126, 9219, '_google_map_field', 'field_5f47ea9d644c1'), +(55127, 9219, 'time_picker', ''), +(55128, 9219, '_time_picker', 'field_5f47eaa7644c2'), +(55129, 9219, 'flexible_content_field', ''), +(55130, 9219, '_flexible_content_field', 'field_5f47eadf644c4'), +(55131, 9219, 'repeater_field', ''), +(55132, 9219, '_repeater_field', 'field_5f47eaf8644c6'), +(55133, 9219, 'clone_field', ''), +(55134, 9219, '_clone_field', 'field_5f47eb4b644c8'), +(55135, 9219, 'link_field', ''), +(55136, 9219, '_link_field', 'field_5f47eb54644c9'), +(55137, 9219, 'page_link_field', ''), +(55138, 9219, '_page_link_field', 'field_5f47eb5e644ca'), +(55139, 9219, 'post_object_field', ''), +(55140, 9219, '_post_object_field', 'field_5f47eb69644cb'), +(55141, 9219, 'relationship_field', ''), +(55142, 9219, '_relationship_field', 'field_5f47eb74644cc'), +(55143, 9219, 'taxonomy_field', ''), +(55144, 9219, '_taxonomy_field', 'field_5f47edce644cd'), +(55145, 9219, 'user_field', ''), +(55146, 9219, '_user_field', 'field_5f47eddc644ce'), +(55147, 9219, '_yoast_wpseo_content_score', '30'), +(55154, 9204, '_wp_attachment_backup_sizes', 'a:14:{s:9:\"full-orig\";a:3:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:41:\"windows-W1N58KDE8r0-unsplash-1-scaled.jpg\";}s:14:\"thumbnail-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"medium-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"medium_large-orig\";a:4:{s:4:\"file\";s:43:\"windows-W1N58KDE8r0-unsplash-1-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:10:\"large-orig\";a:4:{s:4:\"file\";s:43:\"windows-W1N58KDE8r0-unsplash-1-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"1536x1536-orig\";a:4:{s:4:\"file\";s:44:\"windows-W1N58KDE8r0-unsplash-1-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"2048x2048-orig\";a:4:{s:4:\"file\";s:44:\"windows-W1N58KDE8r0-unsplash-1-1366x2048.jpg\";s:5:\"width\";i:1366;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:19:\"post-thumbnail-orig\";a:4:{s:4:\"file\";s:44:\"windows-W1N58KDE8r0-unsplash-1-1200x1799.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1799;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:26:\"woocommerce_thumbnail-orig\";a:5:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:23:\"woocommerce_single-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:34:\"woocommerce_gallery_thumbnail-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"shop_catalog-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:16:\"shop_single-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:19:\"shop_thumbnail-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}'), +(56086, 9361, '_edit_lock', '1601340148:1'), +(56142, 9361, '__update', '1'), +(56156, 9361, '_edit_last', '1'), +(56158, 9361, '_yoast_wpseo_primary_category', '71'), +(56546, 9431, '_edit_lock', '1600986661:1'), +(56549, 9431, '__update', ''), +(56563, 9431, '_edit_last', '1'), +(56577, 9431, 'range_field', '0'), +(56578, 9431, '_range_field', 'field_5f47e967644b1'), +(56579, 9431, 'text_field', ''), +(56580, 9431, '_text_field', 'field_5f47e986644b2'), +(56581, 9431, 'text_area_field', ''), +(56582, 9431, '_text_area_field', 'field_5f47e993644b3'), +(56583, 9431, 'button_group_field', 'button1'), +(56584, 9431, '_button_group_field', 'field_5f47e99f644b4'), +(56585, 9431, 'checkbox_field', ''), +(56586, 9431, '_checkbox_field', 'field_5f47e9c5644b5'), +(56587, 9431, 'radio_button_field', 'radiobutton1'), +(56588, 9431, '_radio_button_field', 'field_5f47e9f3644b6'), +(56589, 9431, 'select_field', 'select1'), +(56590, 9431, '_select_field', 'field_5f47ea12644b7'), +(56591, 9431, 'true_false_field', '0'), +(56592, 9431, '_true_false_field', 'field_5f47ea28644b8'), +(56593, 9431, 'file_field', ''), +(56594, 9431, '_file_field', 'field_5f47ea3f644b9'), +(56595, 9431, 'gallery_field', ''), +(56596, 9431, '_gallery_field', 'field_5f47ea4a644ba'), +(56597, 9431, 'image_field', ''), +(56598, 9431, '_image_field', 'field_5f47ea53644bb'), +(56599, 9431, 'oembed_field', ''), +(56600, 9431, '_oembed_field', 'field_5f47ea5b644bc'), +(56601, 9431, 'wysiwyg_editor_field', ''), +(56602, 9431, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(56603, 9431, 'color_picker_field', ''), +(56604, 9431, '_color_picker_field', 'field_5f47ea75644be'), +(56605, 9431, 'date_picker_field', ''), +(56606, 9431, '_date_picker_field', 'field_5f47ea7f644bf'), +(56607, 9431, 'date_time_picker_field', ''), +(56608, 9431, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(56609, 9431, 'google_map_field', ''), +(56610, 9431, '_google_map_field', 'field_5f47ea9d644c1'), +(56611, 9431, 'time_picker', ''), +(56612, 9431, '_time_picker', 'field_5f47eaa7644c2'), +(56613, 9431, 'flexible_content_field', ''), +(56614, 9431, '_flexible_content_field', 'field_5f47eadf644c4'), +(56615, 9431, 'repeater_field', ''), +(56616, 9431, '_repeater_field', 'field_5f47eaf8644c6'), +(56617, 9431, 'clone_field', ''), +(56618, 9431, '_clone_field', 'field_5f47eb4b644c8'), +(56619, 9431, 'link_field', ''), +(56620, 9431, '_link_field', 'field_5f47eb54644c9'), +(56621, 9431, 'page_link_field', ''), +(56622, 9431, '_page_link_field', 'field_5f47eb5e644ca'), +(56623, 9431, 'post_object_field', ''), +(56624, 9431, '_post_object_field', 'field_5f47eb69644cb'), +(56625, 9431, 'relationship_field', ''), +(56626, 9431, '_relationship_field', 'field_5f47eb74644cc'), +(56627, 9431, 'taxonomy_field', ''), +(56628, 9431, '_taxonomy_field', 'field_5f47edce644cd'), +(56629, 9431, 'user_field', ''), +(56630, 9431, '_user_field', 'field_5f47eddc644ce'), +(56631, 9431, '_yoast_wpseo_content_score', '30'), +(56632, 9437, '_edit_lock', '1600986670:1'), +(56635, 9439, '_wp_attached_file', '2020/09/karsten-winegeart-9FZ3wIqubzQ-unsplash-scaled.jpg'), +(56636, 9439, '__update', '1'), +(56656, 9439, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1710;s:6:\"height\";i:2560;s:4:\"file\";s:57:\"2020/09/karsten-winegeart-9FZ3wIqubzQ-unsplash-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-684x1024.jpg\";s:5:\"width\";i:684;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-768x1150.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1026x1536.jpg\";s:5:\"width\";i:1026;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1368x2048.jpg\";s:5:\"width\";i:1368;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1200x1797.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1797;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1980x2964.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2964;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:42:\"karsten-winegeart-9FZ3wIqubzQ-unsplash.jpg\";}'), +(56683, 9437, '__update', ''), +(56697, 9437, '_edit_last', '1'), +(56698, 9437, 'range_field', '0'), +(56699, 9437, '_range_field', 'field_5f47e967644b1'), +(56700, 9437, 'text_field', ''), +(56701, 9437, '_text_field', 'field_5f47e986644b2'), +(56702, 9437, 'text_area_field', ''), +(56703, 9437, '_text_area_field', 'field_5f47e993644b3'), +(56704, 9437, 'button_group_field', 'button1'), +(56705, 9437, '_button_group_field', 'field_5f47e99f644b4'), +(56706, 9437, 'checkbox_field', ''), +(56707, 9437, '_checkbox_field', 'field_5f47e9c5644b5'), +(56708, 9437, 'radio_button_field', 'radiobutton1'), +(56709, 9437, '_radio_button_field', 'field_5f47e9f3644b6'), +(56710, 9437, 'select_field', 'select1'), +(56711, 9437, '_select_field', 'field_5f47ea12644b7'), +(56712, 9437, 'true_false_field', '0'), +(56713, 9437, '_true_false_field', 'field_5f47ea28644b8'), +(56714, 9437, 'file_field', ''), +(56715, 9437, '_file_field', 'field_5f47ea3f644b9'), +(56716, 9437, 'gallery_field', ''), +(56717, 9437, '_gallery_field', 'field_5f47ea4a644ba'), +(56718, 9437, 'image_field', ''), +(56719, 9437, '_image_field', 'field_5f47ea53644bb'), +(56720, 9437, 'oembed_field', ''), +(56721, 9437, '_oembed_field', 'field_5f47ea5b644bc'), +(56722, 9437, 'wysiwyg_editor_field', ''), +(56723, 9437, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(56724, 9437, 'color_picker_field', ''), +(56725, 9437, '_color_picker_field', 'field_5f47ea75644be'), +(56726, 9437, 'date_picker_field', ''), +(56727, 9437, '_date_picker_field', 'field_5f47ea7f644bf'), +(56728, 9437, 'date_time_picker_field', ''), +(56729, 9437, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(56730, 9437, 'google_map_field', ''), +(56731, 9437, '_google_map_field', 'field_5f47ea9d644c1'), +(56732, 9437, 'time_picker', ''), +(56733, 9437, '_time_picker', 'field_5f47eaa7644c2'), +(56734, 9437, 'flexible_content_field', ''), +(56735, 9437, '_flexible_content_field', 'field_5f47eadf644c4'), +(56736, 9437, 'repeater_field', ''), +(56737, 9437, '_repeater_field', 'field_5f47eaf8644c6'), +(56738, 9437, 'clone_field', ''), +(56739, 9437, '_clone_field', 'field_5f47eb4b644c8'), +(56740, 9437, 'link_field', ''), +(56741, 9437, '_link_field', 'field_5f47eb54644c9'), +(56742, 9437, 'page_link_field', ''), +(56743, 9437, '_page_link_field', 'field_5f47eb5e644ca'), +(56744, 9437, 'post_object_field', ''), +(56745, 9437, '_post_object_field', 'field_5f47eb69644cb'), +(56746, 9437, 'relationship_field', ''), +(56747, 9437, '_relationship_field', 'field_5f47eb74644cc'), +(56748, 9437, 'taxonomy_field', ''), +(56749, 9437, '_taxonomy_field', 'field_5f47edce644cd'), +(56750, 9437, 'user_field', ''), +(56751, 9437, '_user_field', 'field_5f47eddc644ce'), +(56752, 9437, '_yoast_wpseo_content_score', '30'), +(56779, 9431, '_wp_trash_meta_status', 'publish'), +(56780, 9431, '_wp_trash_meta_time', '1600986804'), +(56781, 9431, '_wp_desired_post_slug', 'image-1-full-size'), +(56795, 9437, '_wp_trash_meta_status', 'publish'), +(56796, 9437, '_wp_trash_meta_time', '1600986804'), +(56797, 9437, '_wp_desired_post_slug', 'image-1-medium-size'), +(57873, 9620, '_edit_lock', '1601075274:1'), +(57898, 9620, '__update', '1'), +(57912, 9620, '_edit_last', '1'), +(57926, 9620, 'range_field', '0'), +(57927, 9620, '_range_field', 'field_5f47e967644b1'), +(57928, 9620, 'text_field', ''), +(57929, 9620, '_text_field', 'field_5f47e986644b2'), +(57930, 9620, 'text_area_field', ''), +(57931, 9620, '_text_area_field', 'field_5f47e993644b3'), +(57932, 9620, 'button_group_field', 'button1'), +(57933, 9620, '_button_group_field', 'field_5f47e99f644b4'), +(57934, 9620, 'checkbox_field', ''), +(57935, 9620, '_checkbox_field', 'field_5f47e9c5644b5'), +(57936, 9620, 'radio_button_field', 'radiobutton1'), +(57937, 9620, '_radio_button_field', 'field_5f47e9f3644b6'), +(57938, 9620, 'select_field', 'select1'), +(57939, 9620, '_select_field', 'field_5f47ea12644b7'), +(57940, 9620, 'true_false_field', '0'), +(57941, 9620, '_true_false_field', 'field_5f47ea28644b8'), +(57942, 9620, 'file_field', ''), +(57943, 9620, '_file_field', 'field_5f47ea3f644b9'), +(57944, 9620, 'gallery_field', ''), +(57945, 9620, '_gallery_field', 'field_5f47ea4a644ba'), +(57946, 9620, 'image_field', '9722'), +(57947, 9620, '_image_field', 'field_5f47ea53644bb'), +(57948, 9620, 'oembed_field', ''), +(57949, 9620, '_oembed_field', 'field_5f47ea5b644bc'), +(57950, 9620, 'wysiwyg_editor_field', ''), +(57951, 9620, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(57952, 9620, 'color_picker_field', ''), +(57953, 9620, '_color_picker_field', 'field_5f47ea75644be'), +(57954, 9620, 'date_picker_field', ''), +(57955, 9620, '_date_picker_field', 'field_5f47ea7f644bf'), +(57956, 9620, 'date_time_picker_field', ''), +(57957, 9620, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(57958, 9620, 'google_map_field', ''), +(57959, 9620, '_google_map_field', 'field_5f47ea9d644c1'), +(57960, 9620, 'time_picker', ''), +(57961, 9620, '_time_picker', 'field_5f47eaa7644c2'), +(57962, 9620, 'flexible_content_field', ''), +(57963, 9620, '_flexible_content_field', 'field_5f47eadf644c4'), +(57964, 9620, 'repeater_field', ''), +(57965, 9620, '_repeater_field', 'field_5f47eaf8644c6'), +(57966, 9620, 'clone_field', ''), +(57967, 9620, '_clone_field', 'field_5f47eb4b644c8'), +(57968, 9620, 'link_field', ''), +(57969, 9620, '_link_field', 'field_5f47eb54644c9'), +(57970, 9620, 'page_link_field', ''), +(57971, 9620, '_page_link_field', 'field_5f47eb5e644ca'), +(57972, 9620, 'post_object_field', ''), +(57973, 9620, '_post_object_field', 'field_5f47eb69644cb'), +(57974, 9620, 'relationship_field', ''), +(57975, 9620, '_relationship_field', 'field_5f47eb74644cc'), +(57976, 9620, 'taxonomy_field', ''), +(57977, 9620, '_taxonomy_field', 'field_5f47edce644cd'), +(57978, 9620, 'user_field', ''), +(57979, 9620, '_user_field', 'field_5f47eddc644ce'), +(57980, 9620, '_yoast_wpseo_content_score', '30'), +(58007, 9634, '_edit_lock', '1601073662:1'), +(58008, 9634, '__update', '1'), +(58022, 9634, '_edit_last', '1'), +(58036, 9634, 'range_field', '0'), +(58037, 9634, '_range_field', 'field_5f47e967644b1'), +(58038, 9634, 'text_field', ''), +(58039, 9634, '_text_field', 'field_5f47e986644b2'), +(58040, 9634, 'text_area_field', ''), +(58041, 9634, '_text_area_field', 'field_5f47e993644b3'), +(58042, 9634, 'button_group_field', 'button1'), +(58043, 9634, '_button_group_field', 'field_5f47e99f644b4'), +(58044, 9634, 'checkbox_field', ''), +(58045, 9634, '_checkbox_field', 'field_5f47e9c5644b5'), +(58046, 9634, 'radio_button_field', 'radiobutton1'), +(58047, 9634, '_radio_button_field', 'field_5f47e9f3644b6'), +(58048, 9634, 'select_field', 'select1'), +(58049, 9634, '_select_field', 'field_5f47ea12644b7'), +(58050, 9634, 'true_false_field', '0'), +(58051, 9634, '_true_false_field', 'field_5f47ea28644b8'), +(58052, 9634, 'file_field', ''), +(58053, 9634, '_file_field', 'field_5f47ea3f644b9'), +(58054, 9634, 'gallery_field', ''), +(58055, 9634, '_gallery_field', 'field_5f47ea4a644ba'), +(58056, 9634, 'image_field', ''), +(58057, 9634, '_image_field', 'field_5f47ea53644bb'), +(58058, 9634, 'oembed_field', ''), +(58059, 9634, '_oembed_field', 'field_5f47ea5b644bc'), +(58060, 9634, 'wysiwyg_editor_field', ''), +(58061, 9634, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(58062, 9634, 'color_picker_field', ''), +(58063, 9634, '_color_picker_field', 'field_5f47ea75644be'), +(58064, 9634, 'date_picker_field', ''), +(58065, 9634, '_date_picker_field', 'field_5f47ea7f644bf'), +(58066, 9634, 'date_time_picker_field', ''), +(58067, 9634, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(58068, 9634, 'google_map_field', ''), +(58069, 9634, '_google_map_field', 'field_5f47ea9d644c1'), +(58070, 9634, 'time_picker', ''), +(58071, 9634, '_time_picker', 'field_5f47eaa7644c2'), +(58072, 9634, 'flexible_content_field', ''), +(58073, 9634, '_flexible_content_field', 'field_5f47eadf644c4'), +(58074, 9634, 'repeater_field', ''), +(58075, 9634, '_repeater_field', 'field_5f47eaf8644c6'), +(58076, 9634, 'clone_field', ''), +(58077, 9634, '_clone_field', 'field_5f47eb4b644c8'), +(58078, 9634, 'link_field', ''), +(58079, 9634, '_link_field', 'field_5f47eb54644c9'), +(58080, 9634, 'page_link_field', ''), +(58081, 9634, '_page_link_field', 'field_5f47eb5e644ca'), +(58082, 9634, 'post_object_field', ''), +(58083, 9634, '_post_object_field', 'field_5f47eb69644cb'), +(58084, 9634, 'relationship_field', ''), +(58085, 9634, '_relationship_field', 'field_5f47eb74644cc'), +(58086, 9634, 'taxonomy_field', ''), +(58087, 9634, '_taxonomy_field', 'field_5f47edce644cd'), +(58088, 9634, 'user_field', ''), +(58089, 9634, '_user_field', 'field_5f47eddc644ce'), +(58090, 9634, '_yoast_wpseo_content_score', '30'), +(58158, 9646, 'range_field', '0'), +(58159, 9646, 'text_field', ''), +(58160, 9646, 'text_area_field', ''), +(58161, 9646, 'button_group_field', 'button1'), +(58162, 9646, 'checkbox_field', ''), +(58163, 9646, 'radio_button_field', 'radiobutton1'), +(58164, 9646, 'select_field', 'select1'), +(58165, 9646, 'true_false_field', '0'), +(58166, 9646, 'file_field', ''), +(58167, 9646, 'gallery_field', ''), +(58168, 9646, 'image_field', ''), +(58169, 9646, 'oembed_field', ''), +(58170, 9646, 'wysiwyg_editor_field', ''), +(58171, 9646, 'color_picker_field', ''), +(58172, 9646, 'date_picker_field', ''), +(58173, 9646, 'date_time_picker_field', ''), +(58174, 9646, 'google_map_field', ''), +(58175, 9646, 'time_picker', ''), +(58176, 9646, 'flexible_content_field', ''), +(58177, 9646, 'repeater_field', ''), +(58178, 9646, 'clone_field', ''), +(58179, 9646, 'link_field', ''), +(58180, 9646, 'page_link_field', ''), +(58181, 9646, 'post_object_field', ''), +(58182, 9646, 'relationship_field', ''), +(58183, 9646, 'taxonomy_field', ''), +(58184, 9646, 'user_field', ''), +(58185, 9646, '_edit_lock', '1601073659:1'), +(58186, 9646, '__update', '1'), +(58200, 9646, '_edit_last', '1'), +(58214, 9646, '_range_field', 'field_5f47e967644b1'), +(58215, 9646, '_text_field', 'field_5f47e986644b2'), +(58216, 9646, '_text_area_field', 'field_5f47e993644b3'), +(58217, 9646, '_button_group_field', 'field_5f47e99f644b4'), +(58218, 9646, '_checkbox_field', 'field_5f47e9c5644b5'), +(58219, 9646, '_radio_button_field', 'field_5f47e9f3644b6'), +(58220, 9646, '_select_field', 'field_5f47ea12644b7'), +(58221, 9646, '_true_false_field', 'field_5f47ea28644b8'), +(58222, 9646, '_file_field', 'field_5f47ea3f644b9'), +(58223, 9646, '_gallery_field', 'field_5f47ea4a644ba'), +(58224, 9646, '_image_field', 'field_5f47ea53644bb'), +(58225, 9646, '_oembed_field', 'field_5f47ea5b644bc'), +(58226, 9646, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(58227, 9646, '_color_picker_field', 'field_5f47ea75644be'), +(58228, 9646, '_date_picker_field', 'field_5f47ea7f644bf'), +(58229, 9646, '_date_time_picker_field', 'field_5f47ea8b644c0'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(58230, 9646, '_google_map_field', 'field_5f47ea9d644c1'), +(58231, 9646, '_time_picker', 'field_5f47eaa7644c2'), +(58232, 9646, '_flexible_content_field', 'field_5f47eadf644c4'), +(58233, 9646, '_repeater_field', 'field_5f47eaf8644c6'), +(58234, 9646, '_clone_field', 'field_5f47eb4b644c8'), +(58235, 9646, '_link_field', 'field_5f47eb54644c9'), +(58236, 9646, '_page_link_field', 'field_5f47eb5e644ca'), +(58237, 9646, '_post_object_field', 'field_5f47eb69644cb'), +(58238, 9646, '_relationship_field', 'field_5f47eb74644cc'), +(58239, 9646, '_taxonomy_field', 'field_5f47edce644cd'), +(58240, 9646, '_user_field', 'field_5f47eddc644ce'), +(58241, 9646, '_yoast_wpseo_content_score', '30'), +(58680, 9620, '_wp_page_template', 'default'), +(58694, 9634, '_wp_page_template', 'default'), +(58708, 9646, '_wp_page_template', 'default'), +(58728, 9722, '_wp_attached_file', '2020/09/imagename-300x163-1-scaled.jpg'), +(58729, 9722, '__update', '1'), +(58749, 9722, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1989;s:6:\"height\";i:2560;s:4:\"file\";s:38:\"2020/09/imagename-300x163-1-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-233x300.jpg\";s:5:\"width\";i:233;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:32:\"imagename-300x163-1-796x1024.jpg\";s:5:\"width\";i:796;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-768x988.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:988;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1193x1536.jpg\";s:5:\"width\";i:1193;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1591x2048.jpg\";s:5:\"width\";i:1591;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1200x1544.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1544;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1980x2548.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2548;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:31:\"imagename-300x163-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-600x772.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:772;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-600x772.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:772;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:23:\"imagename-300x163-1.jpg\";}'), +(59392, 9818, '_edit_lock', '1601330398:1'), +(59417, 9818, '__update', '1'), +(59431, 9818, '_edit_last', '1'), +(59432, 9818, 'range_field', '0'), +(59433, 9818, '_range_field', 'field_5f47e967644b1'), +(59434, 9818, 'text_field', ''), +(59435, 9818, '_text_field', 'field_5f47e986644b2'), +(59436, 9818, 'text_area_field', ''), +(59437, 9818, '_text_area_field', 'field_5f47e993644b3'), +(59438, 9818, 'button_group_field', 'button1'), +(59439, 9818, '_button_group_field', 'field_5f47e99f644b4'), +(59440, 9818, 'checkbox_field', ''), +(59441, 9818, '_checkbox_field', 'field_5f47e9c5644b5'), +(59442, 9818, 'radio_button_field', 'radiobutton1'), +(59443, 9818, '_radio_button_field', 'field_5f47e9f3644b6'), +(59444, 9818, 'select_field', 'select1'), +(59445, 9818, '_select_field', 'field_5f47ea12644b7'), +(59446, 9818, 'true_false_field', '0'), +(59447, 9818, '_true_false_field', 'field_5f47ea28644b8'), +(59448, 9818, 'file_field', ''), +(59449, 9818, '_file_field', 'field_5f47ea3f644b9'), +(59450, 9818, 'gallery_field', ''), +(59451, 9818, '_gallery_field', 'field_5f47ea4a644ba'), +(59452, 9818, 'image_field', ''), +(59453, 9818, '_image_field', 'field_5f47ea53644bb'), +(59454, 9818, 'oembed_field', ''), +(59455, 9818, '_oembed_field', 'field_5f47ea5b644bc'), +(59456, 9818, 'wysiwyg_editor_field', ''), +(59457, 9818, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(59458, 9818, 'color_picker_field', ''), +(59459, 9818, '_color_picker_field', 'field_5f47ea75644be'), +(59460, 9818, 'date_picker_field', ''), +(59461, 9818, '_date_picker_field', 'field_5f47ea7f644bf'), +(59462, 9818, 'date_time_picker_field', ''), +(59463, 9818, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(59464, 9818, 'google_map_field', ''), +(59465, 9818, '_google_map_field', 'field_5f47ea9d644c1'), +(59466, 9818, 'time_picker', ''), +(59467, 9818, '_time_picker', 'field_5f47eaa7644c2'), +(59468, 9818, 'flexible_content_field', ''), +(59469, 9818, '_flexible_content_field', 'field_5f47eadf644c4'), +(59470, 9818, 'repeater_field', ''), +(59471, 9818, '_repeater_field', 'field_5f47eaf8644c6'), +(59472, 9818, 'clone_field', ''), +(59473, 9818, '_clone_field', 'field_5f47eb4b644c8'), +(59474, 9818, 'link_field', ''), +(59475, 9818, '_link_field', 'field_5f47eb54644c9'), +(59476, 9818, 'page_link_field', ''), +(59477, 9818, '_page_link_field', 'field_5f47eb5e644ca'), +(59478, 9818, 'post_object_field', ''), +(59479, 9818, '_post_object_field', 'field_5f47eb69644cb'), +(59480, 9818, 'relationship_field', ''), +(59481, 9818, '_relationship_field', 'field_5f47eb74644cc'), +(59482, 9818, 'taxonomy_field', ''), +(59483, 9818, '_taxonomy_field', 'field_5f47edce644cd'), +(59484, 9818, 'user_field', ''), +(59485, 9818, '_user_field', 'field_5f47eddc644ce'), +(59486, 9818, '_yoast_wpseo_content_score', '30'), +(59493, 9827, '_wp_attached_file', '2020/09/5642fae96ade14100be5-scaled.jpg'), +(59494, 9827, '__update', '1'), +(59514, 9827, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1706;s:6:\"height\";i:2560;s:4:\"file\";s:39:\"2020/09/5642fae96ade14100be5-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:33:\"5642fae96ade14100be5-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:33:\"5642fae96ade14100be5-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1365x2048.jpg\";s:5:\"width\";i:1365;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1200x1800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1980x2970.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2970;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:32:\"5642fae96ade14100be5-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:24:\"5642fae96ade14100be5.jpg\";}'), +(61034, 10050, '_edit_lock', '1601340469:1'), +(61035, 10050, '_edit_last', '1'), +(61036, 10050, '_yoast_wpseo_primary_category', '23'), +(61247, 10081, '_edit_lock', '1601493540:1'), +(61249, 10081, '__update', ''), +(61263, 10081, '_edit_last', '1'), +(61278, 10081, '_yoast_wpseo_primary_category', '23'), +(61279, 10081, '_yoast_wpseo_content_score', '60'), +(61349, 10081, '_encloseme', '1'), +(61363, 10081, '_wp_trash_meta_status', 'publish'), +(61364, 10081, '_wp_trash_meta_time', '1601493539'), +(61365, 10081, '_wp_desired_post_slug', 'beforechangenode-test'), +(62836, 10311, '_edit_lock', '1601601002:1'), +(62837, 10311, '_edit_last', '1'), +(62838, 10311, '__update', '1'), +(62845, 10313, '__update', '1'), +(62852, 10315, '_edit_lock', '1601601418:1'), +(62855, 10315, '__update', '1'), +(62869, 10315, '_edit_last', '1'), +(62870, 10315, 'test_field', 'test field value'), +(62871, 10315, '_test_field', 'field_5f767e4432e14'), +(63552, 10424, '__update', '1'), +(63559, 10426, '__update', '1'), +(63566, 10428, '__update', '1'), +(63573, 10430, '__update', '1'), +(63622, 10439, '_wp_attached_file', '2020/10/sample.pdf'), +(63623, 10439, '__update', '1'), +(63656, 10439, '_wp_attachment_metadata', 'a:1:{s:5:\"sizes\";a:4:{s:4:\"full\";a:4:{s:4:\"file\";s:14:\"sample-pdf.jpg\";s:5:\"width\";i:1088;s:6:\"height\";i:1408;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:22:\"sample-pdf-232x300.jpg\";s:5:\"width\";i:232;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:23:\"sample-pdf-791x1024.jpg\";s:5:\"width\";i:791;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:22:\"sample-pdf-116x150.jpg\";s:5:\"width\";i:116;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}}}'), +(63657, 10445, '_wp_attached_file', '2020/10/sample.doc'), +(63658, 10445, '__update', '1'), +(63678, 10449, '_wp_attached_file', '2020/10/sample-mp4-file.mp4'), +(63679, 10449, '__update', '1'), +(63699, 10449, '_wp_attachment_metadata', 'a:10:{s:8:\"filesize\";i:10546620;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:48000;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:0;}'), +(63700, 10453, '_wp_attached_file', '2020/10/sample-mov-file.mov'), +(63701, 10453, '__update', '1'), +(63721, 10453, '_wp_attachment_metadata', 'a:12:{s:8:\"lossless\";b:0;s:8:\"filesize\";i:14461898;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"codec\";s:21:\"Lavc58.80.100 libx264\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:44100;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:-2082844800;}'), +(63748, 7646, 'pdf', '10439'), +(63749, 7646, '_pdf', 'field_5f777f123694a'), +(63750, 7646, 'doc', '10445'), +(63751, 7646, '_doc', 'field_5f777f1a3694b'), +(63752, 7646, 'mp4', '10449'), +(63753, 7646, '_mp4', 'field_5f777f213694c'), +(63754, 7646, 'mov', '10453'), +(63755, 7646, '_mov', 'field_5f777f303694d'), +(63782, 10465, '_edit_lock', '1602123165:1'), +(63785, 10467, '_wp_attached_file', '2020/10/sampleinline-html.doc'), +(63786, 10467, '__update', '1'), +(63806, 10471, '_wp_attached_file', '2020/10/sample-avi-fileinline-html.avi'), +(63807, 10471, '__update', '1'), +(63827, 10471, '_wp_attachment_metadata', 'a:13:{s:8:\"lossless\";b:0;s:7:\"bitrate\";i:392689;s:12:\"bitrate_mode\";s:3:\"vbr\";s:8:\"filesize\";i:8324510;s:9:\"mime_type\";s:9:\"video/avi\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"avi\";s:10:\"dataformat\";s:3:\"avi\";s:5:\"codec\";s:29:\"Microsoft MPEG-4 (low-motion)\";s:5:\"audio\";a:11:{s:10:\"dataformat\";s:3:\"wav\";s:12:\"bitrate_mode\";s:3:\"cbr\";s:10:\"wformattag\";i:2;s:5:\"codec\";s:15:\"Microsoft ADPCM\";s:8:\"channels\";i:2;s:11:\"sample_rate\";i:44100;s:7:\"bitrate\";i:128000;s:15:\"bits_per_sample\";i:4;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";s:17:\"compression_ratio\";d:0.36281179138321995;}}'), +(63828, 10475, '_wp_attached_file', '2020/10/sample-mp4-fileinline-html.mp4'), +(63829, 10475, '__update', '1'), +(63849, 10475, '_wp_attachment_metadata', 'a:10:{s:8:\"filesize\";i:10546620;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:48000;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:0;}'), +(63850, 10479, '_wp_attached_file', '2020/10/sample-mov-fileinline-html.mov'), +(63851, 10479, '__update', '1'), +(63871, 10479, '_wp_attachment_metadata', 'a:12:{s:8:\"lossless\";b:0;s:8:\"filesize\";i:14461898;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"codec\";s:21:\"Lavc58.80.100 libx264\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:44100;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:-2082844800;}'), +(64082, 10513, '_edit_lock', '1601929737:1'), +(64085, 10515, '_wp_attached_file', '2020/10/jessie-mccall-a9_8YKoqIYo-unsplash-scaled.jpg'), +(64086, 10515, '__update', '1'), +(64106, 10515, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:53:\"2020/10/jessie-mccall-a9_8YKoqIYo-unsplash-scaled.jpg\";s:5:\"sizes\";a:13:{s:6:\"medium\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:47:\"jessie-mccall-a9_8YKoqIYo-unsplash-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:47:\"jessie-mccall-a9_8YKoqIYo-unsplash-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:48:\"jessie-mccall-a9_8YKoqIYo-unsplash-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:48:\"jessie-mccall-a9_8YKoqIYo-unsplash-1365x2048.jpg\";s:5:\"width\";i:1365;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:48:\"jessie-mccall-a9_8YKoqIYo-unsplash-1980x2970.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2970;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:38:\"jessie-mccall-a9_8YKoqIYo-unsplash.jpg\";}'), +(64107, 10513, '__update', '1'), +(64121, 10513, '_edit_last', '1'), +(64135, 10513, 'range_field', '0'), +(64136, 10513, '_range_field', 'field_5f47e967644b1'), +(64137, 10513, 'text_field', ''), +(64138, 10513, '_text_field', 'field_5f47e986644b2'), +(64139, 10513, 'text_area_field', ''), +(64140, 10513, '_text_area_field', 'field_5f47e993644b3'), +(64141, 10513, 'button_group_field', 'button1'), +(64142, 10513, '_button_group_field', 'field_5f47e99f644b4'), +(64143, 10513, 'checkbox_field', ''), +(64144, 10513, '_checkbox_field', 'field_5f47e9c5644b5'), +(64145, 10513, 'radio_button_field', 'radiobutton1'), +(64146, 10513, '_radio_button_field', 'field_5f47e9f3644b6'), +(64147, 10513, 'select_field', 'select1'), +(64148, 10513, '_select_field', 'field_5f47ea12644b7'), +(64149, 10513, 'true_false_field', '0'), +(64150, 10513, '_true_false_field', 'field_5f47ea28644b8'), +(64151, 10513, 'file_field', ''), +(64152, 10513, '_file_field', 'field_5f47ea3f644b9'), +(64153, 10513, 'gallery_field', ''), +(64154, 10513, '_gallery_field', 'field_5f47ea4a644ba'), +(64155, 10513, 'image_field', ''), +(64156, 10513, '_image_field', 'field_5f47ea53644bb'), +(64157, 10513, 'oembed_field', ''), +(64158, 10513, '_oembed_field', 'field_5f47ea5b644bc'), +(64159, 10513, 'wysiwyg_editor_field', ''), +(64160, 10513, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(64161, 10513, 'color_picker_field', ''), +(64162, 10513, '_color_picker_field', 'field_5f47ea75644be'), +(64163, 10513, 'date_picker_field', ''), +(64164, 10513, '_date_picker_field', 'field_5f47ea7f644bf'), +(64165, 10513, 'date_time_picker_field', ''), +(64166, 10513, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(64167, 10513, 'google_map_field', ''), +(64168, 10513, '_google_map_field', 'field_5f47ea9d644c1'), +(64169, 10513, 'time_picker', ''), +(64170, 10513, '_time_picker', 'field_5f47eaa7644c2'), +(64171, 10513, 'flexible_content_field', ''), +(64172, 10513, '_flexible_content_field', 'field_5f47eadf644c4'), +(64173, 10513, 'repeater_field', ''), +(64174, 10513, '_repeater_field', 'field_5f47eaf8644c6'), +(64175, 10513, 'clone_field', ''), +(64176, 10513, '_clone_field', 'field_5f47eb4b644c8'), +(64177, 10513, 'link_field', ''), +(64178, 10513, '_link_field', 'field_5f47eb54644c9'), +(64179, 10513, 'page_link_field', ''), +(64180, 10513, '_page_link_field', 'field_5f47eb5e644ca'), +(64181, 10513, 'post_object_field', ''), +(64182, 10513, '_post_object_field', 'field_5f47eb69644cb'), +(64183, 10513, 'relationship_field', ''), +(64184, 10513, '_relationship_field', 'field_5f47eb74644cc'), +(64185, 10513, 'taxonomy_field', ''), +(64186, 10513, '_taxonomy_field', 'field_5f47edce644cd'), +(64187, 10513, 'user_field', ''), +(64188, 10513, '_user_field', 'field_5f47eddc644ce'), +(64189, 10513, 'pdf', ''), +(64190, 10513, '_pdf', 'field_5f777f123694a'), +(64191, 10513, 'doc', ''), +(64192, 10513, '_doc', 'field_5f777f1a3694b'), +(64193, 10513, 'mp4', ''), +(64194, 10513, '_mp4', 'field_5f777f213694c'), +(64195, 10513, 'mov', ''), +(64196, 10513, '_mov', 'field_5f777f303694d'), +(64197, 10513, '_yoast_wpseo_content_score', '30'), +(64561, 8964, 'pdf', ''), +(64562, 8964, '_pdf', 'field_5f777f123694a'), +(64563, 8964, 'doc', ''), +(64564, 8964, '_doc', 'field_5f777f1a3694b'), +(64565, 8964, 'mp4', ''), +(64566, 8964, '_mp4', 'field_5f777f213694c'), +(64567, 8964, 'mov', ''), +(64568, 8964, '_mov', 'field_5f777f303694d'), +(64886, 10621, '_wp_attached_file', '2020/10/mattmullenweg-interview.mp3'), +(64887, 10621, '__update', '1'), +(64920, 10621, '_wp_attachment_metadata', 'a:16:{s:10:\"dataformat\";s:3:\"mp3\";s:8:\"channels\";i:2;s:11:\"sample_rate\";i:11025;s:7:\"bitrate\";i:32000;s:11:\"channelmode\";s:12:\"joint stereo\";s:12:\"bitrate_mode\";s:3:\"cbr\";s:5:\"codec\";s:4:\"LAME\";s:7:\"encoder\";s:9:\"LAME3.96r\";s:8:\"lossless\";b:0;s:15:\"encoder_options\";s:19:\"--alt-preset cbr 32\";s:17:\"compression_ratio\";d:0.09070294784580499;s:10:\"fileformat\";s:3:\"mp3\";s:8:\"filesize\";i:1220230;s:9:\"mime_type\";s:10:\"audio/mpeg\";s:6:\"length\";i:305;s:16:\"length_formatted\";s:4:\"5:05\";}'), +(64921, 10627, '_wp_attached_file', '2020/10/giphy.mp4'), +(64922, 10627, '__update', '1'), +(64942, 10627, '_wp_attachment_metadata', 'a:10:{s:7:\"bitrate\";i:541231;s:8:\"filesize\";i:542847;s:9:\"mime_type\";s:15:\"video/quicktime\";s:6:\"length\";i:8;s:16:\"length_formatted\";s:4:\"0:08\";s:5:\"width\";i:480;s:6:\"height\";i:480;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:17:\"created_timestamp\";i:-2082844800;}'), +(64971, 94, 'enclosure', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/mattmullenweg-interview.mp3\n1220230\naudio/mpeg\n'), +(64972, 94, 'enclosure', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/giphy.mp4\n542847\nvideo/mp4\n'), +(65326, 10465, '__update', '1'), +(65340, 10465, '_edit_last', '1'), +(65341, 10465, 'range_field', '0'), +(65342, 10465, '_range_field', 'field_5f47e967644b1'), +(65343, 10465, 'text_field', ''), +(65344, 10465, '_text_field', 'field_5f47e986644b2'), +(65345, 10465, 'text_area_field', ''), +(65346, 10465, '_text_area_field', 'field_5f47e993644b3'), +(65347, 10465, 'button_group_field', 'button1'), +(65348, 10465, '_button_group_field', 'field_5f47e99f644b4'), +(65349, 10465, 'checkbox_field', ''), +(65350, 10465, '_checkbox_field', 'field_5f47e9c5644b5'), +(65351, 10465, 'radio_button_field', 'radiobutton1'), +(65352, 10465, '_radio_button_field', 'field_5f47e9f3644b6'), +(65353, 10465, 'select_field', 'select1'), +(65354, 10465, '_select_field', 'field_5f47ea12644b7'), +(65355, 10465, 'true_false_field', '0'), +(65356, 10465, '_true_false_field', 'field_5f47ea28644b8'), +(65357, 10465, 'file_field', ''), +(65358, 10465, '_file_field', 'field_5f47ea3f644b9'), +(65359, 10465, 'gallery_field', ''), +(65360, 10465, '_gallery_field', 'field_5f47ea4a644ba'), +(65361, 10465, 'image_field', ''), +(65362, 10465, '_image_field', 'field_5f47ea53644bb'), +(65363, 10465, 'oembed_field', ''), +(65364, 10465, '_oembed_field', 'field_5f47ea5b644bc'), +(65365, 10465, 'wysiwyg_editor_field', ''), +(65366, 10465, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(65367, 10465, 'color_picker_field', ''), +(65368, 10465, '_color_picker_field', 'field_5f47ea75644be'), +(65369, 10465, 'date_picker_field', ''), +(65370, 10465, '_date_picker_field', 'field_5f47ea7f644bf'), +(65371, 10465, 'date_time_picker_field', ''), +(65372, 10465, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(65373, 10465, 'google_map_field', ''), +(65374, 10465, '_google_map_field', 'field_5f47ea9d644c1'), +(65375, 10465, 'time_picker', ''), +(65376, 10465, '_time_picker', 'field_5f47eaa7644c2'), +(65377, 10465, 'flexible_content_field', ''), +(65378, 10465, '_flexible_content_field', 'field_5f47eadf644c4'), +(65379, 10465, 'repeater_field', ''), +(65380, 10465, '_repeater_field', 'field_5f47eaf8644c6'), +(65381, 10465, 'clone_field', ''), +(65382, 10465, '_clone_field', 'field_5f47eb4b644c8'), +(65383, 10465, 'link_field', ''), +(65384, 10465, '_link_field', 'field_5f47eb54644c9'), +(65385, 10465, 'page_link_field', ''), +(65386, 10465, '_page_link_field', 'field_5f47eb5e644ca'), +(65387, 10465, 'post_object_field', ''), +(65388, 10465, '_post_object_field', 'field_5f47eb69644cb'), +(65389, 10465, 'relationship_field', ''), +(65390, 10465, '_relationship_field', 'field_5f47eb74644cc'), +(65391, 10465, 'taxonomy_field', ''), +(65392, 10465, '_taxonomy_field', 'field_5f47edce644cd'), +(65393, 10465, 'user_field', ''), +(65394, 10465, '_user_field', 'field_5f47eddc644ce'), +(65395, 10465, 'pdf', ''), +(65396, 10465, '_pdf', 'field_5f777f123694a'), +(65397, 10465, 'doc', ''), +(65398, 10465, '_doc', 'field_5f777f1a3694b'), +(65399, 10465, 'mp4', ''), +(65400, 10465, '_mp4', 'field_5f777f213694c'), +(65401, 10465, 'mov', ''), +(65402, 10465, '_mov', 'field_5f777f303694d'), +(65403, 10465, '_yoast_wpseo_content_score', '60'), +(65404, 10690, '_wp_attached_file', '2020/10/sample-mov-fileinline-html-1.mov'), +(65405, 10690, '__update', '1'), +(65425, 10690, '_wp_attachment_metadata', 'a:12:{s:8:\"lossless\";b:0;s:8:\"filesize\";i:14461898;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"codec\";s:21:\"Lavc58.80.100 libx264\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:44100;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:-2082844800;}'), +(65491, 10705, '_wp_attached_file', '2020/10/BabyElephantWalk60.wav'), +(65492, 10705, '__update', '1'), +(65512, 10705, '_wp_attachment_metadata', 'a:16:{s:10:\"dataformat\";s:3:\"wav\";s:12:\"bitrate_mode\";s:3:\"cbr\";s:10:\"wformattag\";i:1;s:5:\"codec\";s:27:\"Pulse Code Modulation (PCM)\";s:8:\"channels\";i:1;s:11:\"sample_rate\";i:22050;s:7:\"bitrate\";i:352800;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:1;s:11:\"channelmode\";s:4:\"mono\";s:17:\"compression_ratio\";i:1;s:10:\"fileformat\";s:3:\"wav\";s:8:\"filesize\";i:2646044;s:9:\"mime_type\";s:9:\"audio/wav\";s:6:\"length\";i:60;s:16:\"length_formatted\";s:4:\"1:00\";}'), +(65552, 10715, '_wp_attached_file', '2020/10/Screen-Shot-2020-07-30-at-1.34.09-PM.png'), +(65553, 10715, '__update', '1'), +(65573, 10715, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1230;s:6:\"height\";i:204;s:4:\"file\";s:48:\"2020/10/Screen-Shot-2020-07-30-at-1.34.09-PM.png\";s:5:\"sizes\";a:11:{s:6:\"medium\";a:4:{s:4:\"file\";s:47:\"Screen-Shot-2020-07-30-at-1.34.09-PM-300x50.png\";s:5:\"width\";i:300;s:6:\"height\";i:50;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-07-30-at-1.34.09-PM-1024x170.png\";s:5:\"width\";i:1024;s:6:\"height\";i:170;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-768x127.png\";s:5:\"width\";i:768;s:6:\"height\";i:127;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-07-30-at-1.34.09-PM-1200x199.png\";s:5:\"width\";i:1200;s:6:\"height\";i:199;s:9:\"mime-type\";s:9:\"image/png\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-450x204.png\";s:5:\"width\";i:450;s:6:\"height\";i:204;s:9:\"mime-type\";s:9:\"image/png\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-600x100.png\";s:5:\"width\";i:600;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-100x100.png\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-450x204.png\";s:5:\"width\";i:450;s:6:\"height\";i:204;s:9:\"mime-type\";s:9:\"image/png\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-600x100.png\";s:5:\"width\";i:600;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-100x100.png\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(67012, 10927, '_wp_attached_file', '2020/10/karsten-winegeart-5zzY1WvIRRQ-unsplash-scaled.jpg'), +(67013, 10927, '__update', '1'), +(67033, 10927, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1710;s:6:\"height\";i:2560;s:4:\"file\";s:57:\"2020/10/karsten-winegeart-5zzY1WvIRRQ-unsplash-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-684x1024.jpg\";s:5:\"width\";i:684;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-768x1150.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1026x1536.jpg\";s:5:\"width\";i:1026;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1368x2048.jpg\";s:5:\"width\";i:1368;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1200x1797.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1797;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1980x2964.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2964;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:42:\"karsten-winegeart-5zzY1WvIRRQ-unsplash.jpg\";}'), +(67771, 11040, 'action_type', 'UPDATE'), +(67772, 11040, 'referenced_node_status', 'publish'), +(67773, 11040, 'referenced_node_id', '2'), +(67774, 11040, 'referenced_node_relay_id', 'cG9zdDoy'), +(67775, 11040, 'referenced_node_single_name', 'page'), +(67776, 11040, 'referenced_node_plural_name', 'pages'), +(67777, 11040, 'referenced_node_post_modified', '2020-10-09 23:32:01'), +(67778, 11041, 'action_type', 'UPDATE'), +(67779, 11041, 'referenced_node_status', 'publish'), +(67780, 11041, 'referenced_node_id', '1'), +(67781, 11041, 'referenced_node_relay_id', 'dXNlcjox'), +(67782, 11041, 'referenced_node_single_name', 'user'), +(67783, 11041, 'referenced_node_plural_name', 'users'), +(67785, 11042, 'action_type', 'UPDATE'), +(67786, 11042, 'referenced_node_status', 'publish'), +(67787, 11042, 'referenced_node_id', '1'), +(67788, 11042, 'referenced_node_relay_id', 'cG9zdDox'), +(67789, 11042, 'referenced_node_single_name', 'post'), +(67790, 11042, 'referenced_node_plural_name', 'posts'), +(67791, 11042, 'referenced_node_post_modified', '2020-10-09 23:32:01'), +(67792, 11043, 'action_type', 'UPDATE'), +(67793, 11043, 'referenced_node_status', 'publish'), +(67794, 11043, 'referenced_node_id', '1'), +(67795, 11043, 'referenced_node_relay_id', 'dXNlcjox'), +(67796, 11043, 'referenced_node_single_name', 'user'), +(67797, 11043, 'referenced_node_plural_name', 'users'), +(67799, 11044, 'action_type', 'UPDATE'), +(67800, 11044, 'referenced_node_status', 'publish'), +(67801, 11044, 'referenced_node_id', '1'), +(67802, 11044, 'referenced_node_relay_id', 'dXNlcjox'), +(67803, 11044, 'referenced_node_single_name', 'user'), +(67804, 11044, 'referenced_node_plural_name', 'users'), +(67805, 11045, 'action_type', 'UPDATE'), +(67806, 11045, 'referenced_node_status', 'publish'), +(67807, 11045, 'referenced_node_id', '2'), +(67808, 11045, 'referenced_node_relay_id', 'cG9zdDoy'), +(67809, 11045, 'referenced_node_single_name', 'page'), +(67810, 11045, 'referenced_node_plural_name', 'pages'), +(67811, 11045, 'referenced_node_post_modified', '2020-10-09 23:32:25'), +(67812, 11046, 'action_type', 'UPDATE'), +(67813, 11046, 'referenced_node_status', 'publish'), +(67814, 11046, 'referenced_node_id', '1'), +(67815, 11046, 'referenced_node_relay_id', 'dXNlcjox'), +(67816, 11046, 'referenced_node_single_name', 'user'), +(67817, 11046, 'referenced_node_plural_name', 'users'), +(67819, 11047, 'action_type', 'UPDATE'), +(67820, 11047, 'referenced_node_status', 'publish'), +(67821, 11047, 'referenced_node_id', '1'), +(67822, 11047, 'referenced_node_relay_id', 'cG9zdDox'), +(67823, 11047, 'referenced_node_single_name', 'post'), +(67824, 11047, 'referenced_node_plural_name', 'posts'), +(67825, 11047, 'referenced_node_post_modified', '2020-10-09 23:32:25'), +(67826, 11048, 'action_type', 'UPDATE'), +(67827, 11048, 'referenced_node_status', 'publish'), +(67828, 11048, 'referenced_node_id', '1'), +(67829, 11048, 'referenced_node_relay_id', 'dXNlcjox'), +(67830, 11048, 'referenced_node_single_name', 'user'), +(67831, 11048, 'referenced_node_plural_name', 'users'), +(67833, 11049, 'action_type', 'UPDATE'), +(67834, 11049, 'referenced_node_status', 'publish'), +(67835, 11049, 'referenced_node_id', '1'), +(67836, 11049, 'referenced_node_relay_id', 'dXNlcjox'), +(67837, 11049, 'referenced_node_single_name', 'user'), +(67838, 11049, 'referenced_node_plural_name', 'users'), +(67839, 11050, 'action_type', 'UPDATE'), +(67840, 11050, 'referenced_node_status', 'publish'), +(67841, 11050, 'referenced_node_id', '2'), +(67842, 11050, 'referenced_node_relay_id', 'cG9zdDoy'), +(67843, 11050, 'referenced_node_single_name', 'page'), +(67844, 11050, 'referenced_node_plural_name', 'pages'), +(67845, 11050, 'referenced_node_post_modified', '2020-10-09 23:33:39'), +(67846, 11051, 'action_type', 'UPDATE'), +(67847, 11051, 'referenced_node_status', 'publish'), +(67848, 11051, 'referenced_node_id', '1'), +(67849, 11051, 'referenced_node_relay_id', 'dXNlcjox'), +(67850, 11051, 'referenced_node_single_name', 'user'), +(67851, 11051, 'referenced_node_plural_name', 'users'), +(67853, 11052, 'action_type', 'UPDATE'), +(67854, 11052, 'referenced_node_status', 'publish'), +(67855, 11052, 'referenced_node_id', '1'), +(67856, 11052, 'referenced_node_relay_id', 'cG9zdDox'), +(67857, 11052, 'referenced_node_single_name', 'post'), +(67858, 11052, 'referenced_node_plural_name', 'posts'), +(67859, 11052, 'referenced_node_post_modified', '2020-10-09 23:33:39'), +(67860, 11053, 'action_type', 'UPDATE'), +(67861, 11053, 'referenced_node_status', 'publish'), +(67862, 11053, 'referenced_node_id', '1'), +(67863, 11053, 'referenced_node_relay_id', 'dXNlcjox'), +(67864, 11053, 'referenced_node_single_name', 'user'), +(67865, 11053, 'referenced_node_plural_name', 'users'), +(67867, 11054, 'action_type', 'UPDATE'), +(67868, 11054, 'referenced_node_status', 'publish'), +(67869, 11054, 'referenced_node_id', '1'), +(67870, 11054, 'referenced_node_relay_id', 'dXNlcjox'), +(67871, 11054, 'referenced_node_single_name', 'user'), +(67872, 11054, 'referenced_node_plural_name', 'users'), +(67873, 11055, 'action_type', 'UPDATE'), +(67874, 11055, 'referenced_node_status', 'publish'), +(67875, 11055, 'referenced_node_id', '2'), +(67876, 11055, 'referenced_node_relay_id', 'cG9zdDoy'), +(67877, 11055, 'referenced_node_single_name', 'page'), +(67878, 11055, 'referenced_node_plural_name', 'pages'), +(67879, 11055, 'referenced_node_post_modified', '2020-10-09 23:34:07'), +(67880, 11056, 'action_type', 'UPDATE'), +(67881, 11056, 'referenced_node_status', 'publish'), +(67882, 11056, 'referenced_node_id', '1'), +(67883, 11056, 'referenced_node_relay_id', 'dXNlcjox'), +(67884, 11056, 'referenced_node_single_name', 'user'), +(67885, 11056, 'referenced_node_plural_name', 'users'), +(67887, 11057, 'action_type', 'UPDATE'), +(67888, 11057, 'referenced_node_status', 'publish'), +(67889, 11057, 'referenced_node_id', '1'), +(67890, 11057, 'referenced_node_relay_id', 'cG9zdDox'), +(67891, 11057, 'referenced_node_single_name', 'post'), +(67892, 11057, 'referenced_node_plural_name', 'posts'), +(67893, 11057, 'referenced_node_post_modified', '2020-10-09 23:34:07'), +(67894, 11058, 'action_type', 'UPDATE'), +(67895, 11058, 'referenced_node_status', 'publish'), +(67896, 11058, 'referenced_node_id', '1'), +(67897, 11058, 'referenced_node_relay_id', 'dXNlcjox'), +(67898, 11058, 'referenced_node_single_name', 'user'), +(67899, 11058, 'referenced_node_plural_name', 'users'), +(67901, 11059, 'action_type', 'UPDATE'), +(67902, 11059, 'referenced_node_status', 'publish'), +(67903, 11059, 'referenced_node_id', '1'), +(67904, 11059, 'referenced_node_relay_id', 'dXNlcjox'), +(67905, 11059, 'referenced_node_single_name', 'user'), +(67906, 11059, 'referenced_node_plural_name', 'users'), +(67907, 11060, 'action_type', 'UPDATE'), +(67908, 11060, 'referenced_node_status', 'publish'), +(67909, 11060, 'referenced_node_id', '2'), +(67910, 11060, 'referenced_node_relay_id', 'cG9zdDoy'), +(67911, 11060, 'referenced_node_single_name', 'page'), +(67912, 11060, 'referenced_node_plural_name', 'pages'), +(67913, 11060, 'referenced_node_post_modified', '2020-10-10 00:52:20'), +(67914, 11061, 'action_type', 'UPDATE'), +(67915, 11061, 'referenced_node_status', 'publish'), +(67916, 11061, 'referenced_node_id', '1'), +(67917, 11061, 'referenced_node_relay_id', 'dXNlcjox'), +(67918, 11061, 'referenced_node_single_name', 'user'), +(67919, 11061, 'referenced_node_plural_name', 'users'), +(67921, 11062, 'action_type', 'UPDATE'), +(67922, 11062, 'referenced_node_status', 'publish'), +(67923, 11062, 'referenced_node_id', '1'), +(67924, 11062, 'referenced_node_relay_id', 'cG9zdDox'), +(67925, 11062, 'referenced_node_single_name', 'post'), +(67926, 11062, 'referenced_node_plural_name', 'posts'), +(67927, 11062, 'referenced_node_post_modified', '2020-10-10 00:52:20'), +(67928, 11063, 'action_type', 'UPDATE'), +(67929, 11063, 'referenced_node_status', 'publish'), +(67930, 11063, 'referenced_node_id', '1'), +(67931, 11063, 'referenced_node_relay_id', 'dXNlcjox'), +(67932, 11063, 'referenced_node_single_name', 'user'), +(67933, 11063, 'referenced_node_plural_name', 'users'), +(67935, 11064, 'action_type', 'UPDATE'), +(67936, 11064, 'referenced_node_status', 'publish'), +(67937, 11064, 'referenced_node_id', '1'), +(67938, 11064, 'referenced_node_relay_id', 'dXNlcjox'), +(67939, 11064, 'referenced_node_single_name', 'user'), +(67940, 11064, 'referenced_node_plural_name', 'users'), +(67941, 11065, 'action_type', 'UPDATE'), +(67942, 11065, 'referenced_node_status', 'publish'), +(67943, 11065, 'referenced_node_id', '2'), +(67944, 11065, 'referenced_node_relay_id', 'cG9zdDoy'), +(67945, 11065, 'referenced_node_single_name', 'page'), +(67946, 11065, 'referenced_node_plural_name', 'pages'), +(67947, 11065, 'referenced_node_post_modified', '2020-10-10 00:53:30'), +(67948, 11066, 'action_type', 'UPDATE'), +(67949, 11066, 'referenced_node_status', 'publish'), +(67950, 11066, 'referenced_node_id', '1'), +(67951, 11066, 'referenced_node_relay_id', 'dXNlcjox'), +(67952, 11066, 'referenced_node_single_name', 'user'), +(67953, 11066, 'referenced_node_plural_name', 'users'), +(67955, 11067, 'action_type', 'UPDATE'), +(67956, 11067, 'referenced_node_status', 'publish'), +(67957, 11067, 'referenced_node_id', '1'), +(67958, 11067, 'referenced_node_relay_id', 'cG9zdDox'), +(67959, 11067, 'referenced_node_single_name', 'post'), +(67960, 11067, 'referenced_node_plural_name', 'posts'), +(67961, 11067, 'referenced_node_post_modified', '2020-10-10 00:53:30'), +(67962, 11068, 'action_type', 'UPDATE'), +(67963, 11068, 'referenced_node_status', 'publish'), +(67964, 11068, 'referenced_node_id', '1'), +(67965, 11068, 'referenced_node_relay_id', 'dXNlcjox'), +(67966, 11068, 'referenced_node_single_name', 'user'), +(67967, 11068, 'referenced_node_plural_name', 'users'), +(67969, 11069, 'action_type', 'UPDATE'), +(67970, 11069, 'referenced_node_status', 'publish'), +(67971, 11069, 'referenced_node_id', '1'), +(67972, 11069, 'referenced_node_relay_id', 'dXNlcjox'), +(67973, 11069, 'referenced_node_single_name', 'user'), +(67974, 11069, 'referenced_node_plural_name', 'users'), +(67975, 11070, 'action_type', 'UPDATE'), +(67976, 11070, 'referenced_node_status', 'publish'), +(67977, 11070, 'referenced_node_id', '2'), +(67978, 11070, 'referenced_node_relay_id', 'cG9zdDoy'), +(67979, 11070, 'referenced_node_single_name', 'page'), +(67980, 11070, 'referenced_node_plural_name', 'pages'), +(67981, 11070, 'referenced_node_post_modified', '2020-10-10 00:53:57'), +(67982, 11071, 'action_type', 'UPDATE'), +(67983, 11071, 'referenced_node_status', 'publish'), +(67984, 11071, 'referenced_node_id', '1'), +(67985, 11071, 'referenced_node_relay_id', 'dXNlcjox'), +(67986, 11071, 'referenced_node_single_name', 'user'), +(67987, 11071, 'referenced_node_plural_name', 'users'), +(67989, 11072, 'action_type', 'UPDATE'), +(67990, 11072, 'referenced_node_status', 'publish'), +(67991, 11072, 'referenced_node_id', '1'), +(67992, 11072, 'referenced_node_relay_id', 'cG9zdDox'), +(67993, 11072, 'referenced_node_single_name', 'post'), +(67994, 11072, 'referenced_node_plural_name', 'posts'), +(67995, 11072, 'referenced_node_post_modified', '2020-10-10 00:53:58'), +(67996, 11073, 'action_type', 'UPDATE'), +(67997, 11073, 'referenced_node_status', 'publish'), +(67998, 11073, 'referenced_node_id', '1'), +(67999, 11073, 'referenced_node_relay_id', 'dXNlcjox'), +(68000, 11073, 'referenced_node_single_name', 'user'), +(68001, 11073, 'referenced_node_plural_name', 'users'), +(68003, 11074, 'action_type', 'UPDATE'), +(68004, 11074, 'referenced_node_status', 'publish'), +(68005, 11074, 'referenced_node_id', '1'), +(68006, 11074, 'referenced_node_relay_id', 'dXNlcjox'), +(68007, 11074, 'referenced_node_single_name', 'user'), +(68008, 11074, 'referenced_node_plural_name', 'users'), +(68009, 11075, 'action_type', 'UPDATE'), +(68010, 11075, 'referenced_node_status', 'publish'), +(68011, 11075, 'referenced_node_id', '2'), +(68012, 11075, 'referenced_node_relay_id', 'cG9zdDoy'), +(68013, 11075, 'referenced_node_single_name', 'page'), +(68014, 11075, 'referenced_node_plural_name', 'pages'), +(68015, 11075, 'referenced_node_post_modified', '2020-10-10 04:02:25'), +(68016, 11076, 'action_type', 'UPDATE'), +(68017, 11076, 'referenced_node_status', 'publish'), +(68018, 11076, 'referenced_node_id', '1'), +(68019, 11076, 'referenced_node_relay_id', 'dXNlcjox'), +(68020, 11076, 'referenced_node_single_name', 'user'), +(68021, 11076, 'referenced_node_plural_name', 'users'), +(68023, 11077, 'action_type', 'UPDATE'), +(68024, 11077, 'referenced_node_status', 'publish'), +(68025, 11077, 'referenced_node_id', '1'), +(68026, 11077, 'referenced_node_relay_id', 'cG9zdDox'), +(68027, 11077, 'referenced_node_single_name', 'post'), +(68028, 11077, 'referenced_node_plural_name', 'posts'), +(68029, 11077, 'referenced_node_post_modified', '2020-10-10 04:02:25'), +(68030, 11078, 'action_type', 'UPDATE'), +(68031, 11078, 'referenced_node_status', 'publish'), +(68032, 11078, 'referenced_node_id', '1'), +(68033, 11078, 'referenced_node_relay_id', 'dXNlcjox'), +(68034, 11078, 'referenced_node_single_name', 'user'), +(68035, 11078, 'referenced_node_plural_name', 'users'), +(68037, 11079, 'action_type', 'UPDATE'), +(68038, 11079, 'referenced_node_status', 'publish'), +(68039, 11079, 'referenced_node_id', '1'), +(68040, 11079, 'referenced_node_relay_id', 'dXNlcjox'), +(68041, 11079, 'referenced_node_single_name', 'user'), +(68042, 11079, 'referenced_node_plural_name', 'users'), +(68043, 11080, 'action_type', 'UPDATE'), +(68044, 11080, 'referenced_node_status', 'publish'), +(68045, 11080, 'referenced_node_id', '2'), +(68046, 11080, 'referenced_node_relay_id', 'cG9zdDoy'), +(68047, 11080, 'referenced_node_single_name', 'page'), +(68048, 11080, 'referenced_node_plural_name', 'pages'), +(68049, 11080, 'referenced_node_post_modified', '2020-10-10 04:37:54'), +(68050, 11081, 'action_type', 'UPDATE'), +(68051, 11081, 'referenced_node_status', 'publish'), +(68052, 11081, 'referenced_node_id', '1'), +(68053, 11081, 'referenced_node_relay_id', 'dXNlcjox'), +(68054, 11081, 'referenced_node_single_name', 'user'), +(68055, 11081, 'referenced_node_plural_name', 'users'), +(68057, 11082, 'action_type', 'UPDATE'), +(68058, 11082, 'referenced_node_status', 'publish'), +(68059, 11082, 'referenced_node_id', '1'), +(68060, 11082, 'referenced_node_relay_id', 'cG9zdDox'), +(68061, 11082, 'referenced_node_single_name', 'post'), +(68062, 11082, 'referenced_node_plural_name', 'posts'), +(68063, 11082, 'referenced_node_post_modified', '2020-10-10 04:37:54'), +(68064, 11083, 'action_type', 'UPDATE'), +(68065, 11083, 'referenced_node_status', 'publish'), +(68066, 11083, 'referenced_node_id', '1'), +(68067, 11083, 'referenced_node_relay_id', 'dXNlcjox'), +(68068, 11083, 'referenced_node_single_name', 'user'), +(68069, 11083, 'referenced_node_plural_name', 'users'), +(68071, 11084, 'action_type', 'UPDATE'), +(68072, 11084, 'referenced_node_status', 'publish'), +(68073, 11084, 'referenced_node_id', '1'), +(68074, 11084, 'referenced_node_relay_id', 'dXNlcjox'), +(68075, 11084, 'referenced_node_single_name', 'user'), +(68076, 11084, 'referenced_node_plural_name', 'users'), +(68077, 11085, 'action_type', 'UPDATE'), +(68078, 11085, 'referenced_node_status', 'publish'), +(68079, 11085, 'referenced_node_id', '2'), +(68080, 11085, 'referenced_node_relay_id', 'cG9zdDoy'), +(68081, 11085, 'referenced_node_single_name', 'page'), +(68082, 11085, 'referenced_node_plural_name', 'pages'), +(68083, 11085, 'referenced_node_post_modified', '2020-10-10 04:39:04'), +(68084, 11086, 'action_type', 'UPDATE'), +(68085, 11086, 'referenced_node_status', 'publish'), +(68086, 11086, 'referenced_node_id', '1'), +(68087, 11086, 'referenced_node_relay_id', 'dXNlcjox'), +(68088, 11086, 'referenced_node_single_name', 'user'), +(68089, 11086, 'referenced_node_plural_name', 'users'), +(68091, 11087, 'action_type', 'UPDATE'), +(68092, 11087, 'referenced_node_status', 'publish'), +(68093, 11087, 'referenced_node_id', '1'), +(68094, 11087, 'referenced_node_relay_id', 'cG9zdDox'), +(68095, 11087, 'referenced_node_single_name', 'post'), +(68096, 11087, 'referenced_node_plural_name', 'posts'), +(68097, 11087, 'referenced_node_post_modified', '2020-10-10 04:39:04'), +(68098, 11088, 'action_type', 'UPDATE'), +(68099, 11088, 'referenced_node_status', 'publish'), +(68100, 11088, 'referenced_node_id', '1'), +(68101, 11088, 'referenced_node_relay_id', 'dXNlcjox'), +(68102, 11088, 'referenced_node_single_name', 'user'), +(68103, 11088, 'referenced_node_plural_name', 'users'), +(68105, 11089, 'action_type', 'UPDATE'), +(68106, 11089, 'referenced_node_status', 'publish'), +(68107, 11089, 'referenced_node_id', '1'), +(68108, 11089, 'referenced_node_relay_id', 'dXNlcjox'), +(68109, 11089, 'referenced_node_single_name', 'user'), +(68110, 11089, 'referenced_node_plural_name', 'users'), +(68111, 11090, 'action_type', 'UPDATE'), +(68112, 11090, 'referenced_node_status', 'publish'), +(68113, 11090, 'referenced_node_id', '2'), +(68114, 11090, 'referenced_node_relay_id', 'cG9zdDoy'), +(68115, 11090, 'referenced_node_single_name', 'page'), +(68116, 11090, 'referenced_node_plural_name', 'pages'), +(68117, 11090, 'referenced_node_post_modified', '2020-10-10 04:39:34'), +(68118, 11091, 'action_type', 'UPDATE'), +(68119, 11091, 'referenced_node_status', 'publish'), +(68120, 11091, 'referenced_node_id', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(68121, 11091, 'referenced_node_relay_id', 'dXNlcjox'), +(68122, 11091, 'referenced_node_single_name', 'user'), +(68123, 11091, 'referenced_node_plural_name', 'users'), +(68125, 11092, 'action_type', 'UPDATE'), +(68126, 11092, 'referenced_node_status', 'publish'), +(68127, 11092, 'referenced_node_id', '1'), +(68128, 11092, 'referenced_node_relay_id', 'cG9zdDox'), +(68129, 11092, 'referenced_node_single_name', 'post'), +(68130, 11092, 'referenced_node_plural_name', 'posts'), +(68131, 11092, 'referenced_node_post_modified', '2020-10-10 04:39:34'), +(68132, 11093, 'action_type', 'UPDATE'), +(68133, 11093, 'referenced_node_status', 'publish'), +(68134, 11093, 'referenced_node_id', '1'), +(68135, 11093, 'referenced_node_relay_id', 'dXNlcjox'), +(68136, 11093, 'referenced_node_single_name', 'user'), +(68137, 11093, 'referenced_node_plural_name', 'users'), +(68139, 11094, 'action_type', 'UPDATE'), +(68140, 11094, 'referenced_node_status', 'publish'), +(68141, 11094, 'referenced_node_id', '1'), +(68142, 11094, 'referenced_node_relay_id', 'dXNlcjox'), +(68143, 11094, 'referenced_node_single_name', 'user'), +(68144, 11094, 'referenced_node_plural_name', 'users'), +(68145, 11095, 'action_type', 'UPDATE'), +(68146, 11095, 'referenced_node_status', 'publish'), +(68147, 11095, 'referenced_node_id', '2'), +(68148, 11095, 'referenced_node_relay_id', 'cG9zdDoy'), +(68149, 11095, 'referenced_node_single_name', 'page'), +(68150, 11095, 'referenced_node_plural_name', 'pages'), +(68151, 11095, 'referenced_node_post_modified', '2020-10-14 19:22:44'), +(68152, 11096, 'action_type', 'UPDATE'), +(68153, 11096, 'referenced_node_status', 'publish'), +(68154, 11096, 'referenced_node_id', '1'), +(68155, 11096, 'referenced_node_relay_id', 'dXNlcjox'), +(68156, 11096, 'referenced_node_single_name', 'user'), +(68157, 11096, 'referenced_node_plural_name', 'users'), +(68159, 11097, 'action_type', 'UPDATE'), +(68160, 11097, 'referenced_node_status', 'publish'), +(68161, 11097, 'referenced_node_id', '1'), +(68162, 11097, 'referenced_node_relay_id', 'cG9zdDox'), +(68163, 11097, 'referenced_node_single_name', 'post'), +(68164, 11097, 'referenced_node_plural_name', 'posts'), +(68165, 11097, 'referenced_node_post_modified', '2020-10-14 19:22:50'), +(68166, 11098, 'action_type', 'UPDATE'), +(68167, 11098, 'referenced_node_status', 'publish'), +(68168, 11098, 'referenced_node_id', '1'), +(68169, 11098, 'referenced_node_relay_id', 'dXNlcjox'), +(68170, 11098, 'referenced_node_single_name', 'user'), +(68171, 11098, 'referenced_node_plural_name', 'users'), +(68173, 11099, 'action_type', 'UPDATE'), +(68174, 11099, 'referenced_node_status', 'publish'), +(68175, 11099, 'referenced_node_id', '1'), +(68176, 11099, 'referenced_node_relay_id', 'dXNlcjox'), +(68177, 11099, 'referenced_node_single_name', 'user'), +(68178, 11099, 'referenced_node_plural_name', 'users'), +(68179, 11100, 'action_type', 'UPDATE'), +(68180, 11100, 'referenced_node_status', 'publish'), +(68181, 11100, 'referenced_node_id', '2'), +(68182, 11100, 'referenced_node_relay_id', 'cG9zdDoy'), +(68183, 11100, 'referenced_node_single_name', 'page'), +(68184, 11100, 'referenced_node_plural_name', 'pages'), +(68185, 11100, 'referenced_node_post_modified', '2020-10-14 19:57:10'), +(68186, 11101, 'action_type', 'UPDATE'), +(68187, 11101, 'referenced_node_status', 'publish'), +(68188, 11101, 'referenced_node_id', '1'), +(68189, 11101, 'referenced_node_relay_id', 'dXNlcjox'), +(68190, 11101, 'referenced_node_single_name', 'user'), +(68191, 11101, 'referenced_node_plural_name', 'users'), +(68193, 11102, 'action_type', 'UPDATE'), +(68194, 11102, 'referenced_node_status', 'publish'), +(68195, 11102, 'referenced_node_id', '1'), +(68196, 11102, 'referenced_node_relay_id', 'cG9zdDox'), +(68197, 11102, 'referenced_node_single_name', 'post'), +(68198, 11102, 'referenced_node_plural_name', 'posts'), +(68199, 11102, 'referenced_node_post_modified', '2020-10-14 19:57:11'), +(68200, 11103, 'action_type', 'UPDATE'), +(68201, 11103, 'referenced_node_status', 'publish'), +(68202, 11103, 'referenced_node_id', '1'), +(68203, 11103, 'referenced_node_relay_id', 'dXNlcjox'), +(68204, 11103, 'referenced_node_single_name', 'user'), +(68205, 11103, 'referenced_node_plural_name', 'users'), +(68207, 11104, 'action_type', 'UPDATE'), +(68208, 11104, 'referenced_node_status', 'publish'), +(68209, 11104, 'referenced_node_id', '1'), +(68210, 11104, 'referenced_node_relay_id', 'dXNlcjox'), +(68211, 11104, 'referenced_node_single_name', 'user'), +(68212, 11104, 'referenced_node_plural_name', 'users'), +(68213, 11105, 'action_type', 'UPDATE'), +(68214, 11105, 'referenced_node_status', 'publish'), +(68215, 11105, 'referenced_node_id', '2'), +(68216, 11105, 'referenced_node_relay_id', 'cG9zdDoy'), +(68217, 11105, 'referenced_node_single_name', 'page'), +(68218, 11105, 'referenced_node_plural_name', 'pages'), +(68219, 11105, 'referenced_node_post_modified', '2020-10-14 21:29:19'), +(68220, 11106, 'action_type', 'UPDATE'), +(68221, 11106, 'referenced_node_status', 'publish'), +(68222, 11106, 'referenced_node_id', '1'), +(68223, 11106, 'referenced_node_relay_id', 'dXNlcjox'), +(68224, 11106, 'referenced_node_single_name', 'user'), +(68225, 11106, 'referenced_node_plural_name', 'users'), +(68227, 11107, 'action_type', 'UPDATE'), +(68228, 11107, 'referenced_node_status', 'publish'), +(68229, 11107, 'referenced_node_id', '1'), +(68230, 11107, 'referenced_node_relay_id', 'cG9zdDox'), +(68231, 11107, 'referenced_node_single_name', 'post'), +(68232, 11107, 'referenced_node_plural_name', 'posts'), +(68233, 11107, 'referenced_node_post_modified', '2020-10-14 21:29:19'), +(68234, 11108, 'action_type', 'UPDATE'), +(68235, 11108, 'referenced_node_status', 'publish'), +(68236, 11108, 'referenced_node_id', '1'), +(68237, 11108, 'referenced_node_relay_id', 'dXNlcjox'), +(68238, 11108, 'referenced_node_single_name', 'user'), +(68239, 11108, 'referenced_node_plural_name', 'users'), +(68241, 11109, 'action_type', 'UPDATE'), +(68242, 11109, 'referenced_node_status', 'publish'), +(68243, 11109, 'referenced_node_id', '1'), +(68244, 11109, 'referenced_node_relay_id', 'dXNlcjox'), +(68245, 11109, 'referenced_node_single_name', 'user'), +(68246, 11109, 'referenced_node_plural_name', 'users'), +(68247, 11110, 'action_type', 'UPDATE'), +(68248, 11110, 'referenced_node_status', 'publish'), +(68249, 11110, 'referenced_node_id', '2'), +(68250, 11110, 'referenced_node_relay_id', 'cG9zdDoy'), +(68251, 11110, 'referenced_node_single_name', 'page'), +(68252, 11110, 'referenced_node_plural_name', 'pages'), +(68253, 11110, 'referenced_node_post_modified', '2020-10-14 21:29:57'), +(68254, 11111, 'action_type', 'UPDATE'), +(68255, 11111, 'referenced_node_status', 'publish'), +(68256, 11111, 'referenced_node_id', '1'), +(68257, 11111, 'referenced_node_relay_id', 'dXNlcjox'), +(68258, 11111, 'referenced_node_single_name', 'user'), +(68259, 11111, 'referenced_node_plural_name', 'users'), +(68261, 11112, 'action_type', 'UPDATE'), +(68262, 11112, 'referenced_node_status', 'publish'), +(68263, 11112, 'referenced_node_id', '1'), +(68264, 11112, 'referenced_node_relay_id', 'cG9zdDox'), +(68265, 11112, 'referenced_node_single_name', 'post'), +(68266, 11112, 'referenced_node_plural_name', 'posts'), +(68267, 11112, 'referenced_node_post_modified', '2020-10-14 21:29:58'), +(68268, 11113, 'action_type', 'UPDATE'), +(68269, 11113, 'referenced_node_status', 'publish'), +(68270, 11113, 'referenced_node_id', '1'), +(68271, 11113, 'referenced_node_relay_id', 'dXNlcjox'), +(68272, 11113, 'referenced_node_single_name', 'user'), +(68273, 11113, 'referenced_node_plural_name', 'users'), +(68275, 11114, 'action_type', 'UPDATE'), +(68276, 11114, 'referenced_node_status', 'publish'), +(68277, 11114, 'referenced_node_id', '1'), +(68278, 11114, 'referenced_node_relay_id', 'dXNlcjox'), +(68279, 11114, 'referenced_node_single_name', 'user'), +(68280, 11114, 'referenced_node_plural_name', 'users'), +(68281, 11115, 'action_type', 'UPDATE'), +(68282, 11115, 'referenced_node_status', 'publish'), +(68283, 11115, 'referenced_node_id', '2'), +(68284, 11115, 'referenced_node_relay_id', 'cG9zdDoy'), +(68285, 11115, 'referenced_node_single_name', 'page'), +(68286, 11115, 'referenced_node_plural_name', 'pages'), +(68287, 11115, 'referenced_node_post_modified', '2020-10-14 21:31:29'), +(68288, 11116, 'action_type', 'UPDATE'), +(68289, 11116, 'referenced_node_status', 'publish'), +(68290, 11116, 'referenced_node_id', '1'), +(68291, 11116, 'referenced_node_relay_id', 'dXNlcjox'), +(68292, 11116, 'referenced_node_single_name', 'user'), +(68293, 11116, 'referenced_node_plural_name', 'users'), +(68295, 11117, 'action_type', 'UPDATE'), +(68296, 11117, 'referenced_node_status', 'publish'), +(68297, 11117, 'referenced_node_id', '1'), +(68298, 11117, 'referenced_node_relay_id', 'cG9zdDox'), +(68299, 11117, 'referenced_node_single_name', 'post'), +(68300, 11117, 'referenced_node_plural_name', 'posts'), +(68301, 11117, 'referenced_node_post_modified', '2020-10-14 21:31:29'), +(68302, 11118, 'action_type', 'UPDATE'), +(68303, 11118, 'referenced_node_status', 'publish'), +(68304, 11118, 'referenced_node_id', '1'), +(68305, 11118, 'referenced_node_relay_id', 'dXNlcjox'), +(68306, 11118, 'referenced_node_single_name', 'user'), +(68307, 11118, 'referenced_node_plural_name', 'users'), +(68309, 11119, 'action_type', 'UPDATE'), +(68310, 11119, 'referenced_node_status', 'publish'), +(68311, 11119, 'referenced_node_id', '1'), +(68312, 11119, 'referenced_node_relay_id', 'dXNlcjox'), +(68313, 11119, 'referenced_node_single_name', 'user'), +(68314, 11119, 'referenced_node_plural_name', 'users'), +(68315, 11120, 'action_type', 'UPDATE'), +(68316, 11120, 'referenced_node_status', 'publish'), +(68317, 11120, 'referenced_node_id', '2'), +(68318, 11120, 'referenced_node_relay_id', 'cG9zdDoy'), +(68319, 11120, 'referenced_node_single_name', 'page'), +(68320, 11120, 'referenced_node_plural_name', 'pages'), +(68321, 11120, 'referenced_node_post_modified', '2020-10-14 21:32:34'), +(68322, 11121, 'action_type', 'UPDATE'), +(68323, 11121, 'referenced_node_status', 'publish'), +(68324, 11121, 'referenced_node_id', '1'), +(68325, 11121, 'referenced_node_relay_id', 'dXNlcjox'), +(68326, 11121, 'referenced_node_single_name', 'user'), +(68327, 11121, 'referenced_node_plural_name', 'users'), +(68329, 11122, 'action_type', 'UPDATE'), +(68330, 11122, 'referenced_node_status', 'publish'), +(68331, 11122, 'referenced_node_id', '1'), +(68332, 11122, 'referenced_node_relay_id', 'cG9zdDox'), +(68333, 11122, 'referenced_node_single_name', 'post'), +(68334, 11122, 'referenced_node_plural_name', 'posts'), +(68335, 11122, 'referenced_node_post_modified', '2020-10-14 21:32:34'), +(68336, 11123, 'action_type', 'UPDATE'), +(68337, 11123, 'referenced_node_status', 'publish'), +(68338, 11123, 'referenced_node_id', '1'), +(68339, 11123, 'referenced_node_relay_id', 'dXNlcjox'), +(68340, 11123, 'referenced_node_single_name', 'user'), +(68341, 11123, 'referenced_node_plural_name', 'users'), +(68343, 11124, 'action_type', 'UPDATE'), +(68344, 11124, 'referenced_node_status', 'publish'), +(68345, 11124, 'referenced_node_id', '1'), +(68346, 11124, 'referenced_node_relay_id', 'dXNlcjox'), +(68347, 11124, 'referenced_node_single_name', 'user'), +(68348, 11124, 'referenced_node_plural_name', 'users'), +(68349, 11125, 'action_type', 'UPDATE'), +(68350, 11125, 'referenced_node_status', 'publish'), +(68351, 11125, 'referenced_node_id', '2'), +(68352, 11125, 'referenced_node_relay_id', 'cG9zdDoy'), +(68353, 11125, 'referenced_node_single_name', 'page'), +(68354, 11125, 'referenced_node_plural_name', 'pages'), +(68355, 11125, 'referenced_node_post_modified', '2020-10-14 21:33:01'), +(68356, 11126, 'action_type', 'UPDATE'), +(68357, 11126, 'referenced_node_status', 'publish'), +(68358, 11126, 'referenced_node_id', '1'), +(68359, 11126, 'referenced_node_relay_id', 'dXNlcjox'), +(68360, 11126, 'referenced_node_single_name', 'user'), +(68361, 11126, 'referenced_node_plural_name', 'users'), +(68363, 11127, 'action_type', 'UPDATE'), +(68364, 11127, 'referenced_node_status', 'publish'), +(68365, 11127, 'referenced_node_id', '1'), +(68366, 11127, 'referenced_node_relay_id', 'cG9zdDox'), +(68367, 11127, 'referenced_node_single_name', 'post'), +(68368, 11127, 'referenced_node_plural_name', 'posts'), +(68369, 11127, 'referenced_node_post_modified', '2020-10-14 21:33:02'), +(68370, 11128, 'action_type', 'UPDATE'), +(68371, 11128, 'referenced_node_status', 'publish'), +(68372, 11128, 'referenced_node_id', '1'), +(68373, 11128, 'referenced_node_relay_id', 'dXNlcjox'), +(68374, 11128, 'referenced_node_single_name', 'user'), +(68375, 11128, 'referenced_node_plural_name', 'users'), +(68377, 11129, 'action_type', 'UPDATE'), +(68378, 11129, 'referenced_node_status', 'publish'), +(68379, 11129, 'referenced_node_id', '1'), +(68380, 11129, 'referenced_node_relay_id', 'dXNlcjox'), +(68381, 11129, 'referenced_node_single_name', 'user'), +(68382, 11129, 'referenced_node_plural_name', 'users'), +(68383, 11130, 'action_type', 'UPDATE'), +(68384, 11130, 'referenced_node_status', 'publish'), +(68385, 11130, 'referenced_node_id', '2'), +(68386, 11130, 'referenced_node_relay_id', 'cG9zdDoy'), +(68387, 11130, 'referenced_node_single_name', 'page'), +(68388, 11130, 'referenced_node_plural_name', 'pages'), +(68389, 11130, 'referenced_node_post_modified', '2020-10-14 22:23:14'), +(68390, 11131, 'action_type', 'UPDATE'), +(68391, 11131, 'referenced_node_status', 'publish'), +(68392, 11131, 'referenced_node_id', '1'), +(68393, 11131, 'referenced_node_relay_id', 'dXNlcjox'), +(68394, 11131, 'referenced_node_single_name', 'user'), +(68395, 11131, 'referenced_node_plural_name', 'users'), +(68397, 11132, 'action_type', 'UPDATE'), +(68398, 11132, 'referenced_node_status', 'publish'), +(68399, 11132, 'referenced_node_id', '1'), +(68400, 11132, 'referenced_node_relay_id', 'cG9zdDox'), +(68401, 11132, 'referenced_node_single_name', 'post'), +(68402, 11132, 'referenced_node_plural_name', 'posts'), +(68403, 11132, 'referenced_node_post_modified', '2020-10-14 22:23:15'), +(68404, 11133, 'action_type', 'UPDATE'), +(68405, 11133, 'referenced_node_status', 'publish'), +(68406, 11133, 'referenced_node_id', '1'), +(68407, 11133, 'referenced_node_relay_id', 'dXNlcjox'), +(68408, 11133, 'referenced_node_single_name', 'user'), +(68409, 11133, 'referenced_node_plural_name', 'users'), +(68411, 11134, 'action_type', 'UPDATE'), +(68412, 11134, 'referenced_node_status', 'publish'), +(68413, 11134, 'referenced_node_id', '1'), +(68414, 11134, 'referenced_node_relay_id', 'dXNlcjox'), +(68415, 11134, 'referenced_node_single_name', 'user'), +(68416, 11134, 'referenced_node_plural_name', 'users'), +(68417, 11135, 'action_type', 'UPDATE'), +(68418, 11135, 'referenced_node_status', 'publish'), +(68419, 11135, 'referenced_node_id', '2'), +(68420, 11135, 'referenced_node_relay_id', 'cG9zdDoy'), +(68421, 11135, 'referenced_node_single_name', 'page'), +(68422, 11135, 'referenced_node_plural_name', 'pages'), +(68423, 11135, 'referenced_node_post_modified', '2020-10-14 22:24:31'), +(68424, 11136, 'action_type', 'UPDATE'), +(68425, 11136, 'referenced_node_status', 'publish'), +(68426, 11136, 'referenced_node_id', '1'), +(68427, 11136, 'referenced_node_relay_id', 'dXNlcjox'), +(68428, 11136, 'referenced_node_single_name', 'user'), +(68429, 11136, 'referenced_node_plural_name', 'users'), +(68431, 11137, 'action_type', 'UPDATE'), +(68432, 11137, 'referenced_node_status', 'publish'), +(68433, 11137, 'referenced_node_id', '1'), +(68434, 11137, 'referenced_node_relay_id', 'cG9zdDox'), +(68435, 11137, 'referenced_node_single_name', 'post'), +(68436, 11137, 'referenced_node_plural_name', 'posts'), +(68437, 11137, 'referenced_node_post_modified', '2020-10-14 22:24:31'), +(68438, 11138, 'action_type', 'UPDATE'), +(68439, 11138, 'referenced_node_status', 'publish'), +(68440, 11138, 'referenced_node_id', '1'), +(68441, 11138, 'referenced_node_relay_id', 'dXNlcjox'), +(68442, 11138, 'referenced_node_single_name', 'user'), +(68443, 11138, 'referenced_node_plural_name', 'users'), +(68445, 11139, 'action_type', 'UPDATE'), +(68446, 11139, 'referenced_node_status', 'publish'), +(68447, 11139, 'referenced_node_id', '1'), +(68448, 11139, 'referenced_node_relay_id', 'dXNlcjox'), +(68449, 11139, 'referenced_node_single_name', 'user'), +(68450, 11139, 'referenced_node_plural_name', 'users'), +(68451, 11140, 'action_type', 'UPDATE'), +(68452, 11140, 'referenced_node_status', 'publish'), +(68453, 11140, 'referenced_node_id', '2'), +(68454, 11140, 'referenced_node_relay_id', 'cG9zdDoy'), +(68455, 11140, 'referenced_node_single_name', 'page'), +(68456, 11140, 'referenced_node_plural_name', 'pages'), +(68457, 11140, 'referenced_node_post_modified', '2020-10-14 22:25:03'), +(68458, 11141, 'action_type', 'UPDATE'), +(68459, 11141, 'referenced_node_status', 'publish'), +(68460, 11141, 'referenced_node_id', '1'), +(68461, 11141, 'referenced_node_relay_id', 'dXNlcjox'), +(68462, 11141, 'referenced_node_single_name', 'user'), +(68463, 11141, 'referenced_node_plural_name', 'users'), +(68465, 11142, 'action_type', 'UPDATE'), +(68466, 11142, 'referenced_node_status', 'publish'), +(68467, 11142, 'referenced_node_id', '1'), +(68468, 11142, 'referenced_node_relay_id', 'cG9zdDox'), +(68469, 11142, 'referenced_node_single_name', 'post'), +(68470, 11142, 'referenced_node_plural_name', 'posts'), +(68471, 11142, 'referenced_node_post_modified', '2020-10-14 22:25:03'), +(68472, 11143, 'action_type', 'UPDATE'), +(68473, 11143, 'referenced_node_status', 'publish'), +(68474, 11143, 'referenced_node_id', '1'), +(68475, 11143, 'referenced_node_relay_id', 'dXNlcjox'), +(68476, 11143, 'referenced_node_single_name', 'user'), +(68477, 11143, 'referenced_node_plural_name', 'users'), +(68479, 11144, 'action_type', 'UPDATE'), +(68480, 11144, 'referenced_node_status', 'publish'), +(68481, 11144, 'referenced_node_id', '1'), +(68482, 11144, 'referenced_node_relay_id', 'dXNlcjox'), +(68483, 11144, 'referenced_node_single_name', 'user'), +(68484, 11144, 'referenced_node_plural_name', 'users'), +(68485, 11145, 'action_type', 'UPDATE'), +(68486, 11145, 'referenced_node_status', 'publish'), +(68487, 11145, 'referenced_node_id', '2'), +(68488, 11145, 'referenced_node_relay_id', 'cG9zdDoy'), +(68489, 11145, 'referenced_node_single_name', 'page'), +(68490, 11145, 'referenced_node_plural_name', 'pages'), +(68491, 11145, 'referenced_node_post_modified', '2020-10-14 22:33:06'), +(68492, 11146, 'action_type', 'UPDATE'), +(68493, 11146, 'referenced_node_status', 'publish'), +(68494, 11146, 'referenced_node_id', '1'), +(68495, 11146, 'referenced_node_relay_id', 'dXNlcjox'), +(68496, 11146, 'referenced_node_single_name', 'user'), +(68497, 11146, 'referenced_node_plural_name', 'users'), +(68499, 11147, 'action_type', 'UPDATE'), +(68500, 11147, 'referenced_node_status', 'publish'), +(68501, 11147, 'referenced_node_id', '1'), +(68502, 11147, 'referenced_node_relay_id', 'cG9zdDox'), +(68503, 11147, 'referenced_node_single_name', 'post'), +(68504, 11147, 'referenced_node_plural_name', 'posts'), +(68505, 11147, 'referenced_node_post_modified', '2020-10-14 22:33:06'), +(68506, 11148, 'action_type', 'UPDATE'), +(68507, 11148, 'referenced_node_status', 'publish'), +(68508, 11148, 'referenced_node_id', '1'), +(68509, 11148, 'referenced_node_relay_id', 'dXNlcjox'), +(68510, 11148, 'referenced_node_single_name', 'user'), +(68511, 11148, 'referenced_node_plural_name', 'users'), +(68513, 11149, 'action_type', 'UPDATE'), +(68514, 11149, 'referenced_node_status', 'publish'), +(68515, 11149, 'referenced_node_id', '1'), +(68516, 11149, 'referenced_node_relay_id', 'dXNlcjox'), +(68517, 11149, 'referenced_node_single_name', 'user'), +(68518, 11149, 'referenced_node_plural_name', 'users'), +(68519, 11150, 'action_type', 'UPDATE'), +(68520, 11150, 'referenced_node_status', 'publish'), +(68521, 11150, 'referenced_node_id', '2'), +(68522, 11150, 'referenced_node_relay_id', 'cG9zdDoy'), +(68523, 11150, 'referenced_node_single_name', 'page'), +(68524, 11150, 'referenced_node_plural_name', 'pages'), +(68525, 11150, 'referenced_node_post_modified', '2020-10-14 22:34:18'), +(68526, 11151, 'action_type', 'UPDATE'), +(68527, 11151, 'referenced_node_status', 'publish'), +(68528, 11151, 'referenced_node_id', '1'), +(68529, 11151, 'referenced_node_relay_id', 'dXNlcjox'), +(68530, 11151, 'referenced_node_single_name', 'user'), +(68531, 11151, 'referenced_node_plural_name', 'users'), +(68533, 11152, 'action_type', 'UPDATE'), +(68534, 11152, 'referenced_node_status', 'publish'), +(68535, 11152, 'referenced_node_id', '1'), +(68536, 11152, 'referenced_node_relay_id', 'cG9zdDox'), +(68537, 11152, 'referenced_node_single_name', 'post'), +(68538, 11152, 'referenced_node_plural_name', 'posts'), +(68539, 11152, 'referenced_node_post_modified', '2020-10-14 22:34:18'), +(68540, 11153, 'action_type', 'UPDATE'), +(68541, 11153, 'referenced_node_status', 'publish'), +(68542, 11153, 'referenced_node_id', '1'), +(68543, 11153, 'referenced_node_relay_id', 'dXNlcjox'), +(68544, 11153, 'referenced_node_single_name', 'user'), +(68545, 11153, 'referenced_node_plural_name', 'users'), +(68547, 11154, 'action_type', 'UPDATE'), +(68548, 11154, 'referenced_node_status', 'publish'), +(68549, 11154, 'referenced_node_id', '1'), +(68550, 11154, 'referenced_node_relay_id', 'dXNlcjox'), +(68551, 11154, 'referenced_node_single_name', 'user'), +(68552, 11154, 'referenced_node_plural_name', 'users'), +(68553, 11155, 'action_type', 'UPDATE'), +(68554, 11155, 'referenced_node_status', 'publish'), +(68555, 11155, 'referenced_node_id', '2'), +(68556, 11155, 'referenced_node_relay_id', 'cG9zdDoy'), +(68557, 11155, 'referenced_node_single_name', 'page'), +(68558, 11155, 'referenced_node_plural_name', 'pages'), +(68559, 11155, 'referenced_node_post_modified', '2020-10-14 22:34:48'), +(68560, 11156, 'action_type', 'UPDATE'), +(68561, 11156, 'referenced_node_status', 'publish'), +(68562, 11156, 'referenced_node_id', '1'), +(68563, 11156, 'referenced_node_relay_id', 'dXNlcjox'), +(68564, 11156, 'referenced_node_single_name', 'user'), +(68565, 11156, 'referenced_node_plural_name', 'users'), +(68567, 11157, 'action_type', 'UPDATE'), +(68568, 11157, 'referenced_node_status', 'publish'), +(68569, 11157, 'referenced_node_id', '1'), +(68570, 11157, 'referenced_node_relay_id', 'cG9zdDox'), +(68571, 11157, 'referenced_node_single_name', 'post'), +(68572, 11157, 'referenced_node_plural_name', 'posts'), +(68573, 11157, 'referenced_node_post_modified', '2020-10-14 22:34:48'), +(68574, 11158, 'action_type', 'UPDATE'), +(68575, 11158, 'referenced_node_status', 'publish'), +(68576, 11158, 'referenced_node_id', '1'), +(68577, 11158, 'referenced_node_relay_id', 'dXNlcjox'), +(68578, 11158, 'referenced_node_single_name', 'user'), +(68579, 11158, 'referenced_node_plural_name', 'users'), +(68581, 11159, 'action_type', 'UPDATE'), +(68582, 11159, 'referenced_node_status', 'publish'), +(68583, 11159, 'referenced_node_id', '1'), +(68584, 11159, 'referenced_node_relay_id', 'dXNlcjox'), +(68585, 11159, 'referenced_node_single_name', 'user'), +(68586, 11159, 'referenced_node_plural_name', 'users'), +(68587, 11160, 'action_type', 'UPDATE'), +(68588, 11160, 'referenced_node_status', 'publish'), +(68589, 11160, 'referenced_node_id', '2'), +(68590, 11160, 'referenced_node_relay_id', 'cG9zdDoy'), +(68591, 11160, 'referenced_node_single_name', 'page'), +(68592, 11160, 'referenced_node_plural_name', 'pages'), +(68593, 11160, 'referenced_node_post_modified', '2020-10-14 23:15:40'), +(68594, 11161, 'action_type', 'UPDATE'), +(68595, 11161, 'referenced_node_status', 'publish'), +(68596, 11161, 'referenced_node_id', '1'), +(68597, 11161, 'referenced_node_relay_id', 'dXNlcjox'), +(68598, 11161, 'referenced_node_single_name', 'user'), +(68599, 11161, 'referenced_node_plural_name', 'users'), +(68601, 11162, 'action_type', 'UPDATE'), +(68602, 11162, 'referenced_node_status', 'publish'), +(68603, 11162, 'referenced_node_id', '1'), +(68604, 11162, 'referenced_node_relay_id', 'cG9zdDox'), +(68605, 11162, 'referenced_node_single_name', 'post'), +(68606, 11162, 'referenced_node_plural_name', 'posts'), +(68607, 11162, 'referenced_node_post_modified', '2020-10-14 23:15:41'), +(68608, 11163, 'action_type', 'UPDATE'), +(68609, 11163, 'referenced_node_status', 'publish'), +(68610, 11163, 'referenced_node_id', '1'), +(68611, 11163, 'referenced_node_relay_id', 'dXNlcjox'), +(68612, 11163, 'referenced_node_single_name', 'user'), +(68613, 11163, 'referenced_node_plural_name', 'users'), +(68615, 11164, 'action_type', 'UPDATE'), +(68616, 11164, 'referenced_node_status', 'publish'), +(68617, 11164, 'referenced_node_id', '1'), +(68618, 11164, 'referenced_node_relay_id', 'dXNlcjox'), +(68619, 11164, 'referenced_node_single_name', 'user'), +(68620, 11164, 'referenced_node_plural_name', 'users'), +(68621, 11165, 'action_type', 'UPDATE'), +(68622, 11165, 'referenced_node_status', 'publish'), +(68623, 11165, 'referenced_node_id', '2'), +(68624, 11165, 'referenced_node_relay_id', 'cG9zdDoy'), +(68625, 11165, 'referenced_node_single_name', 'page'), +(68626, 11165, 'referenced_node_plural_name', 'pages'), +(68627, 11165, 'referenced_node_post_modified', '2020-10-14 23:21:27'), +(68628, 11166, 'action_type', 'UPDATE'), +(68629, 11166, 'referenced_node_status', 'publish'), +(68630, 11166, 'referenced_node_id', '1'), +(68631, 11166, 'referenced_node_relay_id', 'dXNlcjox'), +(68632, 11166, 'referenced_node_single_name', 'user'), +(68633, 11166, 'referenced_node_plural_name', 'users'), +(68635, 11167, 'action_type', 'UPDATE'), +(68636, 11167, 'referenced_node_status', 'publish'), +(68637, 11167, 'referenced_node_id', '1'), +(68638, 11167, 'referenced_node_relay_id', 'cG9zdDox'), +(68639, 11167, 'referenced_node_single_name', 'post'), +(68640, 11167, 'referenced_node_plural_name', 'posts'), +(68641, 11167, 'referenced_node_post_modified', '2020-10-14 23:21:27'), +(68642, 11168, 'action_type', 'UPDATE'), +(68643, 11168, 'referenced_node_status', 'publish'), +(68644, 11168, 'referenced_node_id', '1'), +(68645, 11168, 'referenced_node_relay_id', 'dXNlcjox'), +(68646, 11168, 'referenced_node_single_name', 'user'), +(68647, 11168, 'referenced_node_plural_name', 'users'), +(68649, 11169, 'action_type', 'UPDATE'), +(68650, 11169, 'referenced_node_status', 'publish'), +(68651, 11169, 'referenced_node_id', '1'), +(68652, 11169, 'referenced_node_relay_id', 'dXNlcjox'), +(68653, 11169, 'referenced_node_single_name', 'user'), +(68654, 11169, 'referenced_node_plural_name', 'users'), +(68655, 11170, 'action_type', 'UPDATE'), +(68656, 11170, 'referenced_node_status', 'publish'), +(68657, 11170, 'referenced_node_id', '2'), +(68658, 11170, 'referenced_node_relay_id', 'cG9zdDoy'), +(68659, 11170, 'referenced_node_single_name', 'page'), +(68660, 11170, 'referenced_node_plural_name', 'pages'), +(68661, 11170, 'referenced_node_post_modified', '2020-10-14 23:23:17'), +(68662, 11171, 'action_type', 'UPDATE'), +(68663, 11171, 'referenced_node_status', 'publish'), +(68664, 11171, 'referenced_node_id', '1'), +(68665, 11171, 'referenced_node_relay_id', 'dXNlcjox'), +(68666, 11171, 'referenced_node_single_name', 'user'), +(68667, 11171, 'referenced_node_plural_name', 'users'), +(68669, 11172, 'action_type', 'UPDATE'), +(68670, 11172, 'referenced_node_status', 'publish'), +(68671, 11172, 'referenced_node_id', '1'), +(68672, 11172, 'referenced_node_relay_id', 'cG9zdDox'), +(68673, 11172, 'referenced_node_single_name', 'post'), +(68674, 11172, 'referenced_node_plural_name', 'posts'), +(68675, 11172, 'referenced_node_post_modified', '2020-10-14 23:23:18'), +(68676, 11173, 'action_type', 'UPDATE'), +(68677, 11173, 'referenced_node_status', 'publish'), +(68678, 11173, 'referenced_node_id', '1'), +(68679, 11173, 'referenced_node_relay_id', 'dXNlcjox'), +(68680, 11173, 'referenced_node_single_name', 'user'), +(68681, 11173, 'referenced_node_plural_name', 'users'), +(68683, 11174, 'action_type', 'UPDATE'), +(68684, 11174, 'referenced_node_status', 'publish'), +(68685, 11174, 'referenced_node_id', '1'), +(68686, 11174, 'referenced_node_relay_id', 'dXNlcjox'), +(68687, 11174, 'referenced_node_single_name', 'user'), +(68688, 11174, 'referenced_node_plural_name', 'users'), +(68689, 11175, 'action_type', 'UPDATE'), +(68690, 11175, 'referenced_node_status', 'publish'), +(68691, 11175, 'referenced_node_id', '2'), +(68692, 11175, 'referenced_node_relay_id', 'cG9zdDoy'), +(68693, 11175, 'referenced_node_single_name', 'page'), +(68694, 11175, 'referenced_node_plural_name', 'pages'), +(68695, 11175, 'referenced_node_post_modified', '2020-10-14 23:23:46'), +(68696, 11176, 'action_type', 'UPDATE'), +(68697, 11176, 'referenced_node_status', 'publish'), +(68698, 11176, 'referenced_node_id', '1'), +(68699, 11176, 'referenced_node_relay_id', 'dXNlcjox'), +(68700, 11176, 'referenced_node_single_name', 'user'), +(68701, 11176, 'referenced_node_plural_name', 'users'), +(68703, 11177, 'action_type', 'UPDATE'), +(68704, 11177, 'referenced_node_status', 'publish'), +(68705, 11177, 'referenced_node_id', '1'), +(68706, 11177, 'referenced_node_relay_id', 'cG9zdDox'), +(68707, 11177, 'referenced_node_single_name', 'post'), +(68708, 11177, 'referenced_node_plural_name', 'posts'), +(68709, 11177, 'referenced_node_post_modified', '2020-10-14 23:23:47'), +(68710, 11178, 'action_type', 'UPDATE'), +(68711, 11178, 'referenced_node_status', 'publish'), +(68712, 11178, 'referenced_node_id', '1'), +(68713, 11178, 'referenced_node_relay_id', 'dXNlcjox'), +(68714, 11178, 'referenced_node_single_name', 'user'), +(68715, 11178, 'referenced_node_plural_name', 'users'), +(68717, 11179, 'action_type', 'UPDATE'), +(68718, 11179, 'referenced_node_status', 'publish'), +(68719, 11179, 'referenced_node_id', '1'), +(68720, 11179, 'referenced_node_relay_id', 'dXNlcjox'), +(68721, 11179, 'referenced_node_single_name', 'user'), +(68722, 11179, 'referenced_node_plural_name', 'users'), +(68723, 11180, 'action_type', 'UPDATE'), +(68724, 11180, 'referenced_node_status', 'publish'), +(68725, 11180, 'referenced_node_id', '2'), +(68726, 11180, 'referenced_node_relay_id', 'cG9zdDoy'), +(68727, 11180, 'referenced_node_single_name', 'page'), +(68728, 11180, 'referenced_node_plural_name', 'pages'), +(68729, 11180, 'referenced_node_post_modified', '2020-10-15 00:42:51'), +(68730, 11181, 'action_type', 'UPDATE'), +(68731, 11181, 'referenced_node_status', 'publish'), +(68732, 11181, 'referenced_node_id', '1'), +(68733, 11181, 'referenced_node_relay_id', 'dXNlcjox'), +(68734, 11181, 'referenced_node_single_name', 'user'), +(68735, 11181, 'referenced_node_plural_name', 'users'), +(68737, 11182, 'action_type', 'UPDATE'), +(68738, 11182, 'referenced_node_status', 'publish'), +(68739, 11182, 'referenced_node_id', '1'), +(68740, 11182, 'referenced_node_relay_id', 'cG9zdDox'), +(68741, 11182, 'referenced_node_single_name', 'post'), +(68742, 11182, 'referenced_node_plural_name', 'posts'), +(68743, 11182, 'referenced_node_post_modified', '2020-10-15 00:42:52'), +(68744, 11183, 'action_type', 'UPDATE'), +(68745, 11183, 'referenced_node_status', 'publish'), +(68746, 11183, 'referenced_node_id', '1'), +(68747, 11183, 'referenced_node_relay_id', 'dXNlcjox'), +(68748, 11183, 'referenced_node_single_name', 'user'), +(68749, 11183, 'referenced_node_plural_name', 'users'), +(68751, 11184, 'action_type', 'UPDATE'), +(68752, 11184, 'referenced_node_status', 'publish'), +(68753, 11184, 'referenced_node_id', '1'), +(68754, 11184, 'referenced_node_relay_id', 'dXNlcjox'), +(68755, 11184, 'referenced_node_single_name', 'user'), +(68756, 11184, 'referenced_node_plural_name', 'users'), +(68757, 11185, 'action_type', 'UPDATE'), +(68758, 11185, 'referenced_node_status', 'publish'), +(68759, 11185, 'referenced_node_id', '2'), +(68760, 11185, 'referenced_node_relay_id', 'cG9zdDoy'), +(68761, 11185, 'referenced_node_single_name', 'page'), +(68762, 11185, 'referenced_node_plural_name', 'pages'), +(68763, 11185, 'referenced_node_post_modified', '2020-10-15 00:47:29'), +(68764, 11186, 'action_type', 'UPDATE'), +(68765, 11186, 'referenced_node_status', 'publish'), +(68766, 11186, 'referenced_node_id', '1'), +(68767, 11186, 'referenced_node_relay_id', 'dXNlcjox'), +(68768, 11186, 'referenced_node_single_name', 'user'), +(68769, 11186, 'referenced_node_plural_name', 'users'), +(68771, 11187, 'action_type', 'UPDATE'), +(68772, 11187, 'referenced_node_status', 'publish'), +(68773, 11187, 'referenced_node_id', '1'), +(68774, 11187, 'referenced_node_relay_id', 'cG9zdDox'), +(68775, 11187, 'referenced_node_single_name', 'post'), +(68776, 11187, 'referenced_node_plural_name', 'posts'), +(68777, 11187, 'referenced_node_post_modified', '2020-10-15 00:47:30'), +(68778, 11188, 'action_type', 'UPDATE'), +(68779, 11188, 'referenced_node_status', 'publish'), +(68780, 11188, 'referenced_node_id', '1'), +(68781, 11188, 'referenced_node_relay_id', 'dXNlcjox'), +(68782, 11188, 'referenced_node_single_name', 'user'), +(68783, 11188, 'referenced_node_plural_name', 'users'), +(68785, 11189, 'action_type', 'UPDATE'), +(68786, 11189, 'referenced_node_status', 'publish'), +(68787, 11189, 'referenced_node_id', '1'), +(68788, 11189, 'referenced_node_relay_id', 'dXNlcjox'), +(68789, 11189, 'referenced_node_single_name', 'user'), +(68790, 11189, 'referenced_node_plural_name', 'users'), +(68791, 11190, 'action_type', 'UPDATE'), +(68792, 11190, 'referenced_node_status', 'publish'), +(68793, 11190, 'referenced_node_id', '2'), +(68794, 11190, 'referenced_node_relay_id', 'cG9zdDoy'), +(68795, 11190, 'referenced_node_single_name', 'page'), +(68796, 11190, 'referenced_node_plural_name', 'pages'), +(68797, 11190, 'referenced_node_post_modified', '2020-10-15 00:48:07'), +(68798, 11191, 'action_type', 'UPDATE'), +(68799, 11191, 'referenced_node_status', 'publish'), +(68800, 11191, 'referenced_node_id', '1'), +(68801, 11191, 'referenced_node_relay_id', 'dXNlcjox'), +(68802, 11191, 'referenced_node_single_name', 'user'), +(68803, 11191, 'referenced_node_plural_name', 'users'), +(68805, 11192, 'action_type', 'UPDATE'), +(68806, 11192, 'referenced_node_status', 'publish'), +(68807, 11192, 'referenced_node_id', '1'), +(68808, 11192, 'referenced_node_relay_id', 'cG9zdDox'), +(68809, 11192, 'referenced_node_single_name', 'post'), +(68810, 11192, 'referenced_node_plural_name', 'posts'), +(68811, 11192, 'referenced_node_post_modified', '2020-10-15 00:48:07'), +(68812, 11193, 'action_type', 'UPDATE'), +(68813, 11193, 'referenced_node_status', 'publish'), +(68814, 11193, 'referenced_node_id', '1'), +(68815, 11193, 'referenced_node_relay_id', 'dXNlcjox'), +(68816, 11193, 'referenced_node_single_name', 'user'), +(68817, 11193, 'referenced_node_plural_name', 'users'), +(68819, 11194, 'action_type', 'UPDATE'), +(68820, 11194, 'referenced_node_status', 'publish'), +(68821, 11194, 'referenced_node_id', '1'), +(68822, 11194, 'referenced_node_relay_id', 'dXNlcjox'), +(68823, 11194, 'referenced_node_single_name', 'user'), +(68824, 11194, 'referenced_node_plural_name', 'users'), +(68825, 11195, 'action_type', 'UPDATE'), +(68826, 11195, 'referenced_node_status', 'publish'), +(68827, 11195, 'referenced_node_id', '2'), +(68828, 11195, 'referenced_node_relay_id', 'cG9zdDoy'), +(68829, 11195, 'referenced_node_single_name', 'page'), +(68830, 11195, 'referenced_node_plural_name', 'pages'), +(68831, 11195, 'referenced_node_post_modified', '2020-10-15 01:06:30'), +(68832, 11196, 'action_type', 'UPDATE'), +(68833, 11196, 'referenced_node_status', 'publish'), +(68834, 11196, 'referenced_node_id', '1'), +(68835, 11196, 'referenced_node_relay_id', 'dXNlcjox'), +(68836, 11196, 'referenced_node_single_name', 'user'), +(68837, 11196, 'referenced_node_plural_name', 'users'), +(68839, 11197, 'action_type', 'UPDATE'), +(68840, 11197, 'referenced_node_status', 'publish'), +(68841, 11197, 'referenced_node_id', '1'), +(68842, 11197, 'referenced_node_relay_id', 'cG9zdDox'), +(68843, 11197, 'referenced_node_single_name', 'post'), +(68844, 11197, 'referenced_node_plural_name', 'posts'), +(68845, 11197, 'referenced_node_post_modified', '2020-10-15 01:06:30'), +(68846, 11198, 'action_type', 'UPDATE'), +(68847, 11198, 'referenced_node_status', 'publish'), +(68848, 11198, 'referenced_node_id', '1'), +(68849, 11198, 'referenced_node_relay_id', 'dXNlcjox'), +(68850, 11198, 'referenced_node_single_name', 'user'), +(68851, 11198, 'referenced_node_plural_name', 'users'), +(68853, 11199, 'action_type', 'UPDATE'), +(68854, 11199, 'referenced_node_status', 'publish'), +(68855, 11199, 'referenced_node_id', '1'), +(68856, 11199, 'referenced_node_relay_id', 'dXNlcjox'), +(68857, 11199, 'referenced_node_single_name', 'user'), +(68858, 11199, 'referenced_node_plural_name', 'users'), +(68859, 11200, 'action_type', 'UPDATE'), +(68860, 11200, 'referenced_node_status', 'publish'), +(68861, 11200, 'referenced_node_id', '2'), +(68862, 11200, 'referenced_node_relay_id', 'cG9zdDoy'), +(68863, 11200, 'referenced_node_single_name', 'page'), +(68864, 11200, 'referenced_node_plural_name', 'pages'), +(68865, 11200, 'referenced_node_post_modified', '2020-10-15 01:07:16'), +(68866, 11201, 'action_type', 'UPDATE'), +(68867, 11201, 'referenced_node_status', 'publish'), +(68868, 11201, 'referenced_node_id', '1'), +(68869, 11201, 'referenced_node_relay_id', 'dXNlcjox'), +(68870, 11201, 'referenced_node_single_name', 'user'), +(68871, 11201, 'referenced_node_plural_name', 'users'), +(68873, 11202, 'action_type', 'UPDATE'), +(68874, 11202, 'referenced_node_status', 'publish'), +(68875, 11202, 'referenced_node_id', '1'), +(68876, 11202, 'referenced_node_relay_id', 'cG9zdDox'), +(68877, 11202, 'referenced_node_single_name', 'post'), +(68878, 11202, 'referenced_node_plural_name', 'posts'), +(68879, 11202, 'referenced_node_post_modified', '2020-10-15 01:07:16'), +(68880, 11203, 'action_type', 'UPDATE'), +(68881, 11203, 'referenced_node_status', 'publish'), +(68882, 11203, 'referenced_node_id', '1'), +(68883, 11203, 'referenced_node_relay_id', 'dXNlcjox'), +(68884, 11203, 'referenced_node_single_name', 'user'), +(68885, 11203, 'referenced_node_plural_name', 'users'), +(68887, 11204, 'action_type', 'UPDATE'), +(68888, 11204, 'referenced_node_status', 'publish'), +(68889, 11204, 'referenced_node_id', '1'), +(68890, 11204, 'referenced_node_relay_id', 'dXNlcjox'), +(68891, 11204, 'referenced_node_single_name', 'user'), +(68892, 11204, 'referenced_node_plural_name', 'users'), +(68893, 11205, 'action_type', 'UPDATE'), +(68894, 11205, 'referenced_node_status', 'publish'), +(68895, 11205, 'referenced_node_id', '2'), +(68896, 11205, 'referenced_node_relay_id', 'cG9zdDoy'), +(68897, 11205, 'referenced_node_single_name', 'page'), +(68898, 11205, 'referenced_node_plural_name', 'pages'), +(68899, 11205, 'referenced_node_post_modified', '2020-10-15 01:09:30'), +(68900, 11206, 'action_type', 'UPDATE'), +(68901, 11206, 'referenced_node_status', 'publish'), +(68902, 11206, 'referenced_node_id', '1'), +(68903, 11206, 'referenced_node_relay_id', 'dXNlcjox'), +(68904, 11206, 'referenced_node_single_name', 'user'), +(68905, 11206, 'referenced_node_plural_name', 'users'), +(68907, 11207, 'action_type', 'UPDATE'), +(68908, 11207, 'referenced_node_status', 'publish'), +(68909, 11207, 'referenced_node_id', '1'), +(68910, 11207, 'referenced_node_relay_id', 'cG9zdDox'), +(68911, 11207, 'referenced_node_single_name', 'post'), +(68912, 11207, 'referenced_node_plural_name', 'posts'), +(68913, 11207, 'referenced_node_post_modified', '2020-10-15 01:09:30'), +(68914, 11208, 'action_type', 'UPDATE'), +(68915, 11208, 'referenced_node_status', 'publish'), +(68916, 11208, 'referenced_node_id', '1'), +(68917, 11208, 'referenced_node_relay_id', 'dXNlcjox'), +(68918, 11208, 'referenced_node_single_name', 'user'), +(68919, 11208, 'referenced_node_plural_name', 'users'), +(68921, 11209, 'action_type', 'UPDATE'), +(68922, 11209, 'referenced_node_status', 'publish'), +(68923, 11209, 'referenced_node_id', '1'), +(68924, 11209, 'referenced_node_relay_id', 'dXNlcjox'), +(68925, 11209, 'referenced_node_single_name', 'user'), +(68926, 11209, 'referenced_node_plural_name', 'users'), +(68927, 11210, 'action_type', 'UPDATE'), +(68928, 11210, 'referenced_node_status', 'publish'), +(68929, 11210, 'referenced_node_id', '2'), +(68930, 11210, 'referenced_node_relay_id', 'cG9zdDoy'), +(68931, 11210, 'referenced_node_single_name', 'page'), +(68932, 11210, 'referenced_node_plural_name', 'pages'), +(68933, 11210, 'referenced_node_post_modified', '2020-10-15 01:13:15'), +(68934, 11211, 'action_type', 'UPDATE'), +(68935, 11211, 'referenced_node_status', 'publish'), +(68936, 11211, 'referenced_node_id', '1'), +(68937, 11211, 'referenced_node_relay_id', 'dXNlcjox'), +(68938, 11211, 'referenced_node_single_name', 'user'), +(68939, 11211, 'referenced_node_plural_name', 'users'), +(68941, 11212, 'action_type', 'UPDATE'), +(68942, 11212, 'referenced_node_status', 'publish'), +(68943, 11212, 'referenced_node_id', '1'), +(68944, 11212, 'referenced_node_relay_id', 'cG9zdDox'), +(68945, 11212, 'referenced_node_single_name', 'post'), +(68946, 11212, 'referenced_node_plural_name', 'posts'), +(68947, 11212, 'referenced_node_post_modified', '2020-10-15 01:13:15'), +(68948, 11213, 'action_type', 'UPDATE'), +(68949, 11213, 'referenced_node_status', 'publish'), +(68950, 11213, 'referenced_node_id', '1'), +(68951, 11213, 'referenced_node_relay_id', 'dXNlcjox'), +(68952, 11213, 'referenced_node_single_name', 'user'), +(68953, 11213, 'referenced_node_plural_name', 'users'), +(68955, 11214, 'action_type', 'UPDATE'), +(68956, 11214, 'referenced_node_status', 'publish'), +(68957, 11214, 'referenced_node_id', '1'), +(68958, 11214, 'referenced_node_relay_id', 'dXNlcjox'), +(68959, 11214, 'referenced_node_single_name', 'user'), +(68960, 11214, 'referenced_node_plural_name', 'users'), +(68961, 11215, 'action_type', 'UPDATE'), +(68962, 11215, 'referenced_node_status', 'publish'), +(68963, 11215, 'referenced_node_id', '2'), +(68964, 11215, 'referenced_node_relay_id', 'cG9zdDoy'), +(68965, 11215, 'referenced_node_single_name', 'page'), +(68966, 11215, 'referenced_node_plural_name', 'pages'), +(68967, 11215, 'referenced_node_post_modified', '2020-10-15 01:16:41'), +(68968, 11216, 'action_type', 'UPDATE'), +(68969, 11216, 'referenced_node_status', 'publish'), +(68970, 11216, 'referenced_node_id', '1'), +(68971, 11216, 'referenced_node_relay_id', 'dXNlcjox'), +(68972, 11216, 'referenced_node_single_name', 'user'), +(68973, 11216, 'referenced_node_plural_name', 'users'), +(68975, 11217, 'action_type', 'UPDATE'), +(68976, 11217, 'referenced_node_status', 'publish'), +(68977, 11217, 'referenced_node_id', '1'), +(68978, 11217, 'referenced_node_relay_id', 'cG9zdDox'), +(68979, 11217, 'referenced_node_single_name', 'post'), +(68980, 11217, 'referenced_node_plural_name', 'posts'), +(68981, 11217, 'referenced_node_post_modified', '2020-10-15 01:16:42'), +(68982, 11218, 'action_type', 'UPDATE'), +(68983, 11218, 'referenced_node_status', 'publish'), +(68984, 11218, 'referenced_node_id', '1'), +(68985, 11218, 'referenced_node_relay_id', 'dXNlcjox'), +(68986, 11218, 'referenced_node_single_name', 'user'), +(68987, 11218, 'referenced_node_plural_name', 'users'), +(68989, 11219, 'action_type', 'UPDATE'), +(68990, 11219, 'referenced_node_status', 'publish'), +(68991, 11219, 'referenced_node_id', '1'), +(68992, 11219, 'referenced_node_relay_id', 'dXNlcjox'), +(68993, 11219, 'referenced_node_single_name', 'user'), +(68994, 11219, 'referenced_node_plural_name', 'users'), +(68995, 11220, 'action_type', 'UPDATE'), +(68996, 11220, 'referenced_node_status', 'publish'), +(68997, 11220, 'referenced_node_id', '2'), +(68998, 11220, 'referenced_node_relay_id', 'cG9zdDoy'), +(68999, 11220, 'referenced_node_single_name', 'page'), +(69000, 11220, 'referenced_node_plural_name', 'pages'), +(69001, 11220, 'referenced_node_post_modified', '2020-10-15 01:18:31'), +(69002, 11221, 'action_type', 'UPDATE'), +(69003, 11221, 'referenced_node_status', 'publish'), +(69004, 11221, 'referenced_node_id', '1'), +(69005, 11221, 'referenced_node_relay_id', 'dXNlcjox'), +(69006, 11221, 'referenced_node_single_name', 'user'), +(69007, 11221, 'referenced_node_plural_name', 'users'), +(69009, 11222, 'action_type', 'UPDATE'), +(69010, 11222, 'referenced_node_status', 'publish'), +(69011, 11222, 'referenced_node_id', '1'), +(69012, 11222, 'referenced_node_relay_id', 'cG9zdDox'), +(69013, 11222, 'referenced_node_single_name', 'post'), +(69014, 11222, 'referenced_node_plural_name', 'posts'), +(69015, 11222, 'referenced_node_post_modified', '2020-10-15 01:18:31'), +(69016, 11223, 'action_type', 'UPDATE'), +(69017, 11223, 'referenced_node_status', 'publish'), +(69018, 11223, 'referenced_node_id', '1'), +(69019, 11223, 'referenced_node_relay_id', 'dXNlcjox'), +(69020, 11223, 'referenced_node_single_name', 'user'), +(69021, 11223, 'referenced_node_plural_name', 'users'), +(69023, 11224, 'action_type', 'UPDATE'), +(69024, 11224, 'referenced_node_status', 'publish'), +(69025, 11224, 'referenced_node_id', '1'), +(69026, 11224, 'referenced_node_relay_id', 'dXNlcjox'), +(69027, 11224, 'referenced_node_single_name', 'user'), +(69028, 11224, 'referenced_node_plural_name', 'users'), +(69029, 11225, 'action_type', 'UPDATE'), +(69030, 11225, 'referenced_node_status', 'publish'), +(69031, 11225, 'referenced_node_id', '2'), +(69032, 11225, 'referenced_node_relay_id', 'cG9zdDoy'), +(69033, 11225, 'referenced_node_single_name', 'page'), +(69034, 11225, 'referenced_node_plural_name', 'pages'), +(69035, 11225, 'referenced_node_post_modified', '2020-10-15 01:20:24'), +(69036, 11226, 'action_type', 'UPDATE'), +(69037, 11226, 'referenced_node_status', 'publish'), +(69038, 11226, 'referenced_node_id', '1'), +(69039, 11226, 'referenced_node_relay_id', 'dXNlcjox'), +(69040, 11226, 'referenced_node_single_name', 'user'), +(69041, 11226, 'referenced_node_plural_name', 'users'), +(69043, 11227, 'action_type', 'UPDATE'), +(69044, 11227, 'referenced_node_status', 'publish'), +(69045, 11227, 'referenced_node_id', '1'), +(69046, 11227, 'referenced_node_relay_id', 'cG9zdDox'), +(69047, 11227, 'referenced_node_single_name', 'post'), +(69048, 11227, 'referenced_node_plural_name', 'posts'), +(69049, 11227, 'referenced_node_post_modified', '2020-10-15 01:20:24'), +(69050, 11228, 'action_type', 'UPDATE'), +(69051, 11228, 'referenced_node_status', 'publish'), +(69052, 11228, 'referenced_node_id', '1'), +(69053, 11228, 'referenced_node_relay_id', 'dXNlcjox'), +(69054, 11228, 'referenced_node_single_name', 'user'), +(69055, 11228, 'referenced_node_plural_name', 'users'), +(69057, 11229, 'action_type', 'UPDATE'), +(69058, 11229, 'referenced_node_status', 'publish'), +(69059, 11229, 'referenced_node_id', '1'), +(69060, 11229, 'referenced_node_relay_id', 'dXNlcjox'), +(69061, 11229, 'referenced_node_single_name', 'user'), +(69062, 11229, 'referenced_node_plural_name', 'users'), +(69063, 11230, 'action_type', 'UPDATE'), +(69064, 11230, 'referenced_node_status', 'publish'), +(69065, 11230, 'referenced_node_id', '2'), +(69066, 11230, 'referenced_node_relay_id', 'cG9zdDoy'), +(69067, 11230, 'referenced_node_single_name', 'page'), +(69068, 11230, 'referenced_node_plural_name', 'pages'), +(69069, 11230, 'referenced_node_post_modified', '2020-10-15 01:22:21'), +(69070, 11231, 'action_type', 'UPDATE'), +(69071, 11231, 'referenced_node_status', 'publish'), +(69072, 11231, 'referenced_node_id', '1'), +(69073, 11231, 'referenced_node_relay_id', 'dXNlcjox'), +(69074, 11231, 'referenced_node_single_name', 'user'), +(69075, 11231, 'referenced_node_plural_name', 'users'), +(69077, 11232, 'action_type', 'UPDATE'), +(69078, 11232, 'referenced_node_status', 'publish'), +(69079, 11232, 'referenced_node_id', '1'), +(69080, 11232, 'referenced_node_relay_id', 'cG9zdDox'), +(69081, 11232, 'referenced_node_single_name', 'post'), +(69082, 11232, 'referenced_node_plural_name', 'posts'), +(69083, 11232, 'referenced_node_post_modified', '2020-10-15 01:22:22'), +(69084, 11233, 'action_type', 'UPDATE'), +(69085, 11233, 'referenced_node_status', 'publish'), +(69086, 11233, 'referenced_node_id', '1'), +(69087, 11233, 'referenced_node_relay_id', 'dXNlcjox'), +(69088, 11233, 'referenced_node_single_name', 'user'), +(69089, 11233, 'referenced_node_plural_name', 'users'), +(69091, 11234, 'action_type', 'UPDATE'), +(69092, 11234, 'referenced_node_status', 'publish'), +(69093, 11234, 'referenced_node_id', '1'), +(69094, 11234, 'referenced_node_relay_id', 'dXNlcjox'), +(69095, 11234, 'referenced_node_single_name', 'user'), +(69096, 11234, 'referenced_node_plural_name', 'users'), +(69097, 11235, 'action_type', 'UPDATE'), +(69098, 11235, 'referenced_node_status', 'publish'), +(69099, 11235, 'referenced_node_id', '2'), +(69100, 11235, 'referenced_node_relay_id', 'cG9zdDoy'), +(69101, 11235, 'referenced_node_single_name', 'page'), +(69102, 11235, 'referenced_node_plural_name', 'pages'), +(69103, 11235, 'referenced_node_post_modified', '2020-10-15 01:34:55'), +(69104, 11236, 'action_type', 'UPDATE'), +(69105, 11236, 'referenced_node_status', 'publish'), +(69106, 11236, 'referenced_node_id', '1'), +(69107, 11236, 'referenced_node_relay_id', 'dXNlcjox'), +(69108, 11236, 'referenced_node_single_name', 'user'), +(69109, 11236, 'referenced_node_plural_name', 'users'), +(69111, 11237, 'action_type', 'UPDATE'), +(69112, 11237, 'referenced_node_status', 'publish'), +(69113, 11237, 'referenced_node_id', '1'), +(69114, 11237, 'referenced_node_relay_id', 'cG9zdDox'), +(69115, 11237, 'referenced_node_single_name', 'post'), +(69116, 11237, 'referenced_node_plural_name', 'posts'), +(69117, 11237, 'referenced_node_post_modified', '2020-10-15 01:34:55'), +(69118, 11238, 'action_type', 'UPDATE'), +(69119, 11238, 'referenced_node_status', 'publish'), +(69120, 11238, 'referenced_node_id', '1'), +(69121, 11238, 'referenced_node_relay_id', 'dXNlcjox'), +(69122, 11238, 'referenced_node_single_name', 'user'), +(69123, 11238, 'referenced_node_plural_name', 'users'), +(69125, 11239, 'action_type', 'UPDATE'), +(69126, 11239, 'referenced_node_status', 'publish'), +(69127, 11239, 'referenced_node_id', '1'), +(69128, 11239, 'referenced_node_relay_id', 'dXNlcjox'), +(69129, 11239, 'referenced_node_single_name', 'user'), +(69130, 11239, 'referenced_node_plural_name', 'users'), +(69131, 11240, 'action_type', 'UPDATE'), +(69132, 11240, 'referenced_node_status', 'publish'), +(69133, 11240, 'referenced_node_id', '2'), +(69134, 11240, 'referenced_node_relay_id', 'cG9zdDoy'), +(69135, 11240, 'referenced_node_single_name', 'page'), +(69136, 11240, 'referenced_node_plural_name', 'pages'), +(69137, 11240, 'referenced_node_post_modified', '2020-10-15 01:37:57'), +(69138, 11241, 'action_type', 'UPDATE'), +(69139, 11241, 'referenced_node_status', 'publish'), +(69140, 11241, 'referenced_node_id', '1'), +(69141, 11241, 'referenced_node_relay_id', 'dXNlcjox'), +(69142, 11241, 'referenced_node_single_name', 'user'), +(69143, 11241, 'referenced_node_plural_name', 'users'), +(69145, 11242, 'action_type', 'UPDATE'), +(69146, 11242, 'referenced_node_status', 'publish'), +(69147, 11242, 'referenced_node_id', '1'), +(69148, 11242, 'referenced_node_relay_id', 'cG9zdDox'), +(69149, 11242, 'referenced_node_single_name', 'post'), +(69150, 11242, 'referenced_node_plural_name', 'posts'), +(69151, 11242, 'referenced_node_post_modified', '2020-10-15 01:37:57'), +(69152, 11243, 'action_type', 'UPDATE'), +(69153, 11243, 'referenced_node_status', 'publish'), +(69154, 11243, 'referenced_node_id', '1'), +(69155, 11243, 'referenced_node_relay_id', 'dXNlcjox'), +(69156, 11243, 'referenced_node_single_name', 'user'), +(69157, 11243, 'referenced_node_plural_name', 'users'), +(69159, 11244, 'action_type', 'UPDATE'), +(69160, 11244, 'referenced_node_status', 'publish'), +(69161, 11244, 'referenced_node_id', '1'), +(69162, 11244, 'referenced_node_relay_id', 'dXNlcjox'), +(69163, 11244, 'referenced_node_single_name', 'user'), +(69164, 11244, 'referenced_node_plural_name', 'users'), +(69165, 11245, 'action_type', 'UPDATE'), +(69166, 11245, 'referenced_node_status', 'publish'), +(69167, 11245, 'referenced_node_id', '2'), +(69168, 11245, 'referenced_node_relay_id', 'cG9zdDoy'), +(69169, 11245, 'referenced_node_single_name', 'page'), +(69170, 11245, 'referenced_node_plural_name', 'pages'), +(69171, 11245, 'referenced_node_post_modified', '2020-10-15 01:39:02'), +(69172, 11246, 'action_type', 'UPDATE'), +(69173, 11246, 'referenced_node_status', 'publish'), +(69174, 11246, 'referenced_node_id', '1'), +(69175, 11246, 'referenced_node_relay_id', 'dXNlcjox'), +(69176, 11246, 'referenced_node_single_name', 'user'), +(69177, 11246, 'referenced_node_plural_name', 'users'), +(69179, 11247, 'action_type', 'UPDATE'), +(69180, 11247, 'referenced_node_status', 'publish'), +(69181, 11247, 'referenced_node_id', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(69182, 11247, 'referenced_node_relay_id', 'cG9zdDox'), +(69183, 11247, 'referenced_node_single_name', 'post'), +(69184, 11247, 'referenced_node_plural_name', 'posts'), +(69185, 11247, 'referenced_node_post_modified', '2020-10-15 01:39:02'), +(69186, 11248, 'action_type', 'UPDATE'), +(69187, 11248, 'referenced_node_status', 'publish'), +(69188, 11248, 'referenced_node_id', '1'), +(69189, 11248, 'referenced_node_relay_id', 'dXNlcjox'), +(69190, 11248, 'referenced_node_single_name', 'user'), +(69191, 11248, 'referenced_node_plural_name', 'users'), +(69193, 11249, 'action_type', 'UPDATE'), +(69194, 11249, 'referenced_node_status', 'publish'), +(69195, 11249, 'referenced_node_id', '1'), +(69196, 11249, 'referenced_node_relay_id', 'dXNlcjox'), +(69197, 11249, 'referenced_node_single_name', 'user'), +(69198, 11249, 'referenced_node_plural_name', 'users'), +(69199, 11250, 'action_type', 'UPDATE'), +(69200, 11250, 'referenced_node_status', 'publish'), +(69201, 11250, 'referenced_node_id', '2'), +(69202, 11250, 'referenced_node_relay_id', 'cG9zdDoy'), +(69203, 11250, 'referenced_node_single_name', 'page'), +(69204, 11250, 'referenced_node_plural_name', 'pages'), +(69205, 11250, 'referenced_node_post_modified', '2020-10-15 01:39:34'), +(69206, 11251, 'action_type', 'UPDATE'), +(69207, 11251, 'referenced_node_status', 'publish'), +(69208, 11251, 'referenced_node_id', '1'), +(69209, 11251, 'referenced_node_relay_id', 'dXNlcjox'), +(69210, 11251, 'referenced_node_single_name', 'user'), +(69211, 11251, 'referenced_node_plural_name', 'users'), +(69213, 11252, 'action_type', 'UPDATE'), +(69214, 11252, 'referenced_node_status', 'publish'), +(69215, 11252, 'referenced_node_id', '1'), +(69216, 11252, 'referenced_node_relay_id', 'cG9zdDox'), +(69217, 11252, 'referenced_node_single_name', 'post'), +(69218, 11252, 'referenced_node_plural_name', 'posts'), +(69219, 11252, 'referenced_node_post_modified', '2020-10-15 01:39:34'), +(69220, 11253, 'action_type', 'UPDATE'), +(69221, 11253, 'referenced_node_status', 'publish'), +(69222, 11253, 'referenced_node_id', '1'), +(69223, 11253, 'referenced_node_relay_id', 'dXNlcjox'), +(69224, 11253, 'referenced_node_single_name', 'user'), +(69225, 11253, 'referenced_node_plural_name', 'users'), +(69227, 11254, 'action_type', 'UPDATE'), +(69228, 11254, 'referenced_node_status', 'publish'), +(69229, 11254, 'referenced_node_id', '1'), +(69230, 11254, 'referenced_node_relay_id', 'dXNlcjox'), +(69231, 11254, 'referenced_node_single_name', 'user'), +(69232, 11254, 'referenced_node_plural_name', 'users'), +(69233, 11255, 'action_type', 'UPDATE'), +(69234, 11255, 'referenced_node_status', 'publish'), +(69235, 11255, 'referenced_node_id', '2'), +(69236, 11255, 'referenced_node_relay_id', 'cG9zdDoy'), +(69237, 11255, 'referenced_node_single_name', 'page'), +(69238, 11255, 'referenced_node_plural_name', 'pages'), +(69239, 11255, 'referenced_node_post_modified', '2020-10-15 01:40:44'), +(69240, 11256, 'action_type', 'UPDATE'), +(69241, 11256, 'referenced_node_status', 'publish'), +(69242, 11256, 'referenced_node_id', '1'), +(69243, 11256, 'referenced_node_relay_id', 'dXNlcjox'), +(69244, 11256, 'referenced_node_single_name', 'user'), +(69245, 11256, 'referenced_node_plural_name', 'users'), +(69247, 11257, 'action_type', 'UPDATE'), +(69248, 11257, 'referenced_node_status', 'publish'), +(69249, 11257, 'referenced_node_id', '1'), +(69250, 11257, 'referenced_node_relay_id', 'cG9zdDox'), +(69251, 11257, 'referenced_node_single_name', 'post'), +(69252, 11257, 'referenced_node_plural_name', 'posts'), +(69253, 11257, 'referenced_node_post_modified', '2020-10-15 01:40:44'), +(69254, 11258, 'action_type', 'UPDATE'), +(69255, 11258, 'referenced_node_status', 'publish'), +(69256, 11258, 'referenced_node_id', '1'), +(69257, 11258, 'referenced_node_relay_id', 'dXNlcjox'), +(69258, 11258, 'referenced_node_single_name', 'user'), +(69259, 11258, 'referenced_node_plural_name', 'users'), +(69261, 11259, 'action_type', 'UPDATE'), +(69262, 11259, 'referenced_node_status', 'publish'), +(69263, 11259, 'referenced_node_id', '1'), +(69264, 11259, 'referenced_node_relay_id', 'dXNlcjox'), +(69265, 11259, 'referenced_node_single_name', 'user'), +(69266, 11259, 'referenced_node_plural_name', 'users'), +(69267, 11260, 'action_type', 'UPDATE'), +(69268, 11260, 'referenced_node_status', 'publish'), +(69269, 11260, 'referenced_node_id', '2'), +(69270, 11260, 'referenced_node_relay_id', 'cG9zdDoy'), +(69271, 11260, 'referenced_node_single_name', 'page'), +(69272, 11260, 'referenced_node_plural_name', 'pages'), +(69273, 11260, 'referenced_node_post_modified', '2020-10-15 01:41:13'), +(69274, 11261, 'action_type', 'UPDATE'), +(69275, 11261, 'referenced_node_status', 'publish'), +(69276, 11261, 'referenced_node_id', '1'), +(69277, 11261, 'referenced_node_relay_id', 'dXNlcjox'), +(69278, 11261, 'referenced_node_single_name', 'user'), +(69279, 11261, 'referenced_node_plural_name', 'users'), +(69281, 11262, 'action_type', 'UPDATE'), +(69282, 11262, 'referenced_node_status', 'publish'), +(69283, 11262, 'referenced_node_id', '1'), +(69284, 11262, 'referenced_node_relay_id', 'cG9zdDox'), +(69285, 11262, 'referenced_node_single_name', 'post'), +(69286, 11262, 'referenced_node_plural_name', 'posts'), +(69287, 11262, 'referenced_node_post_modified', '2020-10-15 01:41:13'), +(69288, 11263, 'action_type', 'UPDATE'), +(69289, 11263, 'referenced_node_status', 'publish'), +(69290, 11263, 'referenced_node_id', '1'), +(69291, 11263, 'referenced_node_relay_id', 'dXNlcjox'), +(69292, 11263, 'referenced_node_single_name', 'user'), +(69293, 11263, 'referenced_node_plural_name', 'users'), +(69295, 11264, 'action_type', 'UPDATE'), +(69296, 11264, 'referenced_node_status', 'publish'), +(69297, 11264, 'referenced_node_id', '1'), +(69298, 11264, 'referenced_node_relay_id', 'dXNlcjox'), +(69299, 11264, 'referenced_node_single_name', 'user'), +(69300, 11264, 'referenced_node_plural_name', 'users'), +(69301, 11265, 'action_type', 'UPDATE'), +(69302, 11265, 'referenced_node_status', 'publish'), +(69303, 11265, 'referenced_node_id', '2'), +(69304, 11265, 'referenced_node_relay_id', 'cG9zdDoy'), +(69305, 11265, 'referenced_node_single_name', 'page'), +(69306, 11265, 'referenced_node_plural_name', 'pages'), +(69307, 11265, 'referenced_node_post_modified', '2020-10-15 13:57:05'), +(69308, 11266, 'action_type', 'UPDATE'), +(69309, 11266, 'referenced_node_status', 'publish'), +(69310, 11266, 'referenced_node_id', '1'), +(69311, 11266, 'referenced_node_relay_id', 'dXNlcjox'), +(69312, 11266, 'referenced_node_single_name', 'user'), +(69313, 11266, 'referenced_node_plural_name', 'users'), +(69315, 11267, 'action_type', 'UPDATE'), +(69316, 11267, 'referenced_node_status', 'publish'), +(69317, 11267, 'referenced_node_id', '1'), +(69318, 11267, 'referenced_node_relay_id', 'cG9zdDox'), +(69319, 11267, 'referenced_node_single_name', 'post'), +(69320, 11267, 'referenced_node_plural_name', 'posts'), +(69321, 11267, 'referenced_node_post_modified', '2020-10-15 13:57:06'), +(69322, 11268, 'action_type', 'UPDATE'), +(69323, 11268, 'referenced_node_status', 'publish'), +(69324, 11268, 'referenced_node_id', '1'), +(69325, 11268, 'referenced_node_relay_id', 'dXNlcjox'), +(69326, 11268, 'referenced_node_single_name', 'user'), +(69327, 11268, 'referenced_node_plural_name', 'users'), +(69329, 11269, 'action_type', 'UPDATE'), +(69330, 11269, 'referenced_node_status', 'publish'), +(69331, 11269, 'referenced_node_id', '1'), +(69332, 11269, 'referenced_node_relay_id', 'dXNlcjox'), +(69333, 11269, 'referenced_node_single_name', 'user'), +(69334, 11269, 'referenced_node_plural_name', 'users'), +(69335, 11270, 'action_type', 'UPDATE'), +(69336, 11270, 'referenced_node_status', 'publish'), +(69337, 11270, 'referenced_node_id', '2'), +(69338, 11270, 'referenced_node_relay_id', 'cG9zdDoy'), +(69339, 11270, 'referenced_node_single_name', 'page'), +(69340, 11270, 'referenced_node_plural_name', 'pages'), +(69341, 11270, 'referenced_node_post_modified', '2020-10-15 13:57:48'), +(69342, 11271, 'action_type', 'UPDATE'), +(69343, 11271, 'referenced_node_status', 'publish'), +(69344, 11271, 'referenced_node_id', '1'), +(69345, 11271, 'referenced_node_relay_id', 'dXNlcjox'), +(69346, 11271, 'referenced_node_single_name', 'user'), +(69347, 11271, 'referenced_node_plural_name', 'users'), +(69349, 11272, 'action_type', 'UPDATE'), +(69350, 11272, 'referenced_node_status', 'publish'), +(69351, 11272, 'referenced_node_id', '1'), +(69352, 11272, 'referenced_node_relay_id', 'cG9zdDox'), +(69353, 11272, 'referenced_node_single_name', 'post'), +(69354, 11272, 'referenced_node_plural_name', 'posts'), +(69355, 11272, 'referenced_node_post_modified', '2020-10-15 13:57:48'), +(69356, 11273, 'action_type', 'UPDATE'), +(69357, 11273, 'referenced_node_status', 'publish'), +(69358, 11273, 'referenced_node_id', '1'), +(69359, 11273, 'referenced_node_relay_id', 'dXNlcjox'), +(69360, 11273, 'referenced_node_single_name', 'user'), +(69361, 11273, 'referenced_node_plural_name', 'users'), +(69363, 11274, 'action_type', 'UPDATE'), +(69364, 11274, 'referenced_node_status', 'publish'), +(69365, 11274, 'referenced_node_id', '1'), +(69366, 11274, 'referenced_node_relay_id', 'dXNlcjox'), +(69367, 11274, 'referenced_node_single_name', 'user'), +(69368, 11274, 'referenced_node_plural_name', 'users'), +(69369, 11275, 'action_type', 'UPDATE'), +(69370, 11275, 'referenced_node_status', 'publish'), +(69371, 11275, 'referenced_node_id', '2'), +(69372, 11275, 'referenced_node_relay_id', 'cG9zdDoy'), +(69373, 11275, 'referenced_node_single_name', 'page'), +(69374, 11275, 'referenced_node_plural_name', 'pages'), +(69375, 11275, 'referenced_node_post_modified', '2020-10-15 13:58:28'), +(69376, 11276, 'action_type', 'UPDATE'), +(69377, 11276, 'referenced_node_status', 'publish'), +(69378, 11276, 'referenced_node_id', '1'), +(69379, 11276, 'referenced_node_relay_id', 'dXNlcjox'), +(69380, 11276, 'referenced_node_single_name', 'user'), +(69381, 11276, 'referenced_node_plural_name', 'users'), +(69383, 11277, 'action_type', 'UPDATE'), +(69384, 11277, 'referenced_node_status', 'publish'), +(69385, 11277, 'referenced_node_id', '1'), +(69386, 11277, 'referenced_node_relay_id', 'cG9zdDox'), +(69387, 11277, 'referenced_node_single_name', 'post'), +(69388, 11277, 'referenced_node_plural_name', 'posts'), +(69389, 11277, 'referenced_node_post_modified', '2020-10-15 13:58:28'), +(69390, 11278, 'action_type', 'UPDATE'), +(69391, 11278, 'referenced_node_status', 'publish'), +(69392, 11278, 'referenced_node_id', '1'), +(69393, 11278, 'referenced_node_relay_id', 'dXNlcjox'), +(69394, 11278, 'referenced_node_single_name', 'user'), +(69395, 11278, 'referenced_node_plural_name', 'users'), +(69397, 11279, 'action_type', 'UPDATE'), +(69398, 11279, 'referenced_node_status', 'publish'), +(69399, 11279, 'referenced_node_id', '1'), +(69400, 11279, 'referenced_node_relay_id', 'dXNlcjox'), +(69401, 11279, 'referenced_node_single_name', 'user'), +(69402, 11279, 'referenced_node_plural_name', 'users'), +(69403, 11280, 'action_type', 'UPDATE'), +(69404, 11280, 'referenced_node_status', 'publish'), +(69405, 11280, 'referenced_node_id', '2'), +(69406, 11280, 'referenced_node_relay_id', 'cG9zdDoy'), +(69407, 11280, 'referenced_node_single_name', 'page'), +(69408, 11280, 'referenced_node_plural_name', 'pages'), +(69409, 11280, 'referenced_node_post_modified', '2020-10-15 13:59:26'), +(69410, 11281, 'action_type', 'UPDATE'), +(69411, 11281, 'referenced_node_status', 'publish'), +(69412, 11281, 'referenced_node_id', '1'), +(69413, 11281, 'referenced_node_relay_id', 'dXNlcjox'), +(69414, 11281, 'referenced_node_single_name', 'user'), +(69415, 11281, 'referenced_node_plural_name', 'users'), +(69417, 11282, 'action_type', 'UPDATE'), +(69418, 11282, 'referenced_node_status', 'publish'), +(69419, 11282, 'referenced_node_id', '1'), +(69420, 11282, 'referenced_node_relay_id', 'cG9zdDox'), +(69421, 11282, 'referenced_node_single_name', 'post'), +(69422, 11282, 'referenced_node_plural_name', 'posts'), +(69423, 11282, 'referenced_node_post_modified', '2020-10-15 13:59:26'), +(69424, 11283, 'action_type', 'UPDATE'), +(69425, 11283, 'referenced_node_status', 'publish'), +(69426, 11283, 'referenced_node_id', '1'), +(69427, 11283, 'referenced_node_relay_id', 'dXNlcjox'), +(69428, 11283, 'referenced_node_single_name', 'user'), +(69429, 11283, 'referenced_node_plural_name', 'users'), +(69431, 11284, 'action_type', 'UPDATE'), +(69432, 11284, 'referenced_node_status', 'publish'), +(69433, 11284, 'referenced_node_id', '1'), +(69434, 11284, 'referenced_node_relay_id', 'dXNlcjox'), +(69435, 11284, 'referenced_node_single_name', 'user'), +(69436, 11284, 'referenced_node_plural_name', 'users'), +(69437, 11285, 'action_type', 'UPDATE'), +(69438, 11285, 'referenced_node_status', 'publish'), +(69439, 11285, 'referenced_node_id', '2'), +(69440, 11285, 'referenced_node_relay_id', 'cG9zdDoy'), +(69441, 11285, 'referenced_node_single_name', 'page'), +(69442, 11285, 'referenced_node_plural_name', 'pages'), +(69443, 11285, 'referenced_node_post_modified', '2020-10-15 13:59:50'), +(69444, 11286, 'action_type', 'UPDATE'), +(69445, 11286, 'referenced_node_status', 'publish'), +(69446, 11286, 'referenced_node_id', '1'), +(69447, 11286, 'referenced_node_relay_id', 'dXNlcjox'), +(69448, 11286, 'referenced_node_single_name', 'user'), +(69449, 11286, 'referenced_node_plural_name', 'users'), +(69451, 11287, 'action_type', 'UPDATE'), +(69452, 11287, 'referenced_node_status', 'publish'), +(69453, 11287, 'referenced_node_id', '1'), +(69454, 11287, 'referenced_node_relay_id', 'cG9zdDox'), +(69455, 11287, 'referenced_node_single_name', 'post'), +(69456, 11287, 'referenced_node_plural_name', 'posts'), +(69457, 11287, 'referenced_node_post_modified', '2020-10-15 13:59:51'), +(69458, 11288, 'action_type', 'UPDATE'), +(69459, 11288, 'referenced_node_status', 'publish'), +(69460, 11288, 'referenced_node_id', '1'), +(69461, 11288, 'referenced_node_relay_id', 'dXNlcjox'), +(69462, 11288, 'referenced_node_single_name', 'user'), +(69463, 11288, 'referenced_node_plural_name', 'users'), +(69465, 11289, 'action_type', 'UPDATE'), +(69466, 11289, 'referenced_node_status', 'publish'), +(69467, 11289, 'referenced_node_id', '1'), +(69468, 11289, 'referenced_node_relay_id', 'dXNlcjox'), +(69469, 11289, 'referenced_node_single_name', 'user'), +(69470, 11289, 'referenced_node_plural_name', 'users'), +(69471, 11290, 'action_type', 'UPDATE'), +(69472, 11290, 'referenced_node_status', 'publish'), +(69473, 11290, 'referenced_node_id', '2'), +(69474, 11290, 'referenced_node_relay_id', 'cG9zdDoy'), +(69475, 11290, 'referenced_node_single_name', 'page'), +(69476, 11290, 'referenced_node_plural_name', 'pages'), +(69477, 11290, 'referenced_node_post_modified', '2020-10-15 19:44:26'), +(69478, 11291, 'action_type', 'UPDATE'), +(69479, 11291, 'referenced_node_status', 'publish'), +(69480, 11291, 'referenced_node_id', '1'), +(69481, 11291, 'referenced_node_relay_id', 'dXNlcjox'), +(69482, 11291, 'referenced_node_single_name', 'user'), +(69483, 11291, 'referenced_node_plural_name', 'users'), +(69486, 11292, 'action_type', 'UPDATE'), +(69487, 11292, 'referenced_node_status', 'publish'), +(69488, 11292, 'referenced_node_id', '1'), +(69489, 11292, 'referenced_node_relay_id', 'cG9zdDox'), +(69490, 11292, 'referenced_node_single_name', 'post'), +(69491, 11292, 'referenced_node_plural_name', 'posts'), +(69492, 11292, 'referenced_node_post_modified', '2020-10-15 19:44:26'), +(69493, 11293, 'action_type', 'UPDATE'), +(69494, 11293, 'referenced_node_status', 'publish'), +(69495, 11293, 'referenced_node_id', '1'), +(69496, 11293, 'referenced_node_relay_id', 'dXNlcjox'), +(69497, 11293, 'referenced_node_single_name', 'user'), +(69498, 11293, 'referenced_node_plural_name', 'users'), +(69500, 11294, 'action_type', 'UPDATE'), +(69501, 11294, 'referenced_node_status', 'publish'), +(69502, 11294, 'referenced_node_id', '1'), +(69503, 11294, 'referenced_node_relay_id', 'dXNlcjox'), +(69504, 11294, 'referenced_node_single_name', 'user'), +(69505, 11294, 'referenced_node_plural_name', 'users'), +(69506, 11295, 'action_type', 'UPDATE'), +(69507, 11295, 'referenced_node_status', 'publish'), +(69508, 11295, 'referenced_node_id', '2'), +(69509, 11295, 'referenced_node_relay_id', 'cG9zdDoy'), +(69510, 11295, 'referenced_node_single_name', 'page'), +(69511, 11295, 'referenced_node_plural_name', 'pages'), +(69512, 11295, 'referenced_node_post_modified', '2020-10-15 19:45:24'), +(69513, 11296, 'action_type', 'UPDATE'), +(69514, 11296, 'referenced_node_status', 'publish'), +(69515, 11296, 'referenced_node_id', '1'), +(69516, 11296, 'referenced_node_relay_id', 'dXNlcjox'), +(69517, 11296, 'referenced_node_single_name', 'user'), +(69518, 11296, 'referenced_node_plural_name', 'users'), +(69520, 11297, 'action_type', 'UPDATE'), +(69521, 11297, 'referenced_node_status', 'publish'), +(69522, 11297, 'referenced_node_id', '1'), +(69523, 11297, 'referenced_node_relay_id', 'cG9zdDox'), +(69524, 11297, 'referenced_node_single_name', 'post'), +(69525, 11297, 'referenced_node_plural_name', 'posts'), +(69526, 11297, 'referenced_node_post_modified', '2020-10-15 19:45:24'), +(69527, 11298, 'action_type', 'UPDATE'), +(69528, 11298, 'referenced_node_status', 'publish'), +(69529, 11298, 'referenced_node_id', '1'), +(69530, 11298, 'referenced_node_relay_id', 'dXNlcjox'), +(69531, 11298, 'referenced_node_single_name', 'user'), +(69532, 11298, 'referenced_node_plural_name', 'users'), +(69534, 11299, 'action_type', 'UPDATE'), +(69535, 11299, 'referenced_node_status', 'publish'), +(69536, 11299, 'referenced_node_id', '1'), +(69537, 11299, 'referenced_node_relay_id', 'dXNlcjox'), +(69538, 11299, 'referenced_node_single_name', 'user'), +(69539, 11299, 'referenced_node_plural_name', 'users'), +(69540, 11300, 'action_type', 'UPDATE'), +(69541, 11300, 'referenced_node_status', 'publish'), +(69542, 11300, 'referenced_node_id', '2'), +(69543, 11300, 'referenced_node_relay_id', 'cG9zdDoy'), +(69544, 11300, 'referenced_node_single_name', 'page'), +(69545, 11300, 'referenced_node_plural_name', 'pages'), +(69546, 11300, 'referenced_node_post_modified', '2020-10-15 19:45:48'), +(69547, 11301, 'action_type', 'UPDATE'), +(69548, 11301, 'referenced_node_status', 'publish'), +(69549, 11301, 'referenced_node_id', '1'), +(69550, 11301, 'referenced_node_relay_id', 'dXNlcjox'), +(69551, 11301, 'referenced_node_single_name', 'user'), +(69552, 11301, 'referenced_node_plural_name', 'users'), +(69555, 11302, 'action_type', 'UPDATE'), +(69556, 11302, 'referenced_node_status', 'publish'), +(69557, 11302, 'referenced_node_id', '1'), +(69558, 11302, 'referenced_node_relay_id', 'cG9zdDox'), +(69559, 11302, 'referenced_node_single_name', 'post'), +(69560, 11302, 'referenced_node_plural_name', 'posts'), +(69561, 11302, 'referenced_node_post_modified', '2020-10-15 19:45:48'), +(69562, 11303, 'action_type', 'UPDATE'), +(69563, 11303, 'referenced_node_status', 'publish'), +(69564, 11303, 'referenced_node_id', '1'), +(69565, 11303, 'referenced_node_relay_id', 'dXNlcjox'), +(69566, 11303, 'referenced_node_single_name', 'user'), +(69567, 11303, 'referenced_node_plural_name', 'users'), +(69569, 11304, 'action_type', 'UPDATE'), +(69570, 11304, 'referenced_node_status', 'publish'), +(69571, 11304, 'referenced_node_id', '1'), +(69572, 11304, 'referenced_node_relay_id', 'dXNlcjox'), +(69573, 11304, 'referenced_node_single_name', 'user'), +(69574, 11304, 'referenced_node_plural_name', 'users'), +(69575, 11305, 'action_type', 'UPDATE'), +(69576, 11305, 'referenced_node_status', 'publish'), +(69577, 11305, 'referenced_node_id', '2'), +(69578, 11305, 'referenced_node_relay_id', 'cG9zdDoy'), +(69579, 11305, 'referenced_node_single_name', 'page'), +(69580, 11305, 'referenced_node_plural_name', 'pages'), +(69581, 11305, 'referenced_node_post_modified', '2020-10-15 20:14:08'), +(69582, 11306, 'action_type', 'UPDATE'), +(69583, 11306, 'referenced_node_status', 'publish'), +(69584, 11306, 'referenced_node_id', '1'), +(69585, 11306, 'referenced_node_relay_id', 'dXNlcjox'), +(69586, 11306, 'referenced_node_single_name', 'user'), +(69587, 11306, 'referenced_node_plural_name', 'users'), +(69590, 11307, 'action_type', 'UPDATE'), +(69591, 11307, 'referenced_node_status', 'publish'), +(69592, 11307, 'referenced_node_id', '1'), +(69593, 11307, 'referenced_node_relay_id', 'cG9zdDox'), +(69594, 11307, 'referenced_node_single_name', 'post'), +(69595, 11307, 'referenced_node_plural_name', 'posts'), +(69596, 11307, 'referenced_node_post_modified', '2020-10-15 20:14:08'), +(69597, 11308, 'action_type', 'UPDATE'), +(69598, 11308, 'referenced_node_status', 'publish'), +(69599, 11308, 'referenced_node_id', '1'), +(69600, 11308, 'referenced_node_relay_id', 'dXNlcjox'), +(69601, 11308, 'referenced_node_single_name', 'user'), +(69602, 11308, 'referenced_node_plural_name', 'users'), +(69604, 11309, 'action_type', 'UPDATE'), +(69605, 11309, 'referenced_node_status', 'publish'), +(69606, 11309, 'referenced_node_id', '1'), +(69607, 11309, 'referenced_node_relay_id', 'dXNlcjox'), +(69608, 11309, 'referenced_node_single_name', 'user'), +(69609, 11309, 'referenced_node_plural_name', 'users'), +(69610, 11310, 'action_type', 'UPDATE'), +(69611, 11310, 'referenced_node_status', 'publish'), +(69612, 11310, 'referenced_node_id', '2'), +(69613, 11310, 'referenced_node_relay_id', 'cG9zdDoy'), +(69614, 11310, 'referenced_node_single_name', 'page'), +(69615, 11310, 'referenced_node_plural_name', 'pages'), +(69616, 11310, 'referenced_node_post_modified', '2020-10-15 20:15:04'), +(69617, 11311, 'action_type', 'UPDATE'), +(69618, 11311, 'referenced_node_status', 'publish'), +(69619, 11311, 'referenced_node_id', '1'), +(69620, 11311, 'referenced_node_relay_id', 'dXNlcjox'), +(69621, 11311, 'referenced_node_single_name', 'user'), +(69622, 11311, 'referenced_node_plural_name', 'users'), +(69625, 11312, 'action_type', 'UPDATE'), +(69626, 11312, 'referenced_node_status', 'publish'), +(69627, 11312, 'referenced_node_id', '1'), +(69628, 11312, 'referenced_node_relay_id', 'cG9zdDox'), +(69629, 11312, 'referenced_node_single_name', 'post'), +(69630, 11312, 'referenced_node_plural_name', 'posts'), +(69631, 11312, 'referenced_node_post_modified', '2020-10-15 20:15:04'), +(69632, 11313, 'action_type', 'UPDATE'), +(69633, 11313, 'referenced_node_status', 'publish'), +(69634, 11313, 'referenced_node_id', '1'), +(69635, 11313, 'referenced_node_relay_id', 'dXNlcjox'), +(69636, 11313, 'referenced_node_single_name', 'user'), +(69637, 11313, 'referenced_node_plural_name', 'users'), +(69639, 11314, 'action_type', 'UPDATE'), +(69640, 11314, 'referenced_node_status', 'publish'), +(69641, 11314, 'referenced_node_id', '1'), +(69642, 11314, 'referenced_node_relay_id', 'dXNlcjox'), +(69643, 11314, 'referenced_node_single_name', 'user'), +(69644, 11314, 'referenced_node_plural_name', 'users'), +(69645, 11315, 'action_type', 'UPDATE'), +(69646, 11315, 'referenced_node_status', 'publish'), +(69647, 11315, 'referenced_node_id', '2'), +(69648, 11315, 'referenced_node_relay_id', 'cG9zdDoy'), +(69649, 11315, 'referenced_node_single_name', 'page'), +(69650, 11315, 'referenced_node_plural_name', 'pages'), +(69651, 11315, 'referenced_node_post_modified', '2020-10-15 20:15:26'), +(69652, 11316, 'action_type', 'UPDATE'), +(69653, 11316, 'referenced_node_status', 'publish'), +(69654, 11316, 'referenced_node_id', '1'), +(69655, 11316, 'referenced_node_relay_id', 'dXNlcjox'), +(69656, 11316, 'referenced_node_single_name', 'user'), +(69657, 11316, 'referenced_node_plural_name', 'users'), +(69660, 11317, 'action_type', 'UPDATE'), +(69661, 11317, 'referenced_node_status', 'publish'), +(69662, 11317, 'referenced_node_id', '1'), +(69663, 11317, 'referenced_node_relay_id', 'cG9zdDox'), +(69664, 11317, 'referenced_node_single_name', 'post'), +(69665, 11317, 'referenced_node_plural_name', 'posts'), +(69666, 11317, 'referenced_node_post_modified', '2020-10-15 20:15:27'), +(69667, 11318, 'action_type', 'UPDATE'), +(69668, 11318, 'referenced_node_status', 'publish'), +(69669, 11318, 'referenced_node_id', '1'), +(69670, 11318, 'referenced_node_relay_id', 'dXNlcjox'), +(69671, 11318, 'referenced_node_single_name', 'user'), +(69672, 11318, 'referenced_node_plural_name', 'users'), +(69674, 11319, 'action_type', 'UPDATE'), +(69675, 11319, 'referenced_node_status', 'publish'), +(69676, 11319, 'referenced_node_id', '1'), +(69677, 11319, 'referenced_node_relay_id', 'dXNlcjox'), +(69678, 11319, 'referenced_node_single_name', 'user'), +(69679, 11319, 'referenced_node_plural_name', 'users'), +(69686, 11321, 'action_type', 'UPDATE'), +(69687, 11321, 'referenced_node_status', 'publish'), +(69688, 11321, 'referenced_node_id', '2'), +(69689, 11321, 'referenced_node_relay_id', 'cG9zdDoy'), +(69690, 11321, 'referenced_node_single_name', 'page'), +(69691, 11321, 'referenced_node_plural_name', 'pages'), +(69692, 11321, 'referenced_node_post_modified', '2020-10-15 21:35:44'), +(69693, 11322, 'action_type', 'UPDATE'), +(69694, 11322, 'referenced_node_status', 'publish'), +(69695, 11322, 'referenced_node_id', '1'), +(69696, 11322, 'referenced_node_relay_id', 'dXNlcjox'), +(69697, 11322, 'referenced_node_single_name', 'user'), +(69698, 11322, 'referenced_node_plural_name', 'users'), +(69701, 11323, 'action_type', 'UPDATE'), +(69702, 11323, 'referenced_node_status', 'publish'), +(69703, 11323, 'referenced_node_id', '1'), +(69704, 11323, 'referenced_node_relay_id', 'cG9zdDox'), +(69705, 11323, 'referenced_node_single_name', 'post'), +(69706, 11323, 'referenced_node_plural_name', 'posts'), +(69707, 11323, 'referenced_node_post_modified', '2020-10-15 21:35:45'), +(69708, 11324, 'action_type', 'UPDATE'), +(69709, 11324, 'referenced_node_status', 'publish'), +(69710, 11324, 'referenced_node_id', '1'), +(69711, 11324, 'referenced_node_relay_id', 'dXNlcjox'), +(69712, 11324, 'referenced_node_single_name', 'user'), +(69713, 11324, 'referenced_node_plural_name', 'users'), +(69715, 11325, 'action_type', 'UPDATE'), +(69716, 11325, 'referenced_node_status', 'publish'), +(69717, 11325, 'referenced_node_id', '1'), +(69718, 11325, 'referenced_node_relay_id', 'dXNlcjox'), +(69719, 11325, 'referenced_node_single_name', 'user'), +(69720, 11325, 'referenced_node_plural_name', 'users'), +(69721, 11326, 'action_type', 'UPDATE'), +(69722, 11326, 'referenced_node_status', 'publish'), +(69723, 11326, 'referenced_node_id', '2'), +(69724, 11326, 'referenced_node_relay_id', 'cG9zdDoy'), +(69725, 11326, 'referenced_node_single_name', 'page'), +(69726, 11326, 'referenced_node_plural_name', 'pages'), +(69727, 11326, 'referenced_node_post_modified', '2020-10-15 21:36:55'), +(69728, 11327, 'action_type', 'UPDATE'), +(69729, 11327, 'referenced_node_status', 'publish'), +(69730, 11327, 'referenced_node_id', '1'), +(69731, 11327, 'referenced_node_relay_id', 'dXNlcjox'), +(69732, 11327, 'referenced_node_single_name', 'user'), +(69733, 11327, 'referenced_node_plural_name', 'users'), +(69736, 11328, 'action_type', 'UPDATE'), +(69737, 11328, 'referenced_node_status', 'publish'), +(69738, 11328, 'referenced_node_id', '1'), +(69739, 11328, 'referenced_node_relay_id', 'cG9zdDox'), +(69740, 11328, 'referenced_node_single_name', 'post'), +(69741, 11328, 'referenced_node_plural_name', 'posts'), +(69742, 11328, 'referenced_node_post_modified', '2020-10-15 21:36:55'), +(69743, 11329, 'action_type', 'UPDATE'), +(69744, 11329, 'referenced_node_status', 'publish'), +(69745, 11329, 'referenced_node_id', '1'), +(69746, 11329, 'referenced_node_relay_id', 'dXNlcjox'), +(69747, 11329, 'referenced_node_single_name', 'user'), +(69748, 11329, 'referenced_node_plural_name', 'users'), +(69750, 11330, 'action_type', 'UPDATE'), +(69751, 11330, 'referenced_node_status', 'publish'), +(69752, 11330, 'referenced_node_id', '1'), +(69753, 11330, 'referenced_node_relay_id', 'dXNlcjox'), +(69754, 11330, 'referenced_node_single_name', 'user'), +(69755, 11330, 'referenced_node_plural_name', 'users'), +(69756, 11331, 'action_type', 'UPDATE'), +(69757, 11331, 'referenced_node_status', 'publish'), +(69758, 11331, 'referenced_node_id', '2'), +(69759, 11331, 'referenced_node_relay_id', 'cG9zdDoy'), +(69760, 11331, 'referenced_node_single_name', 'page'), +(69761, 11331, 'referenced_node_plural_name', 'pages'), +(69762, 11331, 'referenced_node_post_modified', '2020-10-15 21:37:24'), +(69763, 11332, 'action_type', 'UPDATE'), +(69764, 11332, 'referenced_node_status', 'publish'), +(69765, 11332, 'referenced_node_id', '1'), +(69766, 11332, 'referenced_node_relay_id', 'dXNlcjox'), +(69767, 11332, 'referenced_node_single_name', 'user'), +(69768, 11332, 'referenced_node_plural_name', 'users'), +(69771, 11333, 'action_type', 'UPDATE'), +(69772, 11333, 'referenced_node_status', 'publish'), +(69773, 11333, 'referenced_node_id', '1'), +(69774, 11333, 'referenced_node_relay_id', 'cG9zdDox'), +(69775, 11333, 'referenced_node_single_name', 'post'), +(69776, 11333, 'referenced_node_plural_name', 'posts'), +(69777, 11333, 'referenced_node_post_modified', '2020-10-15 21:37:24'), +(69778, 11334, 'action_type', 'UPDATE'), +(69779, 11334, 'referenced_node_status', 'publish'), +(69780, 11334, 'referenced_node_id', '1'), +(69781, 11334, 'referenced_node_relay_id', 'dXNlcjox'), +(69782, 11334, 'referenced_node_single_name', 'user'), +(69783, 11334, 'referenced_node_plural_name', 'users'), +(69785, 11335, 'action_type', 'UPDATE'), +(69786, 11335, 'referenced_node_status', 'publish'), +(69787, 11335, 'referenced_node_id', '1'), +(69788, 11335, 'referenced_node_relay_id', 'dXNlcjox'), +(69789, 11335, 'referenced_node_single_name', 'user'), +(69790, 11335, 'referenced_node_plural_name', 'users'), +(69791, 4, '__update', '1'), +(69792, 11336, 'action_type', 'UPDATE'), +(69793, 11336, 'referenced_node_status', 'publish'), +(69794, 11336, 'referenced_node_id', '2'), +(69795, 11336, 'referenced_node_relay_id', 'cG9zdDoy'), +(69796, 11336, 'referenced_node_single_name', 'page'), +(69797, 11336, 'referenced_node_plural_name', 'pages'), +(69798, 11336, 'referenced_node_post_modified', '2020-10-16 23:10:37'), +(69799, 11337, 'action_type', 'UPDATE'), +(69800, 11337, 'referenced_node_status', 'publish'), +(69801, 11337, 'referenced_node_id', '1'), +(69802, 11337, 'referenced_node_relay_id', 'dXNlcjox'), +(69803, 11337, 'referenced_node_single_name', 'user'), +(69804, 11337, 'referenced_node_plural_name', 'users'), +(69807, 11338, 'action_type', 'UPDATE'), +(69808, 11338, 'referenced_node_status', 'publish'), +(69809, 11338, 'referenced_node_id', '1'), +(69810, 11338, 'referenced_node_relay_id', 'cG9zdDox'), +(69811, 11338, 'referenced_node_single_name', 'post'), +(69812, 11338, 'referenced_node_plural_name', 'posts'), +(69813, 11338, 'referenced_node_post_modified', '2020-10-16 23:10:40'), +(69814, 11339, 'action_type', 'UPDATE'), +(69815, 11339, 'referenced_node_status', 'publish'), +(69816, 11339, 'referenced_node_id', '1'), +(69817, 11339, 'referenced_node_relay_id', 'dXNlcjox'), +(69818, 11339, 'referenced_node_single_name', 'user'), +(69819, 11339, 'referenced_node_plural_name', 'users'), +(69821, 11340, 'action_type', 'UPDATE'), +(69822, 11340, 'referenced_node_status', 'publish'), +(69823, 11340, 'referenced_node_id', '1'), +(69824, 11340, 'referenced_node_relay_id', 'dXNlcjox'), +(69825, 11340, 'referenced_node_single_name', 'user'), +(69826, 11340, 'referenced_node_plural_name', 'users'), +(69827, 11341, 'action_type', 'UPDATE'), +(69828, 11341, 'referenced_node_status', 'publish'), +(69829, 11341, 'referenced_node_id', '2'), +(69830, 11341, 'referenced_node_relay_id', 'cG9zdDoy'), +(69831, 11341, 'referenced_node_single_name', 'page'), +(69832, 11341, 'referenced_node_plural_name', 'pages'), +(69833, 11341, 'referenced_node_post_modified', '2020-10-16 23:13:09'), +(69834, 11342, 'action_type', 'UPDATE'), +(69835, 11342, 'referenced_node_status', 'publish'), +(69836, 11342, 'referenced_node_id', '1'), +(69837, 11342, 'referenced_node_relay_id', 'dXNlcjox'), +(69838, 11342, 'referenced_node_single_name', 'user'), +(69839, 11342, 'referenced_node_plural_name', 'users'), +(69841, 11343, 'action_type', 'UPDATE'), +(69842, 11343, 'referenced_node_status', 'publish'), +(69843, 11343, 'referenced_node_id', '1'), +(69844, 11343, 'referenced_node_relay_id', 'cG9zdDox'), +(69845, 11343, 'referenced_node_single_name', 'post'), +(69846, 11343, 'referenced_node_plural_name', 'posts'), +(69847, 11343, 'referenced_node_post_modified', '2020-10-16 23:13:10'), +(69848, 11344, 'action_type', 'UPDATE'), +(69849, 11344, 'referenced_node_status', 'publish'), +(69850, 11344, 'referenced_node_id', '1'), +(69851, 11344, 'referenced_node_relay_id', 'dXNlcjox'), +(69852, 11344, 'referenced_node_single_name', 'user'), +(69853, 11344, 'referenced_node_plural_name', 'users'), +(69855, 11345, 'action_type', 'UPDATE'), +(69856, 11345, 'referenced_node_status', 'publish'), +(69857, 11345, 'referenced_node_id', '1'), +(69858, 11345, 'referenced_node_relay_id', 'dXNlcjox'), +(69859, 11345, 'referenced_node_single_name', 'user'), +(69860, 11345, 'referenced_node_plural_name', 'users'), +(69861, 11346, 'action_type', 'UPDATE'), +(69862, 11346, 'referenced_node_status', 'publish'), +(69863, 11346, 'referenced_node_id', '2'), +(69864, 11346, 'referenced_node_relay_id', 'cG9zdDoy'), +(69865, 11346, 'referenced_node_single_name', 'page'), +(69866, 11346, 'referenced_node_plural_name', 'pages'), +(69867, 11346, 'referenced_node_post_modified', '2020-10-16 23:16:21'), +(69868, 11347, 'action_type', 'UPDATE'), +(69869, 11347, 'referenced_node_status', 'publish'), +(69870, 11347, 'referenced_node_id', '1'), +(69871, 11347, 'referenced_node_relay_id', 'dXNlcjox'), +(69872, 11347, 'referenced_node_single_name', 'user'), +(69873, 11347, 'referenced_node_plural_name', 'users'), +(69875, 11348, 'action_type', 'UPDATE'), +(69876, 11348, 'referenced_node_status', 'publish'), +(69877, 11348, 'referenced_node_id', '1'), +(69878, 11348, 'referenced_node_relay_id', 'cG9zdDox'), +(69879, 11348, 'referenced_node_single_name', 'post'), +(69880, 11348, 'referenced_node_plural_name', 'posts'), +(69881, 11348, 'referenced_node_post_modified', '2020-10-16 23:16:21'), +(69882, 11349, 'action_type', 'UPDATE'), +(69883, 11349, 'referenced_node_status', 'publish'), +(69884, 11349, 'referenced_node_id', '1'), +(69885, 11349, 'referenced_node_relay_id', 'dXNlcjox'), +(69886, 11349, 'referenced_node_single_name', 'user'), +(69887, 11349, 'referenced_node_plural_name', 'users'), +(69889, 11350, 'action_type', 'UPDATE'), +(69890, 11350, 'referenced_node_status', 'publish'), +(69891, 11350, 'referenced_node_id', '1'), +(69892, 11350, 'referenced_node_relay_id', 'dXNlcjox'), +(69893, 11350, 'referenced_node_single_name', 'user'), +(69894, 11350, 'referenced_node_plural_name', 'users'), +(69895, 11351, 'action_type', 'UPDATE'), +(69896, 11351, 'referenced_node_status', 'publish'), +(69897, 11351, 'referenced_node_id', '2'), +(69898, 11351, 'referenced_node_relay_id', 'cG9zdDoy'), +(69899, 11351, 'referenced_node_single_name', 'page'), +(69900, 11351, 'referenced_node_plural_name', 'pages'), +(69901, 11351, 'referenced_node_post_modified', '2020-10-16 23:17:37'), +(69902, 11352, 'action_type', 'UPDATE'), +(69903, 11352, 'referenced_node_status', 'publish'), +(69904, 11352, 'referenced_node_id', '1'), +(69905, 11352, 'referenced_node_relay_id', 'dXNlcjox'), +(69906, 11352, 'referenced_node_single_name', 'user'), +(69907, 11352, 'referenced_node_plural_name', 'users'), +(69909, 11353, 'action_type', 'UPDATE'), +(69910, 11353, 'referenced_node_status', 'publish'), +(69911, 11353, 'referenced_node_id', '1'), +(69912, 11353, 'referenced_node_relay_id', 'cG9zdDox'), +(69913, 11353, 'referenced_node_single_name', 'post'), +(69914, 11353, 'referenced_node_plural_name', 'posts'), +(69915, 11353, 'referenced_node_post_modified', '2020-10-16 23:17:37'), +(69916, 11354, 'action_type', 'UPDATE'), +(69917, 11354, 'referenced_node_status', 'publish'), +(69918, 11354, 'referenced_node_id', '1'), +(69919, 11354, 'referenced_node_relay_id', 'dXNlcjox'), +(69920, 11354, 'referenced_node_single_name', 'user'), +(69921, 11354, 'referenced_node_plural_name', 'users'), +(69923, 11355, 'action_type', 'UPDATE'), +(69924, 11355, 'referenced_node_status', 'publish'), +(69925, 11355, 'referenced_node_id', '1'), +(69926, 11355, 'referenced_node_relay_id', 'dXNlcjox'), +(69927, 11355, 'referenced_node_single_name', 'user'), +(69928, 11355, 'referenced_node_plural_name', 'users'), +(69929, 11356, 'action_type', 'UPDATE'), +(69930, 11356, 'referenced_node_status', 'publish'), +(69931, 11356, 'referenced_node_id', '2'), +(69932, 11356, 'referenced_node_relay_id', 'cG9zdDoy'), +(69933, 11356, 'referenced_node_single_name', 'page'), +(69934, 11356, 'referenced_node_plural_name', 'pages'), +(69935, 11356, 'referenced_node_post_modified', '2020-10-16 23:18:09'), +(69936, 11357, 'action_type', 'UPDATE'), +(69937, 11357, 'referenced_node_status', 'publish'), +(69938, 11357, 'referenced_node_id', '1'), +(69939, 11357, 'referenced_node_relay_id', 'dXNlcjox'), +(69940, 11357, 'referenced_node_single_name', 'user'), +(69941, 11357, 'referenced_node_plural_name', 'users'), +(69943, 11358, 'action_type', 'UPDATE'), +(69944, 11358, 'referenced_node_status', 'publish'), +(69945, 11358, 'referenced_node_id', '1'), +(69946, 11358, 'referenced_node_relay_id', 'cG9zdDox'), +(69947, 11358, 'referenced_node_single_name', 'post'), +(69948, 11358, 'referenced_node_plural_name', 'posts'), +(69949, 11358, 'referenced_node_post_modified', '2020-10-16 23:18:09'), +(69950, 11359, 'action_type', 'UPDATE'), +(69951, 11359, 'referenced_node_status', 'publish'), +(69952, 11359, 'referenced_node_id', '1'), +(69953, 11359, 'referenced_node_relay_id', 'dXNlcjox'), +(69954, 11359, 'referenced_node_single_name', 'user'), +(69955, 11359, 'referenced_node_plural_name', 'users'), +(69957, 11360, 'action_type', 'UPDATE'), +(69958, 11360, 'referenced_node_status', 'publish'), +(69959, 11360, 'referenced_node_id', '1'), +(69960, 11360, 'referenced_node_relay_id', 'dXNlcjox'), +(69961, 11360, 'referenced_node_single_name', 'user'), +(69962, 11360, 'referenced_node_plural_name', 'users'), +(69963, 11361, 'action_type', 'UPDATE'), +(69964, 11361, 'referenced_node_status', 'publish'), +(69965, 11361, 'referenced_node_id', '2'), +(69966, 11361, 'referenced_node_relay_id', 'cG9zdDoy'), +(69967, 11361, 'referenced_node_single_name', 'page'), +(69968, 11361, 'referenced_node_plural_name', 'pages'), +(69969, 11361, 'referenced_node_post_modified', '2020-10-16 23:22:03'), +(69970, 11362, 'action_type', 'UPDATE'), +(69971, 11362, 'referenced_node_status', 'publish'), +(69972, 11362, 'referenced_node_id', '1'), +(69973, 11362, 'referenced_node_relay_id', 'dXNlcjox'), +(69974, 11362, 'referenced_node_single_name', 'user'), +(69975, 11362, 'referenced_node_plural_name', 'users'), +(69977, 11363, 'action_type', 'UPDATE'), +(69978, 11363, 'referenced_node_status', 'publish'), +(69979, 11363, 'referenced_node_id', '1'), +(69980, 11363, 'referenced_node_relay_id', 'cG9zdDox'), +(69981, 11363, 'referenced_node_single_name', 'post'), +(69982, 11363, 'referenced_node_plural_name', 'posts'), +(69983, 11363, 'referenced_node_post_modified', '2020-10-16 23:22:03'), +(69984, 11364, 'action_type', 'UPDATE'), +(69985, 11364, 'referenced_node_status', 'publish'), +(69986, 11364, 'referenced_node_id', '1'), +(69987, 11364, 'referenced_node_relay_id', 'dXNlcjox'), +(69988, 11364, 'referenced_node_single_name', 'user'), +(69989, 11364, 'referenced_node_plural_name', 'users'), +(69991, 11365, 'action_type', 'UPDATE'), +(69992, 11365, 'referenced_node_status', 'publish'), +(69993, 11365, 'referenced_node_id', '1'), +(69994, 11365, 'referenced_node_relay_id', 'dXNlcjox'), +(69995, 11365, 'referenced_node_single_name', 'user'), +(69996, 11365, 'referenced_node_plural_name', 'users'), +(69997, 11366, 'action_type', 'UPDATE'), +(69998, 11366, 'referenced_node_status', 'publish'), +(69999, 11366, 'referenced_node_id', '2'), +(70000, 11366, 'referenced_node_relay_id', 'cG9zdDoy'), +(70001, 11366, 'referenced_node_single_name', 'page'), +(70002, 11366, 'referenced_node_plural_name', 'pages'), +(70003, 11366, 'referenced_node_post_modified', '2020-10-16 23:23:16'), +(70004, 11367, 'action_type', 'UPDATE'), +(70005, 11367, 'referenced_node_status', 'publish'), +(70006, 11367, 'referenced_node_id', '1'), +(70007, 11367, 'referenced_node_relay_id', 'dXNlcjox'), +(70008, 11367, 'referenced_node_single_name', 'user'), +(70009, 11367, 'referenced_node_plural_name', 'users'), +(70011, 11368, 'action_type', 'UPDATE'), +(70012, 11368, 'referenced_node_status', 'publish'), +(70013, 11368, 'referenced_node_id', '1'), +(70014, 11368, 'referenced_node_relay_id', 'cG9zdDox'), +(70015, 11368, 'referenced_node_single_name', 'post'), +(70016, 11368, 'referenced_node_plural_name', 'posts'), +(70017, 11368, 'referenced_node_post_modified', '2020-10-16 23:23:16'), +(70018, 11369, 'action_type', 'UPDATE'), +(70019, 11369, 'referenced_node_status', 'publish'), +(70020, 11369, 'referenced_node_id', '1'), +(70021, 11369, 'referenced_node_relay_id', 'dXNlcjox'), +(70022, 11369, 'referenced_node_single_name', 'user'), +(70023, 11369, 'referenced_node_plural_name', 'users'), +(70025, 11370, 'action_type', 'UPDATE'), +(70026, 11370, 'referenced_node_status', 'publish'), +(70027, 11370, 'referenced_node_id', '1'), +(70028, 11370, 'referenced_node_relay_id', 'dXNlcjox'), +(70029, 11370, 'referenced_node_single_name', 'user'), +(70030, 11370, 'referenced_node_plural_name', 'users'), +(70031, 11371, 'action_type', 'UPDATE'), +(70032, 11371, 'referenced_node_status', 'publish'), +(70033, 11371, 'referenced_node_id', '2'), +(70034, 11371, 'referenced_node_relay_id', 'cG9zdDoy'), +(70035, 11371, 'referenced_node_single_name', 'page'), +(70036, 11371, 'referenced_node_plural_name', 'pages'), +(70037, 11371, 'referenced_node_post_modified', '2020-10-16 23:23:47'), +(70038, 11372, 'action_type', 'UPDATE'), +(70039, 11372, 'referenced_node_status', 'publish'), +(70040, 11372, 'referenced_node_id', '1'), +(70041, 11372, 'referenced_node_relay_id', 'dXNlcjox'), +(70042, 11372, 'referenced_node_single_name', 'user'), +(70043, 11372, 'referenced_node_plural_name', 'users'), +(70045, 11373, 'action_type', 'UPDATE'), +(70046, 11373, 'referenced_node_status', 'publish'), +(70047, 11373, 'referenced_node_id', '1'), +(70048, 11373, 'referenced_node_relay_id', 'cG9zdDox'), +(70049, 11373, 'referenced_node_single_name', 'post'), +(70050, 11373, 'referenced_node_plural_name', 'posts'), +(70051, 11373, 'referenced_node_post_modified', '2020-10-16 23:23:47'), +(70052, 11374, 'action_type', 'UPDATE'), +(70053, 11374, 'referenced_node_status', 'publish'), +(70054, 11374, 'referenced_node_id', '1'), +(70055, 11374, 'referenced_node_relay_id', 'dXNlcjox'), +(70056, 11374, 'referenced_node_single_name', 'user'), +(70057, 11374, 'referenced_node_plural_name', 'users'), +(70059, 11375, 'action_type', 'UPDATE'), +(70060, 11375, 'referenced_node_status', 'publish'), +(70061, 11375, 'referenced_node_id', '1'), +(70062, 11375, 'referenced_node_relay_id', 'dXNlcjox'), +(70063, 11375, 'referenced_node_single_name', 'user'), +(70064, 11375, 'referenced_node_plural_name', 'users'), +(70065, 5, '__update', '1'), +(70066, 11375, '_wp_trash_meta_status', 'publish'), +(70067, 11375, '_wp_trash_meta_time', '1602944262'), +(70068, 11375, '_wp_desired_post_slug', 'tyler-1602890627-3'), +(70069, 11372, '_wp_trash_meta_status', 'publish'), +(70070, 11372, '_wp_trash_meta_time', '1602944262'), +(70071, 11372, '_wp_desired_post_slug', 'tyler-1602890627'), +(70072, 11374, '_wp_trash_meta_status', 'publish'), +(70073, 11374, '_wp_trash_meta_time', '1602944262'), +(70074, 11374, '_wp_desired_post_slug', 'tyler-1602890627-2'), +(70075, 11371, '_wp_trash_meta_status', 'publish'), +(70076, 11371, '_wp_trash_meta_time', '1602944262'), +(70077, 11371, '_wp_desired_post_slug', 'sample-page-1602890627'), +(70078, 11373, '_wp_trash_meta_status', 'publish'), +(70079, 11373, '_wp_trash_meta_time', '1602944262'), +(70080, 11373, '_wp_desired_post_slug', 'hello-world-1602890627'), +(70081, 11368, '_wp_trash_meta_status', 'publish'), +(70082, 11368, '_wp_trash_meta_time', '1602944262'), +(70083, 11368, '_wp_desired_post_slug', 'hello-world-delta-sync-1602890596'), +(70084, 11369, '_wp_trash_meta_status', 'publish'), +(70085, 11369, '_wp_trash_meta_time', '1602944262'), +(70086, 11369, '_wp_desired_post_slug', 'tyler-1602890596-2'), +(70087, 11370, '_wp_trash_meta_status', 'publish'), +(70088, 11370, '_wp_trash_meta_time', '1602944262'), +(70089, 11370, '_wp_desired_post_slug', 'tyler-1602890596-3'), +(70090, 11367, '_wp_trash_meta_status', 'publish'), +(70091, 11367, '_wp_trash_meta_time', '1602944262'), +(70092, 11367, '_wp_desired_post_slug', 'tyler-1602890596'), +(70093, 11366, '_wp_trash_meta_status', 'publish'), +(70094, 11366, '_wp_trash_meta_time', '1602944262'), +(70095, 11366, '_wp_desired_post_slug', 'sample-page-delta-sync-1602890596'), +(70096, 11365, '_wp_trash_meta_status', 'publish'), +(70097, 11365, '_wp_trash_meta_time', '1602944262'), +(70098, 11365, '_wp_desired_post_slug', 'tyler-1602890523-3'), +(70099, 11362, '_wp_trash_meta_status', 'publish'), +(70100, 11362, '_wp_trash_meta_time', '1602944262'), +(70101, 11362, '_wp_desired_post_slug', 'tyler-1602890523'), +(70102, 11363, '_wp_trash_meta_status', 'publish'), +(70103, 11363, '_wp_trash_meta_time', '1602944262'), +(70104, 11363, '_wp_desired_post_slug', 'hello-world-1602890523'), +(70105, 11364, '_wp_trash_meta_status', 'publish'), +(70106, 11364, '_wp_trash_meta_time', '1602944262'), +(70107, 11364, '_wp_desired_post_slug', 'tyler-1602890523-2'), +(70108, 11361, '_wp_trash_meta_status', 'publish'), +(70109, 11361, '_wp_trash_meta_time', '1602944262'), +(70110, 11361, '_wp_desired_post_slug', 'sample-page-1602890523'), +(70111, 11359, '_wp_trash_meta_status', 'publish'), +(70112, 11359, '_wp_trash_meta_time', '1602944262'), +(70113, 11359, '_wp_desired_post_slug', 'tyler-1602890289-2'), +(70114, 11358, '_wp_trash_meta_status', 'publish'), +(70115, 11358, '_wp_trash_meta_time', '1602944262'), +(70116, 11358, '_wp_desired_post_slug', 'hello-world-1602890289'), +(70117, 11360, '_wp_trash_meta_status', 'publish'), +(70118, 11360, '_wp_trash_meta_time', '1602944262'), +(70119, 11360, '_wp_desired_post_slug', 'tyler-1602890289-3'), +(70120, 11357, '_wp_trash_meta_status', 'publish'), +(70121, 11357, '_wp_trash_meta_time', '1602944262'), +(70122, 11357, '_wp_desired_post_slug', 'tyler-1602890289'), +(70123, 11356, '_wp_trash_meta_status', 'publish'), +(70124, 11356, '_wp_trash_meta_time', '1602944262'), +(70125, 11356, '_wp_desired_post_slug', 'sample-page-1602890289'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_posts` +-- + +CREATE TABLE `wp_posts` ( + `ID` bigint(20) UNSIGNED NOT NULL, + `post_author` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `post_title` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_excerpt` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'publish', + `comment_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', + `ping_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', + `post_password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `post_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `to_ping` text COLLATE utf8mb4_unicode_ci NOT NULL, + `pinged` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content_filtered` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `post_parent` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `guid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `menu_order` int(11) NOT NULL DEFAULT '0', + `post_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'post', + `post_mime_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_count` bigint(20) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_posts` +-- + +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(1, 1, '2020-02-25 17:54:21', '2020-02-25 17:54:21', '\n

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

    \n', 'Hello world!', '', 'publish', 'open', 'open', '', 'hello-world', '', '', '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/?p=1', 0, 'post', '', 1), +(2, 1, '2020-02-25 17:54:21', '2020-02-25 17:54:21', '\n

    This is an example page. It\'s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

    \n\n\n\n

    Hi there! I\'m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin\' caught in the rain.)

    \n\n\n\n

    ...or something like this:

    \n\n\n\n

    The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.

    \n\n\n\n

    As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

    \n', 'Sample Page', '', 'publish', 'closed', 'open', '', 'sample-page', '', '', '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=2', 0, 'page', '', 0), +(3, 1, '2020-02-25 17:54:21', '2020-02-25 17:54:21', '

    Who we are

    Our website address is: https://devgatsbyint.wpengine.com.

    What personal data we collect and why we collect it

    Comments

    When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

    An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

    Media

    If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

    Contact forms

    Cookies

    If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

    If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

    When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

    If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

    Embedded content from other websites

    Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

    These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

    Analytics

    Who we share your data with

    How long we retain your data

    If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

    For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

    What rights you have over your data

    If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

    Where we send your data

    Visitor comments may be checked through an automated spam detection service.

    Your contact information

    Additional information

    How we protect your data

    What data breach procedures we have in place

    What third parties we receive data from

    What automated decision making and/or profiling we do with user data

    Industry regulatory disclosure requirements

    ', 'Privacy Policy', '', 'draft', 'closed', 'open', '', 'privacy-policy', '', '', '2020-02-25 17:54:21', '2020-02-25 17:54:21', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=3', 0, 'page', '', 0), +(16, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 'Activity', '', 'publish', 'closed', 'closed', '', 'activity', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/activity/', 0, 'page', '', 0), +(17, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 'Members', '', 'publish', 'closed', 'closed', '', 'members', '', '', '2020-07-22 00:43:10', '2020-07-22 00:43:10', '', 0, 'https://devgatsbyint.wpengine.com/members/', 0, 'page', '', 0), +(18, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} replied to one of your updates:\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} replied to one of your updates', '{{poster.name}} replied to one of your updates:\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{thread.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-replied-to-one-of-your-updates', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=18', 0, 'bp-email', '', 0), +(19, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} replied to one of your comments:\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} replied to one of your comments', '{{poster.name}} replied to one of your comments:\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{thread.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-replied-to-one-of-your-comments', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=19', 0, 'bp-email', '', 0), +(20, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} mentioned you in a status update:\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} mentioned you in a status update', '{{poster.name}} mentioned you in a status update:\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{mentioned.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-mentioned-you-in-a-status-update', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=20', 0, 'bp-email', '', 0), +(21, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} mentioned you in an update', '{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{mentioned.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-mentioned-you-in-an-update', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=21', 0, 'bp-email', '', 0), +(22, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Thanks for registering!\n\nTo complete the activation of your account, go to the following link and click on the Activate button:\n{{{activate.url}}}\n\nIf the \'Activation Key\' field is empty, copy and paste the following into the field - {{key}}', '[{{{site.name}}}] Activate your account', 'Thanks for registering!\n\nTo complete the activation of your account, go to the following link and click on the \'Activate\' button: {{{activate.url}}}\n\nIf the \'Activation Key\' field is empty, copy and paste the following into the field - {{key}}', 'publish', 'closed', 'closed', '', 'site-name-activate-your-account', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=22', 0, 'bp-email', '', 0), +(23, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{initiator.name}} wants to add you as a friend.\n\nTo accept this request and manage all of your pending requests, visit: {{{friend-requests.url}}}', '[{{{site.name}}}] New friendship request from {{initiator.name}}', '{{initiator.name}} wants to add you as a friend.\n\nTo accept this request and manage all of your pending requests, visit: {{{friend-requests.url}}}\n\nTo view {{initiator.name}}\'s profile, visit: {{{initiator.url}}}', 'publish', 'closed', 'closed', '', 'site-name-new-friendship-request-from-initiator-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=23', 0, 'bp-email', '', 0), +(24, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{friend.name}} accepted your friend request.', '[{{{site.name}}}] {{friend.name}} accepted your friendship request', '{{friend.name}} accepted your friend request.\n\nTo learn more about them, visit their profile: {{{friendship.url}}}', 'publish', 'closed', 'closed', '', 'site-name-friend-name-accepted-your-friendship-request', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=24', 0, 'bp-email', '', 0), +(25, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Group details for the group "{{group.name}}" were updated:\n
    {{changed_text}}
    ', '[{{{site.name}}}] Group details updated', 'Group details for the group \"{{group.name}}\" were updated:\n\n{{changed_text}}\n\nTo view the group, visit: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-group-details-updated', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=25', 0, 'bp-email', '', 0), +(26, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{inviter.name}} has invited you to join the group: "{{group.name}}".\n{{invite.message}}\nGo here to accept your invitation or visit the group to learn more.', '[{{{site.name}}}] You have an invitation to the group: \"{{group.name}}\"', '{{inviter.name}} has invited you to join the group: \"{{group.name}}\".\n\nTo accept your invitation, visit: {{{invites.url}}}\n\nTo learn more about the group, visit: {{{group.url}}}.\nTo view {{inviter.name}}\'s profile, visit: {{{inviter.url}}}', 'publish', 'closed', 'closed', '', 'site-name-you-have-an-invitation-to-the-group-group-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=26', 0, 'bp-email', '', 0), +(27, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'You have been promoted to {{promoted_to}} in the group "{{group.name}}".', '[{{{site.name}}}] You have been promoted in the group: \"{{group.name}}\"', 'You have been promoted to {{promoted_to}} in the group: \"{{group.name}}\".\n\nTo visit the group, go to: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-you-have-been-promoted-in-the-group-group-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=27', 0, 'bp-email', '', 0), +(28, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{requesting-user.name}} wants to join the group "{{group.name}}".\n {{request.message}}\n As you are an administrator of this group, you must either accept or reject the membership request.\n\nGo here to manage this and all other pending requests.', '[{{{site.name}}}] Membership request for group: {{group.name}}', '{{requesting-user.name}} wants to join the group \"{{group.name}}\". As you are the administrator of this group, you must either accept or reject the membership request.\n\nTo manage this and all other pending requests, visit: {{{group-requests.url}}}\n\nTo view {{requesting-user.name}}\'s profile, visit: {{{profile.url}}}', 'publish', 'closed', 'closed', '', 'site-name-membership-request-for-group-group-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=28', 0, 'bp-email', '', 0), +(29, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{sender.name}} sent you a new message: "{{usersubject}}"\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] New message from {{sender.name}}', '{{sender.name}} sent you a new message: \"{{usersubject}}\"\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{message.url}}}', 'publish', 'closed', 'closed', '', 'site-name-new-message-from-sender-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=29', 0, 'bp-email', '', 0), +(30, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'You recently changed the email address associated with your account on {{site.name}} to {{user.email}}. If this is correct, go here to confirm the change.\n\nOtherwise, you can safely ignore and delete this email if you have changed your mind, or if you think you have received this email in error.', '[{{{site.name}}}] Verify your new email address', 'You recently changed the email address associated with your account on {{site.name}} to {{user.email}}. If this is correct, go to the following link to confirm the change: {{{verify.url}}}\n\nOtherwise, you can safely ignore and delete this email if you have changed your mind, or if you think you have received this email in error.', 'publish', 'closed', 'closed', '', 'site-name-verify-your-new-email-address', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=30', 0, 'bp-email', '', 0), +(31, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Your membership request for the group "{{group.name}}" has been accepted.', '[{{{site.name}}}] Membership request for group \"{{group.name}}\" accepted', 'Your membership request for the group \"{{group.name}}\" has been accepted.\n\nTo view the group, visit: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-membership-request-for-group-group-name-accepted', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=31', 0, 'bp-email', '', 0), +(32, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Your membership request for the group "{{group.name}}" has been rejected.', '[{{{site.name}}}] Membership request for group \"{{group.name}}\" rejected', 'Your membership request for the group \"{{group.name}}\" has been rejected.\n\nTo request membership again, visit: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-membership-request-for-group-group-name-rejected', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=32', 0, 'bp-email', '', 0), +(72, 1, '2020-03-02 20:59:45', '2020-03-02 20:59:45', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:4:\"page\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:13:\"acfPageFields\";}', 'Page', 'page', 'publish', 'closed', 'closed', '', 'group_5e5d71e2746ef', '', '', '2020-10-02 19:30:07', '2020-10-02 19:30:07', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=72', 0, 'acf-field-group', '', 0), +(74, 1, '2020-03-02 20:54:36', '2020-03-02 20:54:36', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:11:\"team_member\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:7:\"acfData\";}', 'team member', 'team-member', 'publish', 'closed', 'closed', '', 'group_5e5d724c5c8ba', '', '', '2020-03-03 00:35:34', '2020-03-03 00:35:34', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=74', 0, 'acf-field-group', '', 0), +(75, 1, '2020-03-02 20:54:36', '2020-03-02 20:54:36', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'Name', 'name', 'publish', 'closed', 'closed', '', 'field_5e5d725460853', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=75', 0, 'acf-field', '', 0), +(79, 1, '2018-10-23 09:31:58', '2018-10-23 19:31:58', '\n

    Welcome to image alignment! The best way to demonstrate the ebb and flow of the various image positioning options is to nestle them snuggly among an ocean of words. Grab a paddle and let’s get started.

    \n\n\n\n

    On the topic of alignment, it should be noted that users can choose from the options of NoneLeftRight, and Center. In addition, they also get the options of ThumbnailMediumLarge & Fullsize.

    \n\n\n\n
    \"\"
    \n\n\n\n

    The image above happens to be centered.

    \n\n\n\n
    \"\"
    \n\n\n\n

    The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is left aligned.

    \n\n\n\n

    As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we’ll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it’s thang. Mission accomplished!

    \n\n\n\n

    And now for a massively large image. It also has no alignment.

    \n\n\n\n
    \"\"
    \n\n\n\n

    The image above, though 1200px wide, should not overflow the content area. It should remain contained with no visible disruption to the flow of content.

    \n\n\n\n
    \"\"
    \n\n\n\n

    And now we’re going to shift things to the right align. Again, there should be plenty of room above, below, and to the left of the image. Just look at him there… Hey guy! Way to rock that right side. I don’t care what the left aligned image says, you look great. Don’t let anyone else tell you differently.

    \n\n\n\n

    In just a bit here, you should see the text start to wrap below the \nright aligned image and settle in nicely. There should still be plenty \nof room and everything should be sitting pretty. Yeah… Just like that. \nIt never felt so good to be right.

    \n\n\n\n

    The following image is wide (if the theme supports it, that is). If not, who knows what will happen!

    \n\n\n\n
    \"\"
    \n\n\n\n

    What\'s that? You wanted to see a full-width image block? Well then feast your eyes on the following.

    \n\n\n\n
    \"\"
    \n\n\n\n

    There\'s something missing! But don\'t worry, we\'ve got the cover image blocks... covered.

    \n\n\n\n
    \n

    This is a regular cover image.

    \n
    \n\n\n\n
    \n

    This is a wide cover image.

    \n
    \n\n\n\n
    \n

    This is a full-width cover image.

    \n
    \n\n\n\n

    And just when you thought we were done, we’re going to do them all over again with captions!

    \n\n\n\n
    \"\"
    Look at 580×300 getting some caption love.
    \n\n\n\n

    The image above happens to be centered. The caption also has a link in it, just to see if it does anything funky.

    \n\n\n\n
    \"\"
    Itty-bitty caption
    \n\n\n\n

    The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is left aligned.

    \n\n\n\n

    As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we’ll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it’s thang. Mission accomplished!

    \n\n\n\n

    And now for a massively large image. It also has no alignment.

    \n\n\n\n
    \"\"
    Massive image comment for your eyeballs.
    \n\n\n\n

    The image above, though 1200px wide, should not overflow the content area. It should remain contained with no visible disruption to the flow of content.

    \n\n\n\n
    \"\"
    Feels good to be right all the time.
    \n\n\n\n

    And now we’re going to shift things to the right align. Again, there should be plenty of room above, below, and to the left of the image. Just look at him there… Hey guy! Way to rock that right side. I don’t care what the left aligned image says, you look great. Don’t let anyone else tell you differently.

    \n\n\n\n

    In just a bit here, you should see the text start to wrap below the right aligned image and settle in nicely. There should still be plenty of room and everything should be sitting pretty. Yeah… Just like that. It never felt so good to be right.

    \n\n\n\n

    We\'re gonna take one more trip down cover image lane.

    \n\n\n\n
    \n

    The unicorn is a legendary creature that has been described since antiquity as a beast with a single large, pointed, spiraling horn projecting from it\'s forehead. In European folklore, the unicorn is often depicted as a white horse-like or goat-like animal with a long horn and clove hooves.

    In the Middle Ages and Renaissance, it was commonly described as an extremely wild woodland creature, a symbol of purity and grace, which could be captured only by a virgin.

    \n
    \n\n\n\n
    \n

    This wide cover image background is fixed.

    \n
    \n\n\n\n

    And that’s a wrap, yo! You survived the tumultuous waters of alignment. Image alignment achievement unlocked!

    \n', 'Gutenberg: Image Alignment', '', 'publish', 'open', 'open', '', 'gutenberg-image-alignment', '', '', '2020-09-17 15:32:16', '2020-09-17 15:32:16', '', 0, 'https://chrisrunnells.wordpress.com/?p=79', 0, 'post', '', 0), +(84, 1, '2020-03-02 20:54:37', '2020-03-02 20:54:37', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'Title', 'title', 'publish', 'closed', 'closed', '', 'field_5e5d726060854', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=84', 1, 'acf-field', '', 0), +(89, 1, '2020-03-02 20:54:37', '2020-03-02 20:54:37', 'a:16:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Portrait', 'portrait', 'publish', 'closed', 'closed', '', 'field_5e5d727560855', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=89', 2, 'acf-field', '', 0), +(90, 1, '2018-10-23 09:38:23', '2018-10-23 19:38:23', '\n

    Archives Widget

    \n\n\n\n\n\n

    Categories

    \n\n\n\n\n\n

    Latest Posts

    \n\n\n\n\n\n

    Latest Comments

    \n\n\n\n\n\n

    YouTube Shortcode

    \n\n\n\n[youtube https://www.youtube.com/watch?v=ssfHW5lwFZg]\n', 'Gutenberg: Widget Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-widget-blocks', '', '', '2020-09-17 15:32:13', '2020-09-17 15:32:13', '', 0, 'https://chrisrunnells.wordpress.com/?p=90', 0, 'post', '', 0), +(94, 1, '2018-10-23 15:33:34', '2018-10-24 01:33:34', '\n

    Paragraph Block

    \n\n\n\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris purus urna, vulputate at convallis hendrerit, mattis id mi. Nulla mauris justo, sodales vitae sodales nec, fermentum at elit. Proin condimentum risus sed venenatis mollis. Donec auctor euismod sodales. Donec sodales congue metus, sit amet tempor odio maximus in. Ut vestibulum nisl a maximus scelerisque. Donec aliquam eleifend metus, eget iaculis ante vestibulum id. Nulla facilisi. Nullam interdum sagittis accumsan. Phasellus egestas elementum enim nec condimentum. Sed mattis purus odio. Curabitur vehicula rutrum porttitor. Phasellus tempus dui id turpis fermentum, auctor dictum mauris mollis.

    \n\n\n\n

    Header 1

    \n\n\n\n

    Header 2

    \n\n\n\n

    Header 3

    \n\n\n\n

    Header 4

    \n\n\n\n
    Header 5
    \n\n\n\n
    Header 6
    \n\n\n\n

    Image Block

    \n\n\n\n
    \"\"
    A pretty unicorn
    \n\n\n\n\n\n\n\n

    List Block

    \n\n\n\n\n\n\n\n
    1. List Item One
    2. List Item Two
    3. List Item Three
    \n\n\n\n

    Quote Block

    \n\n\n\n

    This is a quote block. It\'s aligned to the side at least in the default styles. Pretty darn amazing.

    Laurel Fulford
    \n\n\n\n

    Large Quote Block

    \n\n\n\n

    Use the force, Luke.

    Obi-Wan Kenobi
    \n\n\n\n

    Audio Block

    \n\n\n\n
    Tom Raftery interviews Matt Mullenweg and Donncha Ó Caoimh
    \n\n\n\n

    Cover Image Block

    \n\n\n\n
    \n

    This is a cover image block.

    \n
    \n\n\n\n

    File Block

    \n\n\n\n\n\n\n\n

    Video Block

    \n\n\n\n
    Now that\'s a fun animation!
    \n', 'Gutenberg: Common Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-common-blocks', '', '', '2020-10-07 03:05:49', '2020-10-07 03:05:49', '', 0, 'https://chrisrunnells.wordpress.com/?p=94', 0, 'post', '', 0), +(95, 1, '2018-10-23 10:34:54', '2018-10-23 20:34:54', '', 'aperture-vintage-346923-unsplash', '', 'inherit', 'open', 'closed', '', 'aperture-vintage-346923-unsplash', '', '', '2018-10-23 10:34:54', '2018-10-23 20:34:54', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/aperture-vintage-346923-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(96, 1, '2018-10-23 10:35:00', '2018-10-23 20:35:00', '', 'brandon-siu-608784-unsplash', '', 'inherit', 'open', 'closed', '', 'brandon-siu-608784-unsplash', '', '', '2018-10-23 10:35:00', '2018-10-23 20:35:00', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/brandon-siu-608784-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(97, 1, '2018-10-23 10:35:04', '2018-10-23 20:35:04', '', 'casey-horner-512022-unsplash', '', 'inherit', 'open', 'closed', '', 'casey-horner-512022-unsplash', '', '', '2018-10-23 10:35:04', '2018-10-23 20:35:04', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/casey-horner-512022-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(98, 1, '2020-03-02 20:59:13', '2020-03-02 20:59:13', '\n

    Creator and maintainer of WPGraphQL (GraphQL for WordPress). Occasional conference speaker.

    \n', 'Jason Bahl', '', 'publish', 'open', 'open', '', 'jason-bahl', '', '', '2020-03-02 22:26:09', '2020-03-02 22:26:09', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=team_member&p=98', 0, 'team_member', '', 0), +(99, 1, '2020-03-02 20:58:44', '2020-03-02 20:58:44', '', 'avatar', '', 'inherit', 'open', 'closed', '', 'avatar', '', '', '2020-03-02 20:58:44', '2020-03-02 20:58:44', '', 98, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/avatar.jpg', 0, 'attachment', 'image/jpeg', 0), +(100, 1, '2018-10-23 10:35:13', '2018-10-23 20:35:13', '', 'federico-bottos-442265-unsplash', '', 'inherit', 'open', 'closed', '', 'federico-bottos-442265-unsplash', '', '', '2018-10-23 10:35:13', '2018-10-23 20:35:13', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/federico-bottos-442265-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(101, 1, '2018-10-23 10:35:17', '2018-10-23 20:35:17', '', 'jordan-steranka-504707-unsplash', '', 'inherit', 'open', 'closed', '', 'jordan-steranka-504707-unsplash', '', '', '2018-10-23 10:35:17', '2018-10-23 20:35:17', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/jordan-steranka-504707-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(102, 1, '2018-10-23 10:35:22', '2018-10-23 20:35:22', '', 'kristopher-roller-110203-unsplash', '', 'inherit', 'open', 'closed', '', 'kristopher-roller-110203-unsplash', '', '', '2018-10-23 10:35:22', '2018-10-23 20:35:22', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/kristopher-roller-110203-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(103, 1, '2018-10-23 10:35:26', '2018-10-23 20:35:26', '', 'zoltan-tasi-482489-unsplash', '', 'inherit', 'open', 'closed', '', 'zoltan-tasi-482489-unsplash', '', '', '2018-10-23 10:35:26', '2018-10-23 20:35:26', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/zoltan-tasi-482489-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(104, 1, '2018-10-23 15:24:00', '2018-10-24 01:24:00', '', 'WordPress-logotype-standard', '', 'inherit', 'open', 'closed', '', 'wordpress-logotype-standard', '', '', '2018-10-23 15:24:00', '2018-10-24 01:24:00', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/wordpress-logotype-standard.pdf', 0, 'attachment', 'application/pdf', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(114, 1, '2018-10-24 10:49:42', '2018-10-24 20:49:42', '

    Headings

    \n

    Header one

    \n

    Header two

    \n

    Header three

    \n

    Header four

    \n
    Header five
    \n
    Header six
    \n

    Blockquotes

    \nSingle line blockquote:\n
    Stay hungry. Stay foolish.
    \nMulti line blockquote with a cite reference:\n
    People think focus means saying yes to the thing you\'ve got to focus on. But that\'s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I\'m actually as proud of the things we haven\'t done as the things I have done. Innovation is saying no to 1,000 things.
    \nSteve Jobs - Apple Worldwide Developers\' Conference, 1997\n
    Do. Or do not. There is no try.\n\nYoda
    \n

    Tables

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    EmployeeSalary
    John Doe$1Because that\'s all Steve Jobs needed for a salary.
    Jane Doe$100KFor all the blogging she does.
    Fred Bloggs$100MPictures are worth a thousand words, right? So Jane x 1,000.
    Jane Bloggs$100BWith hair like that?! Enough said...
    \n

    Definition Lists

    \n
    \n
    Definition List Title
    \n
    Definition list division.
    \n
    Startup
    \n
    A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
    \n
    #dowork
    \n
    Coined by Rob Dyrdek and his personal body guard Christopher \"Big Black\" Boykins, \"Do Work\" works as a self motivator, to motivating your friends.
    \n
    Do It Live
    \n
    I\'ll let Bill O\'Reilly will explain this one.
    \n
    \n

    Unordered Lists (Nested)

    \n\n

    Ordered List (Nested)

    \n
      \n
    1. List item one\n
        \n
      1. List item one\n
          \n
        1. List item one
        2. \n
        3. List item two
        4. \n
        5. List item three
        6. \n
        7. List item four
        8. \n
        \n
      2. \n
      3. List item two
      4. \n
      5. List item three
      6. \n
      7. List item four
      8. \n
      \n
    2. \n
    3. List item two
    4. \n
    5. List item three
    6. \n
    7. List item four
    8. \n
    \n

    HTML Tags

    \nThese supported tags come from the WordPress.com code FAQ.\n\nAddress Tag\n\n
    1 Infinite Loop\nCupertino, CA 95014\nUnited States
    Anchor Tag (aka. Link)\n\nThis is an example of a link.\n\nAbbreviation Tag\n\nThe abbreviation srsly stands for \"seriously\".\n\nAcronym Tag (deprecated in HTML5)\n\nThe acronym ftw stands for \"for the win\".\n\nBig Tag (deprecated in HTML5)\n\nThese tests are a big deal, but this tag is no longer supported in HTML5.\n\nCite Tag\n\n\"Code is poetry.\" --Automattic\n\nCode Tag\n\nYou will learn later on in these tests that word-wrap: break-word; will be your best friend.\n\nDelete Tag\n\nThis tag will let you strikeout text, but this tag is no longer supported in HTML5 (use the <strike> instead).\n\nEmphasize Tag\n\nThe emphasize tag should italicize text.\n\nInsert Tag\n\nThis tag should denote inserted text.\n\nKeyboard Tag\n\nThis scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.\n\nPreformatted Tag\n\nThis tag styles large blocks of code.\n
    .post-title {\n	margin: 0 0 5px;\n	font-weight: bold;\n	font-size: 38px;\n	line-height: 1.2;\n	and here\'s a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;\n}
    \nQuote Tag\n\nDevelopers, developers, developers... --Steve Ballmer\n\nStrike Tag (deprecated in HTML5)\n\nThis tag shows strike-through text\n\nStrong Tag\n\nThis tag shows bold text.\n\nSubscript Tag\n\nGetting our science styling on with H2O, which should push the \"2\" down.\n\nSuperscript Tag\n\nStill sticking with science and Isaac Newton\'s E = MC2, which should lift the 2 up.\n\nTeletype Tag (deprecated in HTML5)\n\nThis rarely used tag emulates teletype text, which is usually styled like the <code> tag.\n\nVariable Tag\n\nThis allows you to denote variables.', 'Gutenberg: Classic Block', '', 'publish', 'open', 'open', '', 'gutenberg-classic-block', '', '', '2020-09-17 15:32:04', '2020-09-17 15:32:04', '', 0, 'https://chrisrunnells.wordpress.com/?p=114', 0, 'post', '', 0), +(116, 1, '2018-10-24 10:59:26', '2018-10-24 20:59:26', '\n

    Imgur Embed

    \n\n\n\n
    \nhttps://i.imgur.com/nlG3C7A.jpg\n
    \n\n\n\n

    Embed Embed

    \n\n\n\n
    \nhttps://google.com\n
    \n\n\n\n

    Twitter Embed

    \n\n\n\n
    \nhttps://twitter.com/wordpressdotcom\n
    \n\n\n\n

    YouTube Embed

    \n\n\n\n
    \nhttps://www.youtube.com/watch?v=xifhQyopjZM\n
    \n\n\n\n

    Facebook Embed

    \n\n\n\n
    \nhttps://www.facebook.com/WordPresscom/\n
    \n\n\n\n

    Instagram Embed

    \n\n\n\n
    \nhttps://www.instagram.com/rei/\n
    \n\n\n\n

    WordPress Embed

    \n\n\n\n
    \nhttps://automattic.design/\n
    \n\n\n\n

    Soundcloud Embed

    \n\n\n\n
    \nhttps://soundcloud.com/monstercat/rameses-b-something-real\n
    \n\n\n\n

    Spotify Embed

    \n\n\n\n
    \nhttps://open.spotify.com/album/3qg7pFyj6gbNVDtbi9aZHY\n
    \n\n\n\n

    Flickr Embed

    \n\n\n\n
    \nhttps://www.flickr.com/photos/tom_hall_nz/17004434418/in/gallery-134864050@N04-72157656707819872/\n
    \n\n\n\n

    Vimeo Embed

    \n\n\n\n
    \nhttps://vimeo.com/22439234\n
    \n', 'Gutenberg: Embed Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-embed-blocks', '', '', '2020-09-17 15:31:56', '2020-09-17 15:31:56', '', 0, 'https://chrisrunnells.wordpress.com/?p=116', 0, 'post', '', 0), +(122, 1, '2018-10-24 11:24:22', '2018-10-24 21:24:22', '\n

    Code Block

    \n\n\n\n
    .codeblock {\n    right: 100% !important;\n    position: absolute;\n}
    \n\n\n\n

    Classic Block

    \n\n\n

    This is the classic block.

    \n

    It\'s using the regular editor.

    \n\n\n

    HTML Block

    \n\n\n\n

    \n My HTML block.\n

    \n\n\n\n

    Preformatted Block

    \n\n\n\n
    This is a preformatted block.
    It is the best block.
    Amazing.
    \n\n\n\n

    Pullquote Block

    \n\n\n\n

    This is a pullquote. It\'s pretty awesome.

    Laurel Fulford
    \n\n\n\n

    Table Block

    \n\n\n\n
    Header 1Header 2Header 3
    BobSmith36
    JaneDoe25
    SusanSmithers34
    \n\n\n\n

    Verse Block

    \n\n\n\n
    This is a verse.
    It apparently has no styles?
    Amazing.
    \n', 'Gutenberg: Formatting Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-formatting-blocks', '', '', '2020-09-17 21:10:59', '2020-09-17 21:10:59', '', 0, 'https://chrisrunnells.wordpress.com/?p=122', 0, 'post', '', 0), +(125, 1, '2018-10-24 11:34:02', '2018-10-24 21:34:02', '\n

    Button Blocks

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n

    File Block

    \n\n\n\n\n\n\n\n

    Spacer Block

    \n\n\n\n
    \n\n\n\n

    Separator Block

    \n\n\n\n

    The following separators should be a short line, a long line, and some dots.

    \n\n\n\n
    \n\n\n\n
    \n\n\n\n
    \n', 'Gutenberg: Layout Element Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-layout-element-blocks', '', '', '2020-09-17 21:01:10', '2020-09-17 21:01:10', '', 0, 'https://chrisrunnells.wordpress.com/?p=125', 0, 'post', '', 0), +(128, 1, '2018-10-24 11:54:34', '2018-10-24 21:54:34', '\n

    2 columns

    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    This is a 2-column layout, just trying some things out to see how it goes. Each column should have enough padding to breathe a little bit. Don\'t forget to consider how columns will look on smaller screens. #mobilefirst

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    \n
    \n
    \n\n\n\n
    \n\n\n\n

    3 columns

    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    This is a typical 3-column layout with images on top and some text below.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    You\'ll find this layout on web sites all over the internet.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Gutenberg makes this kind of layout easy to build. The future is now!

    \n
    \n
    \n\n\n\n
    \n\n\n\n
    \n
    \n
    \n
    \n

    second level columns

    \n
    \n\n\n\n
    \n
    \n
    \n

    third level columns

    \n
    \n\n\n\n
    \n
    \n
    \n

    fourth level columns

    \n
    \n\n\n\n
    \n
    \n
    \n
    \n\n\n\n

    \n
    \n
    \n\n\n\n

    \n
    \n\n\n\n
    \n

    first level block

    \n
    \n
    \n\n\n\n

    4 columns

    \n\n\n\n
    \n
    \n

    This is the first column, and it\'s amazing.

    \n
    \n\n\n\n
    \n

    This is the second column, and it\'s also amazing.

    \n
    \n\n\n\n
    \n

    The third column, as they say, is like a charm.

    \n
    \n\n\n\n
    \n

    This is the fourth column, and it\'s possibly the best.

    \n
    \n
    \n\n\n\n
    \n\n\n\n

    5 columns

    \n\n\n\n
    \n
    \n

    5 columns of text in the post, 5 columns of text. Take one down, move it around, 4 columns of text in the post.

    \n
    \n\n\n\n
    \n

    4 columns of text in the post, 4 columns of text. Take one down, move it around, 3 columns of text in the post.

    \n
    \n\n\n\n
    \n

    3 columns of text in the post, 3 columns of text. Take one down, move it around, 2 columns of text in the post.

    \n
    \n\n\n\n
    \n

    2 columns of text in the post, 2 columns of text. Take one down, move it around, 1 columns of text in the post.

    \n
    \n\n\n\n
    \n

    1 column of text in the post, 1 column of text. Take one down, move it around, no columns of text in the post.

    \n
    \n
    \n\n\n\n
    \n\n\n\n

    6 columns

    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    One column.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Two columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Three columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Four columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Five columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Six columns.

    \n
    \n
    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    One column.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Two columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Three columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Four columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Five columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Six columns.

    \n
    \n
    \n\n\n\n

    \n', 'Gutenberg: Columns', '', 'publish', 'open', 'open', '', 'gutenberg-columns', '', '', '2020-09-17 17:35:43', '2020-09-17 17:35:43', '', 0, 'https://chrisrunnells.wordpress.com/?p=128', 0, 'post', '', 0), +(155, 1, '2020-03-02 21:00:47', '2020-03-02 21:00:47', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'twitter link', 'twitterlink', 'publish', 'closed', 'closed', '', 'field_5e5d73f3f4d05', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=155', 3, 'acf-field', '', 0), +(162, 1, '2020-03-02 21:01:08', '2020-03-02 21:01:08', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'web site', 'web_site', 'publish', 'closed', 'closed', '', 'field_5e5d740688701', '', '', '2020-03-03 00:35:34', '2020-03-03 00:35:34', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=162', 4, 'acf-field', '', 0), +(172, 1, '2020-03-02 22:17:12', '2020-03-02 22:17:12', '', 'WPGraphQL', '', 'publish', 'closed', 'closed', '', 'wpgraphql', '', '', '2020-03-02 22:24:24', '2020-03-02 22:24:24', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=project&p=172', 0, 'project', '', 0), +(181, 1, '2020-03-02 22:18:59', '2020-03-02 22:18:59', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:7:\"project\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:10:\"acfProject\";}', 'projects', 'projects', 'publish', 'closed', 'closed', '', 'group_5e5d8616df60a', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=181', 0, 'acf-field-group', '', 0), +(182, 1, '2020-03-02 22:18:59', '2020-03-02 22:18:59', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'project url', 'project_url', 'publish', 'closed', 'closed', '', 'field_5e5d8628dde4a', '', '', '2020-03-03 00:35:32', '2020-03-03 00:35:32', '', 181, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=182', 0, 'acf-field', '', 0), +(188, 1, '2020-03-02 22:19:00', '2020-03-02 22:19:00', 'a:16:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'image', 'image', 'publish', 'closed', 'closed', '', 'field_5e5d8631dde4b', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 181, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=188', 1, 'acf-field', '', 0), +(195, 1, '2020-03-02 22:24:12', '2020-03-02 22:24:12', '', '1024x1024-300x300', '', 'inherit', 'open', 'closed', '', '1024x1024-300x300', '', '', '2020-03-02 22:24:12', '2020-03-02 22:24:12', '', 172, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/1024x1024-300x300-1.png', 0, 'attachment', 'image/png', 0), +(229, 1, '2020-03-02 22:25:02', '2020-03-02 22:25:02', 'a:13:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";a:1:{i:0;s:7:\"project\";}s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'projects', 'projects', 'publish', 'closed', 'closed', '', 'field_5e5d87b185982', '', '', '2020-03-03 00:35:34', '2020-03-03 00:35:34', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=229', 5, 'acf-field', '', 0), +(284, 1, '2020-03-02 22:32:48', '2020-03-02 22:32:48', '', 'Screen Shot 2020-02-18 at 7.04.39 AM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-02-18-at-7-04-39-am', '', '', '2020-03-02 22:32:48', '2020-03-02 22:32:48', '', 17, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/Screen-Shot-2020-02-18-at-7.04.39-AM.png', 0, 'attachment', 'image/png', 0), +(316, 1, '2020-03-02 22:33:09', '2020-03-02 22:33:09', '', 'Screen Shot 2020-02-27 at 7.40.56 PM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-02-27-at-7-40-56-pm', '', '', '2020-03-02 22:33:09', '2020-03-02 22:33:09', '', 17, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/Screen-Shot-2020-02-27-at-7.40.56-PM.png', 0, 'attachment', 'image/png', 0), +(362, 1, '2020-03-02 22:48:26', '2020-03-02 22:48:26', '', '84-1000x1000', '', 'inherit', 'open', 'closed', '', '84-1000x1000', '', '', '2020-03-02 22:48:26', '2020-03-02 22:48:26', '', 17, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/84-1000x1000-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(564, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', ' ', '', '', 'publish', 'closed', 'closed', '', '564', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=564', 1, 'nav_menu_item', '', 0), +(565, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', ' ', '', '', 'publish', 'closed', 'closed', '', '565', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=565', 2, 'nav_menu_item', '', 0), +(566, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', ' ', '', '', 'publish', 'closed', 'closed', '', '566', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=566', 3, 'nav_menu_item', '', 0), +(567, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', '', 'test custom link', '', 'publish', 'closed', 'closed', '', 'test-custom-link', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=567', 4, 'nav_menu_item', '', 0), +(586, 1, '2020-03-06 01:14:07', '2020-03-06 01:14:07', '', 'Child page', '', 'publish', 'closed', 'closed', '', 'child-page', '', '', '2020-03-06 01:14:10', '2020-03-06 01:14:10', '', 2, 'https://devgatsbyint.wpengine.com/?page_id=586', 0, 'page', '', 0), +(711, 2, '2020-03-06 01:52:42', '2020-03-06 01:52:42', '\n

    With some A+ content

    \n', 'Test user\'s first post', '', 'draft', 'open', 'open', '', 'test-users-first-post', '', '', '2020-03-06 02:10:32', '2020-03-06 02:10:32', '', 0, 'https://devgatsbyint.wpengine.com/?p=711', 0, 'post', '', 0), +(1035, 1, '2020-03-19 00:41:37', '2020-03-19 00:41:37', '\n

    1

    \n', '1', '', 'publish', 'closed', 'closed', '', '1', '', '', '2020-03-19 00:41:38', '2020-03-19 00:41:38', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1035', 0, 'type_limit_test', '', 0), +(1046, 1, '2020-03-19 00:41:45', '2020-03-19 00:41:45', '\n

    2

    \n', '2', '', 'publish', 'closed', 'closed', '', '2', '', '', '2020-03-19 00:41:46', '2020-03-19 00:41:46', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1046', 0, 'type_limit_test', '', 0), +(1057, 1, '2020-03-19 00:41:53', '2020-03-19 00:41:53', '\n

    1

    \n', '1', '', 'publish', 'closed', 'closed', '', '1', '', '', '2020-03-19 00:41:53', '2020-03-19 00:41:53', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_0_test&p=1057', 0, 'type_limit_0_test', '', 0), +(1068, 1, '2020-03-19 00:42:00', '2020-03-19 00:42:00', '\n

    2

    \n', '2', '', 'publish', 'closed', 'closed', '', '2', '', '', '2020-03-19 00:42:00', '2020-03-19 00:42:00', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_0_test&p=1068', 0, 'type_limit_0_test', '', 0), +(1079, 1, '2020-03-19 00:42:08', '2020-03-19 00:42:08', '\n

    3

    \n', '3', '', 'publish', 'closed', 'closed', '', '3', '', '', '2020-03-19 00:42:08', '2020-03-19 00:42:08', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1079', 0, 'type_limit_test', '', 0), +(1090, 1, '2020-03-19 00:42:15', '2020-03-19 00:42:15', '\n

    4

    \n', '4', '', 'publish', 'closed', 'closed', '', '4', '', '', '2020-03-19 00:42:16', '2020-03-19 00:42:16', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1090', 0, 'type_limit_test', '', 0), +(1101, 1, '2020-03-19 00:42:21', '2020-03-19 00:42:21', '\n

    5

    \n', '5', '', 'publish', 'closed', 'closed', '', '5', '', '', '2020-03-19 00:42:22', '2020-03-19 00:42:22', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1101', 0, 'type_limit_test', '', 0), +(1112, 1, '2020-03-19 00:42:28', '2020-03-19 00:42:28', '\n

    6

    \n', '6', '', 'publish', 'closed', 'closed', '', '6', '', '', '2020-03-19 00:42:28', '2020-03-19 00:42:28', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1112', 0, 'type_limit_test', '', 0), +(1123, 1, '2020-03-19 00:42:36', '2020-03-19 00:42:36', '\n

    7

    \n', '7', '', 'publish', 'closed', 'closed', '', '7', '', '', '2020-03-19 00:42:37', '2020-03-19 00:42:37', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1123', 0, 'type_limit_test', '', 0), +(1134, 1, '2020-03-19 00:42:44', '2020-03-19 00:42:44', '\n

    8

    \n', '8', '', 'publish', 'closed', 'closed', '', '8', '', '', '2020-03-19 00:42:44', '2020-03-19 00:42:44', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1134', 0, 'type_limit_test', '', 0), +(1145, 1, '2020-03-19 00:42:50', '2020-03-19 00:42:50', '\n

    9

    \n', '9', '', 'publish', 'closed', 'closed', '', '9', '', '', '2020-03-19 00:42:51', '2020-03-19 00:42:51', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1145', 0, 'type_limit_test', '', 0), +(1156, 1, '2020-03-19 00:42:59', '2020-03-19 00:42:59', '\n

    10

    \n', '10', '', 'publish', 'closed', 'closed', '', '10', '', '', '2020-03-19 00:42:59', '2020-03-19 00:42:59', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1156', 0, 'type_limit_test', '', 0), +(1167, 1, '2020-03-19 00:43:05', '2020-03-19 00:43:05', '\n

    11

    \n', '11', '', 'publish', 'closed', 'closed', '', '11', '', '', '2020-03-19 00:43:06', '2020-03-19 00:43:06', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1167', 0, 'type_limit_test', '', 0), +(1258, 1, '2020-03-19 01:31:37', '2020-03-19 01:31:37', '', 'polylang_mo_18', '', 'private', 'closed', 'closed', '', 'polylang_mo_18', '', '', '2020-03-19 01:31:37', '2020-03-19 01:31:37', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=polylang_mo&p=1258', 0, 'polylang_mo', '', 0), +(1270, 1, '2020-03-19 01:38:33', '2020-03-19 01:38:33', '', 'polylang_mo_21', '', 'private', 'closed', 'closed', '', 'polylang_mo_21', '', '', '2020-03-19 01:38:33', '2020-03-19 01:38:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=polylang_mo&p=1270', 0, 'polylang_mo', '', 0), +(1276, 1, '2020-03-19 01:41:08', '2020-03-19 01:41:08', '', 'French home page', '', 'publish', 'closed', 'closed', '', 'french-home-page', '', '', '2020-03-19 01:41:10', '2020-03-19 01:41:10', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=1276', 0, 'page', '', 0), +(1311, 1, '2020-03-19 01:49:30', '2020-03-19 01:49:30', '\n

    french content

    \n', 'French page', '', 'publish', 'closed', 'closed', '', 'french-page', '', '', '2020-03-19 03:11:51', '2020-03-19 03:11:51', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=translation_filter_t&p=1311', 0, 'translation_filter_t', '', 0), +(1335, 1, '2020-03-19 01:53:47', '2020-03-19 01:53:47', '\n

    english content

    \n', 'English page', '', 'publish', 'closed', 'closed', '', 'english-page', '', '', '2020-03-19 03:10:49', '2020-03-19 03:10:49', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=translation_filter_t&p=1335', 0, 'translation_filter_t', '', 0), +(7627, 1, '2020-08-21 01:33:24', '2020-08-21 01:33:24', '', 'Screen Shot 2020-08-11 at 3.10.03 PM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-08-11-at-3-10-03-pm', '', '', '2020-08-21 01:33:24', '2020-08-21 01:33:24', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/Screen-Shot-2020-08-11-at-3.10.03-PM.png', 0, 'attachment', 'image/png', 0), +(7646, 1, '2020-08-27 17:11:05', '2020-08-27 17:11:05', '', 'ACF Field Test', '', 'publish', 'closed', 'closed', '', 'acf-field-test', '', '', '2020-10-02 19:40:10', '2020-10-02 19:40:10', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=7646', 0, 'page', '', 0), +(7650, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:12:{s:4:\"type\";s:5:\"range\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:4:\"step\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";}', 'Range field', 'range_field', 'publish', 'closed', 'closed', '', 'field_5f47e967644b1', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7650', 0, 'acf-field', '', 0), +(7652, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'Text Field', 'text_field', 'publish', 'closed', 'closed', '', 'field_5f47e986644b2', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7652', 1, 'acf-field', '', 0), +(7654, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:11:{s:4:\"type\";s:8:\"textarea\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:4:\"rows\";s:0:\"\";s:9:\"new_lines\";s:0:\"\";}', 'Text Area Field', 'text_area_field', 'publish', 'closed', 'closed', '', 'field_5f47e993644b3', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7654', 2, 'acf-field', '', 0), +(7656, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:11:{s:4:\"type\";s:12:\"button_group\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:7:\"button1\";s:10:\"Button One\";s:7:\"button2\";s:10:\"Button Two\";}s:10:\"allow_null\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:10:\"horizontal\";s:13:\"return_format\";s:5:\"value\";}', 'Button Group Field', 'button_group_field', 'publish', 'closed', 'closed', '', 'field_5f47e99f644b4', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7656', 3, 'acf-field', '', 0), +(7658, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:13:{s:4:\"type\";s:8:\"checkbox\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:9:\"checkbox1\";s:12:\"Checkbox One\";s:9:\"checkbox2\";s:12:\"Checkbox Two\";}s:12:\"allow_custom\";i:0;s:13:\"default_value\";a:0:{}s:6:\"layout\";s:8:\"vertical\";s:6:\"toggle\";i:0;s:13:\"return_format\";s:5:\"value\";s:11:\"save_custom\";i:0;}', 'Checkbox Field', 'checkbox_field', 'publish', 'closed', 'closed', '', 'field_5f47e9c5644b5', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7658', 4, 'acf-field', '', 0), +(7660, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:13:{s:4:\"type\";s:5:\"radio\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:12:\"radiobutton1\";s:16:\"Radio Button One\";s:12:\"radiobutton2\";s:16:\"Radio Button Two\";}s:10:\"allow_null\";i:0;s:12:\"other_choice\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:8:\"vertical\";s:13:\"return_format\";s:5:\"value\";s:17:\"save_other_choice\";i:0;}', 'Radio Button Field', 'radio_button_field', 'publish', 'closed', 'closed', '', 'field_5f47e9f3644b6', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7660', 5, 'acf-field', '', 0), +(7662, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:14:{s:4:\"type\";s:6:\"select\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:7:\"select1\";s:10:\"Select One\";s:7:\"select2\";s:10:\"Select Two\";}s:13:\"default_value\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:2:\"ui\";i:0;s:13:\"return_format\";s:5:\"value\";s:4:\"ajax\";i:0;s:11:\"placeholder\";s:0:\"\";}', 'Select Field', 'select_field', 'publish', 'closed', 'closed', '', 'field_5f47ea12644b7', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7662', 6, 'acf-field', '', 0), +(7664, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:10:\"true_false\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"message\";s:9:\"Is it so?\";s:13:\"default_value\";i:0;s:2:\"ui\";i:0;s:10:\"ui_on_text\";s:0:\"\";s:11:\"ui_off_text\";s:0:\"\";}', 'True False Field', 'true_false_field', 'publish', 'closed', 'closed', '', 'field_5f47ea28644b8', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7664', 7, 'acf-field', '', 0), +(7666, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'File Field', 'file_field', 'publish', 'closed', 'closed', '', 'field_5f47ea3f644b9', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7666', 8, 'acf-field', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(7668, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:19:{s:4:\"type\";s:7:\"gallery\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:6:\"insert\";s:6:\"append\";s:7:\"library\";s:3:\"all\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Gallery Field', 'gallery_field', 'publish', 'closed', 'closed', '', 'field_5f47ea4a644ba', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7668', 9, 'acf-field', '', 0), +(7670, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:16:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Image Field', 'image_field', 'publish', 'closed', 'closed', '', 'field_5f47ea53644bb', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7670', 10, 'acf-field', '', 0), +(7672, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:6:\"oembed\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:5:\"width\";s:0:\"\";s:6:\"height\";s:0:\"\";}', 'oEmbed Field', 'oembed_field', 'publish', 'closed', 'closed', '', 'field_5f47ea5b644bc', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7672', 11, 'acf-field', '', 0), +(7674, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:7:\"wysiwyg\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:4:\"tabs\";s:3:\"all\";s:7:\"toolbar\";s:4:\"full\";s:12:\"media_upload\";i:1;s:5:\"delay\";i:0;}', 'Wysiwyg Editor Field', 'wysiwyg_editor_field', 'publish', 'closed', 'closed', '', 'field_5f47ea64644bd', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7674', 12, 'acf-field', '', 0), +(7676, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:7:{s:4:\"type\";s:12:\"color_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";}', 'Color Picker Field', 'color_picker_field', 'publish', 'closed', 'closed', '', 'field_5f47ea75644be', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7676', 13, 'acf-field', '', 0), +(7678, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:9:{s:4:\"type\";s:11:\"date_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:14:\"display_format\";s:5:\"d/m/Y\";s:13:\"return_format\";s:5:\"d/m/Y\";s:9:\"first_day\";i:1;}', 'Date Picker Field', 'date_picker_field', 'publish', 'closed', 'closed', '', 'field_5f47ea7f644bf', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7678', 14, 'acf-field', '', 0), +(7680, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:9:{s:4:\"type\";s:16:\"date_time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:14:\"display_format\";s:11:\"d/m/Y g:i a\";s:13:\"return_format\";s:11:\"d/m/Y g:i a\";s:9:\"first_day\";i:1;}', 'Date Time Picker Field', 'date_time_picker_field', 'publish', 'closed', 'closed', '', 'field_5f47ea8b644c0', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7680', 15, 'acf-field', '', 0), +(7682, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:10:\"google_map\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:10:\"center_lat\";s:0:\"\";s:10:\"center_lng\";s:0:\"\";s:4:\"zoom\";s:0:\"\";s:6:\"height\";s:0:\"\";}', 'Google Map Field', 'google_map_field', 'publish', 'closed', 'closed', '', 'field_5f47ea9d644c1', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7682', 16, 'acf-field', '', 0), +(7684, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:11:\"time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:14:\"display_format\";s:5:\"g:i a\";s:13:\"return_format\";s:5:\"g:i a\";}', 'Time Picker', 'time_picker', 'publish', 'closed', 'closed', '', 'field_5f47eaa7644c2', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7684', 17, 'acf-field', '', 0), +(7686, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:16:\"flexible_content\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"layouts\";a:1:{s:20:\"layout_5f47eae56d672\";a:6:{s:3:\"key\";s:20:\"layout_5f47eae56d672\";s:5:\"label\";s:13:\"flex layout 1\";s:4:\"name\";s:13:\"flex_layout_1\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}}s:12:\"button_label\";s:7:\"Add Row\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}', 'Flexible Content Field', 'flexible_content_field', 'publish', 'closed', 'closed', '', 'field_5f47eadf644c4', '', '', '2020-08-27 22:08:35', '2020-08-27 22:08:35', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7686', 18, 'acf-field', '', 0), +(7688, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:5:\"group\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:6:\"layout\";s:5:\"block\";s:10:\"sub_fields\";a:0:{}}', 'Group Field', 'group_field', 'publish', 'closed', 'closed', '', 'field_5f47eae9644c5', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7688', 19, 'acf-field', '', 0), +(7690, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:0:\"\";}', 'Repeater Field', 'repeater_field', 'publish', 'closed', 'closed', '', 'field_5f47eaf8644c6', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7690', 20, 'acf-field', '', 0), +(7692, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:5:\"clone\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:5:\"clone\";a:1:{i:0;s:19:\"field_5f47eaf8644c6\";}s:7:\"display\";s:5:\"group\";s:6:\"layout\";s:5:\"block\";s:12:\"prefix_label\";i:0;s:11:\"prefix_name\";i:0;}', 'Clone Field', 'clone_field', 'publish', 'closed', 'closed', '', 'field_5f47eb4b644c8', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7692', 21, 'acf-field', '', 0), +(7694, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'Link Field', 'link_field', 'publish', 'closed', 'closed', '', 'field_5f47eb54644c9', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7694', 22, 'acf-field', '', 0), +(7696, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:9:\"page_link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:10:\"allow_null\";i:0;s:14:\"allow_archives\";i:1;s:8:\"multiple\";i:0;}', 'Page Link Field', 'page_link_field', 'publish', 'closed', 'closed', '', 'field_5f47eb5e644ca', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7696', 23, 'acf-field', '', 0), +(7698, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:12:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}', 'Post Object Field', 'post_object_field', 'publish', 'closed', 'closed', '', 'field_5f47eb69644cb', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7698', 24, 'acf-field', '', 0), +(7700, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:13:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'Relationship Field', 'relationship_field', 'publish', 'closed', 'closed', '', 'field_5f47eb74644cc', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7700', 25, 'acf-field', '', 0), +(7702, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:14:{s:4:\"type\";s:8:\"taxonomy\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:8:\"taxonomy\";s:8:\"category\";s:10:\"field_type\";s:8:\"checkbox\";s:8:\"add_term\";i:1;s:10:\"save_terms\";i:0;s:10:\"load_terms\";i:0;s:13:\"return_format\";s:2:\"id\";s:8:\"multiple\";i:0;s:10:\"allow_null\";i:0;}', 'Taxonomy Field', 'taxonomy_field', 'publish', 'closed', 'closed', '', 'field_5f47edce644cd', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7702', 26, 'acf-field', '', 0), +(7704, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:4:\"user\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:4:\"role\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:5:\"array\";}', 'User Field', 'user_field', 'publish', 'closed', 'closed', '', 'field_5f47eddc644ce', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7704', 27, 'acf-field', '', 0), +(7706, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:9:{s:4:\"type\";s:9:\"accordion\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:4:\"open\";i:0;s:12:\"multi_expand\";i:0;s:8:\"endpoint\";i:0;}', 'Accordion', 'accordion', 'publish', 'closed', 'closed', '', 'field_5f47eab6644c3', '', '', '2020-10-02 19:30:07', '2020-10-02 19:30:07', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7706', 32, 'acf-field', '', 0), +(7708, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:3:\"tab\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"placement\";s:3:\"top\";s:8:\"endpoint\";i:0;}', 'Tab Field', 'tab_field', 'publish', 'closed', 'closed', '', 'field_5f47eb36644c7', '', '', '2020-10-02 19:30:07', '2020-10-02 19:30:07', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7708', 33, 'acf-field', '', 0), +(7740, 1, '2020-08-27 18:23:58', '2020-08-27 18:23:58', '', 'file-sample_1MB', '', 'inherit', 'open', 'closed', '', 'file-sample_1mb', '', '', '2020-08-27 18:23:58', '2020-08-27 18:23:58', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/file-sample_1MB.doc', 0, 'attachment', 'application/msword', 0), +(7744, 1, '2020-08-27 18:29:21', '2020-08-27 18:29:21', '', '101-2621x1747', '', 'inherit', 'open', 'closed', '', '101-2621x1747', '', '', '2020-08-27 18:29:21', '2020-08-27 18:29:21', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/101-2621x1747-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7748, 1, '2020-08-27 18:29:27', '2020-08-27 18:29:27', '', '1002-4312x2868', '', 'inherit', 'open', 'closed', '', '1002-4312x2868', '', '', '2020-08-27 18:29:27', '2020-08-27 18:29:27', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1002-4312x2868-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7752, 1, '2020-08-27 18:29:33', '2020-08-27 18:29:33', '', '1003-1181x1772', '', 'inherit', 'open', 'closed', '', '1003-1181x1772', '', '', '2020-08-27 18:29:33', '2020-08-27 18:29:33', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1003-1181x1772-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7756, 1, '2020-08-27 18:29:35', '2020-08-27 18:29:35', '', '1001-5616x3744', '', 'inherit', 'open', 'closed', '', '1001-5616x3744', '', '', '2020-08-27 18:29:35', '2020-08-27 18:29:35', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1001-5616x3744-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7760, 1, '2020-08-27 18:29:44', '2020-08-27 18:29:44', '', '10-2500x1667', '', 'inherit', 'open', 'closed', '', '10-2500x1667', '', '', '2020-08-27 18:29:44', '2020-08-27 18:29:44', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/10-2500x1667-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7764, 1, '2020-08-27 18:30:33', '2020-08-27 18:30:33', '', '1004-5616x3744', '', 'inherit', 'open', 'closed', '', '1004-5616x3744', '', '', '2020-08-27 18:30:33', '2020-08-27 18:30:33', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1004-5616x3744-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7772, 1, '2020-08-27 18:34:17', '2020-08-27 18:34:17', '', '1008-5616x3744', '', 'inherit', 'open', 'closed', '', '1008-5616x3744', '', '', '2020-08-27 18:34:17', '2020-08-27 18:34:17', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1008-5616x3744-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7800, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'flex title', 'flex_title', 'publish', 'closed', 'closed', '', 'field_5f482998401a3', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7800', 0, 'acf-field', '', 0), +(7803, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:17:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'flex image', 'flex_image', 'publish', 'closed', 'closed', '', 'field_5f48299d401a4', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7803', 1, 'acf-field', '', 0), +(7805, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:12:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:0:\"\";}', 'flex repeater', 'flex_repeater', 'publish', 'closed', 'closed', '', 'field_5f4829a6401a5', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7805', 2, 'acf-field', '', 0), +(7807, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'flex repeater title', 'flex_repeater_title', 'publish', 'closed', 'closed', '', 'field_5f4829b1401a6', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7805, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7807', 0, 'acf-field', '', 0), +(7809, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:13:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'flex repeater relationship', 'flex_repeater_relationship', 'publish', 'closed', 'closed', '', 'field_5f4829c7401a7', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7805, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7809', 1, 'acf-field', '', 0), +(7811, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:14:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'flex relationship', 'flex_relationship', 'publish', 'closed', 'closed', '', 'field_5f4829dc401a8', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7811', 3, 'acf-field', '', 0), +(7813, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:10:{s:4:\"type\";s:16:\"flexible_content\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"layouts\";a:2:{s:20:\"layout_5f4829f48a2ed\";a:6:{s:3:\"key\";s:20:\"layout_5f4829f48a2ed\";s:5:\"label\";s:26:\"repeater flex title layout\";s:4:\"name\";s:26:\"repeater_flex_title_layout\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}s:20:\"layout_5f482a17401ab\";a:6:{s:3:\"key\";s:20:\"layout_5f482a17401ab\";s:5:\"label\";s:33:\"Repeater flex relationship layout\";s:4:\"name\";s:33:\"repeater_flex_relationship_layout\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}}s:12:\"button_label\";s:7:\"Add Row\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}', 'repeater flex', 'repeater_flex', 'publish', 'closed', 'closed', '', 'field_5f4829ed401a9', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7690, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7813', 0, 'acf-field', '', 0), +(7816, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f4829f48a2ed\";s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'repeater flex title', 'repeater_flex_title', 'publish', 'closed', 'closed', '', 'field_5f482a05401aa', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7813, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7816', 0, 'acf-field', '', 0), +(7818, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:14:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f482a17401ab\";s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'Repeater flex relationship', 'repeater_flex_relationship', 'publish', 'closed', 'closed', '', 'field_5f482a24401ac', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7813, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7818', 0, 'acf-field', '', 0), +(7868, 1, '2020-08-27 23:36:34', '2020-08-27 23:36:34', '\n

    some content

    \n', 'Yoast SEO', '', 'publish', 'closed', 'closed', '', 'beautiful_slug', '', '', '2020-08-27 23:36:34', '2020-08-27 23:36:34', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=7868', 0, 'page', '', 0), +(7956, 1, '2020-09-17 15:26:07', '2020-09-17 15:26:07', '', 'Gutenberg Test', '', 'trash', 'closed', 'closed', '', '__trashed', '', '', '2020-09-17 15:26:07', '2020-09-17 15:26:07', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=7956', 0, 'page', '', 0), +(7961, 1, '2020-09-16 23:29:31', '2020-09-16 23:29:31', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '97d51471f7360f20742f81dd9a3904ef', '', '', '2020-09-16 23:29:31', '2020-09-16 23:29:31', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/97d51471f7360f20742f81dd9a3904ef/', 0, 'oembed_cache', '', 0), +(7981, 1, '2018-10-23 10:35:07', '2018-10-23 20:35:07', '', 'daniel-leone-197357-unsplash', '', 'inherit', 'open', 'closed', '', 'daniel-leone-197357-unsplash', '', '', '2018-10-23 10:35:07', '2018-10-23 20:35:07', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/daniel-leone-197357-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(7985, 1, '2018-10-23 10:35:08', '2018-10-23 20:35:08', '', 'daniel-olah-495967-unsplash', '', 'inherit', 'open', 'closed', '', 'daniel-olah-495967-unsplash', '', '', '2018-10-23 10:35:08', '2018-10-23 20:35:08', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/daniel-olah-495967-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(8008, 1, '2020-09-16 23:30:38', '2020-09-16 23:30:38', '
    My dream car. Pagani Zonda
    ', '', '', 'publish', 'closed', 'closed', '', '24f34eb93912978bac579c87fb591102', '', '', '2020-09-16 23:30:38', '2020-09-16 23:30:38', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/24f34eb93912978bac579c87fb591102/', 0, 'oembed_cache', '', 0), +(8010, 1, '2020-09-16 23:30:38', '2020-09-16 23:30:38', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'f6abb0e0c18de769108bddf99ab66f35', '', '', '2020-09-16 23:30:38', '2020-09-16 23:30:38', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/f6abb0e0c18de769108bddf99ab66f35/', 0, 'oembed_cache', '', 0), +(8012, 1, '2020-09-16 23:30:39', '2020-09-16 23:30:39', 'Tweets by wordpressdotcom', '', '', 'publish', 'closed', 'closed', '', 'c0adb69381ea2dc75081f49420641f6a', '', '', '2020-09-16 23:30:39', '2020-09-16 23:30:39', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/c0adb69381ea2dc75081f49420641f6a/', 0, 'oembed_cache', '', 0), +(8014, 1, '2020-09-16 23:30:39', '2020-09-16 23:30:39', '', '', '', 'publish', 'closed', 'closed', '', 'f978386b1cda1bf7b1f8918e2b996815', '', '', '2020-09-16 23:30:39', '2020-09-16 23:30:39', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/f978386b1cda1bf7b1f8918e2b996815/', 0, 'oembed_cache', '', 0), +(8016, 1, '2020-09-16 23:30:40', '2020-09-16 23:30:40', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'a06fa1c80c1b4df7b3d05cbf4d798037', '', '', '2020-09-16 23:30:40', '2020-09-16 23:30:40', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/a06fa1c80c1b4df7b3d05cbf4d798037/', 0, 'oembed_cache', '', 0), +(8018, 1, '2020-09-16 23:30:40', '2020-09-16 23:30:40', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '9dab016ba3dc6bedb3135111b973d088', '', '', '2020-09-16 23:30:40', '2020-09-16 23:30:40', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/9dab016ba3dc6bedb3135111b973d088/', 0, 'oembed_cache', '', 0), +(8020, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '88f6fbeebc867fc4e045e50c5891986f', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/88f6fbeebc867fc4e045e50c5891986f/', 0, 'oembed_cache', '', 0), +(8022, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', '', '', 'publish', 'closed', 'closed', '', 'e88b08fb1989a33bdcd6381971a7fd96', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/e88b08fb1989a33bdcd6381971a7fd96/', 0, 'oembed_cache', '', 0), +(8024, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', '', '', 'publish', 'closed', 'closed', '', '2689431d391b550d5e1ea5c308fab281', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/2689431d391b550d5e1ea5c308fab281/', 0, 'oembed_cache', '', 0), +(8026, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '\"star\"', '', '', 'publish', 'closed', 'closed', '', '93e4fb35ab2d8dcb607a948f5e9a0274', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/93e4fb35ab2d8dcb607a948f5e9a0274/', 0, 'oembed_cache', '', 0), +(8028, 1, '2020-09-16 23:30:42', '2020-09-16 23:30:42', '', '', '', 'publish', 'closed', 'closed', '', '8413e2f5a1ec2d352aa22e8807b649df', '', '', '2020-09-16 23:30:42', '2020-09-16 23:30:42', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/8413e2f5a1ec2d352aa22e8807b649df/', 0, 'oembed_cache', '', 0), +(8416, 1, '2020-09-17 21:13:24', '2020-09-17 21:13:24', '\n

    Imgur Embed

    \n\n\n\n
    \nhttps://i.imgur.com/nlG3C7A.jpg\n
    \n\n\n\n

    Embed Embed

    \n\n\n\n
    \nhttps://google.com\n
    \n\n\n\n

    Twitter Embed

    \n\n\n\n
    \nhttps://twitter.com/wordpressdotcom\n
    \n\n\n\n

    YouTube Embed

    \n\n\n\n
    \nhttps://www.youtube.com/watch?v=xifhQyopjZM\n
    \n\n\n\n

    Facebook Embed

    \n\n\n\n
    \nhttps://www.facebook.com/WordPresscom/\n
    \n\n\n\n

    Instagram Embed

    \n\n\n\n
    \nhttps://www.instagram.com/rei/\n
    \n\n\n\n

    WordPress Embed

    \n\n\n\n
    \nhttps://automattic.design/\n
    \n\n\n\n

    Soundcloud Embed

    \n\n\n\n
    \nhttps://soundcloud.com/monstercat/rameses-b-something-real\n
    \n\n\n\n

    Spotify Embed

    \n\n\n\n
    \nhttps://open.spotify.com/album/3qg7pFyj6gbNVDtbi9aZHY\n
    \n\n\n\n

    Flickr Embed

    \n\n\n\n
    \nhttps://www.flickr.com/photos/tom_hall_nz/17004434418/in/gallery-134864050@N04-72157656707819872/\n
    \n\n\n\n

    Vimeo Embed

    \n\n\n\n
    \nhttps://vimeo.com/22439234\n
    \n', 'Gutenberg: Embed Blocks', '', 'inherit', 'closed', 'closed', '', '116-autosave-v1', '', '', '2020-09-17 21:13:24', '2020-09-17 21:13:24', '', 116, 'https://devgatsbyint.wpengine.com/2020/09/17/116-autosave-v1/', 0, 'revision', '', 0), +(8418, 1, '2020-09-17 21:32:06', '2020-09-17 21:32:06', '\n

    Archives Widget

    \n\n\n\n\n\n

    Categories

    \n\n\n\n\n\n

    Latest Posts

    \n\n\n\n\n\n

    Latest Comments

    \n\n\n\n\n\n

    YouTube Shortcode

    \n\n\n\n[youtube https://www.youtube.com/watch?v=ssfHW5lwFZg]\n\n\n\n

    \n', 'Gutenberg: Widget Blocks', '', 'inherit', 'closed', 'closed', '', '90-autosave-v1', '', '', '2020-09-17 21:32:06', '2020-09-17 21:32:06', '', 90, 'https://devgatsbyint.wpengine.com/2020/09/17/90-autosave-v1/', 0, 'revision', '', 0), +(8449, 1, '2020-09-19 00:08:55', '2020-09-19 00:08:55', '', 'woocommerce-placeholder', '', 'inherit', 'open', 'closed', '', 'woocommerce-placeholder', '', '', '2020-09-19 00:08:55', '2020-09-19 00:08:55', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/woocommerce-placeholder.png', 0, 'attachment', 'image/png', 0), +(8454, 1, '2020-09-19 00:09:31', '2020-09-19 00:09:31', '', 'Shop', '', 'publish', 'closed', 'closed', '', 'shop', '', '', '2020-09-19 00:09:31', '2020-09-19 00:09:31', '', 0, 'https://devgatsbyint.wpengine.com/shop/', 0, 'page', '', 0), +(8457, 1, '2020-09-19 00:09:31', '2020-09-19 00:09:31', '[woocommerce_cart]', 'Cart', '', 'publish', 'closed', 'closed', '', 'cart', '', '', '2020-09-19 00:09:31', '2020-09-19 00:09:31', '', 0, 'https://devgatsbyint.wpengine.com/cart/', 0, 'page', '', 0), +(8460, 1, '2020-09-19 00:09:32', '2020-09-19 00:09:32', '[woocommerce_checkout]', 'Checkout', '', 'publish', 'closed', 'closed', '', 'checkout', '', '', '2020-09-19 00:09:32', '2020-09-19 00:09:32', '', 0, 'https://devgatsbyint.wpengine.com/checkout/', 0, 'page', '', 0), +(8463, 1, '2020-09-19 00:09:32', '2020-09-19 00:09:32', '[woocommerce_my_account]', 'My account', '', 'publish', 'closed', 'closed', '', 'my-account', '', '', '2020-09-19 00:09:32', '2020-09-19 00:09:32', '', 0, 'https://devgatsbyint.wpengine.com/my-account/', 0, 'page', '', 0), +(8473, 1, '2020-09-19 00:11:56', '2020-09-19 00:11:56', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'ca0827aec775bf22417a51fce2355de1', '', '', '2020-09-19 00:11:56', '2020-09-19 00:11:56', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/19/ca0827aec775bf22417a51fce2355de1/', 0, 'oembed_cache', '', 0), +(8475, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'V-Neck T-Shirt', 'This is a variable product.', 'publish', 'open', 'closed', '', 'v-neck-t-shirt', '', '', '2020-09-19 00:12:28', '2020-09-19 00:12:28', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-44/', 0, 'product', '', 0), +(8477, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie', 'This is a variable product.', 'publish', 'open', 'closed', '', 'hoodie', '', '', '2020-09-19 00:12:29', '2020-09-19 00:12:29', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-45/', 0, 'product', '', 0), +(8479, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie with Logo', 'This is a simple product.', 'publish', 'open', 'closed', '', 'hoodie-with-logo', '', '', '2020-09-19 00:12:15', '2020-09-19 00:12:15', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-46/', 0, 'product', '', 0), +(8481, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'T-Shirt', 'This is a simple product.', 'publish', 'open', 'closed', '', 't-shirt', '', '', '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-47/', 0, 'product', '', 0), +(8483, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Beanie', 'This is a simple product.', 'publish', 'open', 'closed', '', 'beanie', '', '', '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-48/', 0, 'product', '', 0), +(8485, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Belt', 'This is a simple product.', 'publish', 'open', 'closed', '', 'belt', '', '', '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-58/', 0, 'product', '', 0), +(8487, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Cap', 'This is a simple product.', 'publish', 'open', 'closed', '', 'cap', '', '', '2020-09-19 00:12:18', '2020-09-19 00:12:18', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-60/', 0, 'product', '', 0), +(8489, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Sunglasses', 'This is a simple product.', 'publish', 'open', 'closed', '', 'sunglasses', '', '', '2020-09-19 00:12:19', '2020-09-19 00:12:19', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-62/', 0, 'product', '', 0), +(8491, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie with Pocket', 'This is a simple product.', 'publish', 'open', 'closed', '', 'hoodie-with-pocket', '', '', '2020-09-19 00:12:20', '2020-09-19 00:12:20', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-64/', 0, 'product', '', 0), +(8493, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie with Zipper', 'This is a simple product.', 'publish', 'open', 'closed', '', 'hoodie-with-zipper', '', '', '2020-09-19 00:12:21', '2020-09-19 00:12:21', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-66/', 0, 'product', '', 0), +(8495, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Long Sleeve Tee', 'This is a simple product.', 'publish', 'open', 'closed', '', 'long-sleeve-tee', '', '', '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-68/', 0, 'product', '', 0), +(8497, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Polo', 'This is a simple product.', 'publish', 'open', 'closed', '', 'polo', '', '', '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-70/', 0, 'product', '', 0), +(8499, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.', 'Album', 'This is a simple, virtual product.', 'publish', 'open', 'closed', '', 'album', '', '', '2020-09-19 00:12:23', '2020-09-19 00:12:23', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-73/', 0, 'product', '', 0), +(8501, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.', 'Single', 'This is a simple, virtual product.', 'publish', 'open', 'closed', '', 'single', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-75/', 0, 'product', '', 0), +(8503, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'V-Neck T-Shirt - Red', 'Color: Red', 'publish', 'closed', 'closed', '', 'v-neck-t-shirt-red', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 8475, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-76/', 0, 'product_variation', '', 0), +(8505, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'V-Neck T-Shirt - Green', 'Color: Green', 'publish', 'closed', 'closed', '', 'v-neck-t-shirt-green', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 8475, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-77/', 0, 'product_variation', '', 0), +(8507, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'V-Neck T-Shirt - Blue', 'Color: Blue', 'publish', 'closed', 'closed', '', 'v-neck-t-shirt-blue', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8475, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-78/', 0, 'product_variation', '', 0), +(8509, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'Hoodie - Red, No', 'Color: Red, Logo: No', 'publish', 'closed', 'closed', '', 'hoodie-red-no', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-79/', 1, 'product_variation', '', 0), +(8511, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'Hoodie - Green, No', 'Color: Green, Logo: No', 'publish', 'closed', 'closed', '', 'hoodie-green-no', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-80/', 2, 'product_variation', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(8513, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'Hoodie - Blue, No', 'Color: Blue, Logo: No', 'publish', 'closed', 'closed', '', 'hoodie-blue-no', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-81/', 3, 'product_variation', '', 0), +(8515, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'T-Shirt with Logo', 'This is a simple product.', 'publish', 'open', 'closed', '', 't-shirt-with-logo', '', '', '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-83/', 0, 'product', '', 0), +(8517, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Beanie with Logo', 'This is a simple product.', 'publish', 'open', 'closed', '', 'beanie-with-logo', '', '', '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-85/', 0, 'product', '', 0), +(8519, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Logo Collection', 'This is a grouped product.', 'publish', 'open', 'closed', '', 'logo-collection', '', '', '2020-09-19 00:12:27', '2020-09-19 00:12:27', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-87/', 0, 'product', '', 0), +(8521, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'WordPress Pennant', 'This is an external product.', 'publish', 'open', 'closed', '', 'wordpress-pennant', '', '', '2020-09-19 03:40:28', '2020-09-19 03:40:28', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-89/', 0, 'product', '', 0), +(8523, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', '', 'Hoodie - Blue, Yes', 'Color: Blue, Logo: Yes', 'publish', 'closed', 'closed', '', 'hoodie-blue-yes', '', '', '2020-09-19 00:12:29', '2020-09-19 00:12:29', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-90/', 0, 'product_variation', '', 0), +(8525, 1, '2020-09-19 00:12:09', '2020-09-19 00:12:09', '', 'vneck-tee-2.jpg', '', 'inherit', 'open', 'closed', '', 'vneck-tee-2-jpg', '', '', '2020-09-19 00:12:09', '2020-09-19 00:12:09', '', 8475, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/vneck-tee-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8529, 1, '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 'vnech-tee-green-1.jpg', '', 'inherit', 'open', 'closed', '', 'vnech-tee-green-1-jpg', '', '', '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 8475, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/vnech-tee-green-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8533, 1, '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 'vnech-tee-blue-1.jpg', '', 'inherit', 'open', 'closed', '', 'vnech-tee-blue-1-jpg', '', '', '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 8475, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/vnech-tee-blue-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8537, 1, '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 'hoodie-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-2-jpg', '', '', '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8541, 1, '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 'hoodie-blue-1.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-blue-1-jpg', '', '', '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-blue-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8545, 1, '2020-09-19 00:12:13', '2020-09-19 00:12:13', '', 'hoodie-green-1.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-green-1-jpg', '', '', '2020-09-19 00:12:13', '2020-09-19 00:12:13', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-green-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8549, 1, '2020-09-19 00:12:14', '2020-09-19 00:12:14', '', 'hoodie-with-logo-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-with-logo-2-jpg', '', '', '2020-09-19 00:12:14', '2020-09-19 00:12:14', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-with-logo-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8553, 1, '2020-09-19 00:12:15', '2020-09-19 00:12:15', '', 'tshirt-2.jpg', '', 'inherit', 'open', 'closed', '', 'tshirt-2-jpg', '', '', '2020-09-19 00:12:15', '2020-09-19 00:12:15', '', 8481, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/tshirt-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8557, 1, '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 'beanie-2.jpg', '', 'inherit', 'open', 'closed', '', 'beanie-2-jpg', '', '', '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 8483, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/beanie-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8561, 1, '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 'belt-2.jpg', '', 'inherit', 'open', 'closed', '', 'belt-2-jpg', '', '', '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 8485, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/belt-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8565, 1, '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 'cap-2.jpg', '', 'inherit', 'open', 'closed', '', 'cap-2-jpg', '', '', '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 8487, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/cap-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8569, 1, '2020-09-19 00:12:18', '2020-09-19 00:12:18', '', 'sunglasses-2.jpg', '', 'inherit', 'open', 'closed', '', 'sunglasses-2-jpg', '', '', '2020-09-19 00:12:18', '2020-09-19 00:12:18', '', 8489, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/sunglasses-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8573, 1, '2020-09-19 00:12:19', '2020-09-19 00:12:19', '', 'hoodie-with-pocket-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-with-pocket-2-jpg', '', '', '2020-09-19 00:12:19', '2020-09-19 00:12:19', '', 8491, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-with-pocket-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8577, 1, '2020-09-19 00:12:20', '2020-09-19 00:12:20', '', 'hoodie-with-zipper-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-with-zipper-2-jpg', '', '', '2020-09-19 00:12:20', '2020-09-19 00:12:20', '', 8493, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-with-zipper-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8581, 1, '2020-09-19 00:12:21', '2020-09-19 00:12:21', '', 'long-sleeve-tee-2.jpg', '', 'inherit', 'open', 'closed', '', 'long-sleeve-tee-2-jpg', '', '', '2020-09-19 00:12:21', '2020-09-19 00:12:21', '', 8495, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/long-sleeve-tee-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8585, 1, '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 'polo-2.jpg', '', 'inherit', 'open', 'closed', '', 'polo-2-jpg', '', '', '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 8497, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/polo-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8589, 1, '2020-09-19 00:12:23', '2020-09-19 00:12:23', '', 'album-1.jpg', '', 'inherit', 'open', 'closed', '', 'album-1-jpg', '', '', '2020-09-19 00:12:23', '2020-09-19 00:12:23', '', 8499, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/album-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8593, 1, '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 'single-1.jpg', '', 'inherit', 'open', 'closed', '', 'single-1-jpg', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 8501, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/single-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8597, 1, '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 't-shirt-with-logo-1.jpg', '', 'inherit', 'open', 'closed', '', 't-shirt-with-logo-1-jpg', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8515, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/t-shirt-with-logo-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8601, 1, '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 'beanie-with-logo-1.jpg', '', 'inherit', 'open', 'closed', '', 'beanie-with-logo-1-jpg', '', '', '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 8517, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/beanie-with-logo-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8605, 1, '2020-09-19 00:12:27', '2020-09-19 00:12:27', '', 'logo-1.jpg', '', 'inherit', 'open', 'closed', '', 'logo-1-jpg', '', '', '2020-09-19 00:12:27', '2020-09-19 00:12:27', '', 8519, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/logo-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8609, 1, '2020-09-19 00:12:28', '2020-09-19 00:12:28', '', 'pennant-1.jpg', '', 'inherit', 'open', 'closed', '', 'pennant-1-jpg', '', '', '2020-09-19 00:12:28', '2020-09-19 00:12:28', '', 8521, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/pennant-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8644, 1, '2020-09-19 00:20:29', '2020-09-19 00:20:29', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'b8a04a8a90b07f7accf97caebc0dbb2c', '', '', '2020-09-19 00:20:29', '2020-09-19 00:20:29', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/19/b8a04a8a90b07f7accf97caebc0dbb2c/', 0, 'oembed_cache', '', 0), +(8964, 1, '2020-09-21 19:12:44', '2020-09-21 19:12:44', '\n
    \"\"
    \n\n\n\n
    \"\"
    \n', 'Inline gatsby-image Gutenberg test', '', 'publish', 'closed', 'closed', '', 'inline-gatsby-image-test', '', '', '2020-10-05 23:02:40', '2020-10-05 23:02:40', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=8964', 0, 'page', '', 0), +(9204, 1, '2020-09-22 23:55:21', '2020-09-22 23:55:21', '', 'windows-W1N58KDE8r0-unsplash (1)', '', 'inherit', 'open', 'closed', '', 'windows-w1n58kde8r0-unsplash-1', '', '', '2020-09-22 23:55:21', '2020-09-22 23:55:21', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/windows-W1N58KDE8r0-unsplash-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(9208, 1, '2020-09-22 23:58:12', '2020-09-22 23:58:12', '\n
    \"\"
    \n', 'Edited inline html image test', '', 'publish', 'closed', 'closed', '', 'edited-inline-html-image-test', '', '', '2020-10-01 23:08:10', '2020-10-01 23:08:10', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9208', 0, 'page', '', 0), +(9210, 1, '2020-09-22 23:56:39', '2020-09-22 23:56:39', '', 'windows-W1N58KDE8r0-unsplash', '', 'inherit', 'open', 'closed', '', 'windows-w1n58kde8r0-unsplash', '', '', '2020-09-22 23:56:39', '2020-09-22 23:56:39', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/windows-W1N58KDE8r0-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(9219, 1, '2020-09-23 00:10:04', '2020-09-23 00:10:04', '\n
    \"\"
    \n', 'inline html image edited after this post was saved', '', 'publish', 'closed', 'closed', '', 'inline-html-image-edited-after-this-post-was-saved', '', '', '2020-09-23 00:10:05', '2020-09-23 00:10:05', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9219', 0, 'page', '', 0), +(9361, 1, '2020-09-24 03:06:29', '2020-09-24 03:06:29', '', 'hierarchical category test', '', 'publish', 'open', 'open', '', 'hierarchical-category-test', '', '', '2020-09-24 03:06:29', '2020-09-24 03:06:29', '', 0, 'https://devgatsbyint.wpengine.com/?p=9361', 0, 'post', '', 0), +(9431, 1, '2020-09-24 22:17:30', '2020-09-24 22:17:30', '\n
    \"\"
    \n', 'image 1 full size', '', 'trash', 'closed', 'closed', '', 'image-1-full-size__trashed', '', '', '2020-09-24 22:33:24', '2020-09-24 22:33:24', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9431', 0, 'page', '', 0), +(9437, 1, '2020-09-24 22:19:23', '2020-09-24 22:19:23', '\n
    \"\"
    \n', 'image 1 medium size', '', 'trash', 'closed', 'closed', '', 'image-1-medium-size__trashed', '', '', '2020-09-24 22:33:24', '2020-09-24 22:33:24', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9437', 0, 'page', '', 0), +(9439, 1, '2020-09-24 22:18:43', '2020-09-24 22:18:43', '', 'karsten-winegeart-9FZ3wIqubzQ-unsplash', '', 'inherit', 'open', 'closed', '', 'karsten-winegeart-9fz3wiqubzq-unsplash', '', '', '2020-09-24 22:18:43', '2020-09-24 22:18:43', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/karsten-winegeart-9FZ3wIqubzQ-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(9478, 1, '2020-09-24 22:48:02', '2020-09-24 22:48:02', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'beddf6e4ab6586dca05760a8869686ee', '', '', '2020-09-24 22:48:02', '2020-09-24 22:48:02', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/beddf6e4ab6586dca05760a8869686ee/', 0, 'oembed_cache', '', 0), +(9495, 1, '2020-09-24 23:00:17', '2020-09-24 23:00:17', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '2c0585c137891181677b758aa42a1220', '', '', '2020-09-24 23:00:17', '2020-09-24 23:00:17', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/2c0585c137891181677b758aa42a1220/', 0, 'oembed_cache', '', 0), +(9502, 1, '2020-09-24 23:03:06', '2020-09-24 23:03:06', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'dc9157bc4ca3800fc93802718ec341b3', '', '', '2020-09-24 23:03:06', '2020-09-24 23:03:06', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/dc9157bc4ca3800fc93802718ec341b3/', 0, 'oembed_cache', '', 0), +(9514, 1, '2020-09-24 23:08:05', '2020-09-24 23:08:05', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '71857b1db976b5b06f0819324203d8ba', '', '', '2020-09-24 23:08:05', '2020-09-24 23:08:05', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/71857b1db976b5b06f0819324203d8ba/', 0, 'oembed_cache', '', 0), +(9516, 1, '2020-09-24 23:09:22', '2020-09-24 23:09:22', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'b1018c53892bfd468da367046bf96869', '', '', '2020-09-24 23:09:22', '2020-09-24 23:09:22', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/b1018c53892bfd468da367046bf96869/', 0, 'oembed_cache', '', 0), +(9620, 1, '2020-09-25 22:06:40', '2020-09-25 22:06:40', '\r\n
    \"\"
    \r\n', 'Image test 1', '', 'publish', 'closed', 'closed', '', 'image-test-1', '', '', '2020-09-25 22:45:59', '2020-09-25 22:45:59', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9620', 0, 'page', '', 0), +(9634, 1, '2020-09-25 22:07:27', '2020-09-25 22:07:27', '\r\n
    \"\"
    \r\n', 'Image test 1 duplicate', '', 'publish', 'closed', 'closed', '', 'image-test-1-duplicate', '', '', '2020-09-25 22:43:13', '2020-09-25 22:43:13', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9634', 0, 'page', '', 0), +(9646, 1, '2020-09-25 22:11:01', '2020-09-25 22:11:01', '\r\n
    \"\"
    \r\n', 'Image test 1 french', '', 'publish', 'closed', 'closed', '', 'image-test-1-french', '', '', '2020-09-25 22:43:21', '2020-09-25 22:43:21', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9646', 0, 'page', '', 0), +(9722, 1, '2020-09-25 22:44:59', '2020-09-25 22:44:59', '', 'imagename-300x163-1', '', 'inherit', 'open', 'closed', '', 'imagename-300x163-1', '', '', '2020-09-25 22:45:59', '2020-09-25 22:45:59', '', 9620, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/imagename-300x163-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(9818, 1, '2020-09-28 17:47:04', '2020-09-28 17:47:04', '\"\"', 'Relative image path', '', 'publish', 'closed', 'closed', '', 'relative-image-path', '', '', '2020-09-28 21:15:17', '2020-09-28 21:15:17', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9818', 0, 'page', '', 0), +(9827, 1, '2020-09-28 17:56:31', '2020-09-28 17:56:31', '', '5642fae96ade14100be5', '', 'inherit', 'open', 'closed', '', '5642fae96ade14100be5', '', '', '2020-09-28 17:56:31', '2020-09-28 17:56:31', '', 0, 'https://makoto-acu.com/wp-content/uploads/2020/09/5642fae96ade14100be5.jpg', 0, 'attachment', 'image/jpeg', 0), +(10050, 1, '2020-09-29 00:49:18', '0000-00-00 00:00:00', '', 'Preview test 3', '', 'draft', 'open', 'open', '', '', '', '', '2020-09-29 00:49:18', '2020-09-29 00:49:18', '', 0, 'https://devgatsbyint.wpengine.com/?p=10050', 0, 'post', '', 0), +(10081, 1, '2020-09-30 17:44:08', '2020-09-30 17:44:08', 'This is text\n', 'beforeChangeNode test', '', 'trash', 'open', 'open', '', 'beforechangenode-test__trashed', '', '', '2020-09-30 19:19:00', '2020-09-30 19:19:00', '', 0, 'https://devgatsbyint.wpengine.com/?p=10081', 0, 'post', '', 0), +(10311, 1, '2020-10-02 01:11:39', '2020-10-02 01:11:39', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:17:\"acfcustomposttype\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:12:\"acfCPTFields\";}', 'CPT fields', 'cpt-fields', 'publish', 'closed', 'closed', '', 'group_5f767e2a066bf', '', '', '2020-10-02 01:11:39', '2020-10-02 01:11:39', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=10311', 0, 'acf-field-group', '', 0), +(10313, 1, '2020-10-02 01:11:39', '2020-10-02 01:11:39', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'test field', 'test_field', 'publish', 'closed', 'closed', '', 'field_5f767e4432e14', '', '', '2020-10-02 01:11:39', '2020-10-02 01:11:39', '', 10311, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10313', 0, 'acf-field', '', 0), +(10315, 1, '2020-10-02 01:13:33', '2020-10-02 01:13:33', '', 'CPT acf test', '', 'publish', 'closed', 'closed', '', 'cpt-acf-test', '', '', '2020-10-02 01:13:33', '2020-10-02 01:13:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acfcustomposttype&p=10315', 0, 'acfcustomposttype', '', 0), +(10416, 1, '2020-10-02 18:51:35', '2020-10-02 18:51:35', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '45a39ab2eec95fc202de255fdbb3c888', '', '', '2020-10-02 18:51:35', '2020-10-02 18:51:35', '', 0, 'https://devgatsbyint.wpengine.com/2020/10/02/45a39ab2eec95fc202de255fdbb3c888/', 0, 'oembed_cache', '', 0), +(10418, 1, '2020-10-02 18:52:26', '2020-10-02 18:52:26', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '6e566fb8ff1c4c0cf271ff8b87b2c474', '', '', '2020-10-02 18:52:26', '2020-10-02 18:52:26', '', 0, 'https://devgatsbyint.wpengine.com/2020/10/02/6e566fb8ff1c4c0cf271ff8b87b2c474/', 0, 'oembed_cache', '', 0), +(10424, 1, '2020-10-02 19:28:09', '2020-10-02 19:28:09', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'PDF', 'pdf', 'publish', 'closed', 'closed', '', 'field_5f777f123694a', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10424', 28, 'acf-field', '', 0), +(10426, 1, '2020-10-02 19:28:09', '2020-10-02 19:28:09', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Doc', 'doc', 'publish', 'closed', 'closed', '', 'field_5f777f1a3694b', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10426', 29, 'acf-field', '', 0), +(10428, 1, '2020-10-02 19:28:10', '2020-10-02 19:28:10', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Mp4', 'mp4', 'publish', 'closed', 'closed', '', 'field_5f777f213694c', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10428', 30, 'acf-field', '', 0), +(10430, 1, '2020-10-02 19:28:10', '2020-10-02 19:28:10', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Mov', 'mov', 'publish', 'closed', 'closed', '', 'field_5f777f303694d', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10430', 31, 'acf-field', '', 0), +(10439, 1, '2020-10-02 19:30:20', '2020-10-02 19:30:20', '', 'sample', '', 'inherit', 'open', 'closed', '', 'sample', '', '', '2020-10-02 19:30:20', '2020-10-02 19:30:20', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample.pdf', 0, 'attachment', 'application/pdf', 0), +(10445, 1, '2020-10-02 19:30:27', '2020-10-02 19:30:27', '', 'sample', '', 'inherit', 'open', 'closed', '', 'sample-2', '', '', '2020-10-02 19:30:27', '2020-10-02 19:30:27', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample.doc', 0, 'attachment', 'application/msword', 0), +(10449, 1, '2020-10-02 19:33:20', '2020-10-02 19:33:20', '', 'sample-mp4-file', '', 'inherit', 'open', 'closed', '', 'sample-mp4-file', '', '', '2020-10-02 19:33:20', '2020-10-02 19:33:20', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mp4-file.mp4', 0, 'attachment', 'video/mp4', 0), +(10453, 1, '2020-10-02 19:34:57', '2020-10-02 19:34:57', '', 'sample-mov-file', '', 'inherit', 'open', 'closed', '', 'sample-mov-file', '', '', '2020-10-02 19:34:57', '2020-10-02 19:34:57', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-file.mov', 0, 'attachment', 'video/quicktime', 0), +(10465, 1, '2020-10-07 01:51:03', '2020-10-07 01:51:03', '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    \n\n\n

    background-image: url(https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-fileinline-html.mov)

    \n\n\n
    \n', 'Inline html non-image media items', '', 'publish', 'closed', 'closed', '', 'inline-html-non-image-media-items', '', '', '2020-10-08 02:03:46', '2020-10-08 02:03:46', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=10465', 0, 'page', '', 0), +(10467, 1, '2020-10-02 19:45:08', '2020-10-02 19:45:08', '', 'sampleinline-html', '', 'inherit', 'open', 'closed', '', 'sampleinline-html', '', '', '2020-10-02 19:45:08', '2020-10-02 19:45:08', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sampleinline-html.doc', 0, 'attachment', 'application/msword', 0), +(10471, 1, '2020-10-02 19:50:13', '2020-10-02 19:50:13', '', 'sample-avi-fileinline-html', '', 'inherit', 'open', 'closed', '', 'sample-avi-fileinline-html', '', '', '2020-10-02 19:50:13', '2020-10-02 19:50:13', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-avi-fileinline-html.avi', 0, 'attachment', 'video/avi', 0), +(10475, 1, '2020-10-02 19:50:54', '2020-10-02 19:50:54', '', 'sample-mp4-fileinline-html', '', 'inherit', 'open', 'closed', '', 'sample-mp4-fileinline-html', '', '', '2020-10-02 19:50:54', '2020-10-02 19:50:54', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mp4-fileinline-html.mp4', 0, 'attachment', 'video/mp4', 0), +(10479, 1, '2020-10-02 19:51:25', '2020-10-02 19:51:25', '', 'sample-mov-fileinline-html', '', 'inherit', 'open', 'closed', '', 'sample-mov-fileinline-html', '', '', '2020-10-02 19:51:25', '2020-10-02 19:51:25', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-fileinline-html.mov', 0, 'attachment', 'video/quicktime', 0), +(10513, 1, '2020-10-05 18:25:03', '2020-10-05 18:25:03', '
    \"\"
    ', 'Inline image with http protocol', '', 'publish', 'closed', 'closed', '', 'inline-image-with-http-protocol', '', '', '2020-10-05 18:25:04', '2020-10-05 18:25:04', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=10513', 0, 'page', '', 0), +(10515, 1, '2020-10-05 18:24:29', '2020-10-05 18:24:29', '', 'jessie-mccall-a9_8YKoqIYo-unsplash', '', 'inherit', 'open', 'closed', '', 'jessie-mccall-a9_8ykoqiyo-unsplash', '', '', '2020-10-05 18:24:29', '2020-10-05 18:24:29', '', 10513, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/jessie-mccall-a9_8YKoqIYo-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(10621, 1, '2020-10-06 00:47:03', '2020-10-06 00:47:03', '', 'mattmullenweg-interview', '', 'inherit', 'open', 'closed', '', 'mattmullenweg-interview', '', '', '2020-10-06 00:47:03', '2020-10-06 00:47:03', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/mattmullenweg-interview.mp3', 0, 'attachment', 'audio/mpeg', 0), +(10627, 1, '2020-10-06 00:47:43', '2020-10-06 00:47:43', '', 'giphy', '', 'inherit', 'open', 'closed', '', 'giphy', '', '', '2020-10-06 00:47:43', '2020-10-06 00:47:43', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/giphy.mp4', 0, 'attachment', 'video/mp4', 0), +(10690, 1, '2020-10-07 01:59:33', '2020-10-07 01:59:33', '', 'sample-mov-fileinline-html-1', '', 'inherit', 'open', 'closed', '', 'sample-mov-fileinline-html-1', '', '', '2020-10-07 01:59:33', '2020-10-07 01:59:33', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-fileinline-html-1.mov', 0, 'attachment', 'video/quicktime', 0), +(10705, 1, '2020-10-07 02:20:21', '2020-10-07 02:20:21', '', 'BabyElephantWalk60', '', 'inherit', 'open', 'closed', '', 'babyelephantwalk60', '', '', '2020-10-07 02:20:21', '2020-10-07 02:20:21', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/BabyElephantWalk60.wav', 0, 'attachment', 'audio/wav', 0), +(10715, 1, '2020-10-07 03:04:14', '2020-10-07 03:04:14', '', 'Screen-Shot-2020-07-30-at-1.34.09-PM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-07-30-at-1-34-09-pm', '', '', '2020-10-07 03:04:14', '2020-10-07 03:04:14', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/Screen-Shot-2020-07-30-at-1.34.09-PM.png', 0, 'attachment', 'image/png', 0), +(10927, 1, '2020-10-08 01:54:44', '2020-10-08 01:54:44', '', 'karsten-winegeart-5zzY1WvIRRQ-unsplash', '', 'inherit', 'open', 'closed', '', 'karsten-winegeart-5zzy1wvirrq-unsplash', '', '', '2020-10-08 01:54:44', '2020-10-08 01:54:44', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/karsten-winegeart-5zzY1WvIRRQ-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(11040, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602286321', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602286321/', 0, 'action_monitor', '', 0), +(11041, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286321', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286321/', 0, 'action_monitor', '', 0), +(11042, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602286321', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602286321/', 0, 'action_monitor', '', 0), +(11043, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286321-2', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286321-2/', 0, 'action_monitor', '', 0), +(11044, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286321-3', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286321-3/', 0, 'action_monitor', '', 0), +(11045, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602286345', '', '', '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602286345/', 0, 'action_monitor', '', 0), +(11046, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286345', '', '', '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286345/', 0, 'action_monitor', '', 0), +(11047, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602286345', '', '', '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602286345/', 0, 'action_monitor', '', 0), +(11048, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286345-2', '', '', '2020-10-09 23:32:26', '2020-10-09 23:32:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286345-2/', 0, 'action_monitor', '', 0), +(11049, 3, '2020-10-09 23:32:26', '2020-10-09 23:32:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286346', '', '', '2020-10-09 23:32:26', '2020-10-09 23:32:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286346/', 0, 'action_monitor', '', 0), +(11050, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602286419', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602286419/', 0, 'action_monitor', '', 0), +(11051, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286419', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286419/', 0, 'action_monitor', '', 0), +(11052, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602286419', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602286419/', 0, 'action_monitor', '', 0), +(11053, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286419-2', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286419-2/', 0, 'action_monitor', '', 0), +(11054, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286419-3', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286419-3/', 0, 'action_monitor', '', 0), +(11055, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602286447', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602286447/', 0, 'action_monitor', '', 0), +(11056, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286447', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286447/', 0, 'action_monitor', '', 0), +(11057, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602286447', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602286447/', 0, 'action_monitor', '', 0), +(11058, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286447-2', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286447-2/', 0, 'action_monitor', '', 0), +(11059, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286447-3', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286447-3/', 0, 'action_monitor', '', 0), +(11060, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602291140', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602291140/', 0, 'action_monitor', '', 0), +(11061, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291140', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291140/', 0, 'action_monitor', '', 0), +(11062, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602291140', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602291140/', 0, 'action_monitor', '', 0), +(11063, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291140-2', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291140-2/', 0, 'action_monitor', '', 0), +(11064, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291140-3', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291140-3/', 0, 'action_monitor', '', 0), +(11065, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602291210', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602291210/', 0, 'action_monitor', '', 0), +(11066, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291210', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291210/', 0, 'action_monitor', '', 0), +(11067, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602291210', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602291210/', 0, 'action_monitor', '', 0), +(11068, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291210-2', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291210-2/', 0, 'action_monitor', '', 0), +(11069, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291210-3', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291210-3/', 0, 'action_monitor', '', 0), +(11070, 3, '2020-10-10 00:53:57', '2020-10-10 00:53:57', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602291237', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602291237/', 0, 'action_monitor', '', 0), +(11071, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291238', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291238/', 0, 'action_monitor', '', 0), +(11072, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602291238', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602291238/', 0, 'action_monitor', '', 0), +(11073, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291238-2', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291238-2/', 0, 'action_monitor', '', 0), +(11074, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291238-3', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291238-3/', 0, 'action_monitor', '', 0), +(11075, 3, '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602302545', '', '', '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602302545/', 0, 'action_monitor', '', 0), +(11076, 3, '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602302545', '', '', '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602302545/', 0, 'action_monitor', '', 0), +(11077, 3, '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602302546', '', '', '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602302546/', 0, 'action_monitor', '', 0), +(11078, 3, '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602302546', '', '', '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602302546/', 0, 'action_monitor', '', 0), +(11079, 3, '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602302546-2', '', '', '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602302546-2/', 0, 'action_monitor', '', 0), +(11080, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602304674', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602304674/', 0, 'action_monitor', '', 0), +(11081, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304674', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304674/', 0, 'action_monitor', '', 0), +(11082, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602304674', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602304674/', 0, 'action_monitor', '', 0), +(11083, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304674-2', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304674-2/', 0, 'action_monitor', '', 0), +(11084, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304674-3', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304674-3/', 0, 'action_monitor', '', 0), +(11085, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602304744', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602304744/', 0, 'action_monitor', '', 0), +(11086, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304744', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304744/', 0, 'action_monitor', '', 0), +(11087, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602304744', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602304744/', 0, 'action_monitor', '', 0), +(11088, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304744-2', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304744-2/', 0, 'action_monitor', '', 0), +(11089, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304744-3', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304744-3/', 0, 'action_monitor', '', 0), +(11090, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602304774', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602304774/', 0, 'action_monitor', '', 0), +(11091, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304774', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304774/', 0, 'action_monitor', '', 0), +(11092, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602304774', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602304774/', 0, 'action_monitor', '', 0), +(11093, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304774-2', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304774-2/', 0, 'action_monitor', '', 0), +(11094, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304774-3', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304774-3/', 0, 'action_monitor', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(11095, 3, '2020-10-14 19:22:44', '2020-10-14 19:22:44', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602703364', '', '', '2020-10-14 19:22:44', '2020-10-14 19:22:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602703364/', 0, 'action_monitor', '', 0), +(11096, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602703370', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602703370/', 0, 'action_monitor', '', 0), +(11097, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602703370', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602703370/', 0, 'action_monitor', '', 0), +(11098, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602703370-2', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602703370-2/', 0, 'action_monitor', '', 0), +(11099, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602703370-3', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602703370-3/', 0, 'action_monitor', '', 0), +(11100, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602705431', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602705431/', 0, 'action_monitor', '', 0), +(11101, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602705431', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602705431/', 0, 'action_monitor', '', 0), +(11102, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602705431', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602705431/', 0, 'action_monitor', '', 0), +(11103, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602705431-2', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602705431-2/', 0, 'action_monitor', '', 0), +(11104, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602705431-3', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602705431-3/', 0, 'action_monitor', '', 0), +(11105, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602710959', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602710959/', 0, 'action_monitor', '', 0), +(11106, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710959', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710959/', 0, 'action_monitor', '', 0), +(11107, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602710959', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602710959/', 0, 'action_monitor', '', 0), +(11108, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710959-2', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710959-2/', 0, 'action_monitor', '', 0), +(11109, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710959-3', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710959-3/', 0, 'action_monitor', '', 0), +(11110, 3, '2020-10-14 21:29:57', '2020-10-14 21:29:57', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602710997', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602710997/', 0, 'action_monitor', '', 0), +(11111, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710998', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710998/', 0, 'action_monitor', '', 0), +(11112, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602710998', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602710998/', 0, 'action_monitor', '', 0), +(11113, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710998-2', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710998-2/', 0, 'action_monitor', '', 0), +(11114, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710998-3', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710998-3/', 0, 'action_monitor', '', 0), +(11115, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602711089', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602711089/', 0, 'action_monitor', '', 0), +(11116, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711089', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711089/', 0, 'action_monitor', '', 0), +(11117, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602711089', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602711089/', 0, 'action_monitor', '', 0), +(11118, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711089-2', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711089-2/', 0, 'action_monitor', '', 0), +(11119, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711089-3', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711089-3/', 0, 'action_monitor', '', 0), +(11120, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602711154', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602711154/', 0, 'action_monitor', '', 0), +(11121, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711154', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711154/', 0, 'action_monitor', '', 0), +(11122, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602711154', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602711154/', 0, 'action_monitor', '', 0), +(11123, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711154-2', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711154-2/', 0, 'action_monitor', '', 0), +(11124, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711154-3', '', '', '2020-10-14 21:32:35', '2020-10-14 21:32:35', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711154-3/', 0, 'action_monitor', '', 0), +(11125, 3, '2020-10-14 21:33:01', '2020-10-14 21:33:01', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602711181', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602711181/', 0, 'action_monitor', '', 0), +(11126, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711182', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711182/', 0, 'action_monitor', '', 0), +(11127, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602711182', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602711182/', 0, 'action_monitor', '', 0), +(11128, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711182-2', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711182-2/', 0, 'action_monitor', '', 0), +(11129, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711182-3', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711182-3/', 0, 'action_monitor', '', 0), +(11130, 3, '2020-10-14 22:23:14', '2020-10-14 22:23:14', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714194', '', '', '2020-10-14 22:23:14', '2020-10-14 22:23:14', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714194/', 0, 'action_monitor', '', 0), +(11131, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714195', '', '', '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714195/', 0, 'action_monitor', '', 0), +(11132, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714195', '', '', '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714195/', 0, 'action_monitor', '', 0), +(11133, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714195-2', '', '', '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714195-2/', 0, 'action_monitor', '', 0), +(11134, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714195-3', '', '', '2020-10-14 22:23:16', '2020-10-14 22:23:16', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714195-3/', 0, 'action_monitor', '', 0), +(11135, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602714271', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602714271/', 0, 'action_monitor', '', 0), +(11136, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714271', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714271/', 0, 'action_monitor', '', 0), +(11137, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602714271', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602714271/', 0, 'action_monitor', '', 0), +(11138, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714271-2', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714271-2/', 0, 'action_monitor', '', 0), +(11139, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714271-3', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714271-3/', 0, 'action_monitor', '', 0), +(11140, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714303', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714303/', 0, 'action_monitor', '', 0), +(11141, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714303', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714303/', 0, 'action_monitor', '', 0), +(11142, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714303', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714303/', 0, 'action_monitor', '', 0), +(11143, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714303-2', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714303-2/', 0, 'action_monitor', '', 0), +(11144, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714303-3', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714303-3/', 0, 'action_monitor', '', 0), +(11145, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714786', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714786/', 0, 'action_monitor', '', 0), +(11146, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714786', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714786/', 0, 'action_monitor', '', 0), +(11147, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714786', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714786/', 0, 'action_monitor', '', 0), +(11148, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714786-2', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714786-2/', 0, 'action_monitor', '', 0), +(11149, 3, '2020-10-14 22:33:07', '2020-10-14 22:33:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714787', '', '', '2020-10-14 22:33:07', '2020-10-14 22:33:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714787/', 0, 'action_monitor', '', 0), +(11150, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602714858', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602714858/', 0, 'action_monitor', '', 0), +(11151, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714858', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714858/', 0, 'action_monitor', '', 0), +(11152, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602714858', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602714858/', 0, 'action_monitor', '', 0), +(11153, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714858-2', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714858-2/', 0, 'action_monitor', '', 0), +(11154, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714858-3', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714858-3/', 0, 'action_monitor', '', 0), +(11155, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714888', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714888/', 0, 'action_monitor', '', 0), +(11156, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714888', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714888/', 0, 'action_monitor', '', 0), +(11157, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714888', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714888/', 0, 'action_monitor', '', 0), +(11158, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714888-2', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714888-2/', 0, 'action_monitor', '', 0), +(11159, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714888-3', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714888-3/', 0, 'action_monitor', '', 0), +(11160, 3, '2020-10-14 23:15:40', '2020-10-14 23:15:40', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602717340', '', '', '2020-10-14 23:15:40', '2020-10-14 23:15:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602717340/', 0, 'action_monitor', '', 0), +(11161, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717341', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717341/', 0, 'action_monitor', '', 0), +(11162, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602717341', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602717341/', 0, 'action_monitor', '', 0), +(11163, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717341-2', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717341-2/', 0, 'action_monitor', '', 0), +(11164, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717341-3', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717341-3/', 0, 'action_monitor', '', 0), +(11165, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602717687', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602717687/', 0, 'action_monitor', '', 0), +(11166, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717687', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717687/', 0, 'action_monitor', '', 0), +(11167, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602717687', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602717687/', 0, 'action_monitor', '', 0), +(11168, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717687-2', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717687-2/', 0, 'action_monitor', '', 0), +(11169, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717687-3', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717687-3/', 0, 'action_monitor', '', 0), +(11170, 3, '2020-10-14 23:23:17', '2020-10-14 23:23:17', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602717797', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602717797/', 0, 'action_monitor', '', 0), +(11171, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717798', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717798/', 0, 'action_monitor', '', 0), +(11172, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602717798', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602717798/', 0, 'action_monitor', '', 0), +(11173, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717798-2', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717798-2/', 0, 'action_monitor', '', 0), +(11174, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717798-3', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717798-3/', 0, 'action_monitor', '', 0), +(11175, 3, '2020-10-14 23:23:46', '2020-10-14 23:23:46', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602717826', '', '', '2020-10-14 23:23:46', '2020-10-14 23:23:46', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602717826/', 0, 'action_monitor', '', 0), +(11176, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717827', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717827/', 0, 'action_monitor', '', 0), +(11177, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602717827', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602717827/', 0, 'action_monitor', '', 0), +(11178, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717827-2', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717827-2/', 0, 'action_monitor', '', 0), +(11179, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717827-3', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717827-3/', 0, 'action_monitor', '', 0), +(11180, 3, '2020-10-15 00:42:51', '2020-10-15 00:42:51', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602722571', '', '', '2020-10-15 00:42:51', '2020-10-15 00:42:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602722571/', 0, 'action_monitor', '', 0), +(11181, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722572', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722572/', 0, 'action_monitor', '', 0), +(11182, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602722572', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602722572/', 0, 'action_monitor', '', 0), +(11183, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722572-2', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722572-2/', 0, 'action_monitor', '', 0), +(11184, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722572-3', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722572-3/', 0, 'action_monitor', '', 0), +(11185, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602722849', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602722849/', 0, 'action_monitor', '', 0), +(11186, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722850', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722850/', 0, 'action_monitor', '', 0), +(11187, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602722850', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602722850/', 0, 'action_monitor', '', 0), +(11188, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722850-2', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722850-2/', 0, 'action_monitor', '', 0), +(11189, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722850-3', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722850-3/', 0, 'action_monitor', '', 0), +(11190, 3, '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602722887', '', '', '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602722887/', 0, 'action_monitor', '', 0), +(11191, 3, '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722887', '', '', '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722887/', 0, 'action_monitor', '', 0), +(11192, 3, '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602722887', '', '', '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602722887/', 0, 'action_monitor', '', 0), +(11193, 3, '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722888', '', '', '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722888/', 0, 'action_monitor', '', 0), +(11194, 3, '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722888-2', '', '', '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722888-2/', 0, 'action_monitor', '', 0), +(11195, 3, '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602723990', '', '', '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602723990/', 0, 'action_monitor', '', 0), +(11196, 3, '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602723990', '', '', '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602723990/', 0, 'action_monitor', '', 0), +(11197, 3, '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602723990', '', '', '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602723990/', 0, 'action_monitor', '', 0), +(11198, 3, '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602723991', '', '', '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602723991/', 0, 'action_monitor', '', 0), +(11199, 3, '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602723991-2', '', '', '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602723991-2/', 0, 'action_monitor', '', 0), +(11200, 3, '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724036', '', '', '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724036/', 0, 'action_monitor', '', 0), +(11201, 3, '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724036', '', '', '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724036/', 0, 'action_monitor', '', 0), +(11202, 3, '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724037', '', '', '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724037/', 0, 'action_monitor', '', 0), +(11203, 3, '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724037', '', '', '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724037/', 0, 'action_monitor', '', 0), +(11204, 3, '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724037-2', '', '', '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724037-2/', 0, 'action_monitor', '', 0), +(11205, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724170', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724170/', 0, 'action_monitor', '', 0), +(11206, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724170', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724170/', 0, 'action_monitor', '', 0), +(11207, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724170', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724170/', 0, 'action_monitor', '', 0), +(11208, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724170-2', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724170-2/', 0, 'action_monitor', '', 0), +(11209, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724170-3', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724170-3/', 0, 'action_monitor', '', 0), +(11210, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724395', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724395/', 0, 'action_monitor', '', 0), +(11211, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724395', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724395/', 0, 'action_monitor', '', 0), +(11212, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724395', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724395/', 0, 'action_monitor', '', 0), +(11213, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724395-2', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724395-2/', 0, 'action_monitor', '', 0), +(11214, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724395-3', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724395-3/', 0, 'action_monitor', '', 0), +(11215, 3, '2020-10-15 01:16:41', '2020-10-15 01:16:41', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724601', '', '', '2020-10-15 01:16:41', '2020-10-15 01:16:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724601/', 0, 'action_monitor', '', 0), +(11216, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724602', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724602/', 0, 'action_monitor', '', 0), +(11217, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724602', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724602/', 0, 'action_monitor', '', 0), +(11218, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724602-2', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724602-2/', 0, 'action_monitor', '', 0), +(11219, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724602-3', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724602-3/', 0, 'action_monitor', '', 0), +(11220, 3, '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724711', '', '', '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724711/', 0, 'action_monitor', '', 0), +(11221, 3, '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724711', '', '', '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724711/', 0, 'action_monitor', '', 0), +(11222, 3, '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724711', '', '', '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724711/', 0, 'action_monitor', '', 0), +(11223, 3, '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724712', '', '', '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724712/', 0, 'action_monitor', '', 0), +(11224, 3, '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724712-2', '', '', '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724712-2/', 0, 'action_monitor', '', 0), +(11225, 3, '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724824', '', '', '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724824/', 0, 'action_monitor', '', 0), +(11226, 3, '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724824', '', '', '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724824/', 0, 'action_monitor', '', 0), +(11227, 3, '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724824', '', '', '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724824/', 0, 'action_monitor', '', 0), +(11228, 3, '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724825', '', '', '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724825/', 0, 'action_monitor', '', 0), +(11229, 3, '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724825-2', '', '', '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724825-2/', 0, 'action_monitor', '', 0), +(11230, 3, '2020-10-15 01:22:21', '2020-10-15 01:22:21', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724941', '', '', '2020-10-15 01:22:21', '2020-10-15 01:22:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724941/', 0, 'action_monitor', '', 0), +(11231, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724942', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724942/', 0, 'action_monitor', '', 0), +(11232, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724942', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724942/', 0, 'action_monitor', '', 0), +(11233, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724942-2', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724942-2/', 0, 'action_monitor', '', 0), +(11234, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724942-3', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724942-3/', 0, 'action_monitor', '', 0), +(11235, 3, '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602725695', '', '', '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602725695/', 0, 'action_monitor', '', 0), +(11236, 3, '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725695', '', '', '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725695/', 0, 'action_monitor', '', 0), +(11237, 3, '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602725695', '', '', '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602725695/', 0, 'action_monitor', '', 0), +(11238, 3, '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725696', '', '', '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725696/', 0, 'action_monitor', '', 0), +(11239, 3, '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725696-2', '', '', '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725696-2/', 0, 'action_monitor', '', 0), +(11240, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602725877', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602725877/', 0, 'action_monitor', '', 0), +(11241, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725877', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725877/', 0, 'action_monitor', '', 0), +(11242, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602725877', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602725877/', 0, 'action_monitor', '', 0), +(11243, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725877-2', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725877-2/', 0, 'action_monitor', '', 0), +(11244, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725877-3', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725877-3/', 0, 'action_monitor', '', 0), +(11245, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602725942', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602725942/', 0, 'action_monitor', '', 0), +(11246, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725942', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725942/', 0, 'action_monitor', '', 0), +(11247, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602725942', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602725942/', 0, 'action_monitor', '', 0), +(11248, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725942-2', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725942-2/', 0, 'action_monitor', '', 0), +(11249, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725942-3', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725942-3/', 0, 'action_monitor', '', 0), +(11250, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602725974', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602725974/', 0, 'action_monitor', '', 0), +(11251, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725974', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725974/', 0, 'action_monitor', '', 0), +(11252, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602725974', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602725974/', 0, 'action_monitor', '', 0), +(11253, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725974-2', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725974-2/', 0, 'action_monitor', '', 0), +(11254, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725974-3', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725974-3/', 0, 'action_monitor', '', 0), +(11255, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602726044', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602726044/', 0, 'action_monitor', '', 0), +(11256, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726044', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726044/', 0, 'action_monitor', '', 0), +(11257, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602726044', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602726044/', 0, 'action_monitor', '', 0), +(11258, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726044-2', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726044-2/', 0, 'action_monitor', '', 0), +(11259, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726044-3', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726044-3/', 0, 'action_monitor', '', 0), +(11260, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602726073', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602726073/', 0, 'action_monitor', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(11261, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726073', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726073/', 0, 'action_monitor', '', 0), +(11262, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602726073', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602726073/', 0, 'action_monitor', '', 0), +(11263, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726073-2', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726073-2/', 0, 'action_monitor', '', 0), +(11264, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726073-3', '', '', '2020-10-15 01:41:14', '2020-10-15 01:41:14', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726073-3/', 0, 'action_monitor', '', 0), +(11265, 3, '2020-10-15 13:57:05', '2020-10-15 13:57:05', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770225', '', '', '2020-10-15 13:57:05', '2020-10-15 13:57:05', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770225/', 0, 'action_monitor', '', 0), +(11266, 3, '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770226', '', '', '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770226/', 0, 'action_monitor', '', 0), +(11267, 3, '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770226', '', '', '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770226/', 0, 'action_monitor', '', 0), +(11268, 3, '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770226-2', '', '', '2020-10-15 13:57:07', '2020-10-15 13:57:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770226-2/', 0, 'action_monitor', '', 0), +(11269, 3, '2020-10-15 13:57:07', '2020-10-15 13:57:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770227', '', '', '2020-10-15 13:57:07', '2020-10-15 13:57:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770227/', 0, 'action_monitor', '', 0), +(11270, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770268', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770268/', 0, 'action_monitor', '', 0), +(11271, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770268', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770268/', 0, 'action_monitor', '', 0), +(11272, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770268', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770268/', 0, 'action_monitor', '', 0), +(11273, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770268-2', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770268-2/', 0, 'action_monitor', '', 0), +(11274, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770268-3', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770268-3/', 0, 'action_monitor', '', 0), +(11275, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770308', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770308/', 0, 'action_monitor', '', 0), +(11276, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770308', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770308/', 0, 'action_monitor', '', 0), +(11277, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770308', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770308/', 0, 'action_monitor', '', 0), +(11278, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770308-2', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770308-2/', 0, 'action_monitor', '', 0), +(11279, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770308-3', '', '', '2020-10-15 13:58:29', '2020-10-15 13:58:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770308-3/', 0, 'action_monitor', '', 0), +(11280, 3, '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602770366', '', '', '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602770366/', 0, 'action_monitor', '', 0), +(11281, 3, '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770366', '', '', '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770366/', 0, 'action_monitor', '', 0), +(11282, 3, '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602770366', '', '', '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602770366/', 0, 'action_monitor', '', 0), +(11283, 3, '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770367', '', '', '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770367/', 0, 'action_monitor', '', 0), +(11284, 3, '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770367-2', '', '', '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770367-2/', 0, 'action_monitor', '', 0), +(11285, 3, '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770390', '', '', '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770390/', 0, 'action_monitor', '', 0), +(11286, 3, '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770390', '', '', '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770390/', 0, 'action_monitor', '', 0), +(11287, 3, '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770391', '', '', '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770391/', 0, 'action_monitor', '', 0), +(11288, 3, '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770391', '', '', '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770391/', 0, 'action_monitor', '', 0), +(11289, 3, '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770391-2', '', '', '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770391-2/', 0, 'action_monitor', '', 0), +(11290, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602791066', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602791066/', 0, 'action_monitor', '', 0), +(11291, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791066', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791066/', 0, 'action_monitor', '', 0), +(11292, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602791066', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602791066/', 0, 'action_monitor', '', 0), +(11293, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791066-2', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791066-2/', 0, 'action_monitor', '', 0), +(11294, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791066-3', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791066-3/', 0, 'action_monitor', '', 0), +(11295, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602791124', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602791124/', 0, 'action_monitor', '', 0), +(11296, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791124', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791124/', 0, 'action_monitor', '', 0), +(11297, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602791124', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602791124/', 0, 'action_monitor', '', 0), +(11298, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791124-2', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791124-2/', 0, 'action_monitor', '', 0), +(11299, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791124-3', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791124-3/', 0, 'action_monitor', '', 0), +(11300, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602791148', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602791148/', 0, 'action_monitor', '', 0), +(11301, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791148', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791148/', 0, 'action_monitor', '', 0), +(11302, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602791148', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602791148/', 0, 'action_monitor', '', 0), +(11303, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791148-2', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791148-2/', 0, 'action_monitor', '', 0), +(11304, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791148-3', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791148-3/', 0, 'action_monitor', '', 0), +(11305, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602792848', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602792848/', 0, 'action_monitor', '', 0), +(11306, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792848', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792848/', 0, 'action_monitor', '', 0), +(11307, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602792848', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602792848/', 0, 'action_monitor', '', 0), +(11308, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792848-2', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792848-2/', 0, 'action_monitor', '', 0), +(11309, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792848-3', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792848-3/', 0, 'action_monitor', '', 0), +(11310, 3, '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602792904', '', '', '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602792904/', 0, 'action_monitor', '', 0), +(11311, 3, '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792904', '', '', '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792904/', 0, 'action_monitor', '', 0), +(11312, 3, '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602792904', '', '', '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602792904/', 0, 'action_monitor', '', 0), +(11313, 3, '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792905', '', '', '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792905/', 0, 'action_monitor', '', 0), +(11314, 3, '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792905-2', '', '', '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792905-2/', 0, 'action_monitor', '', 0), +(11315, 3, '2020-10-15 20:15:26', '2020-10-15 20:15:26', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602792926', '', '', '2020-10-15 20:15:26', '2020-10-15 20:15:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602792926/', 0, 'action_monitor', '', 0), +(11316, 3, '2020-10-15 20:15:26', '2020-10-15 20:15:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792926', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792926/', 0, 'action_monitor', '', 0), +(11317, 3, '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602792927', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602792927/', 0, 'action_monitor', '', 0), +(11318, 3, '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792927', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792927/', 0, 'action_monitor', '', 0), +(11319, 3, '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792927-2', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792927-2/', 0, 'action_monitor', '', 0), +(11320, 1, '2020-10-15 20:59:11', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2020-10-15 20:59:11', '0000-00-00 00:00:00', '', 0, 'https://devgatsbyint.wpengine.com/?p=11320', 0, 'post', '', 0), +(11321, 3, '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602797744', '', '', '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602797744/', 0, 'action_monitor', '', 0), +(11322, 3, '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797744', '', '', '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797744/', 0, 'action_monitor', '', 0), +(11323, 3, '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602797745', '', '', '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602797745/', 0, 'action_monitor', '', 0), +(11324, 3, '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797745', '', '', '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797745/', 0, 'action_monitor', '', 0), +(11325, 3, '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797745-2', '', '', '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797745-2/', 0, 'action_monitor', '', 0), +(11326, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602797815', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602797815/', 0, 'action_monitor', '', 0), +(11327, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797815', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797815/', 0, 'action_monitor', '', 0), +(11328, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602797815', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602797815/', 0, 'action_monitor', '', 0), +(11329, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797815-2', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797815-2/', 0, 'action_monitor', '', 0), +(11330, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797815-3', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797815-3/', 0, 'action_monitor', '', 0), +(11331, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602797844', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602797844/', 0, 'action_monitor', '', 0), +(11332, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797844', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797844/', 0, 'action_monitor', '', 0), +(11333, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602797844', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602797844/', 0, 'action_monitor', '', 0), +(11334, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797844-2', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797844-2/', 0, 'action_monitor', '', 0), +(11335, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797844-3', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797844-3/', 0, 'action_monitor', '', 0), +(11336, 4, '2020-10-16 23:10:37', '2020-10-16 23:10:37', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602889837', '', '', '2020-10-16 23:10:37', '2020-10-16 23:10:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602889837/', 0, 'action_monitor', '', 0), +(11337, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889840', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889840/', 0, 'action_monitor', '', 0), +(11338, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602889840', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602889840/', 0, 'action_monitor', '', 0), +(11339, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889840-2', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889840-2/', 0, 'action_monitor', '', 0), +(11340, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889840-3', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889840-3/', 0, 'action_monitor', '', 0), +(11341, 4, '2020-10-16 23:13:09', '2020-10-16 23:13:09', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602889989', '', '', '2020-10-16 23:13:09', '2020-10-16 23:13:09', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602889989/', 0, 'action_monitor', '', 0), +(11342, 4, '2020-10-16 23:13:09', '2020-10-16 23:13:09', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889989', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889989/', 0, 'action_monitor', '', 0), +(11343, 4, '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602889990', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602889990/', 0, 'action_monitor', '', 0), +(11344, 4, '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889990', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889990/', 0, 'action_monitor', '', 0), +(11345, 4, '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889990-2', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889990-2/', 0, 'action_monitor', '', 0), +(11346, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602890181', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890181/', 0, 'action_monitor', '', 0), +(11347, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890181', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890181/', 0, 'action_monitor', '', 0), +(11348, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602890181', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890181/', 0, 'action_monitor', '', 0), +(11349, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890181-2', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890181-2/', 0, 'action_monitor', '', 0), +(11350, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890181-3', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890181-3/', 0, 'action_monitor', '', 0), +(11351, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602890257', '', '', '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602890257/', 0, 'action_monitor', '', 0), +(11352, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890257', '', '', '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890257/', 0, 'action_monitor', '', 0), +(11353, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602890257', '', '', '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602890257/', 0, 'action_monitor', '', 0), +(11354, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890257-2', '', '', '2020-10-16 23:17:38', '2020-10-16 23:17:38', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890257-2/', 0, 'action_monitor', '', 0), +(11355, 4, '2020-10-16 23:17:38', '2020-10-16 23:17:38', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890258', '', '', '2020-10-16 23:17:38', '2020-10-16 23:17:38', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890258/', 0, 'action_monitor', '', 0), +(11356, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'Sample Page', '', 'trash', 'closed', 'closed', '', 'sample-page-1602890289__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890289/', 0, 'action_monitor', '', 0), +(11357, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890289__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890289/', 0, 'action_monitor', '', 0), +(11358, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'Hello world!', '', 'trash', 'closed', 'closed', '', 'hello-world-1602890289__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890289/', 0, 'action_monitor', '', 0), +(11359, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890289-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890289-2/', 0, 'action_monitor', '', 0), +(11360, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890289-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890289-3/', 0, 'action_monitor', '', 0), +(11361, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'Sample Page', '', 'trash', 'closed', 'closed', '', 'sample-page-1602890523__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890523/', 0, 'action_monitor', '', 0), +(11362, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890523__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890523/', 0, 'action_monitor', '', 0), +(11363, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'Hello world!', '', 'trash', 'closed', 'closed', '', 'hello-world-1602890523__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890523/', 0, 'action_monitor', '', 0), +(11364, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890523-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890523-2/', 0, 'action_monitor', '', 0), +(11365, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890523-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890523-3/', 0, 'action_monitor', '', 0), +(11366, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'Sample Page DELTA SYNC', '', 'trash', 'closed', 'closed', '', 'sample-page-delta-sync-1602890596__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602890596/', 0, 'action_monitor', '', 0), +(11367, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890596__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890596/', 0, 'action_monitor', '', 0), +(11368, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'Hello world! DELTA SYNC', '', 'trash', 'closed', 'closed', '', 'hello-world-delta-sync-1602890596__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602890596/', 0, 'action_monitor', '', 0), +(11369, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890596-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890596-2/', 0, 'action_monitor', '', 0), +(11370, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890596-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890596-3/', 0, 'action_monitor', '', 0), +(11371, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'Sample Page', '', 'trash', 'closed', 'closed', '', 'sample-page-1602890627__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890627/', 0, 'action_monitor', '', 0), +(11372, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890627__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890627/', 0, 'action_monitor', '', 0), +(11373, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'Hello world!', '', 'trash', 'closed', 'closed', '', 'hello-world-1602890627__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890627/', 0, 'action_monitor', '', 0), +(11374, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890627-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890627-2/', 0, 'action_monitor', '', 0), +(11375, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890627-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890627-3/', 0, 'action_monitor', '', 0), +(11376, 3, '2020-10-17 13:49:19', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2020-10-17 13:49:19', '0000-00-00 00:00:00', '', 0, 'https://devgatsbyint.wpengine.com/?p=11376', 0, 'post', '', 0), +(11377, 3, '2020-10-17 14:18:05', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'closed', 'closed', '', '', '', '', '2020-10-17 14:18:05', '0000-00-00 00:00:00', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=action_monitor&p=11377', 0, 'action_monitor', '', 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_signups` +-- + +CREATE TABLE `wp_signups` ( + `signup_id` bigint(20) NOT NULL, + `domain` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `path` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `title` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `activated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `active` tinyint(1) NOT NULL DEFAULT '0', + `activation_key` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `meta` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_termmeta` +-- + +CREATE TABLE `wp_termmeta` ( + `meta_id` bigint(20) UNSIGNED NOT NULL, + `term_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_termmeta` +-- + +INSERT INTO `wp_termmeta` (`meta_id`, `term_id`, `meta_key`, `meta_value`) VALUES +(1, 56, 'product_count_product_cat', '0'), +(2, 57, 'order', '0'), +(3, 58, 'order', '0'), +(4, 59, 'order', '0'), +(5, 60, 'order', '0'), +(6, 61, 'order', '0'), +(7, 62, 'order', '0'), +(8, 58, 'product_count_product_cat', '5'), +(9, 57, 'product_count_product_cat', '14'), +(10, 63, 'order_pa_color', '0'), +(11, 64, 'order_pa_color', '0'), +(12, 65, 'order_pa_color', '0'), +(13, 66, 'order_pa_size', '0'), +(14, 67, 'order_pa_size', '0'), +(15, 68, 'order_pa_size', '0'), +(16, 59, 'product_count_product_cat', '3'), +(17, 69, 'order_pa_color', '0'), +(18, 60, 'product_count_product_cat', '5'), +(19, 70, 'order_pa_color', '0'), +(20, 61, 'product_count_product_cat', '2'), +(21, 62, 'product_count_product_cat', '1'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_terms` +-- + +CREATE TABLE `wp_terms` ( + `term_id` bigint(20) UNSIGNED NOT NULL, + `name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `slug` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `term_group` bigint(10) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_terms` +-- + +INSERT INTO `wp_terms` (`term_id`, `name`, `slug`, `term_group`) VALUES +(1, 'Uncategorized', 'uncategorized', 0), +(2, 'activity-comment', 'activity-comment', 0), +(3, 'activity-comment-author', 'activity-comment-author', 0), +(4, 'activity-at-message', 'activity-at-message', 0), +(5, 'groups-at-message', 'groups-at-message', 0), +(6, 'core-user-registration', 'core-user-registration', 0), +(7, 'friends-request', 'friends-request', 0), +(8, 'friends-request-accepted', 'friends-request-accepted', 0), +(9, 'groups-details-updated', 'groups-details-updated', 0), +(10, 'groups-invitation', 'groups-invitation', 0), +(11, 'groups-member-promoted', 'groups-member-promoted', 0), +(12, 'groups-membership-request', 'groups-membership-request', 0), +(13, 'messages-unread', 'messages-unread', 0), +(14, 'settings-verify-email-change', 'settings-verify-email-change', 0), +(15, 'groups-membership-request-accepted', 'groups-membership-request-accepted', 0), +(16, 'groups-membership-request-rejected', 'groups-membership-request-rejected', 0), +(17, 'main menu', 'main-menu', 0), +(18, 'Français', 'fr', 0), +(19, 'Français', 'pll_fr', 0), +(20, 'pll_5e72cb79951df', 'pll_5e72cb79951df', 0), +(21, 'English', 'en', 0), +(22, 'English', 'pll_en', 0), +(23, 'Uncategorized', 'uncategorized-en', 0), +(25, 'pll_5e72cdb65e137', 'pll_5e72cdb65e137', 0), +(26, 'pll_5e72d0b16d5f9', 'pll_5e72d0b16d5f9', 0), +(27, '1', '1', 0), +(28, 'pll_5f3f144ebdc37', 'pll_5f3f144ebdc37', 0), +(29, '2', '2', 0), +(30, 'pll_5f3f145078690', 'pll_5f3f145078690', 0), +(31, '3', '3', 0), +(32, 'pll_5f3f1451a4f85', 'pll_5f3f1451a4f85', 0), +(33, 'Test Category', 'test-category', 0), +(34, 'pll_5f47fd1f997d3', 'pll_5f47fd1f997d3', 0), +(35, 'Gutenberg', 'gutenberg', 0), +(36, 'pll_5f629fe34d3e0', 'pll_5f629fe34d3e0', 0), +(37, 'Primary', 'primary', 0), +(38, 'Social Media', 'social-media', 0), +(39, 'alignments', 'alignments', 0), +(40, 'pll_5f629fe377c19', 'pll_5f629fe377c19', 0), +(41, 'widgets', 'widgets', 0), +(42, 'pll_5f629fe3a7113', 'pll_5f629fe3a7113', 0), +(43, 'simple', 'simple', 0), +(44, 'grouped', 'grouped', 0), +(45, 'variable', 'variable', 0), +(46, 'external', 'external', 0), +(47, 'exclude-from-search', 'exclude-from-search', 0), +(48, 'exclude-from-catalog', 'exclude-from-catalog', 0), +(49, 'featured', 'featured', 0), +(50, 'outofstock', 'outofstock', 0), +(51, 'rated-1', 'rated-1', 0), +(52, 'rated-2', 'rated-2', 0), +(53, 'rated-3', 'rated-3', 0), +(54, 'rated-4', 'rated-4', 0), +(55, 'rated-5', 'rated-5', 0), +(56, 'Uncategorized', 'uncategorized', 0), +(57, 'Clothing', 'clothing', 0), +(58, 'Tshirts', 'tshirts', 0), +(59, 'Hoodies', 'hoodies', 0), +(60, 'Accessories', 'accessories', 0), +(61, 'Music', 'music', 0), +(62, 'Decor', 'decor', 0), +(63, 'Blue', 'blue', 0), +(64, 'Green', 'green', 0), +(65, 'Red', 'red', 0), +(66, 'Large', 'large', 0), +(67, 'Medium', 'medium', 0), +(68, 'Small', 'small', 0), +(69, 'Gray', 'gray', 0), +(70, 'Yellow', 'yellow', 0), +(71, 'h1', 'h1', 0), +(72, 'h2', 'h2', 0), +(73, 'h3', 'h3', 0), +(74, 'h4', 'h4', 0), +(75, 'h5', 'h5', 0), +(76, 'pll_5f6e6af6763c5', 'pll_5f6e6af6763c5', 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_term_relationships` +-- + +CREATE TABLE `wp_term_relationships` ( + `object_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `term_taxonomy_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `term_order` int(11) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_term_relationships` +-- + +INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES +(1, 19, 0), +(1, 20, 0), +(1, 21, 0), +(1, 23, 0), +(2, 21, 0), +(3, 21, 0), +(16, 21, 0), +(17, 21, 0), +(17, 25, 0), +(18, 2, 0), +(19, 3, 0), +(20, 4, 0), +(21, 5, 0), +(22, 6, 0), +(23, 7, 0), +(23, 20, 0), +(23, 22, 0), +(24, 8, 0), +(25, 9, 0), +(26, 10, 0), +(27, 11, 0), +(27, 22, 0), +(27, 28, 0), +(28, 12, 0), +(29, 13, 0), +(29, 22, 0), +(29, 30, 0), +(30, 14, 0), +(31, 15, 0), +(31, 22, 0), +(31, 32, 0), +(32, 16, 0), +(33, 22, 0), +(33, 34, 0), +(35, 22, 0), +(35, 36, 0), +(39, 22, 0), +(39, 40, 0), +(41, 22, 0), +(41, 42, 0), +(79, 21, 0), +(79, 35, 0), +(79, 39, 0), +(90, 21, 0), +(90, 35, 0), +(90, 41, 0), +(94, 21, 0), +(94, 35, 0), +(95, 21, 0), +(96, 21, 0), +(97, 21, 0), +(99, 21, 0), +(100, 21, 0), +(101, 21, 0), +(102, 21, 0), +(103, 21, 0), +(104, 21, 0), +(114, 21, 0), +(114, 35, 0), +(116, 21, 0), +(116, 35, 0), +(122, 21, 0), +(122, 35, 0), +(125, 21, 0), +(125, 35, 0), +(128, 21, 0), +(128, 35, 0), +(195, 21, 0), +(284, 21, 0), +(316, 21, 0), +(362, 21, 0), +(564, 17, 0), +(565, 17, 0), +(566, 17, 0), +(567, 17, 0), +(586, 21, 0), +(711, 1, 0), +(711, 21, 0), +(1276, 18, 0), +(1276, 25, 0), +(1311, 18, 0), +(1311, 26, 0), +(1335, 21, 0), +(1335, 26, 0), +(7627, 21, 0), +(7646, 21, 0), +(7740, 21, 0), +(7744, 21, 0), +(7748, 21, 0), +(7752, 21, 0), +(7756, 21, 0), +(7760, 21, 0), +(7764, 21, 0), +(7772, 21, 0), +(7868, 21, 0), +(7956, 21, 0), +(7981, 21, 0), +(7985, 21, 0), +(8449, 21, 0), +(8475, 45, 0), +(8475, 49, 0), +(8475, 58, 0), +(8475, 63, 0), +(8475, 64, 0), +(8475, 65, 0), +(8475, 66, 0), +(8475, 67, 0), +(8475, 68, 0), +(8477, 45, 0), +(8477, 59, 0), +(8477, 63, 0), +(8477, 64, 0), +(8477, 65, 0), +(8479, 43, 0), +(8479, 59, 0), +(8479, 63, 0), +(8481, 43, 0), +(8481, 58, 0), +(8481, 69, 0), +(8483, 43, 0), +(8483, 60, 0), +(8483, 65, 0), +(8485, 43, 0), +(8485, 60, 0), +(8487, 43, 0), +(8487, 49, 0), +(8487, 60, 0), +(8487, 70, 0), +(8489, 43, 0), +(8489, 49, 0), +(8489, 60, 0), +(8491, 43, 0), +(8491, 47, 0), +(8491, 48, 0), +(8491, 49, 0), +(8491, 59, 0), +(8491, 69, 0), +(8493, 43, 0), +(8493, 49, 0), +(8493, 59, 0), +(8495, 43, 0), +(8495, 58, 0), +(8495, 64, 0), +(8497, 43, 0), +(8497, 58, 0), +(8497, 63, 0), +(8499, 43, 0), +(8499, 61, 0), +(8501, 43, 0), +(8501, 61, 0), +(8503, 56, 0), +(8505, 56, 0), +(8507, 56, 0), +(8509, 56, 0), +(8511, 56, 0), +(8513, 56, 0), +(8515, 43, 0), +(8515, 58, 0), +(8515, 69, 0), +(8517, 43, 0), +(8517, 60, 0), +(8517, 65, 0), +(8519, 44, 0), +(8519, 57, 0), +(8521, 43, 0), +(8521, 62, 0), +(8523, 56, 0), +(8523, 63, 0), +(8525, 21, 0), +(8529, 21, 0), +(8533, 21, 0), +(8537, 21, 0), +(8541, 21, 0), +(8545, 21, 0), +(8549, 21, 0), +(8553, 21, 0), +(8557, 21, 0), +(8561, 21, 0), +(8565, 21, 0), +(8569, 21, 0), +(8573, 21, 0), +(8577, 21, 0), +(8581, 21, 0), +(8585, 21, 0), +(8589, 21, 0), +(8593, 21, 0), +(8597, 21, 0), +(8601, 21, 0), +(8605, 21, 0), +(8609, 21, 0), +(8964, 21, 0), +(9204, 21, 0), +(9208, 21, 0), +(9210, 21, 0), +(9219, 21, 0), +(9361, 21, 0), +(9361, 71, 0), +(9361, 72, 0), +(9361, 73, 0), +(9361, 74, 0), +(9361, 75, 0), +(9431, 21, 0), +(9437, 21, 0), +(9439, 21, 0), +(9620, 21, 0), +(9620, 76, 0), +(9634, 21, 0), +(9646, 18, 0), +(9646, 76, 0), +(9722, 21, 0), +(9818, 21, 0), +(9827, 21, 0), +(10050, 21, 0), +(10050, 23, 0), +(10081, 21, 0), +(10081, 23, 0), +(10439, 21, 0), +(10445, 21, 0), +(10449, 21, 0), +(10453, 21, 0), +(10465, 21, 0), +(10467, 21, 0), +(10471, 21, 0), +(10475, 21, 0), +(10479, 21, 0), +(10513, 21, 0), +(10515, 21, 0), +(10621, 21, 0), +(10627, 21, 0), +(10690, 21, 0), +(10705, 21, 0), +(10715, 21, 0), +(10927, 21, 0), +(11320, 21, 0), +(11376, 21, 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_term_taxonomy` +-- + +CREATE TABLE `wp_term_taxonomy` ( + `term_taxonomy_id` bigint(20) UNSIGNED NOT NULL, + `term_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `taxonomy` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `description` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `parent` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `count` bigint(20) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_term_taxonomy` +-- + +INSERT INTO `wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES +(1, 1, 'category', '', 0, 0), +(2, 2, 'bp-email-type', 'A member has replied to an activity update that the recipient posted.', 0, 1), +(3, 3, 'bp-email-type', 'A member has replied to a comment on an activity update that the recipient posted.', 0, 1), +(4, 4, 'bp-email-type', 'Recipient was mentioned in an activity update.', 0, 1), +(5, 5, 'bp-email-type', 'Recipient was mentioned in a group activity update.', 0, 1), +(6, 6, 'bp-email-type', 'Recipient has registered for an account.', 0, 1), +(7, 7, 'bp-email-type', 'A member has sent a friend request to the recipient.', 0, 1), +(8, 8, 'bp-email-type', 'Recipient has had a friend request accepted by a member.', 0, 1), +(9, 9, 'bp-email-type', 'A group\'s details were updated.', 0, 1), +(10, 10, 'bp-email-type', 'A member has sent a group invitation to the recipient.', 0, 1), +(11, 11, 'bp-email-type', 'Recipient\'s status within a group has changed.', 0, 1), +(12, 12, 'bp-email-type', 'A member has requested permission to join a group.', 0, 1), +(13, 13, 'bp-email-type', 'Recipient has received a private message.', 0, 1), +(14, 14, 'bp-email-type', 'Recipient has changed their email address.', 0, 1), +(15, 15, 'bp-email-type', 'Recipient had requested to join a group, which was accepted.', 0, 1), +(16, 16, 'bp-email-type', 'Recipient had requested to join a group, which was rejected.', 0, 1), +(17, 17, 'nav_menu', '', 0, 4), +(18, 18, 'language', 'a:3:{s:6:\"locale\";s:5:\"fr_CA\";s:3:\"rtl\";i:0;s:9:\"flag_code\";s:6:\"quebec\";}', 0, 3), +(19, 19, 'term_language', '', 0, 1), +(20, 20, 'term_translations', 'a:2:{s:2:\"fr\";i:1;s:2:\"en\";i:23;}', 0, 2), +(21, 21, 'language', 'a:3:{s:6:\"locale\";s:5:\"en_CA\";s:3:\"rtl\";i:0;s:9:\"flag_code\";s:2:\"ca\";}', 0, 85), +(22, 22, 'term_language', '', 0, 8), +(23, 23, 'category', '', 0, 1), +(25, 25, 'post_translations', 'a:2:{s:2:\"fr\";i:1276;s:2:\"en\";i:17;}', 0, 2), +(26, 26, 'post_translations', 'a:2:{s:2:\"en\";i:1335;s:2:\"fr\";i:1311;}', 0, 2), +(27, 27, 'post_tag', '', 0, 0), +(28, 28, 'term_translations', 'a:1:{s:2:\"en\";i:27;}', 0, 1), +(29, 29, 'post_tag', '', 0, 0), +(30, 30, 'term_translations', 'a:1:{s:2:\"en\";i:29;}', 0, 1), +(31, 31, 'post_tag', '', 0, 0), +(32, 32, 'term_translations', 'a:1:{s:2:\"en\";i:31;}', 0, 1), +(33, 33, 'category', '', 0, 0), +(34, 34, 'term_translations', 'a:1:{s:2:\"en\";i:33;}', 0, 1), +(35, 35, 'category', '', 0, 8), +(36, 36, 'term_translations', 'a:1:{s:2:\"en\";i:35;}', 0, 1), +(37, 37, 'nav_menu', '', 0, 0), +(38, 38, 'nav_menu', '', 0, 0), +(39, 39, 'post_tag', '', 0, 1), +(40, 40, 'term_translations', 'a:1:{s:2:\"en\";i:39;}', 0, 1), +(41, 41, 'post_tag', '', 0, 1), +(42, 42, 'term_translations', 'a:1:{s:2:\"en\";i:41;}', 0, 1), +(43, 43, 'product_type', '', 0, 15), +(44, 44, 'product_type', '', 0, 1), +(45, 45, 'product_type', '', 0, 2), +(46, 46, 'product_type', '', 0, 0), +(47, 47, 'product_visibility', '', 0, 1), +(48, 48, 'product_visibility', '', 0, 1), +(49, 49, 'product_visibility', '', 0, 5), +(50, 50, 'product_visibility', '', 0, 0), +(51, 51, 'product_visibility', '', 0, 0), +(52, 52, 'product_visibility', '', 0, 0), +(53, 53, 'product_visibility', '', 0, 0), +(54, 54, 'product_visibility', '', 0, 0), +(55, 55, 'product_visibility', '', 0, 0), +(56, 56, 'product_cat', '', 0, 0), +(57, 57, 'product_cat', '', 0, 1), +(58, 58, 'product_cat', '', 57, 5), +(59, 59, 'product_cat', '', 57, 4), +(60, 60, 'product_cat', '', 57, 5), +(61, 61, 'product_cat', '', 0, 2), +(62, 62, 'product_cat', '', 0, 1), +(63, 63, 'pa_color', '', 0, 4), +(64, 64, 'pa_color', '', 0, 3), +(65, 65, 'pa_color', '', 0, 4), +(66, 66, 'pa_size', '', 0, 1), +(67, 67, 'pa_size', '', 0, 1), +(68, 68, 'pa_size', '', 0, 1), +(69, 69, 'pa_color', '', 0, 3), +(70, 70, 'pa_color', '', 0, 1), +(71, 71, 'category', '', 0, 1), +(72, 72, 'category', '', 71, 1), +(73, 73, 'category', '', 72, 1), +(74, 74, 'category', '', 73, 1), +(75, 75, 'category', '', 74, 1), +(76, 76, 'post_translations', 'a:2:{s:2:\"fr\";i:9646;s:2:\"en\";i:9620;}', 0, 2); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_usermeta` +-- + +CREATE TABLE `wp_usermeta` ( + `umeta_id` bigint(20) UNSIGNED NOT NULL, + `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_usermeta` +-- + +INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES +(1, 1, 'nickname', 'Tyler'), +(2, 1, 'first_name', 'Tyler'), +(3, 1, 'last_name', ''), +(4, 1, 'description', ''), +(5, 1, 'rich_editing', 'true'), +(6, 1, 'syntax_highlighting', 'true'), +(7, 1, 'comment_shortcuts', 'false'), +(8, 1, 'admin_color', 'fresh'), +(9, 1, 'use_ssl', '0'), +(10, 1, 'show_admin_bar_front', 'true'), +(11, 1, 'locale', ''), +(12, 1, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(13, 1, 'wp_user_level', '10'), +(14, 1, 'dismissed_wp_pointers', ''), +(15, 1, 'show_welcome_panel', '0'), +(17, 1, 'wp_dashboard_quick_press_last_post_id', '11320'), +(18, 1, 'community-events-location', 'a:1:{s:2:\"ip\";s:12:\"184.66.228.0\";}'), +(20, 1, 'gatsby_user_is_public', '1'), +(21, 1, 'wp_user-settings', 'libraryContent=browse&editor=html&advImgDetails=show'), +(22, 1, 'wp_user-settings-time', '1601327533'), +(23, 1, 'closedpostboxes_acf-field-group', 'a:0:{}'), +(24, 1, 'metaboxhidden_acf-field-group', 'a:1:{i:0;s:7:\"slugdiv\";}'), +(26, 1, '_yoast_wpseo_profile_updated', '1585010487'), +(27, 1, 'wpseo_title', ''), +(28, 1, 'wpseo_metadesc', ''), +(29, 1, 'wpseo_noindex_author', ''), +(30, 1, 'wpseo_content_analysis_disable', ''), +(31, 1, 'wpseo_keyword_analysis_disable', ''), +(32, 1, 'facebook', ''), +(33, 1, 'instagram', ''), +(34, 1, 'linkedin', ''), +(35, 1, 'myspace', ''), +(36, 1, 'pinterest', ''), +(37, 1, 'soundcloud', ''), +(38, 1, 'tumblr', ''), +(39, 1, 'twitter', ''), +(40, 1, 'youtube', ''), +(41, 1, 'wikipedia', ''), +(42, 1, 'managenav-menuscolumnshidden', 'a:5:{i:0;s:11:\"link-target\";i:1;s:11:\"css-classes\";i:2;s:3:\"xfn\";i:3;s:11:\"description\";i:4;s:15:\"title-attribute\";}'), +(43, 1, 'metaboxhidden_nav-menus', 'a:4:{i:0;s:25:\"add-post-type-team_member\";i:1;s:21:\"add-post-type-project\";i:2;s:28:\"add-post-type-action_monitor\";i:3;s:12:\"add-post_tag\";}'), +(44, 2, 'nickname', 'Test user'), +(45, 2, 'first_name', 'Test'), +(46, 2, 'last_name', 'User'), +(47, 2, 'description', ''), +(48, 2, 'rich_editing', 'true'), +(49, 2, 'syntax_highlighting', 'true'), +(50, 2, 'comment_shortcuts', 'false'), +(51, 2, 'admin_color', 'fresh'), +(52, 2, 'use_ssl', '0'), +(53, 2, 'show_admin_bar_front', 'true'), +(54, 2, 'locale', ''), +(55, 2, 'wp_capabilities', 'a:1:{s:6:\"author\";b:1;}'), +(56, 2, 'wp_user_level', '2'), +(57, 2, '_yoast_wpseo_profile_updated', '1583459242'), +(58, 2, 'dismissed_wp_pointers', ''), +(59, 2, 'facebook', ''), +(60, 2, 'instagram', ''), +(61, 2, 'linkedin', ''), +(62, 2, 'myspace', ''), +(63, 2, 'pinterest', ''), +(64, 2, 'soundcloud', ''), +(65, 2, 'tumblr', ''), +(66, 2, 'twitter', ''), +(67, 2, 'youtube', ''), +(68, 2, 'wikipedia', ''), +(69, 1, 'pll_filter_content', ''), +(70, 1, 'pll_dismissed_notices', 'a:3:{i:0;s:8:\"lingotek\";i:1;s:6:\"review\";i:2;s:5:\"pllwc\";}'), +(71, 1, 'description_fr', ''), +(72, 1, 'session_tokens', 'a:2:{s:64:\"c4052d5a7a0fc49457b8cd85fa5d32164e6b51500c96a474dec7ed18c68eed1d\";a:4:{s:10:\"expiration\";i:1602888971;s:2:\"ip\";s:15:\"104.193.173.219\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36\";s:5:\"login\";i:1602716171;}s:64:\"0d7464dc653a28e54bcc783fc84e09215300cd05c68c357458447a898db61f52\";a:4:{s:10:\"expiration\";i:1604098255;s:2:\"ip\";s:13:\"184.66.228.51\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36\";s:5:\"login\";i:1602888655;}}'), +(74, 1, 'nav_menu_recently_edited', '17'), +(75, 1, 'closedpostboxes_dashboard', 'a:9:{i:0;s:21:\"dashboard_site_health\";i:1;s:19:\"dashboard_right_now\";i:2;s:18:\"dashboard_activity\";i:3;s:18:\"wpe_dify_news_feed\";i:4;s:36:\"woocommerce_dashboard_recent_reviews\";i:5;s:21:\"dashboard_quick_press\";i:6;s:17:\"dashboard_primary\";i:7;s:24:\"wpseo-dashboard-overview\";i:8;s:28:\"woocommerce_dashboard_status\";}'), +(76, 1, 'metaboxhidden_dashboard', 'a:0:{}'), +(77, 1, 'closedpostboxes_project', 'a:2:{i:0;s:10:\"wpseo_meta\";i:1;s:23:\"acf-group_5e5d8616df60a\";}'), +(78, 1, 'metaboxhidden_project', 'a:0:{}'), +(79, 1, 'meta-box-order_dashboard', 'a:4:{s:6:\"normal\";s:116:\"dashboard_site_health,dashboard_right_now,dashboard_activity,wpe_dify_news_feed,woocommerce_dashboard_recent_reviews\";s:4:\"side\";s:93:\"dashboard_quick_press,dashboard_primary,wpseo-dashboard-overview,woocommerce_dashboard_status\";s:7:\"column3\";s:0:\"\";s:7:\"column4\";s:0:\"\";}'), +(81, 1, 'WPE_LAST_LOGIN_TIME', '1602888655'), +(82, 1, 'WPE_LOGGED_REQUEST_IDS', 'a:0:{}'), +(84, 1, 'closedpostboxes_post', 'a:1:{i:0;s:10:\"wpseo_meta\";}'), +(85, 1, 'metaboxhidden_post', 'a:0:{}'), +(86, 1, '_woocommerce_tracks_anon_id', 'woo:Ifz0ZeNptc0w7s/8X96kHWHN'), +(87, 1, 'last_update', '1602890627'), +(88, 1, 'woocommerce_admin_activity_panel_inbox_last_read', '1600474257140'), +(89, 1, 'wp_woocommerce_product_import_mapping', 'a:51:{i:0;s:2:\"id\";i:1;s:4:\"type\";i:2;s:3:\"sku\";i:3;s:4:\"name\";i:4;s:9:\"published\";i:5;s:8:\"featured\";i:6;s:18:\"catalog_visibility\";i:7;s:17:\"short_description\";i:8;s:11:\"description\";i:9;s:17:\"date_on_sale_from\";i:10;s:15:\"date_on_sale_to\";i:11;s:10:\"tax_status\";i:12;s:9:\"tax_class\";i:13;s:12:\"stock_status\";i:14;s:14:\"stock_quantity\";i:15;s:10:\"backorders\";i:16;s:17:\"sold_individually\";i:17;s:0:\"\";i:18;s:0:\"\";i:19;s:0:\"\";i:20;s:0:\"\";i:21;s:15:\"reviews_allowed\";i:22;s:13:\"purchase_note\";i:23;s:10:\"sale_price\";i:24;s:13:\"regular_price\";i:25;s:12:\"category_ids\";i:26;s:7:\"tag_ids\";i:27;s:17:\"shipping_class_id\";i:28;s:6:\"images\";i:29;s:14:\"download_limit\";i:30;s:15:\"download_expiry\";i:31;s:9:\"parent_id\";i:32;s:16:\"grouped_products\";i:33;s:10:\"upsell_ids\";i:34;s:14:\"cross_sell_ids\";i:35;s:11:\"product_url\";i:36;s:11:\"button_text\";i:37;s:10:\"menu_order\";i:38;s:16:\"attributes:name1\";i:39;s:17:\"attributes:value1\";i:40;s:19:\"attributes:visible1\";i:41;s:20:\"attributes:taxonomy1\";i:42;s:16:\"attributes:name2\";i:43;s:17:\"attributes:value2\";i:44;s:19:\"attributes:visible2\";i:45;s:20:\"attributes:taxonomy2\";i:46;s:23:\"meta:_wpcom_is_markdown\";i:47;s:15:\"downloads:name1\";i:48;s:14:\"downloads:url1\";i:49;s:15:\"downloads:name2\";i:50;s:14:\"downloads:url2\";}'), +(90, 1, 'wp_product_import_error_log', 'a:0:{}'), +(91, 1, 'wc_last_active', '1602806400'), +(92, 1, '_order_count', '0'), +(103, 3, 'nickname', 'gatsbyinttests'), +(104, 3, 'first_name', ''), +(105, 3, 'last_name', ''), +(106, 3, 'description', ''), +(107, 3, 'rich_editing', 'true'), +(108, 3, 'syntax_highlighting', 'true'), +(109, 3, 'comment_shortcuts', 'false'), +(110, 3, 'admin_color', 'fresh'), +(111, 3, 'use_ssl', '0'), +(112, 3, 'show_admin_bar_front', 'true'), +(113, 3, 'locale', ''), +(114, 3, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(115, 3, 'wp_user_level', '10'), +(116, 3, '_yoast_wpseo_profile_updated', '1602114042'), +(117, 3, 'dismissed_wp_pointers', ''), +(119, 3, 'wc_last_active', '1602892800'), +(121, 3, '_order_count', '0'), +(124, 1, 'wp_yoast_notifications', 'a:2:{i:0;a:2:{s:7:\"message\";s:372:\"New in Yoast SEO 14.9: We now have Hebrew keyphrase recognition and some great performance improvements! Read all about version 14.9 here\";s:7:\"options\";a:10:{s:4:\"type\";s:7:\"updated\";s:2:\"id\";s:20:\"wpseo-plugin-updated\";s:4:\"user\";O:7:\"WP_User\":8:{s:4:\"data\";O:8:\"stdClass\":10:{s:2:\"ID\";s:1:\"1\";s:10:\"user_login\";s:5:\"Tyler\";s:9:\"user_pass\";s:34:\"$P$BJd36otMOjuUJ16oDkeqeL.PI32zIQ0\";s:13:\"user_nicename\";s:5:\"tyler\";s:10:\"user_email\";s:18:\"tyler@gatsbyjs.com\";s:8:\"user_url\";s:0:\"\";s:15:\"user_registered\";s:19:\"2020-02-25 17:54:21\";s:19:\"user_activation_key\";s:0:\"\";s:11:\"user_status\";s:1:\"0\";s:12:\"display_name\";s:5:\"Tyler\";}s:2:\"ID\";i:1;s:4:\"caps\";a:1:{s:13:\"administrator\";b:1;}s:7:\"cap_key\";s:15:\"wp_capabilities\";s:5:\"roles\";a:1:{i:0;s:13:\"administrator\";}s:7:\"allcaps\";a:117:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;s:12:\"manage_polls\";b:1;s:20:\"wpseo_manage_options\";b:1;s:18:\"manage_woocommerce\";b:1;s:24:\"view_woocommerce_reports\";b:1;s:12:\"edit_product\";b:1;s:12:\"read_product\";b:1;s:14:\"delete_product\";b:1;s:13:\"edit_products\";b:1;s:20:\"edit_others_products\";b:1;s:16:\"publish_products\";b:1;s:21:\"read_private_products\";b:1;s:15:\"delete_products\";b:1;s:23:\"delete_private_products\";b:1;s:25:\"delete_published_products\";b:1;s:22:\"delete_others_products\";b:1;s:21:\"edit_private_products\";b:1;s:23:\"edit_published_products\";b:1;s:20:\"manage_product_terms\";b:1;s:18:\"edit_product_terms\";b:1;s:20:\"delete_product_terms\";b:1;s:20:\"assign_product_terms\";b:1;s:15:\"edit_shop_order\";b:1;s:15:\"read_shop_order\";b:1;s:17:\"delete_shop_order\";b:1;s:16:\"edit_shop_orders\";b:1;s:23:\"edit_others_shop_orders\";b:1;s:19:\"publish_shop_orders\";b:1;s:24:\"read_private_shop_orders\";b:1;s:18:\"delete_shop_orders\";b:1;s:26:\"delete_private_shop_orders\";b:1;s:28:\"delete_published_shop_orders\";b:1;s:25:\"delete_others_shop_orders\";b:1;s:24:\"edit_private_shop_orders\";b:1;s:26:\"edit_published_shop_orders\";b:1;s:23:\"manage_shop_order_terms\";b:1;s:21:\"edit_shop_order_terms\";b:1;s:23:\"delete_shop_order_terms\";b:1;s:23:\"assign_shop_order_terms\";b:1;s:16:\"edit_shop_coupon\";b:1;s:16:\"read_shop_coupon\";b:1;s:18:\"delete_shop_coupon\";b:1;s:17:\"edit_shop_coupons\";b:1;s:24:\"edit_others_shop_coupons\";b:1;s:20:\"publish_shop_coupons\";b:1;s:25:\"read_private_shop_coupons\";b:1;s:19:\"delete_shop_coupons\";b:1;s:27:\"delete_private_shop_coupons\";b:1;s:29:\"delete_published_shop_coupons\";b:1;s:26:\"delete_others_shop_coupons\";b:1;s:25:\"edit_private_shop_coupons\";b:1;s:27:\"edit_published_shop_coupons\";b:1;s:24:\"manage_shop_coupon_terms\";b:1;s:22:\"edit_shop_coupon_terms\";b:1;s:24:\"delete_shop_coupon_terms\";b:1;s:24:\"assign_shop_coupon_terms\";b:1;s:13:\"administrator\";b:1;}s:6:\"filter\";N;s:16:\"\0WP_User\0site_id\";i:1;}s:5:\"nonce\";N;s:8:\"priority\";d:0.5;s:9:\"data_json\";a:1:{s:13:\"dismiss_value\";s:4:\"14.9\";}s:13:\"dismissal_key\";s:20:\"wpseo-plugin-updated\";s:12:\"capabilities\";a:1:{i:0;s:20:\"wpseo_manage_options\";}s:16:\"capability_check\";s:3:\"all\";s:14:\"yoast_branding\";b:0;}}i:1;a:2:{s:7:\"message\";s:430:\"Yoast SEO and WooCommerce can work together a lot better by adding a helper plugin. Please install Yoast WooCommerce SEO to make your life better. More information.\";s:7:\"options\";a:10:{s:4:\"type\";s:7:\"warning\";s:2:\"id\";s:44:\"wpseo-suggested-plugin-yoast-woocommerce-seo\";s:4:\"user\";r:7;s:5:\"nonce\";N;s:8:\"priority\";d:0.5;s:9:\"data_json\";a:0:{}s:13:\"dismissal_key\";N;s:12:\"capabilities\";a:1:{i:0;s:15:\"install_plugins\";}s:16:\"capability_check\";s:3:\"all\";s:14:\"yoast_branding\";b:0;}}}'), +(125, 4, 'nickname', 'devgatsbyint'), +(126, 4, 'first_name', ''), +(127, 4, 'last_name', ''), +(128, 4, 'description', ''), +(129, 4, 'rich_editing', 'true'), +(130, 4, 'syntax_highlighting', 'true'), +(131, 4, 'comment_shortcuts', 'false'), +(132, 4, 'admin_color', 'fresh'), +(133, 4, 'use_ssl', '0'), +(134, 4, 'show_admin_bar_front', 'true'), +(135, 4, 'locale', ''), +(136, 4, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(137, 4, 'wp_user_level', '10'), +(138, 4, '_yoast_wpseo_profile_updated', '1602889341'), +(139, 4, 'dismissed_wp_pointers', ''), +(140, 4, 'facebook', ''), +(141, 4, 'instagram', ''), +(142, 4, 'linkedin', ''), +(143, 4, 'myspace', ''), +(144, 4, 'pinterest', ''), +(145, 4, 'soundcloud', ''), +(146, 4, 'tumblr', ''), +(147, 4, 'twitter', ''), +(148, 4, 'youtube', ''), +(149, 4, 'wikipedia', ''), +(150, 4, 'last_update', '1602889341'), +(151, 4, '_order_count', '0'), +(152, 4, 'wpseo_title', ''), +(153, 4, 'wpseo_metadesc', ''), +(154, 4, 'wpseo_noindex_author', ''), +(155, 4, 'wpseo_content_analysis_disable', ''), +(156, 4, 'wpseo_keyword_analysis_disable', ''), +(157, 4, 'description_fr', ''), +(158, 4, 'billing_first_name', ''), +(159, 4, 'billing_last_name', ''), +(160, 4, 'billing_company', ''), +(161, 4, 'billing_address_1', ''), +(162, 4, 'billing_address_2', ''), +(163, 4, 'billing_city', ''), +(164, 4, 'billing_postcode', ''), +(165, 4, 'billing_country', ''), +(166, 4, 'billing_state', ''), +(167, 4, 'billing_phone', ''), +(168, 4, 'billing_email', 'tyler+1@gatsbyjs.com'), +(169, 4, 'shipping_first_name', ''), +(170, 4, 'shipping_last_name', ''), +(171, 4, 'shipping_company', ''), +(172, 4, 'shipping_address_1', ''), +(173, 4, 'shipping_address_2', ''), +(174, 4, 'shipping_city', ''), +(175, 4, 'shipping_postcode', ''), +(176, 4, 'shipping_country', ''), +(177, 4, 'shipping_state', ''), +(178, 3, 'session_tokens', 'a:1:{s:64:\"940b018f2f19ffdca10ba560640ec32b58e43def7a0bb66c773fbfb3ebcb88b2\";a:4:{s:10:\"expiration\";i:1603115359;s:2:\"ip\";s:12:\"75.81.193.56\";s:2:\"ua\";s:76:\"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0\";s:5:\"login\";i:1602942559;}}'), +(180, 3, '_woocommerce_tracks_anon_id', 'woo:qMq+fiWaz3IQE2+jf8vRnp2a'), +(181, 3, 'wp_dashboard_quick_press_last_post_id', '11376'), +(183, 3, 'community-events-location', 'a:1:{s:2:\"ip\";s:11:\"75.81.193.0\";}'), +(184, 5, 'nickname', 'admin'), +(185, 5, 'first_name', 'admin'), +(186, 5, 'last_name', ''), +(187, 5, 'description', ''), +(188, 5, 'rich_editing', 'true'), +(189, 5, 'syntax_highlighting', 'true'), +(190, 5, 'comment_shortcuts', 'false'), +(191, 5, 'admin_color', 'fresh'), +(192, 5, 'use_ssl', '0'), +(193, 5, 'show_admin_bar_front', 'true'), +(194, 5, 'locale', ''), +(195, 5, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(196, 5, 'wp_user_level', '10'), +(197, 5, 'dismissed_wp_pointers', ''), +(198, 3, 'nav_menu_recently_edited', '17'), +(199, 3, 'managenav-menuscolumnshidden', 'a:5:{i:0;s:11:\"link-target\";i:1;s:11:\"css-classes\";i:2;s:3:\"xfn\";i:3;s:11:\"description\";i:4;s:15:\"title-attribute\";}'), +(200, 3, 'metaboxhidden_nav-menus', 'a:7:{i:0;s:25:\"add-post-type-team_member\";i:1;s:21:\"add-post-type-project\";i:2;s:29:\"add-post-type-type_limit_test\";i:3;s:31:\"add-post-type-type_limit_0_test\";i:4;s:34:\"add-post-type-translation_filter_t\";i:5;s:31:\"add-post-type-acfcustomposttype\";i:6;s:12:\"add-post_tag\";}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_users` +-- + +CREATE TABLE `wp_users` ( + `ID` bigint(20) UNSIGNED NOT NULL, + `user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_pass` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_nicename` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_url` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_activation_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_status` int(11) NOT NULL DEFAULT '0', + `display_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_users` +-- + +INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES +(1, 'Tyler', '$P$BJd36otMOjuUJ16oDkeqeL.PI32zIQ0', 'tyler', 'tyler@gatsbyjs.com', '', '2020-02-25 17:54:21', '', 0, 'Tyler'), +(2, 'Test user', '$P$BtyWoIKQUdlqQAcVTBEaMiXTUeWdJM1', 'test-user', 'tylerdbarnes@gmail.com', '', '2020-03-06 01:47:18', '1583459242:$P$BA48CzQQBYDx/UasbhBMi/Xo2EeNrh.', 0, 'Test User'), +(3, 'gatsbyinttests', '$P$Ber5ruCvHNivw4yUWqe.lgEkRQdPD21', 'gatsbyinttests', 'ty.ler@gatsbyjs.com', '', '2020-10-07 23:40:42', '', 0, 'gatsbyinttests'), +(4, 'devgatsbyint', '$P$BkAyzazsuGQN2Bp6C/xMwI72nxrcm/0', 'devgatsbyint', 'tyler+1@gatsbyjs.com', '', '2020-10-16 22:55:52', '', 0, 'devgatsbyint'), +(5, 'admin', '$P$B0U7yfuI1WZ5nwVCScDENkN2bVs/nv0', 'admin', 'admin@admin.com', '', '2020-10-17 13:57:12', '1602943033:$P$BU7D3WZELeXsVy3QqA3CGYDU0ktm5e0', 0, 'admin'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_wpsdb_alter_statements` +-- + +CREATE TABLE `wp_wpsdb_alter_statements` ( + `query` longtext NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `wp_actionscheduler_actions` +-- +ALTER TABLE `wp_actionscheduler_actions` + ADD PRIMARY KEY (`action_id`), + ADD KEY `hook` (`hook`), + ADD KEY `status` (`status`), + ADD KEY `scheduled_date_gmt` (`scheduled_date_gmt`), + ADD KEY `args` (`args`), + ADD KEY `group_id` (`group_id`), + ADD KEY `last_attempt_gmt` (`last_attempt_gmt`), + ADD KEY `claim_id` (`claim_id`); + +-- +-- Indexes for table `wp_actionscheduler_claims` +-- +ALTER TABLE `wp_actionscheduler_claims` + ADD PRIMARY KEY (`claim_id`), + ADD KEY `date_created_gmt` (`date_created_gmt`); + +-- +-- Indexes for table `wp_actionscheduler_groups` +-- +ALTER TABLE `wp_actionscheduler_groups` + ADD PRIMARY KEY (`group_id`), + ADD KEY `slug` (`slug`(191)); + +-- +-- Indexes for table `wp_actionscheduler_logs` +-- +ALTER TABLE `wp_actionscheduler_logs` + ADD PRIMARY KEY (`log_id`), + ADD KEY `action_id` (`action_id`), + ADD KEY `log_date_gmt` (`log_date_gmt`); + +-- +-- Indexes for table `wp_commentmeta` +-- +ALTER TABLE `wp_commentmeta` + ADD PRIMARY KEY (`meta_id`), + ADD KEY `comment_id` (`comment_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_comments` +-- +ALTER TABLE `wp_comments` + ADD PRIMARY KEY (`comment_ID`), + ADD KEY `comment_post_ID` (`comment_post_ID`), + ADD KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), + ADD KEY `comment_date_gmt` (`comment_date_gmt`), + ADD KEY `comment_parent` (`comment_parent`), + ADD KEY `comment_author_email` (`comment_author_email`(10)), + ADD KEY `woo_idx_comment_type` (`comment_type`); + +-- +-- Indexes for table `wp_links` +-- +ALTER TABLE `wp_links` + ADD PRIMARY KEY (`link_id`), + ADD KEY `link_visible` (`link_visible`); + +-- +-- Indexes for table `wp_options` +-- +ALTER TABLE `wp_options` + ADD PRIMARY KEY (`option_id`), + ADD UNIQUE KEY `option_name` (`option_name`), + ADD KEY `autoload` (`autoload`); + +-- +-- Indexes for table `wp_postmeta` +-- +ALTER TABLE `wp_postmeta` + ADD PRIMARY KEY (`meta_id`), + ADD KEY `post_id` (`post_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_posts` +-- +ALTER TABLE `wp_posts` + ADD PRIMARY KEY (`ID`), + ADD KEY `post_name` (`post_name`(191)), + ADD KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), + ADD KEY `post_parent` (`post_parent`), + ADD KEY `post_author` (`post_author`); + +-- +-- Indexes for table `wp_signups` +-- +ALTER TABLE `wp_signups` + ADD PRIMARY KEY (`signup_id`), + ADD KEY `activation_key` (`activation_key`), + ADD KEY `user_email` (`user_email`), + ADD KEY `user_login_email` (`user_login`,`user_email`), + ADD KEY `domain_path` (`domain`(140),`path`(51)); + +-- +-- Indexes for table `wp_termmeta` +-- +ALTER TABLE `wp_termmeta` + ADD PRIMARY KEY (`meta_id`), + ADD KEY `term_id` (`term_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_terms` +-- +ALTER TABLE `wp_terms` + ADD PRIMARY KEY (`term_id`), + ADD KEY `slug` (`slug`(191)), + ADD KEY `name` (`name`(191)); + +-- +-- Indexes for table `wp_term_relationships` +-- +ALTER TABLE `wp_term_relationships` + ADD PRIMARY KEY (`object_id`,`term_taxonomy_id`), + ADD KEY `term_taxonomy_id` (`term_taxonomy_id`); + +-- +-- Indexes for table `wp_term_taxonomy` +-- +ALTER TABLE `wp_term_taxonomy` + ADD PRIMARY KEY (`term_taxonomy_id`), + ADD UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), + ADD KEY `taxonomy` (`taxonomy`); + +-- +-- Indexes for table `wp_usermeta` +-- +ALTER TABLE `wp_usermeta` + ADD PRIMARY KEY (`umeta_id`), + ADD KEY `user_id` (`user_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_users` +-- +ALTER TABLE `wp_users` + ADD PRIMARY KEY (`ID`), + ADD KEY `user_login_key` (`user_login`), + ADD KEY `user_nicename` (`user_nicename`), + ADD KEY `user_email` (`user_email`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_actions` +-- +ALTER TABLE `wp_actionscheduler_actions` + MODIFY `action_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8482; + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_claims` +-- +ALTER TABLE `wp_actionscheduler_claims` + MODIFY `claim_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4784; + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_groups` +-- +ALTER TABLE `wp_actionscheduler_groups` + MODIFY `group_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_logs` +-- +ALTER TABLE `wp_actionscheduler_logs` + MODIFY `log_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=95; + +-- +-- AUTO_INCREMENT for table `wp_commentmeta` +-- +ALTER TABLE `wp_commentmeta` + MODIFY `meta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `wp_comments` +-- +ALTER TABLE `wp_comments` + MODIFY `comment_ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `wp_links` +-- +ALTER TABLE `wp_links` + MODIFY `link_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `wp_options` +-- +ALTER TABLE `wp_options` + MODIFY `option_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5350; + +-- +-- AUTO_INCREMENT for table `wp_postmeta` +-- +ALTER TABLE `wp_postmeta` + MODIFY `meta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=70126; + +-- +-- AUTO_INCREMENT for table `wp_posts` +-- +ALTER TABLE `wp_posts` + MODIFY `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11378; + +-- +-- AUTO_INCREMENT for table `wp_signups` +-- +ALTER TABLE `wp_signups` + MODIFY `signup_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `wp_termmeta` +-- +ALTER TABLE `wp_termmeta` + MODIFY `meta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=22; + +-- +-- AUTO_INCREMENT for table `wp_terms` +-- +ALTER TABLE `wp_terms` + MODIFY `term_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=77; + +-- +-- AUTO_INCREMENT for table `wp_term_taxonomy` +-- +ALTER TABLE `wp_term_taxonomy` + MODIFY `term_taxonomy_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=77; + +-- +-- AUTO_INCREMENT for table `wp_usermeta` +-- +ALTER TABLE `wp_usermeta` + MODIFY `umeta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=201; + +-- +-- AUTO_INCREMENT for table `wp_users` +-- +ALTER TABLE `wp_users` + MODIFY `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/packages/gatsby-source-wordpress/docker/wordpress/Dockerfile b/packages/gatsby-source-wordpress/docker/wordpress/Dockerfile new file mode 100644 index 0000000000000..888486d4bc3da --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/Dockerfile @@ -0,0 +1,42 @@ +FROM wordpress:5.6 + +ARG WP_CONTENT_DIR=/usr/src/wordpress/wp-content +ARG PLUGIN_DIR=${WP_CONTENT_DIR}/plugins +ARG UPLOADS_DIR=${WP_CONTENT_DIR}/uploads + +LABEL maintainer="rikki@gatsbyjs.com" + +# Set timezone, install XDebug, PHP Composer, WP-CLI +RUN echo 'date.timezone = "UTC"' > /usr/local/etc/php/conf.d/timezone.ini \ + && apt-get update && apt-get install unzip git -y && rm -rf /var/lib/apt/lists/* \ + && pecl install xdebug \ + && docker-php-ext-enable xdebug \ + && docker-php-ext-install pdo_mysql \ + && curl -Ls 'https://raw.githubusercontent.com/composer/getcomposer.org/fc4099e0ac116a1c8f61fffaf6693594dda79d16/web/installer' | php -- --quiet \ + && chmod +x composer.phar \ + && mv composer.phar /usr/local/bin/composer \ + && curl -O 'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar' \ + && chmod +x wp-cli.phar \ + && mv wp-cli.phar /usr/local/bin/wp + + +RUN curl https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -o /usr/local/bin/wait-for-it \ + && chmod +x /usr/local/bin/wait-for-it + +COPY start.sh /usr/local/bin/start.sh +RUN chmod +x /usr/local/bin/start.sh + +RUN curl -L https://storage.googleapis.com/gatsby-source-wordpress-files/gatsby-source-wordpress-test-uploads.zip > /tmp/archive.zip +RUN unzip -a -d ${WP_CONTENT_DIR} /tmp/archive.zip +RUN rm -rf ${WP_CONTENT_DIR}/__MACOSX && mv ${WP_CONTENT_DIR}/gatsby-source-wordpress-test-uploads/wp-content/uploads ${UPLOADS_DIR} +RUN rm /tmp/archive.zip + +COPY install-plugin.sh /usr/local/bin/install-plugin +RUN chmod +x /usr/local/bin/install-plugin + +COPY install-wp-graphql-plugins.sh /usr/local/bin/install-wp-graphql-plugins +RUN chmod +x /usr/local/bin/install-wp-graphql-plugins + +EXPOSE 8001 + +CMD ["wait-for-it", "-t", "40", "db:3306", "--", "/usr/local/bin/start.sh"] diff --git a/packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh b/packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh new file mode 100755 index 0000000000000..de6fb6355091b --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +PLUGIN=$1 +REPO=$2 +VERSION=$3 + +if [ -z "$PLUGIN" ] +then + echo "no plugin supplied" + exit; +fi + +if [ -z "$REPO" ] +then + echo "no repo supplied" + exit; +fi + +if [ -z "$VERSION" ] +then + echo "no version supplied" + exit; +fi + +mkdir -p /usr/src/wordpress/wp-content/plugins/${PLUGIN} \ + && curl -L https://github.com/${REPO}/archive/${VERSION}.tar.gz \ + | tar xvz -C /usr/src/wordpress/wp-content/plugins/${PLUGIN} --strip-components=1 diff --git a/packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh b/packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh new file mode 100755 index 0000000000000..0581e20b76c45 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh @@ -0,0 +1,20 @@ +#!/bin/bash +WP_CONTENT_DIR=/usr/src/wordpress/wp-content +PLUGIN_DIR=${WP_CONTENT_DIR}/plugins + +mkdir -p ${PLUGIN_DIR} && \ +# WP GraphQL from github release +git clone --depth 1 -b ${WPGRAPHQL_VERSION} https://github.com/wp-graphql/wp-graphql.git ${PLUGIN_DIR}/wp-graphql && \ + +# Install wp-gatsby using git, and apply a diff +git clone --depth 1 -b ${WPGATSBY_VERSION} https://github.com/gatsbyjs/wp-gatsby.git ${PLUGIN_DIR}/wp-gatsby && \ + +# WP GraphQL ACF from github release +install-plugin wp-graphql-acf wp-graphql/wp-graphql-acf ${WPGRAPHQL_ACF_VERSION} && \ + +# WP GraphQL CPTUI from github release +install-plugin wp-graphql-custom-post-type-ui wp-graphql/wp-graphql-custom-post-type-ui ${WPGRAPHQL_CPT_UI_VERSION} && \ + +git clone --depth 1 -b ${ACF_VERSION} https://github.com/wp-premium/advanced-custom-fields-pro.git ${PLUGIN_DIR}/advanced-custom-fields-pro && \ + +git clone --depth 1 https://github.com/WP-API/Basic-Auth.git ${PLUGIN_DIR}/basic-auth diff --git a/packages/gatsby-source-wordpress/docker/wordpress/start.sh b/packages/gatsby-source-wordpress/docker/wordpress/start.sh new file mode 100755 index 0000000000000..a9e40d9f041f8 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/start.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +install-wp-graphql-plugins + +# This seems goofy +echo "xdebug.max_nesting_level=-1" >> /usr/local/etc/php/php.ini-development +echo "xdebug.max_nesting_level=-1" >> /usr/local/etc/php/php.ini-production +echo "xdebug.max_nesting_level=-1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini + + +sed -i "s/Listen 80$/Listen 8001/g" /etc/apache2/ports.conf +sed -i "s/80>$/8001>/g" /etc/apache2/sites-available/000-default.conf +docker-entrypoint.sh apache2-foreground diff --git a/packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile b/packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile new file mode 100644 index 0000000000000..5c0a1ba815a8c --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile @@ -0,0 +1,16 @@ +FROM wordpress:cli-php7.4 + +USER root +RUN apk add unzip git + +RUN mkdir -p /etc/X11/fs/.wp-cli/cache + +RUN curl https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -o /usr/local/bin/wait-for-it \ + && chmod +x /usr/local/bin/wait-for-it + +COPY start.sh /usr/local/bin/wp-start +RUN chmod +x /usr/local/bin/wp-start + +USER xfs + +CMD ["wait-for-it", "-t", "60", "wordpress:8001", "--", "wp-start"] diff --git a/packages/gatsby-source-wordpress/docker/wp-cli/start.sh b/packages/gatsby-source-wordpress/docker/wp-cli/start.sh new file mode 100755 index 0000000000000..7c2e8d8517e9e --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wp-cli/start.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +wp core install \ + --path="/var/www/html" \ + --url="http://localhost:8001" \ + --title="Gatsby & WordPress" \ + --admin_user=admin \ + --admin_password=secret \ + --admin_email=admin@admin.com + + +wp search-replace 'https://devgatsbyint.wpengine.com' 'http://localhost:8001' + +wp user update admin --user_pass="secret" +wp plugin install custom-post-type-ui --version=$CPT_UI_VERSION +# activate plugins +wp plugin activate wp-graphql custom-post-type-ui wp-graphql-custom-post-type-ui advanced-custom-fields-pro basic-auth + +wp plugin activate wp-graphql-acf + +wp plugin activate wp-gatsby + +# this seems to be needed now +wp core update-db + +wp cache flush + +# set path rewrite structure +wp rewrite structure '/%year%/%monthnum%/%day%/%postname%/' +wp rewrite flush diff --git a/packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh b/packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh new file mode 100755 index 0000000000000..7b58462fc1802 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh @@ -0,0 +1,14 @@ +if ! $(wp core is-installed); then +echo "heyyyy" + wp core install \ + --path="/var/www/html" \ + --url="http://localhost:8001" \ + --title="Gatsby & WordPress" \ + --admin_user=admin \ + --admin_password=secret \ + --admin_email=foo@bar.com +else + echo "WordPress is already installed." +fi + +eval $1 diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-builds-webhook.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-builds-webhook.png new file mode 100644 index 0000000000000000000000000000000000000000..3e7eaf4c8c920c1e6a5fd7e70793197b6882bf9d GIT binary patch literal 247690 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%0AyeA;SpFJcz7n>UPcvI26=~MwIH%Ut#>lhGw0!D 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 z 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 hnm8Px|9NVGbK{xrwBw-Oo` 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 literal 0 HcmV?d00001 diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-webhook-url.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-webhook-url.png new file mode 100644 index 0000000000000000000000000000000000000000..c562f2d2fd293b3427808a3e727002768f27ee13 GIT binary patch literal 223105 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

    _ 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�PdN4QY9d&DP=zKcV~g0`Mtl*@&3*vM6+_eTqUQ~ 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

    My WordPress Blog

    +

    Posts

    + {data.allWpPost.nodes.map((node) => ( +
    +

    {node.title}

    +
    +
    + ))} + {/* highlight-end */} + + ) +} + +//highlight-start +export const pageQuery = graphql` + query { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + slug + } + } + } +` +//highlight-end +``` + +Save these changes and look at `http://localhost:8000` to see your new homepage with a list of sorted blog posts! + +## Create pages for each blog post and link to them + +An index page with a post title and excerpt is great, but you should also build pages out for each of the blog posts, and link to them from your `index.js` file. + +To do this, you need to: + +1. Create pages for each blog post +2. Link up the title on the index page with the post page. + +If you haven't already, please read through [Part 7](https://www.gatsbyjs.org/tutorial/part-seven/) of the foundational tutorial, as it goes through the concept and examples of this process with Markdown instead of WordPress. + +### Creating pages for each blog post + +In Part 7 of the tutorial, the first step in creating pages is creating slugs for the markdown files. Since you are using WordPress and not Markdown files, you can grab the slugs that get returned from your API call to the WordPress source. You can skip creating slugs, since you already have them. + +Open up your `gatsby-node.js` file in the root of your project (it should be blank except for some comments) and add the following: + +```js:title=gatsby-node.js +const path = require(`path`) + +exports.createPages = ({ graphql, actions }) => { + const { createPage } = actions + return graphql(` + { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + content + slug + } + } + } + `).then((result) => { + console.log(JSON.stringify(result, null, 4)) + process.exit() + }) +} +``` + +Next, [stop and restart](https://www.gatsbyjs.org/tutorial/part-zero/#view-your-site-locally) the `gatsby develop` environment. As you watch the terminal you should see two Post objects log to the terminal. + +Excellent! As explained in Part 7 of the tutorial, this `createPages` export is one of the Gatsby "workhorses" and allows us to create your blog posts (or pages, or custom post types, etc.) from your WordPress install. + +Before you can create the blog posts, however, you need to specify a template to build the pages. + +In your `src` directory, create a directory called `templates` and in the newly created `templates` folder, create a filed named `blog-post.js`. In that new file, paste the following: + +```jsx:title=src/templates/blog-post.js +import React from "react" +import Layout from "../components/layout" +import { graphql } from "gatsby" + +export default function BlogPost({ data }) { + const post = data.allWpPost.nodes[0] + console.log(post) + return ( + +
    +

    {post.title}

    +
    +
    + + ) +} +export const query = graphql` + query($slug: String!) { + allWpPost(filter: { slug: { eq: $slug } }) { + nodes { + title + content + } + } + } +` +``` + +What is this file doing? After importing your dependencies, it constructs the layout of the post with JSX. It wraps everything in the `Layout` component, so the style is the same throughout the site. Then, it simply adds the post title and the post content. You can add anything you want and can query for here (e.g. feature image, post meta, custom fields, etc.). + +Below that, you can see the GraphQL query calling the specific post based on the `$slug`. This variable is passed to the `blog-post.js` template when the page is created in `gatsby-node.js`. To accomplish this, add the following code to the `gatsby-node.js` file: + +```js:title=gatsby-node.js +const path = require(`path`) + +exports.createPages = ({ graphql, actions }) => { + const { createPage } = actions + return graphql(` + { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + content + slug + } + } + } + `).then((result) => { + //highlight-start + result.data.allWpPost.nodes.forEach((node) => { + createPage({ + path: node.slug, + component: path.resolve(`./src/templates/blog-post.js`), + context: { + // This is the $slug variable + // passed to blog-post.js + slug: node.slug, + }, + }) + }) + //highlight-end + }) +} +``` + +You will need to stop and start your environment again using `gatsby develop`. When you do, you will not see a change on the index page of the site, but if you navigate to a 404 page, like `http://localhost:8000/asdf`, you should see the two sample posts created and be able to click on them to go to the sample posts. + +But nobody likes to go to a 404 page to find a blog post! So, let's link these up from the home page. + +### Linking to posts from the homepage + +Since you already have your structure and query done for the `index.js` page, all you need to do is use the `Link` component to wrap your titles and you should be good to go. + +Open up `src/pages/index.js` again and add the following: + +```jsx:title=src/pages/index.js +import React from "react" +import { Link, graphql } from "gatsby" //highlight-line +import Layout from "../components/layout" +import SEO from "../components/seo" + +export default function Home({ data }) { + return ( + + +

    My WordPress Blog

    +

    Posts

    + {data.allWpPost.nodes.map((node) => ( +
    + {/* highlight-start */} + +

    {node.title}

    + + {/* highlight-end */} +
    +
    + ))} + + ) +} + +export const pageQuery = graphql` + query { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + slug + } + } + } +` +``` + +And that's it! When you wrap the title in the `Link` component and reference the slug of the post, Gatsby will add some magic to the link, preload it, and make the transition between pages incredibly fast + +### Wrapping up + +You can apply the same procedure to calling and creating pages, custom post types, custom fields, taxonomies, and all the fun and flexible content WordPress is known for. This can be as simple or as complex as you would like it to be, so explore and have fun with it! + +# Up Next :point_right: + +- :boat: [Migrating from other WP source plugins](../migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](../hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](../themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](../usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](../debugging-and-troubleshooting.md) +- :national_park: [Community and Support](../community-and-support.md) +- :point_left: [Back to README.md](../../README.md) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md b/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md new file mode 100644 index 0000000000000..1eb6d92f6cf65 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md @@ -0,0 +1,74 @@ +# Configuring WPGatsby + +WPGatsby is a required plugin which modifies WPGraphQL and WordPress to work with Gatsby. It enables builds and previews. See [Installation](../getting-started.md#required-wordpress-dependencies) for more info about WPGatsby. + +1. [Setting up Builds](#setting-up-builds) +2. [Setting up Preview](#setting-up-preview) + +## Setting Up Builds + +Wether you're using a regular CI service like Netlify (I would encourage you to try the free tier of Gatsby Cloud if you are!), or you're using a supercharged CI service like Gatsby Cloud with Incremental Builds, you will set things up the same way. + +Navigate to your GatsbyJS WordPress settings by visiting this path in your WP instance `/wp-admin/options-general.php?page=gatsbyjs` or by hovering on "Settings" in the WordPress admin menu and clicking on "GatsbyJS". + +You should see the following "Builds Webhook" field at the top of the page: + +![WPGatsby Builds Webhook Screenshot](/docs/assets/wp-gatsby-builds-webhook-settings.png) + +Enter the Webhook that should be used, a POST request will be sent to the Webhook when content is updated in WordPress. + +If you're using [Gatsby Cloud](https://www.gatsbyjs.com/dashboard/sites), you can find this webhook by navigating to the "Site Settings" tab for your Gatsby instance and then navigating to "Webhook" in the left-side menu. + +Below your "Preview Webhook" you should see your "Builds Webhook". Copy this webhook and enter it into your WordPress settings. + +![Gatsby Cloud Builds Webhook Screenshot](/docs/assets/gatsby-cloud-builds-webhook.png) + +Now that your Builds webhook is set up, when content is updated in WordPress your content will update in 4 to 12 seconds if you're using Gatsby Cloud with Incremental Builds, and in 45 seconds to a few minutes (and beyond) if you're using other services! :rocket: + +## Setting Up Preview + +Once configured in the GatsbyJS settings page in wp-admin, Previews will work out of the box as long as your Gatsby pages have the corresponding node id as part of their pageContext. See [this starter's gatsby-node.js](https://github.com/TylerBarnes/using-gatsby-source-wordpress/tree/master/gatsby-node.js) for an example of how to set up your Gatsby pages. See the [feature page on Preview](../features/preview.md) for more information about how Preview works, considerations you should keep in mind while writing Preview-ready templates, and how to debug Preview templates. + +### Connecting Preview + +To get started, set up a Preview instance on [Gatsby Cloud](https://www.gatsbyjs.com/) or set up your [self-hosted Preview instance](https://www.gatsbyjs.org/docs/running-a-gatsby-preview-server/). If you want to try out Preview but aren't sure wether you want to subscribe to Gatsby Cloud or self-host, you can start a free 2 week Gatsby Cloud trial with no credit card to help you make up your mind! + +#### WordPress Settings + +Navigate to your GatsbyJS WordPress settings by visiting this path in your WP instance `/wp-admin/options-general.php?page=gatsbyjs` or by hovering on "Settings" in the WordPress admin menu and clicking on "GatsbyJS". + +You will see 4 fields related to Gatsby Preview. "Enable Gatsby Preview?", "Preview Instance", "Preview Webhook", and "Preview JWT secret". + +If you don't see this settings page, or you don't see these 4 fields, make sure the latest version of [WPGatsby](https://github.com/gatsbyjs/wp-gatsby) is installed in your WordPress instance. + +![wp-gatsbyjs-preview-settings](/docs/assets/wp-gatsbyjs-preview-settings.png) + +#### 1. Check the "Enable Gatsby Preview?" Checkbox + +When this checkbox is checked, WPGatsby will override the functionality of the WordPress "preview" button in the page/post edit screen. Clicking "preview" will open the regular WordPress preview template, but the WP frontend will be replaced with your Gatsby Preview instance. + +#### 2. Fill the "Preview Instance" Field + +This field should be filled with the public frontend URL of your Gatsby Preview instance. + +To find your **Preview Instance URL**, navigate to the "Preview" tab in [Gatsby Cloud](https://www.gatsbyjs.com/dashboard/sites), wait for your first Preview build to complete, and then copy the frontend URL from above the build history list in the center of the page. + +![Gatsby Cloud Preview frontend URL Screenshot](/docs/assets/gatsby-cloud-preview-frontend-url.png) + +#### 3. Fill the "Preview Webhook" Field + +You can find your **Preview webhook** by navigating to "Site Settings" in Gatsby Cloud and then navigating to "Webhooks" via the left-side menu. + +![Gatsby Cloud Preview Webhook URL](/docs/assets/gatsby-cloud-preview-webhook-url.png) + +#### 4. Double check the "Preview JWT secret" field + +This field should be filled for you automatically with a cryptocraphically secure key when you install WPGatsby. If this field is empty, feel free to copy a salt from the [WordPress salts generator page](https://api.wordpress.org/secret-key/1.1/salt) and use that as your JWT secret key. + +This secret key is used to authenticate short-lived JWT tokens when you're viewing previews from WordPress so a very strong key should be used to prevent security issues. + +### Using your Preview + +Now that you've configured WPGatsby for your Preview instance, visit a page or post you'd like to preview, edit it, and press "preview" in the top right corner of the edit screen like you usually would in WordPress. You should see a new tab pop open with your Preview instance and previewed content visible! + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/index.md b/packages/gatsby-source-wordpress/docs/tutorials/index.md new file mode 100644 index 0000000000000..5da0ab2dbb007 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/index.md @@ -0,0 +1,21 @@ +# Tutorials + +1. @todo Building a new site using a starter +2. [Creating a new site from scratch](./building-a-new-site-wordpress-and-gatsby.md) +3. [Configuring WPGatsby for Fast/Incremental Builds, and Preview](./configuring-wp-gatsby.md) +4. @todo Querying data +5. @todo Working with Menus +6. @todo Working with large WordPress sites + +# Up Next :point_right: + +- :feet: [Features](../features/index.md) +- :electric_plug: [Plugin options](../plugin-options.md) +- :boat: [Migrating from other WP source plugins](../migrating-from-other-wp-source-plugins.md) +- :computer: [Using Data](../using-data.md) +- :house: [Hosting WordPress](../hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](../themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](../usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](../debugging-and-troubleshooting.md) +- :national_park: [Community and Support](../community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md b/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md new file mode 100644 index 0000000000000..7dc453748c3b7 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md @@ -0,0 +1,26 @@ +# Usage with popular WPGraphQL extensions + +An ideal for this source plugin is for any WPGraphQL extension to become a Gatsby plugin. In practise we haven't yet had time to thoroughly test that all extensions work. + +Below is a list of "Confirmed" and "Unconfirmed" extensions. + +Confirmed simply means we've installed it and tried sourcing the data and it worked! All of the confirmed extensions are being used in this source plugin in production sites. The unconfirmed extensions simply haven't been fully tested and may or may not work. + +If you find a bug when using an extension please open an issue and let us know. + +## Confirmed Extensions + +- [WPGraphQL for Advanced Custom Fields](https://www.wpgraphql.com/acf/) +- [WPGraphQL Gutenberg](https://wp-graphql-gutenberg.netlify.app/) +- [WPGraphQL Yoast SEO](https://github.com/ashhitch/wp-graphql-yoast-seo) +- [WPGraphQL Polylang](https://github.com/valu-digital/wp-graphql-polylang) + +## Unconfirmed Extensions (might still work) + +- [WPGraphQL WooCommerce](https://woographql.com/) + +# Up Next :point_right: + +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/using-data.md b/packages/gatsby-source-wordpress/docs/using-data.md new file mode 100644 index 0000000000000..9893bad8b6a1d --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/using-data.md @@ -0,0 +1,21 @@ +# Using Data + +@todo this article is a stub. + +## Menus + +In order for menus to show up properly in your Gatsby site, you'll need to make sure they have a location set in WordPress. Menus that are not attached to a location are considered private data in WordPress. + +Visit your menu edit page by navigating to `[yoursite].com/wp-admin/nav-menus.php`. Once you're there, scroll to the bottom of the page to see all available locations. Select a location and save your menu and your menu should show up in Gatsby. + +![WordPress menu location settings Screenshot](/docs/assets/menu-locations.png) + +If you need help registering additional locations, refer to the WordPress.org documentation on [registering menus](https://codex.wordpress.org/Navigation_Menus#Register_Menus). + +# Up Next :point_right: + +- :house: [Hosting WordPress](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md) +- :national_park: [Community and Support](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/community-and-support.md) diff --git a/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md b/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md new file mode 100644 index 0000000000000..3ca342c16c876 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md @@ -0,0 +1,59 @@ +# Why use this plugin? + +- [Why use this plugin?](#why-use-this-plugin) + - [Why use Gatsby instead of WordPress PHP templates?](#why-use-gatsby-instead-of-wordpress-php-templates) + - [Related information:](#related-information) + - [Why use this plugin instead of X source plugin?](#why-use-this-plugin-instead-of-x-source-plugin) + - [Up Next :point_right:](#up-next-point_right) + +## Why use Gatsby instead of WordPress PHP templates? + +For starters you can keep using WordPress as the fantastic CMS it is, and use React and modern tooling for your front-end! + +Some highlights: + +- Increased security and performance due to the static rendering of Gatsby +- A componentized architecture for your front-end code with React (better maintainability) +- A simpler way of asking for data with GraphQL (no need to remember dozens of data retrieval functions) +- Client-side state management with React opens up the doors to creating an app-like or full on app experience for your users +- [Gatsby is committed to ensuring we are as accessible as possible out of the box](https://www.gatsbyjs.org/blog/2019-04-18-gatsby-commitment-to-accessibility/) + +Additionally, this plugin is a great reason to use Gatsby with WordPress. Many of the complex and difficult aspects of going decoupled with WordPress have been abstracted for you behind the scenes, so you can work on building awesome apps and sites instead of reinventing the wheel to get decoupled WordPress working in your project. + +Check out this page on [convincing developers why Gatsby is awesome](https://www.gatsbyjs.org/docs/winning-over-developers/#specific-benefits). It's meant for developers who want to convince their coworkers to use Gatsby, but it actually does a great job of describing directly to you the main reasons why using Gatsby is a great idea :) + +### Related information: + +- [ReactJS](https://reactjs.org/) +- [Gatsy Site Showcase](https://www.gatsbyjs.org/showcase/) +- [Gatsby Case Study Blog posts](https://www.gatsbyjs.org/blog/tags/case-studies/) +- [How Tinder is using WordPress with Gatsby](https://www.gatsbyjs.org/blog/2020-04-07-LA-2020-Boss/) +- [Zac Gordon on what Gatsby is and why to use it](https://www.youtube.com/watch?v=GuvAMcsoreI) + +## Why use this plugin instead of X source plugin? + +Before `gatsby-source-wordpress@v4` was released, there were 2 main ways to work with Gatsby & WordPress: `gatsby-source-wordpress@v3` and `gatsby-source-graphql`. + +Both of these worked but each had it's own pitfalls and problems. + +- [Problems with gatsby-source-wordpress@v3](./problems-with-v3.md) +- [Problems with gatsby-source-graphql](./problems-with-gatsby-source-graphql.md) + +This plugin fixes every problem listed in those two pages :point_up: + +Now we have the ability to properly cache data and this makes incremental builds, fast builds, and Preview work. Any WPGraphQL plugin now becomes a cacheable Gatsby plugin which means Gatsby and the community can build a rich plugin ecosystem around WordPress that just works! :smile: + +## Up Next :point_right: + +- :runner: [Installation & Getting started](./getting-started.md) +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :computer: [Using Data](./using-data.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/gatsby-browser.js b/packages/gatsby-source-wordpress/gatsby-browser.js new file mode 100644 index 0000000000000..2508e6c2e9b12 --- /dev/null +++ b/packages/gatsby-source-wordpress/gatsby-browser.js @@ -0,0 +1 @@ +import "./style.css" diff --git a/packages/gatsby-source-wordpress/gatsby-config.js b/packages/gatsby-source-wordpress/gatsby-config.js new file mode 100644 index 0000000000000..6013a95346476 --- /dev/null +++ b/packages/gatsby-source-wordpress/gatsby-config.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [`gatsby-plugin-catch-links`], +} diff --git a/packages/gatsby-source-wordpress/gatsby-node.js b/packages/gatsby-source-wordpress/gatsby-node.js new file mode 100644 index 0000000000000..63df6a6d69afd --- /dev/null +++ b/packages/gatsby-source-wordpress/gatsby-node.js @@ -0,0 +1 @@ +module.exports = require(`./dist/gatsby-node`) diff --git a/packages/gatsby-source-wordpress/generate-plugin-options-docs.js b/packages/gatsby-source-wordpress/generate-plugin-options-docs.js new file mode 100644 index 0000000000000..39a0c0cd176ee --- /dev/null +++ b/packages/gatsby-source-wordpress/generate-plugin-options-docs.js @@ -0,0 +1,162 @@ +const prettier = require(`prettier`) +const Joi = require(`@hapi/joi`) +const Handlebars = require(`handlebars`) +const fs = require(`fs-extra`) +const _ = require(`lodash`) +const toc = require(`markdown-toc`) + +const { + pluginOptionsSchema, +} = require(`./plugin/dist/steps/declare-plugin-options-schema`) + +// :( poor children +const excludeParentsChildren = [`RootQuery`] +/** + * Takes the keys from a Joi schema and recursively + * turns the nested keys into structured markdown documentation + * + * @param {object} keys + * @param {string} mdString + * @param {number} level + * @param {string} parent + */ +function joiKeysToMD({ + keys, + mdString = ``, + level = 1, + parent = null, + parentMetas = [], +}) { + if (parentMetas.length && parentMetas.find((meta) => meta.portableOptions)) { + return mdString + } + + Object.entries(keys).forEach(([key, value]) => { + const isRequired = value.flags && value.flags.presence === `required` + + const title = `${parent ? `${parent}.` : ``}${key}${ + isRequired ? ` (**required**)` : `` + }` + + mdString += `${`#`.repeat(level + 1)} ${title}` + + if (value.flags && value.flags.description) { + mdString += `\n\n` + const description = value.flags.description.trim() + mdString += description.endsWith(`.`) ? description : `${description}.` + } + + if (value.type) { + mdString += `\n\n` + mdString += `**Field type**: \`${_.startCase(value.type)}\`` + } + + if (value.flags && `default` in value.flags) { + const defaultValue = value.flags.default + + let printedValue + + if (typeof defaultValue === `string`) { + printedValue = defaultValue + } else if (Array.isArray(defaultValue)) { + printedValue = `[${defaultValue.join(`, `)}]` + } else if ( + [`boolean`, `function`, `number`].includes(typeof defaultValue) + ) { + printedValue = defaultValue.toString() + } else if (defaultValue === null) { + printedValue = `null` + } + + if (typeof printedValue === `string`) { + mdString += `\n\n` + mdString += `**Default value**: ${ + printedValue.includes(`\n`) + ? `\n\`\`\`js\n${printedValue}\n\`\`\`` + : `\`${printedValue}\`` + }` + } + } + + if (value.examples && value.examples.length) { + value.examples.forEach((example) => { + mdString += `\n\n\`\`\`js\n` + example + `\n\`\`\`\n` + }) + } + + mdString += `\n\n` + + const excludeChildren = excludeParentsChildren.includes(key) + + if (!excludeChildren && value.keys) { + mdString = joiKeysToMD({ + keys: value.keys, + mdString, + level: level + 1, + parent: title, + parentMetas: value.metas, + }) + } + + if (!excludeChildren && value.items && value.items.length) { + value.items.forEach((item) => { + if (item.keys) { + mdString = joiKeysToMD({ + keys: item.keys, + mdString, + level: level + 1, + parent: title + `[]`, + parentMetas: value.metas, + }) + } + }) + } + }) + + return mdString +} + +/** + * Converts the Joi schema description into markdown + * and writes it to the filesystem + * + * @param {object} description + */ +async function generateMdFileFromSchemaDescription(description) { + const template = Handlebars.compile(`# Plugin Options + +[comment]: # (This file is automatically generated. Do not edit it directly. Instead, edit the Joi schema in ./plugin/src/steps/declare-plugin-options-schema.js) +{{{tableOfContents}}} +{{{docs}}} + +# Up Next :point_right: + +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :computer: [Using Data](./using-data.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md)`) + + const docs = joiKeysToMD({ + keys: description.keys, + }) + const tableOfContents = toc(docs).content + + const mdContents = template({ + tableOfContents, + docs, + }) + + const mdContentsFormatted = prettier.format(mdContents, { + parser: `markdown`, + }) + + await fs.writeFile(`./docs/plugin-options.md`, mdContentsFormatted) +} + +const description = pluginOptionsSchema({ Joi }).describe() + +generateMdFileFromSchemaDescription(description) diff --git a/packages/gatsby-source-wordpress/index.js b/packages/gatsby-source-wordpress/index.js index bab9a764bdfa8..172f1ae6a468c 100644 --- a/packages/gatsby-source-wordpress/index.js +++ b/packages/gatsby-source-wordpress/index.js @@ -1 +1 @@ -// no-op-lo-op \ No newline at end of file +// noop diff --git a/packages/gatsby-source-wordpress/jest-transformer.js b/packages/gatsby-source-wordpress/jest-transformer.js new file mode 100644 index 0000000000000..23df1281c9a06 --- /dev/null +++ b/packages/gatsby-source-wordpress/jest-transformer.js @@ -0,0 +1,11 @@ +const babelPreset = require(`babel-preset-gatsby-package`)() +module.exports = require(`babel-jest`).createTransformer({ + ...babelPreset, + overrides: [ + ...(babelPreset.overrides || []), + { + test: [`**/*.ts`, `**/*.tsx`], + plugins: [[`@babel/plugin-transform-typescript`, { isTSX: true }]], + }, + ], +}) diff --git a/packages/gatsby-source-wordpress/jest.config.js b/packages/gatsby-source-wordpress/jest.config.js new file mode 100644 index 0000000000000..e8018be935d6e --- /dev/null +++ b/packages/gatsby-source-wordpress/jest.config.js @@ -0,0 +1,18 @@ +module.exports = { + transform: { + "^.+\\.[jt]sx?$": `/jest-transformer.js`, + }, + moduleNameMapper: { + "~/(.*)": `/plugin/src/$1`, + }, + testPathIgnorePatterns: [`node_modules`, `\\.cache`, `.*/public`], + transformIgnorePatterns: [`node_modules/(?!(gatsby)/)`], + globals: { + __PATH_PREFIX__: ``, + }, + testURL: `http://localhost`, + setupFiles: [`/loadershim.js`], + globalSetup: `./test-site/test-utils/global-setup-jest.js`, + globalTeardown: `./test-site/test-utils/global-teardown-jest.js`, + setupFilesAfterEnv: [`./test-site/test-utils/jest.setup.js`], +} diff --git a/packages/gatsby-source-wordpress/loadershim.js b/packages/gatsby-source-wordpress/loadershim.js new file mode 100644 index 0000000000000..37084c74aa532 --- /dev/null +++ b/packages/gatsby-source-wordpress/loadershim.js @@ -0,0 +1,3 @@ +global.___loader = { + enqueue: jest.fn(), +} diff --git a/packages/gatsby-source-wordpress/package.json b/packages/gatsby-source-wordpress/package.json index f08c180daa729..b97c6fdbaa8d2 100644 --- a/packages/gatsby-source-wordpress/package.json +++ b/packages/gatsby-source-wordpress/package.json @@ -1,53 +1,120 @@ { "name": "gatsby-source-wordpress", - "description": "Gatsby source plugin for building websites using the WordPress CMS as a data source.", - "version": "3.11.0-next.0", - "author": "Sebastien Fichot ", + "description": "Source data from WordPress in an efficient and scalable way.", + "author": "Tyler Barnes ", + "version": "4.0.0", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" }, - "bundledDependencies": [], "dependencies": { - "@babel/runtime": "^7.12.5", - "axios": "^0.21.1", + "@babel/runtime": "^7.6.3", + "@rematch/core": "^1.3.0", + "@rematch/immer": "^1.2.0", + "@types/cache-manager": "^2.10.3", + "@types/ink": "^2.0.3", + "async-retry": "^1.3.1", + "atob": "^2.1.2", + "axios": "^0.19.0", + "axios-rate-limit": "^1.3.0", "better-queue": "^3.8.10", - "bluebird": "^3.7.2", - "deep-map": "^1.5.0", - "deep-map-keys": "^1.2.0", - "gatsby-source-filesystem": "^2.11.0-next.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "qs": "^6.9.4" + "btoa": "^1.2.1", + "cache-manager": "^3.4.0", + "cache-manager-fs-hash": "^0.0.9", + "chalk": "^4.1.0", + "cheerio": "^1.0.0-rc.3", + "clipboardy": "^2.1.0", + "diff": "^5.0.0", + "dumper.js": "^1.3.1", + "execall": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "file-type": "^15.0.1", + "filesize": "^6.1.0", + "fs-extra": "^9.0.1", + "gatsby-core-utils": "^1.3.20", + "gatsby-image": "^2.4.14", + "gatsby-plugin-catch-links": "^2.3.11", + "gatsby-source-filesystem": "^2.3.37", + "glob": "^7.1.6", + "got": "^11.7.0", + "graphql-query-compress": "^1.2.2", + "lodash": "^4.17.19", + "node-fetch": "^2.6.0", + "p-queue": "^6.3.0", + "prettier": "^2.0.5", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "read-chunk": "^3.2.0", + "replaceall": "^0.1.6", + "semver": "^7.3.2", + "valid-url": "^1.0.9" }, - "deprecated": false, "devDependencies": { - "@babel/cli": "^7.12.1", - "@babel/core": "^7.12.3", - "babel-preset-gatsby-package": "^0.12.0-next.0", - "cross-env": "^7.0.3" + "@babel/cli": "^7.6.4", + "@babel/core": "^7.6.4", + "@babel/plugin-proposal-class-properties": "^7.10.1", + "@babel/plugin-proposal-private-methods": "^7.10.1", + "@types/semver": "^7.3.4", + "babel-jest": "^25.1.0", + "babel-plugin-import-globals": "^2.0.0", + "babel-plugin-module-resolver": "4.0.0", + "babel-preset-gatsby": "^0.2.29", + "babel-preset-gatsby-package": "^0.5.3", + "cross-env": "^5.2.1", + "identity-obj-proxy": "^3.0.0", + "jest": "^25.1.0", + "react-test-renderer": "^16.12.0", + "rimraf": "^3.0.2", + "tree-kill": "^1.2.2", + "wait-on": "^4.0.0" }, - "homepage": "https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-wordpress#readme", + "homepage": "https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-wordpress", "keywords": [ "gatsby", "gatsby-plugin", - "gatsby-source-plugin" + "gatsby-plugin-wordpress", + "gatsby-source-wordpress", + "wordpress" ], "license": "MIT", "peerDependencies": { - "gatsby": "^2.0.15" + "gatsby": "^2.24.74", + "gatsby-plugin-sharp": "^2.6.8", + "gatsby-transformer-sharp": "^2.5.10" }, "repository": { "type": "git", - "url": "https://github.com/gatsbyjs/gatsby.git", - "directory": "packages/gatsby-source-wordpress" + "url": "https://github.com/gatsbyjs/gatsby.git" }, "scripts": { - "build": "babel src --out-dir . --ignore \"**/__tests__\"", - "prepare": "cross-env NODE_ENV=production npm run build", - "watch": "babel -w src --out-dir . --ignore \"**/__tests__\"" + "build": "rimraf dist && babel src --out-dir dist --ignore **/__tests__ --extensions \".ts,.js\" --source-maps --root-mode upward", + "watch": "babel -w src --out-dir dist --ignore **/__tests__ --verbose --extensions \".ts,.js\" --source-maps", + "prettier": "prettier . --write", + "eslint": "eslint . --ext .ts,.js,.jsx,.tsx", + "prettier-check": "prettier . --check", + "lint": "yarn prettier-check && yarn eslint", + "generate-plugin-options-docs": "node ./generate-plugin-options-docs.js", + "clean-test-runtime": "cd test-site && gatsby clean", + "develop-test-runtime": "cd test-site && yarn develop", + "develop-preview": "cd test-site && ENABLE_GATSBY_REFRESH_ENDPOINT=true yarn develop", + "build-test-runtime": "cd test-site && yarn build", + "serve-test-runtime": "cd test-site && yarn serve", + "ci-test": "server-test 'yarn docker-start' http://localhost:8001", + "ci": "yarn lint && yarn ci-test", + "docker-start": "docker-compose up --build --force-recreate -V --remove-orphans", + "docker-rebuild": "./docker/rebuild.sh", + "test-schema-first": "START_SERVER=true jest ./test-site/__tests__/integration/schema", + "test-schema-increment": "WPGQL_INCREMENT=true START_SERVER=true jest ./test-site/__tests__/integration/schema", + "test-schema": "yarn clean-test-runtime && yarn test-schema-first && yarn test-schema-increment", + "build-cli": "cd cli && yarn build", + "test-preview": "START_SERVER=true ENABLE_GATSBY_REFRESH_ENDPOINT=true jest ./test-site/__tests__/e2e/preview", + "test-build": "yarn clean-test-runtime && DEFAULT_PLUGIN_OPTIONS=true jest ./test-site/__tests__/integration/build && jest ./test-site/__tests__/integration/build/plugin-options-schema", + "test": "yarn test-plugin && yarn build && yarn test-schema && yarn build-cli && yarn test-build && yarn clean-test-runtime", + "test-schema-watch": "SHOW_GATSBY_PROCESS_STDOUT=true yarn test-schema-first --watch", + "test-build-watch": "SHOW_GATSBY_PROCESS_STDOUT=true yarn test-build --watch", + "test-update": "yarn test-schema-first -u && yarn test-schema-increment -u && yarn test-build -u", + "test-plugin": "jest ./plugin/src/.*.test.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=10.0.0" } } diff --git a/packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap b/packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap deleted file mode 100644 index cf9ccee320660..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap +++ /dev/null @@ -1,15927 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Process WordPress data Converts to use only GMT dates 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - }, - "date": "2017-09-02T10:50:27.000Z", - "excerpt": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": Object { - "rendered": "Sample post 2", - }, - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - }, - "date": "2017-09-02T10:49:35.000Z", - "excerpt": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": Object { - "rendered": "Sample post 1", - }, - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": Object { - "protected": false, - "rendered": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - }, - "date": "2017-09-02T10:30:57.000Z", - "excerpt": Object { - "protected": false, - "rendered": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - }, - "featured_media": 0, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": Object { - "rendered": "Gatsby sample home page", - }, - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534327", - }, - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534351", - }, - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:32.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "fifth", - }, - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": Object { - "protected": false, - "rendered": "

    201

    -", - }, - "date": "2017-09-02T10:57:18.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "forth", - }, - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:00.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": Object { - "rendered": "third", - }, - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:47.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": Object { - "rendered": "second", - }, - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:32.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": Object { - "rendered": "first", - }, - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between authors and user entities 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between entities and polylang translations entities 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "Venise", - }, - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "dummy": true, - "linked_image___NODE": "uuid-from-gatsby", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between posts and tags/categories 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between tags/categories and taxonomies 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links from entities to media nodes 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "Venise", - }, - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "dummy": true, - "linked_image___NODE": "uuid-from-gatsby", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates map of types 1`] = ` -Object { - "undefined": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 3404, - }, - ], - "wordpress__CATEGORY": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 2, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 3, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 1, - }, - ], - "wordpress__PAGE": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 5, - }, - ], - "wordpress__POST": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 28, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 26, - }, - ], - "wordpress__TAG": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 5, - }, - ], - "wordpress__acf_options": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - ], - "wordpress__wc_categories": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 80, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 104, - }, - ], - "wordpress__wp_gatsby": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 41, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 40, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 39, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 38, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 37, - }, - ], - "wordpress__wp_media": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 12, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 10, - }, - ], - "wordpress__wp_statuses": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "publish", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "acf-disabled", - }, - ], - "wordpress__wp_taxonomies": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "category", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "post_tag", - }, - ], - "wordpress__wp_types": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "post", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "page", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "attachment", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "gatsby", - }, - ], - "wordpress__wp_users": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 1, - }, - ], -} -`; - -exports[`Process WordPress data Lifts all "rendered" fields to top-level 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Standardizes ids & cleans keys 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - }, - "date": "2017-09-02T10:50:27", - "date_gmt": "2017-09-02T10:50:27", - "excerpt": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25", - "modified_gmt": "2017-09-02T10:52:25", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": Object { - "rendered": "Sample post 2", - }, - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - }, - "date": "2017-09-02T10:49:35", - "date_gmt": "2017-09-02T10:49:35", - "excerpt": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42", - "modified_gmt": "2017-09-02T10:52:42", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": Object { - "rendered": "Sample post 1", - }, - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": Object { - "protected": false, - "rendered": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - }, - "date": "2017-09-02T10:30:57", - "date_gmt": "2017-09-02T10:30:57", - "excerpt": Object { - "protected": false, - "rendered": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - }, - "featured_media": 0, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16", - "modified_gmt": "2017-09-02T10:47:16", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": Object { - "rendered": "Gatsby sample home page", - }, - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:36:43", - "date_gmt": "2017-09-02T10:36:43", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39", - "modified_gmt": "2017-09-02T10:52:39", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534327", - }, - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:35:16", - "date_gmt": "2017-09-02T10:35:16", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23", - "modified_gmt": "2017-09-02T10:52:23", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534351", - }, - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:32", - "date_gmt": "2017-09-02T10:57:32", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32", - "modified_gmt": "2017-09-02T10:57:32", - "slug": "fifth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "fifth", - }, - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": Object { - "protected": false, - "rendered": "

    201

    -", - }, - "date": "2017-09-02T10:57:18", - "date_gmt": "2017-09-02T10:57:18", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18", - "modified_gmt": "2017-09-02T10:57:18", - "slug": "forth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "forth", - }, - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:00", - "date_gmt": "2017-09-02T10:57:00", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00", - "modified_gmt": "2017-09-02T10:57:00", - "slug": "third", - "status": "publish", - "template": "", - "title": Object { - "rendered": "third", - }, - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:47", - "date_gmt": "2017-09-02T10:56:47", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47", - "modified_gmt": "2017-09-02T10:56:47", - "slug": "second", - "status": "publish", - "template": "", - "title": Object { - "rendered": "second", - }, - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:32", - "date_gmt": "2017-09-02T10:56:32", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32", - "modified_gmt": "2017-09-02T10:56:32", - "slug": "first", - "status": "publish", - "template": "", - "title": Object { - "rendered": "first", - }, - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54", - "date_created_gmt": "2019-02-03T21:49:54", - "date_modified": "2019-02-03T21:49:54", - "date_modified_gmt": "2019-02-03T21:49:54", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data createUrlPathsFromLinks should create URL paths from links 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "path": "/sample-post-2/", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "Venise", - }, - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "path": "/sample-post-1/", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "dummy": true, - "linked_image___NODE": "uuid-from-gatsby", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "path": "/", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "path": "/sample-post-1/pexels-photo-534327/", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "path": "/gatsby-sample-home-page/pexels-photo-534351/", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "path": "/gatsby/fifth/", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "path": "/gatsby/forth/", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "path": "/gatsby/third/", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "path": "/gatsby/second/", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "path": "/gatsby/first/", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "path": "/category/sample-category-1/", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "path": "/category/sample-category-2/", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "path": "/category/uncategorized/", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "path": "/tag/sample-tag-1/", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "path": "/tag/sample-tag-2/", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "path": "/author/gatsby/", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data creates Gatsby IDs for each entity 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data creates nodes for each entry 1`] = ` -Array [ - Array [ - Object { - "children": Array [], - "internal": Object { - "contentDigest": "contentDigest", - "type": "wordpress__PAGE", - }, - "link": "/packages/gatsby-source-wordpress/", - "parent": null, - "path": "already-set", - }, - ], -] -`; diff --git a/packages/gatsby-source-wordpress/src/__tests__/data.json b/packages/gatsby-source-wordpress/src/__tests__/data.json deleted file mode 100644 index 2bc43232264ac..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/data.json +++ /dev/null @@ -1,1626 +0,0 @@ -[ - { - "id": 28, - "date": "2017-09-02T10:50:27", - "date_gmt": "2017-09-02T10:50:27", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=28" - }, - "modified": "2017-09-02T10:52:25", - "modified_gmt": "2017-09-02T10:52:25", - "slug": "sample-post-2", - "status": "publish", - "type": "post", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "title": { - "rendered": "Sample post 2" - }, - "content": { - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    \n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    \n", - "protected": false - }, - "excerpt": { - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    \n", - "protected": false - }, - "author": 1, - "featured_media": 0, - "comment_status": "open", - "ping_status": "open", - "sticky": false, - "template": "", - "format": "standard", - "meta": [], - "categories": [3], - "tags": [5], - "acf": { - "page_builder": [ - { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis." - }, - { - "acf_fc_layout": "post_photo", - "photo": { - "ID": 10, - "id": 10, - "title": "pexels-photo-534351", - "filename": "pexels-photo-534351.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534351", - "date": "2017-09-02 10:35:16", - "modified": "2017-09-02 10:52:23", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - } - ] - }, - "polylang_current_lang": "en_US", - "polylang_tranlations": [ - { - "locale": "fr_FR", - "id": 26 - } - ], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28" - } - ], - "version-history": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28" - } - ], - "wp:term": [ - { - "taxonomy": "category", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28" - }, - { - "taxonomy": "post_tag", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__POST" - }, - { - "id": 26, - "date": "2017-09-02T10:49:35", - "date_gmt": "2017-09-02T10:49:35", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=26" - }, - "modified": "2017-09-02T10:52:42", - "modified_gmt": "2017-09-02T10:52:42", - "slug": "sample-post-1", - "status": "publish", - "type": "post", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "title": { - "rendered": "Sample post 1" - }, - "content": { - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    \n

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    \n

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    \n

     

    \n", - "protected": false - }, - "excerpt": { - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    \n", - "protected": false - }, - "author": 1, - "featured_media": 0, - "comment_status": "open", - "ping_status": "open", - "sticky": false, - "template": "", - "format": "standard", - "meta": [], - "categories": [2], - "tags": [4], - "acf": { - "page_builder": [ - { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan." - }, - { - "acf_fc_layout": "image_gallery", - "pictures": [ - { - "title": "Venise", - "picture": { - "ID": 12, - "id": 12, - "title": "pexels-photo-534327", - "filename": "pexels-photo-534327.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534327", - "date": "2017-09-02 10:36:43", - "modified": "2017-09-02 10:52:39", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - }, - { - "title": "", - "picture": { - "ID": 10, - "id": 10, - "title": "pexels-photo-534351", - "filename": "pexels-photo-534351.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534351", - "date": "2017-09-02 10:35:16", - "modified": "2017-09-02 10:52:23", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - } - ] - }, - { - "acf_fc_layout": "post_photo", - "photo": { - "ID": 12, - "id": 12, - "title": "pexels-photo-534327", - "filename": "pexels-photo-534327.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534327", - "date": "2017-09-02 10:36:43", - "modified": "2017-09-02 10:52:39", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - } - ] - }, - "polylang_current_lang": "fr_FR", - "polylang_tranlations": [ - { - "locale": "en_US", - "id": 28 - } - ], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26" - } - ], - "version-history": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26" - } - ], - "wp:term": [ - { - "taxonomy": "category", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26" - }, - { - "taxonomy": "post_tag", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__POST" - }, - { - "id": 5, - "date": "2017-09-02T10:30:57", - "date_gmt": "2017-09-02T10:30:57", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5" - }, - "modified": "2017-09-02T10:47:16", - "modified_gmt": "2017-09-02T10:47:16", - "slug": "gatsby-sample-home-page", - "status": "publish", - "type": "page", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "title": { - "rendered": "Gatsby sample home page" - }, - "content": { - "rendered": "

    Lorem ipsum

    \n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    \n

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    \n

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    \n

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    \n

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    \n", - "protected": false - }, - "excerpt": { - "rendered": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    \n", - "protected": false - }, - "author": 1, - "featured_media": 0, - "parent": 0, - "menu_order": 0, - "comment_status": "closed", - "ping_status": "closed", - "template": "", - "meta": [], - "acf": { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg" - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5" - } - ], - "version-history": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__PAGE" - }, - { - "id": 12, - "date": "2017-09-02T10:36:43", - "date_gmt": "2017-09-02T10:36:43", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg" - }, - "modified": "2017-09-02T10:52:39", - "modified_gmt": "2017-09-02T10:52:39", - "slug": "pexels-photo-534327", - "status": "inherit", - "type": "attachment", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "title": { - "rendered": "pexels-photo-534327" - }, - "author": 1, - "comment_status": "open", - "ping_status": "closed", - "template": "", - "meta": [], - "acf": false, - "description": { - "rendered": "

    \"\"

    \n" - }, - "caption": { - "rendered": "" - }, - "alt_text": "", - "media_type": "image", - "mime_type": "image/jpeg", - "media_details": { - "width": 6000, - "height": 4000, - "file": "2017/09/pexels-photo-534327.jpeg", - "sizes": { - "thumbnail": { - "file": "pexels-photo-534327-150x150.jpeg", - "width": 150, - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg" - }, - "medium": { - "file": "pexels-photo-534327-300x200.jpeg", - "width": 300, - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg" - }, - "medium_large": { - "file": "pexels-photo-534327-768x512.jpeg", - "width": 768, - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg" - }, - "large": { - "file": "pexels-photo-534327-1024x683.jpeg", - "width": 1024, - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg" - }, - "full": { - "file": "pexels-photo-534327.jpeg", - "width": 6000, - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg" - } - }, - "image_meta": { - "aperture": "7.1", - "credit": "", - "camera": "ILCA-77M2", - "caption": "", - "created_timestamp": "1414776055", - "copyright": "", - "focal_length": "24", - "iso": "100", - "shutter_speed": "0.01", - "title": "", - "orientation": "1", - "keywords": [] - } - }, - "post": 26, - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12" - } - ] - }, - "__type": "wordpress__wp_media" - }, - { - "id": 10, - "date": "2017-09-02T10:35:16", - "date_gmt": "2017-09-02T10:35:16", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg" - }, - "modified": "2017-09-02T10:52:23", - "modified_gmt": "2017-09-02T10:52:23", - "slug": "pexels-photo-534351", - "status": "inherit", - "type": "attachment", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "title": { - "rendered": "pexels-photo-534351" - }, - "author": 1, - "comment_status": "open", - "ping_status": "closed", - "template": "", - "meta": [], - "acf": false, - "description": { - "rendered": "

    \"\"

    \n" - }, - "caption": { - "rendered": "" - }, - "alt_text": "", - "media_type": "image", - "mime_type": "image/jpeg", - "media_details": { - "width": 6000, - "height": 4000, - "file": "2017/09/pexels-photo-534351.jpeg", - "sizes": { - "thumbnail": { - "file": "pexels-photo-534351-150x150.jpeg", - "width": 150, - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg" - }, - "medium": { - "file": "pexels-photo-534351-300x200.jpeg", - "width": 300, - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg" - }, - "medium_large": { - "file": "pexels-photo-534351-768x512.jpeg", - "width": 768, - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg" - }, - "large": { - "file": "pexels-photo-534351-1024x683.jpeg", - "width": 1024, - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg" - }, - "full": { - "file": "pexels-photo-534351.jpeg", - "width": 6000, - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg" - } - }, - "image_meta": { - "aperture": "10", - "credit": "", - "camera": "ILCA-77M2", - "caption": "", - "created_timestamp": "1414838901", - "copyright": "", - "focal_length": "24", - "iso": "100", - "shutter_speed": "0.005", - "title": "", - "orientation": "1", - "keywords": [] - } - }, - "post": 5, - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10" - } - ] - }, - "__type": "wordpress__wp_media" - }, - { - "id": 41, - "date": "2017-09-02T10:57:32", - "date_gmt": "2017-09-02T10:57:32", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41" - }, - "modified": "2017-09-02T10:57:32", - "modified_gmt": "2017-09-02T10:57:32", - "slug": "fifth", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "title": { - "rendered": "fifth" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "2012", - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 40, - "date": "2017-09-02T10:57:18", - "date_gmt": "2017-09-02T10:57:18", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40" - }, - "modified": "2017-09-02T10:57:18", - "modified_gmt": "2017-09-02T10:57:18", - "slug": "forth", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "title": { - "rendered": "forth" - }, - "content": { - "rendered": "

    201

    \n", - "protected": false - }, - "template": "", - "acf": { - "year": "2011", - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 39, - "date": "2017-09-02T10:57:00", - "date_gmt": "2017-09-02T10:57:00", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39" - }, - "modified": "2017-09-02T10:57:00", - "modified_gmt": "2017-09-02T10:57:00", - "slug": "third", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "title": { - "rendered": "third" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "1990", - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 38, - "date": "2017-09-02T10:56:47", - "date_gmt": "2017-09-02T10:56:47", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38" - }, - "modified": "2017-09-02T10:56:47", - "modified_gmt": "2017-09-02T10:56:47", - "slug": "second", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "title": { - "rendered": "second" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "1946", - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 37, - "date": "2017-09-02T10:56:32", - "date_gmt": "2017-09-02T10:56:32", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37" - }, - "modified": "2017-09-02T10:56:32", - "modified_gmt": "2017-09-02T10:56:32", - "slug": "first", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "title": { - "rendered": "first" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "1926", - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "post": { - "description": "", - "hierarchical": false, - "name": "Posts", - "slug": "post", - "taxonomies": ["category", "post_tag"], - "rest_base": "posts", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "page": { - "description": "", - "hierarchical": true, - "name": "Pages", - "slug": "page", - "taxonomies": [], - "rest_base": "pages", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "attachment": { - "description": "", - "hierarchical": false, - "name": "Media", - "slug": "attachment", - "taxonomies": [], - "rest_base": "media", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "gatsby": { - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "slug": "gatsby", - "taxonomies": [], - "rest_base": "gatsby", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "__type": "wordpress__wp_types" - }, - { - "publish": { - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "_links": { - "archives": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ] - } - }, - "acf-disabled": { - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "_links": { - "archives": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled" - } - ] - } - }, - "__type": "wordpress__wp_statuses" - }, - { - "category": { - "name": "Categories", - "slug": "category", - "description": "", - "types": ["post"], - "hierarchical": true, - "rest_base": "categories", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "post_tag": { - "name": "Tags", - "slug": "post_tag", - "description": "", - "types": ["post"], - "hierarchical": false, - "rest_base": "tags", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "__type": "wordpress__wp_taxonomies" - }, - { - "id": 2, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "parent": 0, - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__CATEGORY" - }, - { - "id": 3, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "parent": 0, - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__CATEGORY" - }, - { - "id": 1, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "parent": 0, - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__CATEGORY" - }, - { - "id": 4, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__TAG" - }, - { - "id": 5, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__TAG" - }, - { - "id": 1, - "name": "gatsby", - "url": "", - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "slug": "gatsby", - "avatar_urls": { - "24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g" - }, - "meta": [], - "acf": false, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users" - } - ] - }, - "__type": "wordpress__wp_users" - }, - { - "acf": false, - "__type": "wordpress__acf_options" - }, - { - "id": 80, - "name": "Category 1", - "slug": "category-1", - "parent": 0, - "description": "blah blah blah", - "display": "default", - "image": { - "id": 2043, - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "name": "Category 1", - "alt": "" - }, - "__type": "wordpress__wc_categories", - "menu_order": 0, - "count": 11, - "_links": { - "self": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80" - } - ], - "collection": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories" - } - ] - } - }, - { - "id": 104, - "name": "Category 2", - "slug": "category-2", - "parent": 0, - "description": "blah blah blah", - "display": "default", - "image": { - "id": 2043, - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "name": "Category 2", - "alt": "" - }, - "__type": "wordpress__wc_categories", - "menu_order": 0, - "count": 31, - "_links": { - "self": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104" - } - ], - "collection": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories" - } - ] - } - }, - { - "id": 3404, - "name": "Test Product Gatsby", - "slug": "test-product-gatsby", - "permalink": "https://www.example.com/product/test/", - "date_created": "2019-02-03T21:49:54", - "date_created_gmt": "2019-02-03T21:49:54", - "date_modified": "2019-02-03T21:49:54", - "date_modified_gmt": "2019-02-03T21:49:54", - "type": "simple", - "status": "publish", - "featured": false, - "catalog_visibility": "visible", - "description": "", - "short_description": "", - "sku": "M-N2-T", - "price": "16.99", - "regular_price": "16.99", - "sale_price": "", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "price_html": "$16.99", - "on_sale": false, - "purchasable": true, - "total_sales": 0, - "virtual": false, - "downloadable": false, - "downloads": [], - "download_limit": -1, - "download_expiry": -1, - "external_url": "", - "button_text": "", - "tax_status": "taxable", - "tax_class": "", - "manage_stock": true, - "stock_quantity": 5, - "stock_status": "instock", - "backorders": "notify", - "backorders_allowed": true, - "backordered": false, - "sold_individually": false, - "weight": "", - "dimensions": { - "length": "", - "width": "", - "height": "" - }, - "shipping_required": true, - "shipping_taxable": true, - "shipping_class": "", - "shipping_class_id": 0, - "reviews_allowed": true, - "average_rating": "0.00", - "rating_count": 0, - "related_ids": [3340, 3374, 3336, 3354, 3338], - "upsell_ids": [], - "cross_sell_ids": [], - "parent_id": 0, - "purchase_note": "", - "categories": [ - { - "id": 80, - "name": "Category 1", - "slug": "category-1" - }, - { - "id": 104, - "name": "Category 2", - "slug": "category-2" - } - ], - "images": [ - { - "id": 3405, - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "name": "test-image-size-2", - "alt": "" - } - ], - "attributes": [], - "default_attributes": [], - "variations": [], - "grouped_products": [], - "menu_order": 0, - "meta_data": [ - { - "id": 52214, - "key": "_yoast_wpseo_primary_product_cat", - "value": "104" - }, - { - "id": 52215, - "key": "nm_product_layout", - "value": "default" - }, - { - "id": 52216, - "key": "algolia_searchable_posts_records_count", - "value": "1" - }, - { - "id": 52217, - "key": "algolia_posts_product_records_count", - "value": "1" - }, - { - "id": 52218, - "key": "_yoast_wpseo_content_score", - "value": "30" - }, - { - "id": 52219, - "key": "_wpas_done_all", - "value": "1" - }, - { - "id": 52294, - "key": "_jetpack_related_posts_cache", - "value": { - "32b0bf150bb6bd30c74ed5fafdacd61f": { - "expires": 1549276723, - "payload": [ - { - "id": 3379 - }, - { - "id": 3365 - }, - { - "id": 3402 - } - ] - } - } - } - ], - "jetpack_publicize_connections": [], - "_links": { - "self": [ - { - "href": "https://www.test.com/wp-json/wc/v3/products/3404" - } - ], - "collection": [ - { - "href": "https://www.test.com/wp-json/wc/v3/products" - } - ] - } - } -] diff --git a/packages/gatsby-source-wordpress/src/__tests__/fetch.js b/packages/gatsby-source-wordpress/src/__tests__/fetch.js deleted file mode 100644 index 141f6ce04d4f7..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/fetch.js +++ /dev/null @@ -1,59 +0,0 @@ -const fetch = require(`../fetch`) - -describe(`Fetching`, () => { - it(`gets raw entity type for wordpress.com`, () => { - const key = `/wp/v2/sites/example.wordpress.com/posts` - const path = fetch.getRawEntityType(key) - expect(path).toEqual(`posts`) - }) - - it(`gets route path for wordpress.com by removing base path from the full path`, () => { - const key = `/wp/v2/sites/example.wordpress.com/posts` - const baseUrl = `https://public-api.wordpress.com/wp/v2/sites/example.wordpress.com` - const path = fetch.getRoutePath(baseUrl, key) - expect(path).toEqual(`/posts`) - }) - - it(`gets route path for wordpress.org by removing base path from the full path`, () => { - const key = `/wp-json/wp/v2/posts` - const baseUrl = `http://dev-gatbsyjswp.pantheonsite.io/wp-json` - const path = fetch.getRoutePath(baseUrl, key) - expect(path).toEqual(`/wp/v2/posts`) - }) - - it(`builds full URL correctly for wordpress.com`, () => { - const key = `/wp/v2/sites/example.wordpress.com/posts` - const baseUrl = `https://public-api.wordpress.com/wp/v2/sites/example.wordpress.com` - const fullUrl = fetch.buildFullUrl(baseUrl, key, true) - expect(fullUrl).toEqual( - `https://public-api.wordpress.com/wp/v2/sites/example.wordpress.com/posts` - ) - }) - - it(`builds full URL correctly for wordpress.org`, () => { - const key = `/wp/v2/posts` - const baseUrl = `http://dev-gatbsyjswp.pantheonsite.io/wp-json` - const fullUrl = fetch.buildFullUrl(baseUrl, key, false) - expect(fullUrl).toEqual( - `http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts` - ) - }) - - it(`properly use api URL if self uses same domain`, () => { - expect( - fetch.useApiUrl( - `http://example.com/wp-json`, - `http://example.com/wp-json/wp-api-menus/v2/menus/2` - ) - ).toEqual(`http://example.com/wp-json/wp-api-menus/v2/menus/2`) - }) - - it(`properly use api URL if self route uses different domain`, () => { - expect( - fetch.useApiUrl( - `http://example.com/wp-json`, - `http://localhost:8080/wp-json/wp-api-menus/v2/menus/2` - ) - ).toEqual(`http://example.com/wp-json/wp-api-menus/v2/menus/2`) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js b/packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js deleted file mode 100644 index 095e54a9be96c..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js +++ /dev/null @@ -1,7 +0,0 @@ -const httpExceptionHandler = require(`../http-exception-handler`) - -describe(`http-exception-handler`, () => { - it(`handles errors that lack responses without crashing`, () => { - expect(() => httpExceptionHandler({})).not.toThrowError() - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js b/packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js deleted file mode 100644 index cbd3c0b01465d..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js +++ /dev/null @@ -1,12 +0,0 @@ -const normalizeBaseUrl = require(`../normalize-base-url`) - -describe(`Normalize baseUrl`, () => { - it(`Removes trailing slashes`, () => { - expect(normalizeBaseUrl(`example.com/`)).toBe(`example.com`) - }) - - it(`Removes the protocol`, () => { - expect(normalizeBaseUrl(`http://example.com`)).toBe(`example.com`) - expect(normalizeBaseUrl(`https://example.com`)).toBe(`example.com`) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/normalize.js b/packages/gatsby-source-wordpress/src/__tests__/normalize.js deleted file mode 100644 index b2cc74dcebf99..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/normalize.js +++ /dev/null @@ -1,161 +0,0 @@ -const normalize = require(`../normalize`) - -let entities = require(`./data.json`) - -describe(`Process WordPress data`, () => { - let entityTypes - it(`Creates entities from object collections of entities`, () => { - entities = normalize.normalizeEntities(entities) - }) - it(`Standardizes ids & cleans keys`, () => { - entities = normalize.standardizeKeys(entities) - expect(entities).toMatchSnapshot() - }) - it(`Converts to use only GMT dates`, () => { - entities = normalize.standardizeDates(entities) - expect(entities).toMatchSnapshot() - }) - it(`Lifts all "rendered" fields to top-level`, () => { - entities = normalize.liftRenderedField(entities) - expect(entities).toMatchSnapshot() - }) - it(`excludes unknown entities`, () => { - entities = normalize.excludeUnknownEntities(entities) - }) - it(`creates Gatsby IDs for each entity`, () => { - const createNodeId = jest.fn() - createNodeId.mockReturnValue(`uuid-from-gatsby`) - entities = normalize.createGatsbyIds( - createNodeId, - entities, - `http://dev-gatbsyjswp.pantheonsite.io` - ) - expect(entities).toMatchSnapshot() - }) - it(`Creates map of types`, () => { - entityTypes = normalize.mapTypes(entities) - expect(entityTypes).toMatchSnapshot() - }) - it(`Creates links between authors and user entities`, () => { - entities = normalize.mapAuthorsToUsers(entities) - expect(entities).toMatchSnapshot() - }) - it(`Creates links between posts and tags/categories`, () => { - entities = normalize.mapPostsToTagsCategories(entities) - expect(entities).toMatchSnapshot() - }) - - it(`Creates links between tags/categories and taxonomies`, () => { - entities = normalize.mapTagsCategoriesToTaxonomies(entities) - expect(entities).toMatchSnapshot() - }) - - it(`Creates links from entities to media nodes`, () => { - entities = normalize.mapEntitiesToMedia(entities) - expect(entities).toMatchSnapshot() - }) - - it(`Removes the acf key when acf is not an object`, () => { - let dummyEntities = [ - { id: 1, acf: false }, - { id: 2, acf: {} }, - ] - expect(normalize.normalizeACF(dummyEntities)).toEqual([ - { id: 1 }, - { id: 2, acf: {} }, - ]) - }) - - it(`Creates links between entities and polylang translations entities`, () => { - entities = normalize.mapPolylangTranslations(entities) - expect(entities).toMatchSnapshot() - }) - - describe(`createUrlPathsFromLinks`, () => { - it(`should create URL paths from links`, () => { - entities = normalize.createUrlPathsFromLinks(entities) - expect(entities).toMatchSnapshot() - }) - - // Some WordPress plugins (like https://wordpress.org/plugins/relative-url/) - // convert URLS to relative links - it(`should work if links are already relative`, () => { - const link = `/packages/gatsby-source-wordpress/` - entities = normalize.createUrlPathsFromLinks([ - { link, __type: `wordpress__PAGE` }, - ]) - expect(entities).toEqual([ - { - link, - __type: `wordpress__PAGE`, - path: link, - }, - ]) - }) - - // Someone or some plugin could have already enriched the - // REST endpoint on WordPress side with a "path" field - it(`should not touch already present "path" fields`, () => { - const link = `/packages/gatsby-source-wordpress/` - entities = normalize.createUrlPathsFromLinks([ - { link, __type: `wordpress__PAGE`, path: `already-set` }, - ]) - expect(entities).toEqual([ - { - link, - __type: `wordpress__PAGE`, - path: `already-set`, - }, - ]) - }) - }) - - // Skipped for now since it's a bit tricky to mock - // as it needs access to the store/cache + would download file. - it.skip(`downloads media files and removes "sizes" if keepMediaSizes is set to false (default)`, async () => { - entities = await normalize.downloadMediaFiles(entities) - expect(entities).toMatchSnapshot() - }) - - it(`creates nodes for each entry`, () => { - const createNode = jest.fn() - const createContentDigest = jest.fn().mockReturnValue(`contentDigest`) - normalize.createNodesFromEntities({ - entities, - createNode, - createContentDigest, - }) - expect(createNode.mock.calls).toMatchSnapshot() - }) -}) - -describe(`getValidKey`, () => { - it(`It passes a key through untouched that passes`, () => { - expect( - normalize.getValidKey({ - key: `hi`, - }) - ).toBe(`hi`) - }) - it(`It prefixes keys that start with numbers`, () => { - expect( - normalize.getValidKey({ - key: `0hi`, - }) - ).toBe(`wordpress_0hi`) - }) - it(`It prefixes keys that conflict with default Gatsby fields`, () => { - expect( - normalize.getValidKey({ - key: `children`, - }) - ).toBe(`wordpress_children`) - }) - it(`It replaces invalid characters`, () => { - expect( - normalize.getValidKey({ - key: `h:i`, - }) - ).toBe(`h_i`) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js b/packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js deleted file mode 100644 index f5c7bb7fa5f91..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js +++ /dev/null @@ -1,51 +0,0 @@ -jest.mock(`axios`) - -const requestInQueue = require(`../request-in-queue`) -const axios = require(`axios`) - -axios.mockImplementation(opts => { - if (opts.throw) { - throw new Error(opts.throw) - } - - return opts.url.slice(opts.url.lastIndexOf(`/`) + 1) -}) - -describe(`requestInQueue`, () => { - let requests - - beforeEach(() => { - requests = [ - { method: `get`, url: `https://gatsbyjs.org/1` }, - { method: `get`, url: `https://gatsbyjs.org/2` }, - { method: `get`, url: `https://gatsbyjs.org/3` }, - { method: `get`, url: `https://gatsbyjs.org/4` }, - ] - }) - - afterEach(() => { - axios.mockClear() - }) - - it(`runs all requests in queue`, async () => { - await requestInQueue(requests) - - requests.forEach(req => { - expect(axios).toHaveBeenCalledWith(req) - }) - }) - - it(`returns the values in the same order they were requested`, async () => { - const responses = await requestInQueue(requests) - expect(responses).toEqual([`1`, `2`, `3`, `4`]) - }) - - it(`stops any requests when one throws an error`, async () => { - try { - await requestInQueue([{ throw: `error` }, ...requests]) - } catch (err) { - expect(err).toBeDefined() - } - expect(axios).toHaveBeenCalledTimes(1) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/constants.ts b/packages/gatsby-source-wordpress/src/constants.ts new file mode 100644 index 0000000000000..bfe053005fd94 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/constants.ts @@ -0,0 +1,3 @@ +export const CREATED_NODE_IDS = `WPGQL-created-node-ids` +export const LAST_COMPLETED_SOURCE_TIME = `WPGQL-last-completed-source-time` +export const MD5_CACHE_KEY = `introspection-node-query-md5` diff --git a/packages/gatsby-source-wordpress/src/fetch.js b/packages/gatsby-source-wordpress/src/fetch.js deleted file mode 100644 index d7d9801435807..0000000000000 --- a/packages/gatsby-source-wordpress/src/fetch.js +++ /dev/null @@ -1,730 +0,0 @@ -const querystring = require(`querystring`) -const axios = require(`axios`) -const _ = require(`lodash`) -const minimatch = require(`minimatch`) -const { URL } = require(`url`) -const colorized = require(`./output-color`) -const httpExceptionHandler = require(`./http-exception-handler`) -const requestInQueue = require(`./request-in-queue`) - -/** - * Check auth object to see if we should fetch JWT access token - */ -const shouldUseJwt = auth => auth && (auth.jwt_user || auth.jwt_pass) - -/** - * Check auth object to see if we should use HTTP Basic Auth - */ -const shouldUseHtaccess = auth => - auth && (auth.htaccess_user || auth.htaccess_pass) - -/** - * Format Auth settings for verbose output - */ -const formatAuthSettings = auth => { - let authOutputLines = [] - if (shouldUseJwt(auth)) { - authOutputLines.push(` JWT Auth: ${auth.jwt_user}:${auth.jwt_pass}`) - } - - if (shouldUseHtaccess(auth)) { - authOutputLines.push( - ` HTTP Basic Auth: ${auth.htaccess_user}:${auth.htaccess_pass}` - ) - } - - return authOutputLines.join(`\n`) -} - -/** - * High-level function to coordinate fetching data from a WordPress - * site. - */ -async function fetch({ - baseUrl, - _verbose, - _siteURL, - _useACF, - _acfOptionPageIds, - _hostingWPCOM, - _auth, - _cookies, - _perPage, - _concurrentRequests, - _includedRoutes, - _excludedRoutes, - _restApiRoutePrefix, - typePrefix, - refactoredEntityTypes, -}) { - // If the site is hosted on wordpress.com, the API Route differs. - // Same entity types are exposed (excepted for medias and users which need auth) - // but the data model contain slights variations. - let url - let _accessToken - if (_hostingWPCOM) { - url = `https://public-api.wordpress.com/wp/v2/sites/${baseUrl}` - _accessToken = await getWPCOMAccessToken(_auth) - } else { - url = `${_siteURL}/${_restApiRoutePrefix}` - if (shouldUseJwt(_auth)) { - _accessToken = await getJWToken(_auth, url) - } - } - - if (_verbose) { - console.time(`=END PLUGIN=====================================`) - - const authOutput = formatAuthSettings(_auth) - - console.log( - colorized.out( - ` -=START PLUGIN===================================== - -Site URL: ${_siteURL} -Site hosted on Wordpress.com: ${_hostingWPCOM} -Using ACF: ${_useACF} -Auth: ${authOutput ? `\n${authOutput}` : `false`} -Verbose output: ${_verbose} - -Mama Route URL: ${url} -`, - colorized.color.Font.FgBlue - ) - ) - } - - // Call the main API Route to discover the all the routes exposed on this API. - let allRoutes - try { - let options = { - method: `get`, - url: url, - } - if (shouldUseHtaccess(_auth)) { - options.auth = { - username: _auth.htaccess_user, - password: _auth.htaccess_pass, - } - } - - if (_accessToken) { - options.headers = { - Authorization: `Bearer ${_accessToken}`, - } - } - - if (_cookies) { - options.headers = { - ...options.headers, - Cookie: getCookieString(_cookies), - } - } - - allRoutes = await axios(options) - } catch (e) { - httpExceptionHandler(e) - } - - let entities = [ - { - __type: `wordpress__site_metadata`, - name: allRoutes.data.name, - description: allRoutes.data.description, - url: allRoutes.data.url, - home: allRoutes.data.home, - }, - ] - - if (allRoutes) { - let validRoutes = getValidRoutes({ - allRoutes, - url, - _verbose, - _useACF, - _hostingWPCOM, - _acfOptionPageIds, - _includedRoutes, - _excludedRoutes, - typePrefix, - refactoredEntityTypes, - }) - - if (_verbose) { - console.log( - colorized.out( - ` -Fetching the JSON data from ${validRoutes.length} valid API Routes... -`, - colorized.color.Font.FgBlue - ) - ) - } - - for (let route of validRoutes) { - entities = entities.concat( - await fetchData({ - route, - apiUrl: url, - _verbose, - _perPage, - _auth, - _cookies, - _accessToken, - _concurrentRequests, - }) - ) - if (_verbose) console.log(``) - } - - if (_verbose) - console.timeEnd(`=END PLUGIN=====================================`) - } else { - console.log( - colorized.out(`No routes to fetch. Ending.`, colorized.color.Font.FgRed) - ) - } - - return entities -} - -/** - * Gets wordpress.com access token so it can fetch private data like medias :/ - * - * @returns - */ -async function getWPCOMAccessToken(_auth) { - let result - const oauthUrl = `https://public-api.wordpress.com/oauth2/token` - try { - let options = { - url: oauthUrl, - method: `post`, - data: querystring.stringify({ - client_secret: _auth.wpcom_app_clientSecret, - client_id: _auth.wpcom_app_clientId, - username: _auth.wpcom_user, - password: _auth.wpcom_pass, - grant_type: `password`, - }), - } - result = await axios(options) - result = result.data.access_token - } catch (e) { - httpExceptionHandler(e) - } - - return result -} - -/** - * Gets JSON Web Token so it can fetch private data - * - * @returns - */ -async function getJWToken(_auth, url) { - let result - let authUrl = `${url}${_auth.jwt_base_path || `/jwt-auth/v1/token`}` - try { - const options = { - url: authUrl, - method: `post`, - data: { - username: _auth.jwt_user, - password: _auth.jwt_pass, - }, - } - result = await axios(options) - result = result.data.token - } catch (e) { - httpExceptionHandler(e) - } - - return result -} - -/** - * Fetch the data from specified route url, using the auth provided. - * - * @param {any} route - * @param {any} createNode - */ -async function fetchData({ - route, - apiUrl, - _verbose, - _perPage, - _auth, - _cookies, - _accessToken, - _concurrentRequests, -}) { - const { type, url, optionPageId } = route - - if (_verbose) { - console.log( - colorized.out( - `=== [ Fetching ${type} ] ===`, - colorized.color.Font.FgBlue - ), - url - ) - - console.time(`Fetching the ${type} took`) - } - - let routeResponse = await getPages({ - url, - _perPage, - _auth, - _cookies, - _accessToken, - _verbose, - _concurrentRequests, - }) - - let entities = [] - if (routeResponse) { - if (type.includes(`wordpress__menus_menus`)) { - routeResponse = routeResponse.map(r => { - return { ...r, ID: r.term_id } - }) - } - // Process entities to creating GraphQL Nodes. - if (Array.isArray(routeResponse)) { - routeResponse = routeResponse.map(r => { - return { - ...r, - ...(optionPageId ? { __acfOptionPageId: optionPageId } : {}), - __type: type, - } - }) - entities = entities.concat(routeResponse) - } else { - routeResponse.__type = type - if (optionPageId) { - routeResponse.__acfOptionPageId = optionPageId - } - entities.push(routeResponse) - } - - // WordPress exposes the menu items in meta links. - if (type === `wordpress__wp_api_menus_menus`) { - for (let menu of routeResponse) { - if (menu.meta && menu.meta.links && menu.meta.links.self) { - entities = entities.concat( - await fetchData({ - route: { - url: useApiUrl(apiUrl, menu.meta.links.self), - type: `${type}_items`, - }, - apiUrl, - _verbose, - _perPage, - _auth, - _cookies, - _accessToken, - }) - ) - } - } - } - - // Menu nodes for WP-REST-API V2 Menus ( https://wordpress.org/plugins/wp-rest-api-v2-menus/ ) - if (type === `wordpress__menus_menus`) { - for (let menu of routeResponse) { - entities = entities.concat( - await fetchData({ - route: { url: `${url}/${menu.term_id}`, type: `${type}_items` }, - _verbose, - _perPage, - _auth, - _accessToken, - _cookies, - }) - ) - } - } - - // TODO : Get the number of created nodes using the nodes in state. - let length - if (routeResponse && Array.isArray(routeResponse)) { - length = routeResponse.length - } else if (routeResponse && !Array.isArray(routeResponse)) { - length = Object.keys(routeResponse).length - } - console.log( - colorized.out( - ` -> ${type} fetched : ${length}`, - colorized.color.Font.FgGreen - ) - ) - } - - if (_verbose) { - console.timeEnd(`Fetching the ${type} took`) - } - - return entities -} - -/** - * Get the pages of data - * - * @param {any} url - * @param {number} [page=1] - * @returns - */ -async function getPages( - { - url, - _perPage, - _auth, - _cookies, - _accessToken, - _concurrentRequests, - _verbose, - }, - page = 1 -) { - try { - let result = [] - - const getOptions = page => { - let o = { - method: `get`, - url: `${url}?${querystring.stringify({ - per_page: _perPage, - page: page, - })}`, - } - - if (_accessToken) { - o.headers = { - Authorization: `Bearer ${_accessToken}`, - } - } - - if (_cookies) { - o.headers = { - ...o.headers, - Cookie: getCookieString(_cookies), - } - } - - if (shouldUseHtaccess(_auth)) { - o.auth = { - username: _auth.htaccess_user, - password: _auth.htaccess_pass, - } - } - - return o - } - - // Initial request gets the first page of data - // but also the total count of objects, used for - // multiple concurrent requests (rather than waterfall) - const options = getOptions(page) - const { headers, data } = await axios(options) - - result = result.concat(data) - - // Some resources have no paging, e.g. `/types` - const wpTotal = headers[`x-wp-total`] - - const total = parseInt(wpTotal) - const totalPages = parseInt(headers[`x-wp-totalpages`]) - - if (!wpTotal || totalPages <= 1) { - return result - } - - if (_verbose) { - console.log(` -Total entities : ${total} -Pages to be requested : ${totalPages}`) - } - - // We got page 1, now we want pages 2 through totalPages - const pageOptions = _.range(2, totalPages + 1).map(getPage => - getOptions(getPage) - ) - - const pages = await requestInQueue(pageOptions, { - concurrent: _concurrentRequests, - }) - - const pageData = pages.map(page => page.data) - pageData.forEach(list => { - result = result.concat(list) - }) - - return result - } catch (e) { - return httpExceptionHandler(e) - } -} - -/** - * Check a route against the whitelist or blacklist - * to determine validity. - * - * @param {any} routePath - * @param {Array} routeList - * @returns {boolean} - */ -function checkRouteList(routePath, routeList) { - return routeList.some(route => minimatch(routePath, route)) -} - -/** - * Extract valid routes and format its data. - * - * @param {any} allRoutes - * @param {any} url - * @returns - */ -function getValidRoutes({ - allRoutes, - url, - _verbose, - _useACF, - _acfOptionPageIds, - _hostingWPCOM, - _includedRoutes, - _excludedRoutes, - typePrefix, - refactoredEntityTypes, -}) { - let validRoutes = [] - - if (_useACF) { - let defaultAcfNamespace = `acf/v3` - // Grab ACF Version from namespaces - const acfNamespace = allRoutes.data.namespaces - ? allRoutes.data.namespaces.find(namespace => namespace.includes(`acf`)) - : null - const acfRestNamespace = acfNamespace ? acfNamespace : defaultAcfNamespace - _includedRoutes.push(`/${acfRestNamespace}/**`) - - if (_verbose) - console.log( - colorized.out( - `Detected ACF to REST namespace: ${acfRestNamespace}.`, - colorized.color.Font.FgGreen - ) - ) - // The OPTIONS ACF API Route is not giving a valid _link so let`s add it manually - // and pass ACF option page ID - // ACF to REST v3 requires options/options - let optionsRoute = acfRestNamespace.includes(`3`) - ? `options/options/` - : `options/` - validRoutes.push({ - url: `${url}/${acfRestNamespace}/${optionsRoute}`, - type: `${typePrefix}acf_options`, - }) - // ACF to REST V2 does not allow ACF Option Page ID specification - if (_acfOptionPageIds.length > 0 && acfRestNamespace.includes(`3`)) { - _acfOptionPageIds.forEach(function (acfOptionPageId) { - validRoutes.push({ - url: `${url}/acf/v3/options/${acfOptionPageId}`, - type: `${typePrefix}acf_options`, - optionPageId: acfOptionPageId, - }) - }) - if (_verbose) - console.log( - colorized.out( - `Added ACF Options route(s).`, - colorized.color.Font.FgGreen - ) - ) - } - if (_acfOptionPageIds.length > 0 && _hostingWPCOM) { - // TODO : Need to test that out with ACF on Wordpress.com hosted site. Need a premium account on wp.com to install extensions. - if (_verbose) - console.log( - colorized.out( - `The ACF options pages is untested under wordpress.com hosting. Please let me know if it works.`, - colorized.color.Effect.Blink - ) - ) - } - } - - for (let key of Object.keys(allRoutes.data.routes)) { - if (_verbose) console.log(`Route discovered :`, key) - let route = allRoutes.data.routes[key] - - // A valid route exposes its _links (for now) - if (route._links) { - const entityType = getRawEntityType(key) - - // Excluding the "technical" API Routes - const excludedTypes = [ - `/v2/**`, - `/v3/**`, - `**/1.0`, - `**/2.0`, - `**/embed`, - `**/proxy`, - `/`, - `/jwt-auth/**`, - ] - - const routePath = getRoutePath(url, key) - - const whiteList = _includedRoutes - const blackList = [...excludedTypes, ..._excludedRoutes] - - // Check whitelist first - const inWhiteList = checkRouteList(routePath, whiteList) - // Then blacklist - const inBlackList = checkRouteList(routePath, blackList) - const validRoute = inWhiteList && !inBlackList - - if (validRoute) { - if (_verbose) - console.log( - colorized.out( - `Valid route found. Will try to fetch.`, - colorized.color.Font.FgGreen - ) - ) - - const manufacturer = getManufacturer(route) - - let rawType = `` - if (manufacturer === `wp`) { - rawType = `${typePrefix}${entityType}` - } - - let validType - switch (rawType) { - case `${typePrefix}posts`: - validType = refactoredEntityTypes.post - break - case `${typePrefix}pages`: - validType = refactoredEntityTypes.page - break - case `${typePrefix}tags`: - validType = refactoredEntityTypes.tag - break - case `${typePrefix}categories`: - validType = refactoredEntityTypes.category - break - default: - validType = `${typePrefix}${manufacturer.replace( - /-/g, - `_` - )}_${entityType.replace(/-/g, `_`)}` - break - } - - validRoutes.push({ - url: buildFullUrl(url, key, _hostingWPCOM), - type: validType, - }) - } else { - if (_verbose) { - const invalidType = inBlackList ? `blacklisted` : `not whitelisted` - console.log( - colorized.out( - `Excluded route: ${invalidType}`, - colorized.color.Font.FgYellow - ) - ) - } - } - } else { - if (_verbose) - console.log( - colorized.out( - `Invalid route: detail route`, - colorized.color.Font.FgRed - ) - ) - } - } - - return validRoutes -} - -/** - * Extract the raw entity type from fullPath - * - * @param {any} full path to extract raw entity from - */ -const getRawEntityType = fullPath => - fullPath.substring(fullPath.lastIndexOf(`/`) + 1, fullPath.length) - -/** - * Extract the route path for an endpoint - * - * @param {any} baseUrl The base site URL that should be removed - * @param {any} fullPath The full path to retrieve the route path from - */ -const getRoutePath = (baseUrl, fullPath) => { - const baseUrlObj = new URL(baseUrl) - const basePath = baseUrlObj.pathname - return fullPath.replace(basePath, ``) -} - -/** - * Extract the route path for an endpoint - * - * @param {string} apiUrl base site API URL - * @param {string} self URL that returned from server response. May contain domain differs from apiUrl - * @returns {string} URL to endpoint using baseURL - */ -const useApiUrl = (apiUrl, endpointURL) => { - // Replace route self host to baseUrl if differs - const isDifferentDomains = endpointURL.indexOf(apiUrl) === -1 - if (isDifferentDomains) { - return endpointURL.replace(/(.*?)\/wp-json/, apiUrl) - } - return endpointURL -} - -/** - * Build full URL from baseUrl and fullPath. - * Method of constructing full URL depends on whether it's hosted on wordpress.com - * or not as wordpress.com have slightly different (custom) REST structure - * - * @param {any} baseUrl The base site URL that should be prepended to full path - * @param {any} fullPath The full path to build URL from - * @param {boolean} _hostingWPCOM Is hosted on wordpress.com - */ -const buildFullUrl = (baseUrl, fullPath, _hostingWPCOM) => { - if (_hostingWPCOM) { - baseUrl = new URL(baseUrl).origin - } - return `${baseUrl}${fullPath}` -} - -/** - * Extract the route manufacturer - * - * @param {any} route - */ -const getManufacturer = route => - route.namespace.substring(0, route.namespace.lastIndexOf(`/`)) - -/** - * Build a cookie header string from an object of key value pairs - * - * @param {any} cookies - */ -const getCookieString = cookies => - Object.entries(cookies) - .map(([key, value]) => `${key}=${value}`) - .join(`; `) - -fetch.getRawEntityType = getRawEntityType -fetch.getRoutePath = getRoutePath -fetch.buildFullUrl = buildFullUrl -fetch.useApiUrl = useApiUrl -module.exports = fetch diff --git a/packages/gatsby-source-wordpress/src/gatsby-node.js b/packages/gatsby-source-wordpress/src/gatsby-node.js index b114b716c1e8d..addec0cbcd06b 100644 --- a/packages/gatsby-source-wordpress/src/gatsby-node.js +++ b/packages/gatsby-source-wordpress/src/gatsby-node.js @@ -1,312 +1,37 @@ -const fetch = require(`./fetch`) -const normalize = require(`./normalize`) -const normalizeBaseUrl = require(`./normalize-base-url`) - -exports.onPreBootstrap = ({ reporter }, { minimizeDeprecationNotice }) => { - if (!minimizeDeprecationNotice) { - reporter.log(`\n`) - reporter.warn(`[gatsby-source-wordpress]\n\nThis version of \`gatsby-source-wordpress\` will be deprecated soon.\nThe next major version (v4) is a complete rewrite in order to take advantage of WPGraphQL.\nThis allows us to support features like Preview and incremental builds and provides a much more stable experience.\n\nPlease upgrade to the BETA of \`gatsby-source-wordpress@v4\` by installing \`gatsby-source-wordpress-experimental\`.\nThese two packages are currently published under separate names to allow activating them side-by-side.\nThis makes migration between the two simpler.\nOnce the new plugin is stable it will be merged back in and published as \`gatsby-source-wordpress\` going forward. - -Read this blog post for the beta announcement:\nhttps://www.gatsbyjs.org/blog/2020-07-07-wordpress-source-beta/ - -Or get started with the new plugin here:\nhttps://github.com/gatsbyjs/gatsby-source-wordpress-experimental/#readme - -You can minimize this notice using the minimizeDeprecationNotice plugin option: - -{ - resolve: "gatsby-source-wordpress", - options: { - minimizeDeprecationNotice: true - }, -}, -\n\n`) - } else { - reporter.warn( - `[gatsby-source-wordpress] This version of gatsby-source-wordpress will soon be deprecated.\n\thttps://www.gatsbyjs.org/blog/2020-07-07-wordpress-source-beta/` - ) - } -} - -const typePrefix = `wordpress__` -const refactoredEntityTypes = { - post: `${typePrefix}POST`, - page: `${typePrefix}PAGE`, - tag: `${typePrefix}TAG`, - category: `${typePrefix}CATEGORY`, -} - -/* If true, will output many console logs. */ -let _verbose -let _siteURL -let _useACF = true -let _acfOptionPageIds -let _hostingWPCOM -let _auth -let _cookies -let _perPage -let _concurrentRequests -let _includedRoutes -let _excludedRoutes -let _normalizer -let _normalizers -let _keepMediaSizes -let _restApiRoutePrefix - -exports.sourceNodes = async ( - { - actions, - getNode, - store, - cache, - createNodeId, - createContentDigest, - getCache, - reporter, - }, - { - baseUrl, - protocol, - hostingWPCOM, - useACF = true, - acfOptionPageIds = [], - auth = {}, - cookies = {}, - verboseOutput, - perPage = 100, - searchAndReplaceContentUrls = {}, - concurrentRequests = 10, - includedRoutes = [`**`], - excludedRoutes = [], - normalizer, - normalizers, - keepMediaSizes = false, - restApiRoutePrefix = `wp-json`, - } -) => { - const { createNode, touchNode } = actions - const normalizedBaseUrl = normalizeBaseUrl(baseUrl) - - _verbose = verboseOutput - _siteURL = `${protocol}://${normalizedBaseUrl}` - _useACF = useACF - _acfOptionPageIds = acfOptionPageIds - _hostingWPCOM = hostingWPCOM - _auth = auth - _cookies = cookies - _perPage = perPage - _concurrentRequests = concurrentRequests - _includedRoutes = includedRoutes - _excludedRoutes = excludedRoutes - _keepMediaSizes = keepMediaSizes - _restApiRoutePrefix = restApiRoutePrefix - _normalizer = normalizer - _normalizers = normalizers - - let entities = await fetch({ - baseUrl, - _verbose, - _siteURL, - _useACF, - _acfOptionPageIds, - _hostingWPCOM, - _auth, - _cookies, - _perPage, - _concurrentRequests, - _includedRoutes, - _excludedRoutes, - _keepMediaSizes, - _restApiRoutePrefix, - typePrefix, - refactoredEntityTypes, - }) - - let wordpressDataNormalizers = [ - // Create fake wordpressId form element who done have any in the database - { - name: `generateFakeWordpressId`, - normalizer: ({ entities }) => normalize.generateFakeWordpressId(entities), - }, - // Remove ACF key if it's not an object, combine ACF Options - { - name: `normalizeACF`, - normalizer: ({ entities }) => normalize.normalizeACF(entities), - }, - // Combine ACF Option Data entities into one but split by IDs + options - { - name: `combineACF`, - normalizer: ({ entities }) => normalize.combineACF(entities), - }, - // Creates entities from object collections of entities - { - name: `normalizeEntities`, - normalizer: ({ entities }) => normalize.normalizeEntities(entities), - }, - // Standardizes ids & cleans keys - { - name: `standardizeKeys`, - normalizer: ({ entities }) => normalize.standardizeKeys(entities), - }, - // Converts to use only GMT dates - { - name: `standardizeDates`, - normalizer: ({ entities }) => normalize.standardizeDates(entities), - }, - // Lifts all "rendered" fields to top-level. - { - name: `liftRenderedField`, - normalizer: ({ entities }) => normalize.liftRenderedField(entities), - }, - // Exclude entities of unknown shape - { - name: `excludeUnknownEntities`, - normalizer: ({ entities }) => normalize.excludeUnknownEntities(entities), - }, - // Creates Gatsby IDs for each entity - { - name: `createGatsbyIds`, - normalizer: ({ creteNodeId, entities, _siteURL }) => - normalize.createGatsbyIds(createNodeId, entities, _siteURL), - }, - // Creates links between authors and user entities - { - name: `mapAuthorsToUsers`, - normalizer: ({ entities }) => normalize.mapAuthorsToUsers(entities), - }, - // Creates links between posts and tags/categories. - { - name: `mapPostsToTagsCategories`, - normalizer: ({ entities }) => - normalize.mapPostsToTagsCategories(entities), - }, - // Creates links between tags/categories and taxonomies. - { - name: `mapTagsCategoriesToTaxonomies`, - normalizer: ({ entities }) => - normalize.mapTagsCategoriesToTaxonomies(entities), - }, - // Normalize menu items - { - name: `normalizeMenuItems`, - normalizer: ({ entities }) => normalize.normalizeMenuItems(entities), - }, - // Creates links from entities to media nodes - { - name: `mapEntitiesToMedia`, - normalizer: ({ entities }) => normalize.mapEntitiesToMedia(entities), - }, - // Downloads media files and removes "sizes" data as useless in Gatsby context. - { - name: `downloadMediaFiles`, - normalizer: async ({ - entities, - store, - cache, - createNode, - createNodeId, - touchNode, - getCache, - getNode, - auth, - reporter, - keepMediaSizes, - }) => - await normalize.downloadMediaFiles({ - entities, - store, - cache, - createNode, - createNodeId, - touchNode, - getCache, - getNode, - _auth: auth, - reporter, - keepMediaSizes, - }), - }, - // Creates links between elements and parent element. - { - name: `mapElementsToParent`, - normalizer: ({ entities }) => normalize.mapElementsToParent(entities), - }, - // Search and replace Content Urls - { - name: `searchReplaceContentUrls`, - normalizer: ({ entities, searchAndReplaceContentUrls }) => - normalize.searchReplaceContentUrls({ - entities, - searchAndReplaceContentUrls, - }), - }, - { - name: `mapPolylangTranslations`, - normalizer: ({ entities }) => normalize.mapPolylangTranslations(entities), - }, - { - name: `createUrlPathsFromLinks`, - normalizer: ({ entities }) => normalize.createUrlPathsFromLinks(entities), - }, - ] - - const normalizerHelpers = { - store, - cache, - createNode, - createNodeId, - createContentDigest, - touchNode, - getCache, - getNode, - typePrefix, - refactoredEntityTypes, - baseUrl, - protocol, - _siteURL, - hostingWPCOM, - useACF, - acfOptionPageIds, - auth, - verboseOutput, - perPage, - searchAndReplaceContentUrls, - concurrentRequests, - excludedRoutes, - keepMediaSizes, - restApiRoutePrefix, - reporter, - } - - // apply custom normalizer - if (typeof _normalizer === `function`) { - wordpressDataNormalizers.push({ - name: `customNormalizer`, - normalizer: _normalizer, - }) - } - - if (typeof _normalizers === `function`) { - wordpressDataNormalizers = _normalizers([...wordpressDataNormalizers]) - } - - // creates nodes for each entry - wordpressDataNormalizers.push({ - name: `createNodesFromEntities`, - normalizer: ({ entities, createNode, createContentDigest }) => - normalize.createNodesFromEntities({ - entities, - createNode, - createContentDigest, - }), - }) - - // Normalize data & create nodes - for (const { normalizer } of wordpressDataNormalizers) { - entities = await normalizer({ - entities, - ...normalizerHelpers, - }) - } - - return -} +import { runApisInSteps } from "./utils/run-steps" +import * as steps from "./steps" + +module.exports = runApisInSteps({ + onPreInit: [steps.setErrorMap, steps.tempPreventMultipleInstances], + + pluginOptionsSchema: steps.pluginOptionsSchema, + + createSchemaCustomization: [ + steps.setGatsbyApiToState, + steps.ensurePluginRequirementsAreMet, + steps.ingestRemoteSchema, + steps.createSchemaCustomization, + ], + + sourceNodes: [ + steps.setGatsbyApiToState, + [steps.persistPreviouslyCachedImages, steps.sourceNodes], + steps.setImageNodeIdCache, + ], + + onPreExtractQueries: [ + steps.onPreExtractQueriesInvokeLeftoverPreviewCallbacks, + ], + + onPostBuild: [steps.setImageNodeIdCache], + + onCreatePage: [ + steps.onCreatepageSavePreviewNodeIdToPageDependency, + steps.onCreatePageRespondToPreviewStatusQuery, + ], + + onCreateDevServer: [ + steps.setImageNodeIdCache, + steps.startPollingForContentUpdates, + ], +}) diff --git a/packages/gatsby-source-wordpress/src/hooks/index.ts b/packages/gatsby-source-wordpress/src/hooks/index.ts new file mode 100644 index 0000000000000..618d738aae2cd --- /dev/null +++ b/packages/gatsby-source-wordpress/src/hooks/index.ts @@ -0,0 +1 @@ +export { applyNodeFilter, addNodeFilter } from "./node-filters" diff --git a/packages/gatsby-source-wordpress/src/hooks/node-filters.ts b/packages/gatsby-source-wordpress/src/hooks/node-filters.ts new file mode 100644 index 0000000000000..29f1eba8480e4 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/hooks/node-filters.ts @@ -0,0 +1,62 @@ +import { JSON } from "../utils/fetch-graphql" +import store from "~/store" + +interface INodeFilterInput { + name: string + context: JSON + data: JSON +} + +type NodeFilterFn = (INodeFilterInput) => JSON + +interface INodeFilter { + name: string + filter: NodeFilterFn + priority: number +} + +/** + * Grabs an array of filter functions from the redux store, + * orders them by priority, and then runs each in order over the + * passed in data. The modified data is then returned + * + * @param {string} name The name of the filter to apply + * @param {object} context Any additional data to pass to the filter functions that are applied + * @param {object} data The initial data to be filtered + */ +export const applyNodeFilter = async ({ + name, + context, + data, +}: INodeFilterInput): Promise => { + if (!name) { + return data + } + + const nodeFilters: INodeFilter[] = store.getState().wpHooks.nodeFilters?.[ + name + ] + + if (!nodeFilters || !nodeFilters.length) { + return data + } + + const sortedNodeFilters = nodeFilters.sort((a, b) => a.priority - b.priority) + + for (const { filter } of sortedNodeFilters) { + data = filter({ data, context, name }) + } + + return data +} + +/** + * This function adds a filter to the internal redux store of filters + * To be applied via applyNodeFilter above + * + * @param {string} name The name of the filter + * @param {function} filter The function to run when applying this filter + * @param {integer} priority The priority for this filter to run in. lower means earlier execution + */ +export const addNodeFilter = ({ name, filter, priority }: INodeFilter): void => + store.dispatch.wpHooks.addNodeFilter({ name, filter, priority }) diff --git a/packages/gatsby-source-wordpress/src/http-exception-handler.js b/packages/gatsby-source-wordpress/src/http-exception-handler.js deleted file mode 100644 index 3d0889076512b..0000000000000 --- a/packages/gatsby-source-wordpress/src/http-exception-handler.js +++ /dev/null @@ -1,46 +0,0 @@ -const colorized = require(`./output-color`) - -/** - * Handles HTTP Exceptions (axios) - * - * @param {any} e - */ -function httpExceptionHandler(e) { - const { response, code } = e - if (!response) { - console.log( - colorized.out( - `The request failed with error code "${code}"`, - colorized.color.Font.FgRed - ) - ) - return - } - console.log( - colorized.out( - `\nPath: ${response.request.path}`, - colorized.color.Font.FgRed - ) - ) - const { - status, - statusText, - data: { message }, - } = response - console.log( - colorized.out( - `The server response was "${status} ${statusText}"`, - colorized.color.Font.FgRed - ) - ) - if (message) { - console.log( - colorized.out( - `Inner exception message: "${message}"`, - colorized.color.Font.FgRed - ) - ) - } -} - -module.exports = httpExceptionHandler diff --git a/packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js b/packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js new file mode 100644 index 0000000000000..adbcf076d3ab9 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js @@ -0,0 +1,44 @@ +import store from "../../../dist/store" + +test(`Plugin options presets merge preset data into default and user data`, () => { + store.dispatch.gatsbyApi.setState({ + pluginOptions: { + url: `test.com`, + type: { + ExistingType: { + limit: 3, + }, + FakeType: { + exclude: true, + }, + }, + presets: [ + { + presetName: `TEST_PRESET`, + useIf: () => true, + options: { + type: { + FakeType: { + exclude: false, + limit: 1, + }, + ExistingType: { + limit: 2, + }, + }, + }, + }, + ], + }, + helpers: null, + }) + + const { pluginOptions } = store.getState().gatsbyApi + + // our top level options override preset options + expect(pluginOptions.type.ExistingType.limit).toBe(3) + expect(pluginOptions.type.FakeType.exclude).toBe(true) + + // this option wasn't defined at the top level but is part of the preset + expect(pluginOptions.type.FakeType.limit).toBe(1) +}) diff --git a/packages/gatsby-source-wordpress/src/models/develop.ts b/packages/gatsby-source-wordpress/src/models/develop.ts new file mode 100644 index 0000000000000..4b747b3f7cb8a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/develop.ts @@ -0,0 +1,44 @@ +export interface IDevelopState { + refreshPollingIsPaused: boolean +} + +export interface IDevelopReducers { + pauseRefreshPolling: (state: IDevelopState) => IDevelopState + resumeRefreshPolling: (state: IDevelopState) => IDevelopState +} + +interface IPreviewStore { + state: IDevelopState + reducers: IDevelopReducers +} + +const developStore: IPreviewStore = { + state: { + refreshPollingIsPaused: false, + }, + + reducers: { + pauseRefreshPolling(state) { + if ( + process.env.NODE_ENV === `development` && + !process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + ) { + state.refreshPollingIsPaused = true + } + + return state + }, + resumeRefreshPolling(state) { + if ( + process.env.NODE_ENV === `development` && + !process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + ) { + state.refreshPollingIsPaused = false + } + + return state + }, + } as IDevelopReducers, +} + +export default developStore diff --git a/packages/gatsby-source-wordpress/src/models/gatsby-api.ts b/packages/gatsby-source-wordpress/src/models/gatsby-api.ts new file mode 100644 index 0000000000000..46cd3c56a3415 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/gatsby-api.ts @@ -0,0 +1,373 @@ +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +import merge from "lodash/merge" +import { createRemoteMediaItemNode } from "~/steps/source-nodes/create-nodes/create-remote-media-item-node" +import { menuBeforeChangeNode } from "~/steps/source-nodes/before-change-node/menu" +import { cloneDeep } from "lodash" + +export interface PluginOptionsPreset { + presetName: string + useIf: ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions + ) => boolean + options: IPluginOptions +} + +const inDevelopPreview = + process.env.NODE_ENV === `development` && + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + +const inPreviewRunner = process.env.RUNNER_TYPE === `PREVIEW` + +export const previewOptimizationPreset: PluginOptionsPreset = { + presetName: `PREVIEW_OPTIMIZATION`, + useIf: (): boolean => inDevelopPreview || inPreviewRunner, + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + limit: 50, + }, + Comment: { + limit: 0, + }, + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, +} +export interface IPluginOptions { + url?: string + verbose?: boolean + debug?: { + throwRefetchErrors?: boolean + graphql?: { + showQueryOnError?: boolean + showQueryVarsOnError?: boolean + copyQueryOnError?: boolean + panicOnError?: boolean + onlyReportCriticalErrors?: boolean + copyNodeSourcingQueryAndExit?: boolean + writeQueriesToDisk?: boolean + copyHtmlResponseOnError?: boolean + printIntrospectionDiff?: boolean + } + timeBuildSteps?: string[] | boolean + disableCompatibilityCheck?: boolean + preview?: boolean + } + develop?: { + nodeUpdateInterval?: number + hardCacheMediaFiles?: boolean + hardCacheData?: boolean + } + production?: { + hardCacheMediaFiles?: boolean + allow404Images?: boolean + } + auth?: { + htaccess: { + username: string | null + password: string | null + } + } + schema?: { + queryDepth: number + circularQueryLimit: number + typePrefix: string + timeout: number // 30 seconds + perPage: number + requestConcurrency?: number + previewRequestConcurrency?: number + } + excludeFieldNames?: [] + html?: { + useGatsbyImage?: boolean + imageMaxWidth?: number + fallbackImageMaxWidth?: number + imageQuality?: number + createStaticFiles?: boolean + } + presets?: PluginOptionsPreset[] + type?: { + [typename: string]: { + limit?: number + excludeFieldNames?: string[] + + exclude?: boolean + // @todo type this + // eslint-disable-next-line @typescript-eslint/no-explicit-any + beforeChangeNode?: (any) => Promise + nodeInterface?: boolean + lazyNodes?: boolean + localFile?: { + excludeByMimeTypes?: string[] + maxFileSizeBytes?: number + requestConcurrency?: number + } + } + } +} + +const defaultPluginOptions: IPluginOptions = { + url: null, + verbose: true, + debug: { + throwRefetchErrors: false, + graphql: { + showQueryOnError: false, + showQueryVarsOnError: false, + copyQueryOnError: false, + panicOnError: false, + onlyReportCriticalErrors: true, + copyNodeSourcingQueryAndExit: false, + writeQueriesToDisk: false, + copyHtmlResponseOnError: false, + printIntrospectionDiff: false, + }, + timeBuildSteps: false, + disableCompatibilityCheck: false, + preview: false, + }, + develop: { + nodeUpdateInterval: 5000, + hardCacheMediaFiles: false, + hardCacheData: false, + }, + production: { + hardCacheMediaFiles: false, + allow404Images: false, + }, + auth: { + htaccess: { + username: null, + password: null, + }, + }, + schema: { + queryDepth: 15, + circularQueryLimit: 5, + typePrefix: `Wp`, + timeout: 30 * 1000, // 30 seconds + perPage: 100, + requestConcurrency: 15, + previewRequestConcurrency: 5, + }, + excludeFieldNames: [], + html: { + // this causes the source plugin to find/replace images in html + useGatsbyImage: true, + // this adds a limit to the max width an image can be + // if the image selected in WP is smaller, or the image is smaller than this + // those values will be used instead. + imageMaxWidth: null, + // if a max width can't be inferred from html, this value will be passed to Sharp + // if the image is smaller than this, the images width will be used instead + fallbackImageMaxWidth: 1024, + imageQuality: 90, + // + // Transforms anchor links, video src's, and audio src's (that point to wp-content files) into local file static links + // Also fetches those files if they don't already exist + createStaticFiles: true, + }, + presets: [previewOptimizationPreset], + type: { + __all: { + // @todo make dateFields into a plugin option?? It's not currently + // this may not be needed since WPGraphQL will be getting a Date type soon + // dateFields: [`date`], + }, + RootQuery: { + excludeFieldNames: [`viewer`, `node`, `schemaMd5`], + }, + UserToMediaItemConnection: { + // if this type is not excluded it will potentially fetch an extra 100 + // media items per user during node sourcing + exclude: true, + }, + WpContentNodeToEditLockConnectionEdge: { + exclude: true, + }, + WPPageInfo: { + exclude: true, + }, + ActionMonitorAction: { + exclude: true, + }, + UserToActionMonitorActionConnection: { + exclude: true, + }, + Plugin: { + exclude: true, + }, + Theme: { + exclude: true, + }, + MediaItem: { + lazyNodes: false, + localFile: { + excludeByMimeTypes: [], + maxFileSizeBytes: 15728640, // 15Mb + requestConcurrency: 100, + }, + beforeChangeNode: async ({ + remoteNode, + actionType, + typeSettings, + // @todo type this + // eslint-disable-next-line @typescript-eslint/no-explicit-any + }): Promise => { + // we fetch lazy nodes files in resolvers, no need to fetch them here. + if (typeSettings.lazyNodes) { + return { + remoteNode, + } + } + + if ( + actionType === `CREATE_ALL` || + actionType === `CREATE` || + actionType === `UPDATE` + ) { + const createdMediaItem = await createRemoteMediaItemNode({ + mediaItemNode: remoteNode, + parentName: `Node action ${actionType}`, + }) + + if (createdMediaItem) { + remoteNode.localFile = { + id: createdMediaItem.id, + } + + return { + remoteNode, + } + } + } + + return { + remoteNode, + } + }, + }, + ContentNode: { + nodeInterface: true, + }, + TermNode: { + nodeInterface: true, + }, + Menu: { + /** + * This is used to fetch child menu items + * on Menus as it's problematic to fetch them otherwise + * in WPGQL currently + * + * So after a Menu Node is fetched and processed, this function runs + * It loops through the child menu items, generates a query for them, + * fetches them, and creates nodes out of them. + * + * This runs when initially fetching all nodes, and after an incremental + * fetch happens + * + * When we can get a list of all menu items regardless of location in WPGQL, this can be removed. + */ + beforeChangeNode: menuBeforeChangeNode, + }, + // the next two types can't be sourced in Gatsby properly yet + // @todo instead of excluding these manually, auto exclude them + // based on how they behave (no single node query available) + EnqueuedScript: { + exclude: true, + }, + EnqueuedStylesheet: { + exclude: true, + }, + EnqueuedAsset: { + exclude: true, + }, + ContentNodeToEnqueuedScriptConnection: { + exclude: true, + }, + ContentNodeToEnqueuedStylesheetConnection: { + exclude: true, + }, + TermNodeToEnqueuedScriptConnection: { + exclude: true, + }, + TermNodeToEnqueuedStylesheetConnection: { + exclude: true, + }, + UserToEnqueuedScriptConnection: { + exclude: true, + }, + UserToEnqueuedStylesheetConnection: { + exclude: true, + }, + }, +} + +export interface IGatsbyApiState { + helpers: GatsbyNodeApiHelpers + pluginOptions: IPluginOptions + activePluginOptionsPresets?: PluginOptionsPreset[] +} + +const gatsbyApi = { + state: { + helpers: {}, + pluginOptions: defaultPluginOptions, + } as IGatsbyApiState, + + reducers: { + setState( + state: IGatsbyApiState, + payload: IGatsbyApiState + ): IGatsbyApiState { + const stateCopy = cloneDeep(state) + + const defaultPresets = stateCopy.pluginOptions?.presets || [] + const userPresets = payload.pluginOptions?.presets || [] + + /** + * Presets are plugin option configurations that are conditionally + * applied based on a `useIf` function (which returns a boolean) + * If it returns true, that preset is used. + */ + const optionsPresets = [ + ...defaultPresets, + ...userPresets, + ]?.filter((preset) => + preset.useIf(payload.helpers, payload.pluginOptions) + ) + + if (optionsPresets?.length) { + state.activePluginOptionsPresets = optionsPresets + + let presetModifiedOptions = state.pluginOptions + + for (const preset of optionsPresets) { + presetModifiedOptions = merge(presetModifiedOptions, preset.options) + } + + state.pluginOptions = presetModifiedOptions + } + + // add the user defined plugin options last so they override any presets + state = merge(state, payload) + + return state + }, + }, +} + +export default gatsbyApi diff --git a/packages/gatsby-source-wordpress/src/models/image-nodes.js b/packages/gatsby-source-wordpress/src/models/image-nodes.js new file mode 100644 index 0000000000000..947f2a2fcabb4 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/image-nodes.js @@ -0,0 +1,34 @@ +import { stripImageSizesFromUrl } from "~/steps/source-nodes/fetch-nodes/fetch-referenced-media-items" + +const imageNodes = { + state: { + nodeMetaByUrl: {}, + }, + + reducers: { + setState(state, payload) { + state = { + ...state, + ...payload, + } + + return state + }, + + pushNodeMeta(state, { id, sourceUrl, modifiedGmt }) { + const nodeUrl = stripImageSizesFromUrl(sourceUrl) + // dont overwrite the lookup table in case we have multiple + // sized urls for the same image + if (!state.nodeMetaByUrl[nodeUrl]) { + state.nodeMetaByUrl[nodeUrl] = { + id, + modifiedGmt, + } + } + + return state + }, + }, +} + +export default imageNodes diff --git a/packages/gatsby-source-wordpress/src/models/index.ts b/packages/gatsby-source-wordpress/src/models/index.ts new file mode 100644 index 0000000000000..c25808017c95a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/index.ts @@ -0,0 +1,17 @@ +import remoteSchema from "./remoteSchema" +import gatsbyApi from "./gatsby-api" +import logger from "./logger" +import imageNodes from "./image-nodes" +import wpHooks from "./wp-hooks" +import previewStore from "./preview" +import develop from "./develop" + +export default { + remoteSchema, + gatsbyApi, + logger, + imageNodes, + wpHooks, + previewStore, + develop, +} diff --git a/packages/gatsby-source-wordpress/src/models/logger.ts b/packages/gatsby-source-wordpress/src/models/logger.ts new file mode 100644 index 0000000000000..c7710deb86432 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/logger.ts @@ -0,0 +1,94 @@ +import { Reporter } from "gatsby" +import { formatLogMessage } from "~/utils/format-log-message" +import { IPluginOptions } from "./gatsby-api" + +type ITimerReporter = ReturnType + +export interface ILoggerState { + entityCount: number + typeCount: { [name: string]: number } + activityTimers: { + [name: string]: { count: number; activity: ITimerReporter } + } +} + +const logger = { + state: { + entityCount: 0, + typeCount: {}, + activityTimers: {}, + } as ILoggerState, + + reducers: { + incrementActivityTimer( + state: ILoggerState, + { + typeName, + by, + action = `fetched`, + }: { typeName: string; by: number; action: string } + ): ILoggerState { + const logger = state.activityTimers[typeName] + + if (!logger) { + return state + } + + if (typeof by === `number`) { + logger.count += by + state.entityCount += by + } + + logger.activity.setStatus(`${action} ${logger.count}`) + + return state + }, + + stopActivityTimer( + state: ILoggerState, + { typeName, action = `fetched` }: { typeName: string; action: string } + ): ILoggerState { + const logger = state.activityTimers[typeName] + + if (logger.count === 0) { + logger.activity.setStatus(`${action} 0`) + } + + logger.activity.end() + + return state + }, + + createActivityTimer( + state: ILoggerState, + { + typeName, + reporter, + pluginOptions, + }: { typeName: string; reporter: Reporter; pluginOptions: IPluginOptions } + ): ILoggerState { + if (state.activityTimers[typeName]) { + return state + } + + const typeActivityTimer = { + count: 0, + activity: reporter.activityTimer( + formatLogMessage(typeName, { + useVerboseStyle: pluginOptions.verbose, + }) + ), + } + + if (pluginOptions.verbose) { + typeActivityTimer.activity.start() + } + + state.activityTimers[typeName] = typeActivityTimer + + return state + }, + }, +} + +export default logger diff --git a/packages/gatsby-source-wordpress/src/models/preview.ts b/packages/gatsby-source-wordpress/src/models/preview.ts new file mode 100644 index 0000000000000..60babb7c3c1e5 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/preview.ts @@ -0,0 +1,109 @@ +// `node` here is a Gatsby node +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type OnPageCreatedCallback = (node: any) => Promise + +export interface StoredPage { + path: string + updatedAt: number +} + +export interface IPreviewState { + inPreviewMode: boolean + nodePageCreatedCallbacks: { + [nodeId: string]: OnPageCreatedCallback + } + nodeIdsToCreatedPages: { + [nodeId: string]: { + page: StoredPage + } + } + pagePathToNodeDependencyId: { + [pageId: string]: { + nodeId: string + } + } +} + +export interface PreviewReducers { + subscribeToPagesCreatedFromNodeById: ( + state: IPreviewState, + payload: { + nodeId: string + sendPreviewStatus: OnPageCreatedCallback + modified: string + } + ) => IPreviewState + unSubscribeToPagesCreatedFromNodeById: ( + state: IPreviewState, + payload: { + nodeId: string + } + ) => IPreviewState + clearPreviewCallbacks: (state: IPreviewState) => IPreviewState + saveNodePageState: ( + state: IPreviewState, + payload: { + nodeId: string + page: StoredPage + } + ) => IPreviewState +} + +export interface IPreviewStore { + state: IPreviewState + reducers: PreviewReducers +} + +const previewStore: IPreviewStore = { + state: { + inPreviewMode: false, + nodePageCreatedCallbacks: {}, + nodeIdsToCreatedPages: {}, + pagePathToNodeDependencyId: {}, + }, + + reducers: { + setInPreviewMode(state, inPreviewMode) { + state.inPreviewMode = inPreviewMode + + return state + }, + + unSubscribeToPagesCreatedFromNodeById(state, { nodeId }) { + if (state.nodePageCreatedCallbacks?.[nodeId]) { + delete state.nodePageCreatedCallbacks[nodeId] + } + + return state + }, + + subscribeToPagesCreatedFromNodeById(state, { nodeId, sendPreviewStatus }) { + // save the callback for this nodeId + // when a page is created from a node that has this id, + // the callback will be invoked + state.nodePageCreatedCallbacks[nodeId] = sendPreviewStatus + + return state + }, + + clearPreviewCallbacks(state) { + state.nodePageCreatedCallbacks = {} + + return state + }, + + saveNodePageState(state, { page, nodeId }) { + state.nodeIdsToCreatedPages[nodeId] = { + page, + } + + state.pagePathToNodeDependencyId[page.path] = { + nodeId, + } + + return state + }, + } as PreviewReducers, +} + +export default previewStore diff --git a/packages/gatsby-source-wordpress/src/models/remoteSchema.ts b/packages/gatsby-source-wordpress/src/models/remoteSchema.ts new file mode 100644 index 0000000000000..026b16dec24c4 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/remoteSchema.ts @@ -0,0 +1,152 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +interface RemoteSchemaState { + wpUrl: string + nodeQueries: any + nonNodeQuery: string + introspectionData: any + schemaWasChanged: boolean + typeMap: any + nodeListFilter: (field: { name: string }) => boolean + ingestibles: { + nodeListRootFields: any + nodeInterfaceTypes: any + nonNodeRootFields: any[] + } + allowRefreshSchemaUpdate: boolean + fetchedTypes: any + fieldBlacklist: string[] + fieldAliases: { + parent: string + children: string + internal: string + plugin: string + actionOptions: string + } +} + +interface RemoteSchemaReducers { + toggleAllowRefreshSchemaUpdate: ( + state: RemoteSchemaState + ) => RemoteSchemaState + + setSchemaWasChanged: ( + state: RemoteSchemaState, + payload: boolean + ) => RemoteSchemaState + + addFieldsToBlackList: ( + state: RemoteSchemaState, + payload: string[] + ) => RemoteSchemaState + + setState: ( + state: RemoteSchemaState, + payload: RemoteSchemaState + ) => RemoteSchemaState + + addFetchedType: (state: RemoteSchemaState, type: any) => RemoteSchemaState +} + +interface RemoteSchemaStore { + state: RemoteSchemaState + reducers: RemoteSchemaReducers +} + +const remoteSchema: RemoteSchemaStore = { + state: { + wpUrl: null, + nodeQueries: {}, + nonNodeQuery: null, + introspectionData: null, + schemaWasChanged: null, + typeMap: null, + nodeListFilter: (field: { name: string }): boolean => + field.name === `nodes`, + ingestibles: { + nodeListRootFields: null, + nodeInterfaceTypes: null, + nonNodeRootFields: [], + }, + allowRefreshSchemaUpdate: false, + fetchedTypes: new Map(), + fieldBlacklist: [ + `isWpGatsby`, + `edges`, + // these aren't useful without authentication + `revisions`, + `isJwtAuthSecretRevoked`, + `isRestricted`, + `jwtAuthExpiration`, + `jwtAuthToken`, + `jwtRefreshToken`, + `jwtUserSecret`, + `editLock`, + `revisionOf`, + `preview`, + `isPreview`, + `previewRevisionDatabaseId`, + `previewRevisionId`, + `editingLockedBy`, + ], + // @todo make this a plugin option + fieldAliases: { + parent: `wpParent`, + children: `wpChildren`, + internal: `wpInternal`, + plugin: `wpPlugin`, + actionOptions: `wpActionOptions`, + }, + }, + + reducers: { + toggleAllowRefreshSchemaUpdate(state) { + state.allowRefreshSchemaUpdate = !state.allowRefreshSchemaUpdate + + return state + }, + + setSchemaWasChanged(state, payload) { + state.schemaWasChanged = !!payload + + return state + }, + + addFieldsToBlackList(state, payload) { + state.fieldBlacklist = [...state.fieldBlacklist, ...payload] + return state + }, + + setState(state, payload) { + state = { + ...state, + ...payload, + } + + return state + }, + + addFetchedType(state, type) { + const key = findTypeName(type) + + if (!key) { + return state + } + + type = state.typeMap.get(key) + + // union types with no member types will cause schema customization errors + // @todo move this to a better place. This should be excluded before it gets to this point. + if (type && type.kind === `UNION` && type.possibleTypes.length === 0) { + return state + } + + state.fetchedTypes.set(key, type) + + return state + }, + } as RemoteSchemaReducers, +} + +export default remoteSchema diff --git a/packages/gatsby-source-wordpress/src/models/wp-hooks.ts b/packages/gatsby-source-wordpress/src/models/wp-hooks.ts new file mode 100644 index 0000000000000..b62dac29e289e --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/wp-hooks.ts @@ -0,0 +1,51 @@ +export interface INodeFilter { + name: string + // eslint-disable-next-line @typescript-eslint/no-explicit-any + filter: (any) => any + priority?: number +} + +export interface IWPHooksState { + nodeFilters: { [name: string]: INodeFilter[] } +} + +export interface IWPHooksReducers { + addNodeFilter: (state: IWPHooksState, payload: INodeFilter) => IWPHooksState +} + +export interface IWPHooksStore { + state: IWPHooksState + reducers: IWPHooksReducers +} + +const wpHooks: IWPHooksStore = { + state: { + nodeFilters: {}, + }, + + reducers: { + addNodeFilter( + state: IWPHooksState, + nodeFilter: INodeFilter + ): IWPHooksState { + const { name, filter, priority = 10 } = nodeFilter + + if (!name || typeof filter === `undefined`) { + return state + } + + state.nodeFilters[nodeFilter.name] = [ + ...(state.nodeFilters?.[nodeFilter.name] || []), + { + name, + filter, + priority, + }, + ] + + return state + }, + }, +} + +export default wpHooks diff --git a/packages/gatsby-source-wordpress/src/normalize-base-url.js b/packages/gatsby-source-wordpress/src/normalize-base-url.js deleted file mode 100644 index d5a84aecb94a0..0000000000000 --- a/packages/gatsby-source-wordpress/src/normalize-base-url.js +++ /dev/null @@ -1,13 +0,0 @@ -function normalizeBaseUrl(baseUrl) { - let normalized = baseUrl - - // remove trailing slashes - normalized = normalized.replace(/\/+$/, ``) - - // remove protocol - normalized = normalized.replace(/^https?:\/\//, ``) - - return normalized -} - -module.exports = normalizeBaseUrl diff --git a/packages/gatsby-source-wordpress/src/normalize.js b/packages/gatsby-source-wordpress/src/normalize.js deleted file mode 100644 index db9d8f1bfee90..0000000000000 --- a/packages/gatsby-source-wordpress/src/normalize.js +++ /dev/null @@ -1,693 +0,0 @@ -const deepMapKeys = require(`deep-map-keys`) -const _ = require(`lodash`) -const { createRemoteFileNode } = require(`gatsby-source-filesystem`) -const { URL } = require(`url`) - -const colorized = require(`./output-color`) -const conflictFieldPrefix = `wordpress_` -// restrictedNodeFields from here https://www.gatsbyjs.org/docs/node-interface/ -const restrictedNodeFields = [`id`, `children`, `parent`, `fields`, `internal`] - -/** - * Validate the GraphQL naming conventions & protect specific fields. - * - * @param {any} key - * @returns the valid name - */ -function getValidKey({ key, verbose = false }) { - let nkey = String(key) - const NAME_RX = /^[_a-zA-Z][_a-zA-Z0-9]*$/ - let changed = false - // Replace invalid characters - if (!NAME_RX.test(nkey)) { - changed = true - nkey = nkey.replace(/-|__|:|\.|\s/g, `_`) - } - // Prefix if first character isn't a letter. - if (!NAME_RX.test(nkey.slice(0, 1))) { - changed = true - nkey = `${conflictFieldPrefix}${nkey}` - } - if (restrictedNodeFields.includes(nkey)) { - changed = true - nkey = `${conflictFieldPrefix}${nkey}`.replace(/-|__|:|\.|\s/g, `_`) - } - if (changed && verbose) - console.log( - colorized.out( - `Object with key "${key}" breaks GraphQL naming convention. Renamed to "${nkey}"`, - colorized.color.Font.FgRed - ) - ) - - return nkey -} - -exports.getValidKey = getValidKey - -// Remove the ACF key from the response when it's not an object -const normalizeACF = entities => - entities.map(e => { - if (!_.isPlainObject(e[`acf`])) { - delete e[`acf`] - } - return e - }) - -exports.normalizeACF = normalizeACF - -// Combine all ACF Option page data -exports.combineACF = function (entities) { - let acfOptionData = {} - // Map each ACF Options object keys/data to single object - _.forEach( - entities.filter(e => e.__type === `wordpress__acf_options`), - e => { - if (e[`acf`]) { - acfOptionData[e.__acfOptionPageId || `options`] = {} - Object.keys(e[`acf`]).map( - k => - (acfOptionData[e.__acfOptionPageId || `options`][k] = e[`acf`][k]) - ) - } - } - ) - - // Remove previous ACF Options objects (if any) - _.pullAll( - entities, - entities.filter(e => e.__type === `wordpress__acf_options`) - ) - - // Create single ACF Options object - entities.push({ - acf: acfOptionData || false, - __type: `wordpress__acf_options`, - }) - - return entities -} - -// Create wordpress_id if the entity don't have one -exports.generateFakeWordpressId = entities => - entities.map(e => { - if (e.__type === `wordpress__yoast_redirects`) { - e.wordpress_id = `${e.origin}-${e.url}-${e.type}` - } - return e - }) - -// Create entities from the few the WordPress API returns as an object for presumably -// legacy reasons. -const normalizeEntities = entities => { - const mapType = e => - Object.keys(e) - .filter(key => key !== `__type`) - .map(key => { - return { - id: key, - ...e[key], - __type: e.__type, - } - }) - - return entities.reduce((acc, e) => { - switch (e.__type) { - case `wordpress__wp_types`: - return acc.concat(mapType(e)) - case `wordpress__wp_api_menus_menu_locations`: - return acc.concat(mapType(e)) - case `wordpress__wp_statuses`: - return acc.concat(mapType(e)) - case `wordpress__wp_taxonomies`: - return acc.concat(mapType(e)) - case `wordpress__acf_options`: - return acc.concat(mapType(e)) - default: - return acc.concat(e) - } - }, []) -} - -exports.normalizeEntities = normalizeEntities - -// Standardize ids + make sure keys are valid. -exports.standardizeKeys = entities => - entities.map(e => - deepMapKeys(e, key => - key === `ID` ? getValidKey({ key: `id` }) : getValidKey({ key }) - ) - ) - -// Standardize dates on ISO 8601 version. -exports.standardizeDates = entities => - entities.map(e => { - Object.keys(e).forEach(key => { - if (e[`${key}_gmt`]) { - e[key] = new Date(e[`${key}_gmt`] + `z`).toJSON() - delete e[`${key}_gmt`] - } - }) - - return e - }) - -// Lift "rendered" fields to top-level -exports.liftRenderedField = entities => - entities.map(e => { - Object.keys(e).forEach(key => { - const value = e[key] - if (_.isObject(value) && _.isString(value.rendered)) { - e[key] = value.rendered - } - }) - - return e - }) - -// Exclude entities of unknown shape -// Assume all entities contain a wordpress_id, -// except for whitelisted type wp_settings and the site_metadata -exports.excludeUnknownEntities = entities => - entities.filter( - e => - e.wordpress_id || - e.__type === `wordpress__wp_settings` || - e.__type === `wordpress__site_metadata` - ) -// Excluding entities without ID, or WP Settings - -// Create node ID from known entities -// excludeUnknownEntities whitelisted types don't contain a wordpress_id -// we create the node ID based upon type if the wordpress_id doesn't exist -exports.createGatsbyIds = (createNodeId, entities, _siteURL) => - entities.map(e => { - if (e.wordpress_id) { - e.id = createNodeId( - `${e.__type}-${e.wordpress_id.toString()}-${_siteURL}` - ) - } else { - e.id = createNodeId(`${e.__type}-${_siteURL}`) - } - return e - }) - -// Build foreign reference map. -exports.mapTypes = entities => { - const groups = _.groupBy(entities, e => e.__type) - for (let groupId in groups) { - groups[groupId] = groups[groupId].map(e => { - return { - wordpress_id: e.wordpress_id, - id: e.id, - } - }) - } - - return groups -} - -exports.mapAuthorsToUsers = entities => { - const users = entities.filter(e => e.__type === `wordpress__wp_users`) - return entities.map(e => { - if (users.length && e.author) { - // Find the user - const user = users.find(u => u.wordpress_id === e.author) - if (user) { - e.author___NODE = user.id - - // Add a link to the user to the entity. - if (!user.all_authored_entities___NODE) { - user.all_authored_entities___NODE = [] - } - user.all_authored_entities___NODE.push(e.id) - if (!user[`authored_${e.__type}___NODE`]) { - user[`authored_${e.__type}___NODE`] = [] - } - user[`authored_${e.__type}___NODE`].push(e.id) - - delete e.author - } - } - return e - }) -} - -exports.mapPostsToTagsCategories = entities => { - const categoryTypes = [`wordpress__wc_categories`, `wordpress__CATEGORY`] - const tagTypes = [`wordpress__TAG`, `wordpress__wc_tags`] - const tags = entities.filter(e => tagTypes.includes(e.__type)) - const categories = entities.filter(e => categoryTypes.includes(e.__type)) - - return entities.map(e => { - // Replace tags & categories with links to their nodes. - - let entityHasTags = e.tags && Array.isArray(e.tags) && e.tags.length - if (tags.length && entityHasTags) { - e.tags___NODE = e.tags - .map(t => { - const tagNode = tags.find( - tObj => - (Number.isInteger(t) ? t : t.wordpress_id) === tObj.wordpress_id - ) - if (tagNode) { - return tagNode.id - } else { - return undefined - } - }) - .filter(node => node != undefined) - delete e.tags - } - - let entityHasCategories = - e.categories && Array.isArray(e.categories) && e.categories.length - if (categories.length && entityHasCategories) { - e.categories___NODE = e.categories - .map(c => { - const categoryNode = categories.find( - cObj => - (Number.isInteger(c) ? c : c.wordpress_id) === cObj.wordpress_id - ) - if (categoryNode) { - return categoryNode.id - } else { - return undefined - } - }) - .filter(node => node != undefined) - delete e.categories - } - - return e - }) -} - -// TODO generalize this for all taxonomy types. -exports.mapTagsCategoriesToTaxonomies = entities => - entities.map(e => { - // Where should api_menus stuff link to? - if (e.taxonomy && e.__type !== `wordpress__wp_api_menus_menus`) { - // Replace taxonomy with a link to the taxonomy node. - const taxonomyNode = entities.find(t => t.wordpress_id === e.taxonomy) - if (taxonomyNode) { - e.taxonomy___NODE = taxonomyNode.id - delete e.taxonomy - } - } - return e - }) - -exports.mapElementsToParent = entities => - entities.map(e => { - if (e.wordpress_parent) { - // Create parent_element with a link to the parent node of type. - const parentElement = entities.find( - t => t.wordpress_id === e.wordpress_parent && t.__type === e.__type - ) - if (parentElement) { - e.parent_element___NODE = parentElement.id - } - } - return e - }) - -exports.mapPolylangTranslations = entities => - entities.map(entity => { - if (entity.polylang_translations) { - entity.polylang_translations___NODE = entity.polylang_translations.map( - translation => { - const post = entities.find( - t => - t.wordpress_id === translation.wordpress_id && - entity.__type === t.__type - ) - - if (!post) { - return null - } - - return post.id - } - ) - - delete entity.polylang_translations - } - - return entity - }) - -exports.searchReplaceContentUrls = function ({ - entities, - searchAndReplaceContentUrls, -}) { - if ( - !_.isPlainObject(searchAndReplaceContentUrls) || - !_.has(searchAndReplaceContentUrls, `sourceUrl`) || - !_.has(searchAndReplaceContentUrls, `replacementUrl`) || - typeof searchAndReplaceContentUrls.sourceUrl !== `string` || - typeof searchAndReplaceContentUrls.replacementUrl !== `string` - ) { - return entities - } - - const { sourceUrl, replacementUrl } = searchAndReplaceContentUrls - - const _blacklist = [`_links`, `__type`] - - const blacklistProperties = function (obj = {}, blacklist = []) { - for (var i = 0; i < blacklist.length; i++) { - delete obj[blacklist[i]] - } - - return obj - } - - return entities.map(function (entity) { - const original = Object.assign({}, entity) - - try { - var whiteList = blacklistProperties(entity, _blacklist) - var replaceable = JSON.stringify(whiteList) - var replaced = replaceable.replace( - new RegExp(sourceUrl, `g`), - replacementUrl - ) - var parsed = JSON.parse(replaced) - } catch (e) { - console.log(colorized.out(e.message, colorized.color.Font.FgRed)) - return original - } - - return _.defaultsDeep(parsed, original) - }) -} - -exports.mapEntitiesToMedia = entities => { - const media = entities.filter(e => e.__type === `wordpress__wp_media`) - - return entities.map(e => { - // Map featured_media to its media node - - // Check if it's value of ACF Image field, that has 'Return value' set to - // 'Image Object' ( https://www.advancedcustomfields.com/resources/image/ ) - const isPhotoObject = field => - _.isObject(field) && - field.wordpress_id && - field.url && - field.width && - field.height - ? true - : false - - const isURL = value => _.isString(value) && value.startsWith(`http`) - const isMediaUrlAlreadyProcessed = key => key == `source_url` - const isFeaturedMedia = (value, key) => - (_.isNumber(value) || _.isBoolean(value)) && key === `featured_media` - // ACF Gallery and similarly shaped arrays - const isArrayOfPhotoObject = field => - _.isArray(field) && field.length > 0 && isPhotoObject(field[0]) - const getMediaItemID = mediaItem => (mediaItem ? mediaItem.id : null) - - // Try to get media node from value: - // - special case - check if key is featured_media and value is photo ID - // - check if value is media url - // - check if value is ACF Image Object - // - check if value is ACF Gallery - const getMediaFromValue = (value, key) => { - if (isFeaturedMedia(value, key)) { - return { - mediaNodeID: _.isNumber(value) - ? getMediaItemID(media.find(m => m.wordpress_id === value)) - : null, - deleteField: true, - } - } else if (isURL(value) && !isMediaUrlAlreadyProcessed(key)) { - const mediaNodeID = getMediaItemID( - media.find(m => m.source_url === value) - ) - return { - mediaNodeID, - deleteField: !!mediaNodeID, - } - } else if (isPhotoObject(value)) { - const mediaNodeID = getMediaItemID( - media.find(m => m.source_url === value.url) - ) - return { - mediaNodeID, - deleteField: !!mediaNodeID, - } - } else if (isArrayOfPhotoObject(value)) { - return { - mediaNodeID: value - .map(item => getMediaFromValue(item, key).mediaNodeID) - .filter(id => id !== null), - deleteField: true, - } - } - return { - mediaNodeID: null, - deleteField: false, - } - } - - const replaceFieldsInObject = object => { - let deletedAllFields = true - _.each(object, (value, key) => { - const { mediaNodeID, deleteField } = getMediaFromValue(value, key) - if (mediaNodeID) { - object[`${key}___NODE`] = mediaNodeID - } - if (deleteField) { - delete object[key] - // We found photo node (even if it has no image), - // We can end processing this path - return - } else { - deletedAllFields = false - } - - if (_.isArray(value)) { - value.forEach(v => replaceFieldsInObject(v)) - } else if (_.isObject(value)) { - replaceFieldsInObject(value) - } - }) - - // Deleting fields and replacing them with links to different nodes - // can cause build errors if object will have only linked properties: - // https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/schema/infer-graphql-input-fields.js#L205 - // Hacky workaround: - // Adding dummy field with concrete value (not link) fixes build - if (deletedAllFields && object && _.isObject(object)) { - object[`dummy`] = true - } - } - replaceFieldsInObject(e) - - return e - }) -} - -// Downloads media files and removes "sizes" data as useless in Gatsby context. -exports.downloadMediaFiles = async ({ - entities, - store, - cache, - createNode, - createNodeId, - touchNode, - getCache, - getNode, - _auth, - reporter, - keepMediaSizes, -}) => - Promise.all( - entities.map(async e => { - let fileNodeID - if (e.__type === `wordpress__wp_media`) { - const mediaDataCacheKey = `wordpress-media-${e.wordpress_id}` - const cacheMediaData = await cache.get(mediaDataCacheKey) - - // If we have cached media data and it wasn't modified, reuse - // previously created file node to not try to redownload - if (cacheMediaData && e.modified === cacheMediaData.modified) { - const fileNode = getNode(cacheMediaData.fileNodeID) - - // check if node still exists in cache - // it could be removed if image was made private - if (fileNode) { - fileNodeID = cacheMediaData.fileNodeID - touchNode({ - nodeId: fileNodeID, - }) - } - } - - // If we don't have cached data, download the file - if (!fileNodeID) { - // WordPress does not properly encode it's media urls - const encodedSourceUrl = encodeURI(e.source_url) - - try { - const fileNode = await createRemoteFileNode({ - url: encodedSourceUrl, - store, - cache, - createNode, - createNodeId, - getCache, - parentNodeId: e.id, - auth: _auth, - reporter, - }) - - if (fileNode) { - fileNodeID = fileNode.id - - await cache.set(mediaDataCacheKey, { - fileNodeID, - modified: e.modified, - }) - } - } catch (e) { - // Ignore - } - } - } - - if (fileNodeID) { - e.localFile___NODE = fileNodeID - if (!keepMediaSizes) { - delete e.media_details.sizes - } - } - - return e - }) - ) - -const prepareACFChildNodes = ( - obj, - entityId, - topLevelIndex, - type, - children, - childrenNodes, - createContentDigest -) => { - // Replace any child arrays with pointers to nodes - _.each(obj, (value, key) => { - if (_.isArray(value) && value[0] && value[0].acf_fc_layout) { - obj[`${key}___NODE`] = value.map( - (v, indexItem) => - prepareACFChildNodes( - v, - `${entityId}_${indexItem}`, - topLevelIndex, - type + key, - children, - childrenNodes, - createContentDigest - ).id - ) - delete obj[key] - } - }) - - const acfChildNode = { - ...obj, - id: entityId + topLevelIndex + type, - parent: entityId, - children: [], - internal: { type, contentDigest: createContentDigest(obj) }, - } - - children.push(acfChildNode.id) - - // We recursively handle children nodes first, so we need - // to make sure parent nodes will be before their children. - // So let's use unshift to put nodes in the beginning. - childrenNodes.unshift(acfChildNode) - - return acfChildNode -} - -exports.createNodesFromEntities = ({ - entities, - createNode, - createContentDigest, -}) => { - entities.forEach(e => { - // Create subnodes for ACF Flexible layouts - let { __type, ...entity } = e // eslint-disable-line no-unused-vars - let children = [] - let childrenNodes = [] - if (entity.acf) { - _.each(entity.acf, (value, key) => { - if (_.isArray(value) && value[0] && value[0].acf_fc_layout) { - entity.acf[`${key}_${entity.type}___NODE`] = entity.acf[key].map( - (f, i) => { - const type = `WordPressAcf_${f.acf_fc_layout}` - delete f.acf_fc_layout - - const acfChildNode = prepareACFChildNodes( - f, - entity.id + i, - key, - type, - children, - childrenNodes, - createContentDigest - ) - - return acfChildNode.id - } - ) - - delete entity.acf[key] - } - }) - } - - let node = { - ...entity, - children, - parent: null, - internal: { - type: e.__type, - contentDigest: createContentDigest(entity), - }, - } - createNode(node) - childrenNodes.forEach(node => { - createNode(node) - }) - }) -} - -exports.createUrlPathsFromLinks = entities => - entities.map(e => { - if (e.link && !e.path) { - try { - const link = new URL(e.link) - e.path = link.pathname - } catch (error) { - e.path = e.link - } - } - return e - }) - -exports.normalizeMenuItems = entities => - entities.map(e => { - if (e.__type === `wordpress__menus_menus_items`) { - // in case of nested menus items might be object - // this converts it into array so it's consistent - // and queried in simple manner - e.items = _.values(e.items) - } - return e - }) diff --git a/packages/gatsby-source-wordpress/src/output-color.js b/packages/gatsby-source-wordpress/src/output-color.js deleted file mode 100644 index fbdd796cf63c0..0000000000000 --- a/packages/gatsby-source-wordpress/src/output-color.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Colorize the output - * - * @param {any} msg - * @param {any} c - */ -const out = (msg, c) => `${c}${msg}${color.Reset}` -const color = { - Reset: `\x1b[0m`, - Effect: { - Bright: `\x1b[1m`, - Dim: `\x1b[2m`, - Underscore: `\x1b[4m`, - Blink: `\x1b[5m`, - Reverse: `\x1b[7m`, - Hidden: `\x1b[8m`, - }, - Font: { - FgBlack: `\x1b[30m`, - FgRed: `\x1b[31m`, - FgGreen: `\x1b[32m`, - FgYellow: `\x1b[33m`, - FgBlue: `\x1b[34m`, - FgMagenta: `\x1b[35m`, - FgCyan: `\x1b[36m`, - FgWhite: `\x1b[37m`, - }, - Back: { - BgBlack: `\x1b[40m`, - BgRed: `\x1b[41m`, - BgGreen: `\x1b[42m`, - BgYellow: `\x1b[43m`, - BgBlue: `\x1b[44m`, - BgMagenta: `\x1b[45m`, - BgCyan: `\x1b[46m`, - BgWhite: `\x1b[47m`, - }, -} - -const colorized = { - out, - color, -} - -module.exports = colorized diff --git a/packages/gatsby-source-wordpress/src/request-in-queue.js b/packages/gatsby-source-wordpress/src/request-in-queue.js deleted file mode 100644 index b4775af0d07c7..0000000000000 --- a/packages/gatsby-source-wordpress/src/request-in-queue.js +++ /dev/null @@ -1,60 +0,0 @@ -const Queue = require(`better-queue`) -const Promise = require(`bluebird`) -const request = require(`axios`) - -const _defaults = { - id: `url`, -} - -/** - * [handleQueue description] - * @param {[type]} task [description] - * @param {Function} cb [description] - * @return {[type]} [description] - */ -async function handleQueue(task, cb) { - try { - const response = await request(task) - cb(null, response) - } catch (err) { - cb(err) - } -} - -/** - * @typedef {Options} - * @type {Object} - * @see For a detailed descriptions of the options, - * see {@link https://www.npmjs.com/package/better-queue#full-documentation|better-queue on GitHub} - */ - -/** - * Run a series of requests tasks in a queue for better flow control - * - * @param {Object[]} tasks An array of Axios formatted request objects - * @param {Options} opts Options that will be given to better-queue - * @return {Promise} Resolves with the accumulated values from the tasks - */ -module.exports = function requestInQueue(tasks, opts = {}) { - return new Promise((res, rej) => { - const q = new Queue(handleQueue, { ..._defaults, ...opts }) - - const taskMap = new Map( - tasks.map(t => { - q.push(t) - return [t.url, null] - }) - ) - - q.on(`task_failed`, (id, err) => { - rej(new Error(`${id} failed with err: ${err}`)) - q.destroy() - }) - - q.on(`task_finish`, (id, response) => { - taskMap.set(id, response) - }) - - q.on(`drain`, () => res(Array.from(taskMap.values()))) - }) -} diff --git a/packages/gatsby-source-wordpress/src/scripts/download-test-data.js b/packages/gatsby-source-wordpress/src/scripts/download-test-data.js deleted file mode 100644 index 66b74b8833d0d..0000000000000 --- a/packages/gatsby-source-wordpress/src/scripts/download-test-data.js +++ /dev/null @@ -1,28 +0,0 @@ -const fs = require(`fs`) -const fetchData = require(`../fetch`) - -// Fetch data from our sample site and save it to disk. - -const typePrefix = `wordpress__` -const refactoredEntityTypes = { - post: `${typePrefix}POST`, - page: `${typePrefix}PAGE`, - tag: `${typePrefix}TAG`, - category: `${typePrefix}CATEGORY`, -} - -fetchData({ - _verbose: false, - _siteURL: `http://dev-gatbsyjswp.pantheonsite.io`, - baseUrl: `dev-gatbsyjswp.pantheonsite.io`, - _useACF: true, - _hostingWPCOM: false, - _perPage: 100, - typePrefix, - refactoredEntityTypes, -}).then(data => { - fs.writeFileSync( - `${__dirname}/../__tests__/data.json`, - JSON.stringify(data, null, 4) - ) -}) diff --git a/packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts b/packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts new file mode 100644 index 0000000000000..ab4eb18878715 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts @@ -0,0 +1,322 @@ +import url from "url" +import Range from "semver/classes/range" + +import type { NodePluginArgs } from "gatsby" +import fetch from "node-fetch" + +import fetchGraphql from "~/utils/fetch-graphql" +import { formatLogMessage } from "~/utils/format-log-message" +import { getPersistentCache } from "~/utils/cache" + +import store from "~/store" +import { MD5_CACHE_KEY } from "~/constants" + +import { + supportedWpPluginVersions, + genericDownloadMessage, +} from "~/supported-remote-plugin-versions" + +const parseRange = (range: string) => { + const { + set: [versions], + } = new Range(range) + + const isARange = versions.length >= 2 + const minVersion = versions[0].semver.version + const maxVersion = versions[1]?.semver?.version + + let message + if (isARange) { + message = `Install a version between ${minVersion} and ${maxVersion}.` + } else { + message = `Install version ${minVersion}.` + } + + return { + message, + minVersion, + maxVersion, + isARange, + } +} + +const areRemotePluginVersionsSatisfied = async ({ + helpers, + disableCompatibilityCheck, + url: wpGraphQLEndpoint, +}: { + helpers: NodePluginArgs + url: string + disableCompatibilityCheck: boolean +}) => { + if (disableCompatibilityCheck) { + return + } + + let wpgqlIsSatisfied + let wpGatsbyIsSatisfied + + try { + const { data } = await fetchGraphql({ + query: /* GraphQL */ ` + query WPGatsbyCompatibility( + $wpgqlVersion: String! + $wpgatsbyVersion: String! + ) { + wpGatsbyCompatibility( + wpGatsbyVersionRange: $wpgatsbyVersion + wpGQLVersionRange: $wpgqlVersion + ) { + satisfies { + wpGQL + wpGatsby + } + } + } + `, + variables: { + wpgqlVersion: supportedWpPluginVersions.WPGraphQL.version, + wpgatsbyVersion: supportedWpPluginVersions.WPGatsby.version, + }, + panicOnError: false, + throwGqlErrors: true, + }) + + wpgqlIsSatisfied = data.wpGatsbyCompatibility.satisfies.wpGQL + wpGatsbyIsSatisfied = data.wpGatsbyCompatibility.satisfies.wpGatsby + } catch (e) { + if ( + e.message.includes( + `Cannot query field "wpGatsbyCompatibility" on type "RootQuery".` + ) + ) { + helpers.reporter.panic( + formatLogMessage( + `Your version of WPGatsby is too old to determine if we're compatible.${genericDownloadMessage}` + ) + ) + } else { + helpers.reporter.panic(e.message) + } + } + + const shouldDisplayWPGraphQLReason = + !wpgqlIsSatisfied && supportedWpPluginVersions.WPGraphQL.reason + + const shouldDisplayWPGatsbyReason = + !wpGatsbyIsSatisfied && supportedWpPluginVersions.WPGatsby.reason + + const shouldDisplayAtleastOneReason = + shouldDisplayWPGraphQLReason || shouldDisplayWPGatsbyReason + + const shouldDisplayBothReasons = + shouldDisplayWPGraphQLReason && shouldDisplayWPGatsbyReason + + // a message explaining why these are the minimum versions + const reasons = `${shouldDisplayAtleastOneReason ? `\n\nReasons:\n\n` : ``}${ + shouldDisplayWPGraphQLReason + ? `- ${supportedWpPluginVersions.WPGraphQL.reason}` + : `` + }${shouldDisplayBothReasons ? `\n\n` : ``}${ + shouldDisplayWPGatsbyReason + ? `- ${supportedWpPluginVersions.WPGatsby.reason}` + : `` + }` + + let message = `` + + if (!wpgqlIsSatisfied) { + const { minVersion, maxVersion } = parseRange( + supportedWpPluginVersions.WPGraphQL.version + ) + + message += `Your remote version of WPGraphQL is not within the accepted range\n(${ + supportedWpPluginVersions.WPGraphQL.version + }).\n\nThis is not a bug and it means one of two things:\n you either need to upgrade WPGraphQL or gatsby-source-wordpress. + +1. If the version of WPGraphQL in your WordPress instance is higher than ${ + maxVersion || minVersion + } +it means you need to upgrade your version of gatsby-source-wordpress. + +2. If the version of WPGraphQL in your WordPress instance is lower than ${minVersion} +it means you need to upgrade your version of WPGraphQL. + +You can find a matching WPGraphQL version at https://github.com/wp-graphql/wp-graphql/releases` + } + + if (!wpGatsbyIsSatisfied && !wpgqlIsSatisfied) { + message += `\n\n---------------\n\n` + } + + if (!wpGatsbyIsSatisfied) { + const { minVersion, maxVersion } = parseRange( + supportedWpPluginVersions.WPGatsby.version + ) + + const { hostname, protocol } = url.parse(wpGraphQLEndpoint) + + message += `Your remote version of WPGatsby is not within the accepted range\n(${ + supportedWpPluginVersions.WPGatsby.version + })\n\nThis is not a bug and it means one of two things:\n you either need to upgrade WPGatsby or gatsby-source-wordpress. + +1. If the version of WPGatsby in your WordPress instance is higher than ${ + maxVersion || minVersion + } +it means you need to upgrade your version of gatsby-source-wordpress. + +2. If the version of WPGatsby in your WordPress instance is lower than ${minVersion} +it means you need to upgrade your version of WPGatsby. + +Download a matching version at https://github.com/gatsbyjs/wp-gatsby/releases +or update via ${protocol}//${hostname}/wp-admin/plugins.php` + } + + if (!wpGatsbyIsSatisfied || !wpgqlIsSatisfied) { + message += ` +${reasons}` + } + + if (message) { + helpers.reporter.panic(formatLogMessage(message)) + } +} + +// This blank request is used to find debug messages +// when a graphql request is made with no query +// for example if 2 root fields are registered with the fieldname "products" +// this will throw a helpful error message explaining that one should be removed +const blankGetRequest = async ({ + url, + helpers, +}: { + url: string + helpers: NodePluginArgs +}): Promise => + fetch(url) + .then((response) => response.json()) + .then((json) => { + if (json?.errors?.length) { + const firstError = json.errors[0] + + if ( + firstError.debugMessage || + (firstError.message && + !firstError.message?.includes( + `GraphQL Request must include at least one of those two parameters: "query" or "queryId"` + )) + ) { + helpers.reporter.panic( + formatLogMessage(`WPGraphQL returned a debug message on startup: + +${firstError.debugMessage || firstError.message} + `) + ) + } + } + }) + .catch((e) => {}) + +const isWpGatsby = async () => + fetchGraphql({ + query: /* GraphQL */ ` + { + isWpGatsby + } + `, + errorMap: { + from: `Cannot query field "isWpGatsby" on type "RootQuery".`, + // @todo replace this link with another once we're out of alpha + to: `WPGatsby is not active in your WordPress installation.\nTo download the latest version of WPGatsby visit https://wordpress.org/plugins/wp-gatsby/`, + }, + panicOnError: true, + isFirstRequest: true, + }) + +const prettyPermalinksAreEnabled = async ({ + helpers, +}: { + helpers: NodePluginArgs +}) => { + try { + const { data } = await fetchGraphql({ + query: /* GraphQL */ ` + { + generalSettings { + url + } + wpGatsby { + arePrettyPermalinksEnabled + } + } + `, + throwGqlErrors: true, + }) + + if (!data.wpGatsby.arePrettyPermalinksEnabled) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage(` +Pretty permalinks are not enabled in your WordPress instance. +Gatsby routing requires this setting to function properly. +Please enable pretty permalinks by changing your settings at +${data.generalSettings.url}/wp-admin/options-permalink.php. +`) + ) + } + } catch (e) { + // the WPGatsby version is too old to query for wpGatsby.arePrettyPermalinksEnabled + } +} + +const ensurePluginRequirementsAreMet = async ( + helpers: NodePluginArgs +): Promise => { + if (helpers.traceId === `refresh-createSchemaCustomization`) { + return + } + + const activity = helpers.reporter.activityTimer( + formatLogMessage(`ensuring plugin requirements are met`) + ) + + activity.start() + + const { + gatsbyApi: { + pluginOptions: { + url, + debug: { disableCompatibilityCheck }, + }, + }, + remoteSchema: { schemaWasChanged }, + } = store.getState() + + // if we don't have a cached remote schema MD5, this is a cold build + const isFirstBuild = !(await getPersistentCache({ key: MD5_CACHE_KEY })) + + if ( + !schemaWasChanged && + !isFirstBuild && + helpers.traceId !== `schemaWasChanged` + ) { + activity.end() + return + } + + await blankGetRequest({ url, helpers }) + await isWpGatsby() + + await Promise.all([ + prettyPermalinksAreEnabled({ helpers }), + areRemotePluginVersionsSatisfied({ + helpers, + url, + disableCompatibilityCheck, + }), + ]) + + activity.end() +} + +export { ensurePluginRequirementsAreMet } diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js new file mode 100644 index 0000000000000..ec071904452b7 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js @@ -0,0 +1,197 @@ +import store from "~/store" +import { transformFields } from "./transform-fields" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" +import { + buildTypeName, + fieldOfTypeWasFetched, + getTypeSettingsByType, + filterTypeDefinition, +} from "./helpers" + +const unionType = (typeBuilderApi) => { + const { typeDefs, schema, type, pluginOptions } = typeBuilderApi + + const types = type.possibleTypes + .filter( + (possibleType) => + !typeIsExcluded({ + pluginOptions, + typeName: possibleType.name, + }) + ) + .map((possibleType) => buildTypeName(possibleType.name)) + + if (!types || !types.length) { + return + } + + let unionType = { + name: buildTypeName(type.name), + types, + resolveType: (node) => { + if (node.type) { + return buildTypeName(node.type) + } + + if (node.__typename) { + return buildTypeName(node.__typename) + } + + return null + }, + extensions: { + infer: false, + }, + } + + // @todo add this as a plugin option + unionType = filterTypeDefinition(unionType, typeBuilderApi, `UNION`) + + typeDefs.push(schema.buildUnionType(unionType)) +} + +const interfaceType = (typeBuilderApi) => { + const { + type, + typeDefs, + schema, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + } = typeBuilderApi + + const state = store.getState() + const { ingestibles, typeMap } = state.remoteSchema + const { nodeInterfaceTypes } = ingestibles + + const allTypes = typeMap.values() + + const implementingTypes = Array.from(allTypes) + .filter( + ({ interfaces }) => + interfaces && + // find types that implement this interface type + interfaces.find((singleInterface) => singleInterface.name === type.name) + ) + .map((type) => typeMap.get(type.name)) + .filter( + (type) => + type.kind !== `UNION` || + // if this is a union type, make sure the union type has one or more member types, otherwise schema customization will throw an error + (!!type.possibleTypes && !!type.possibleTypes.length) + ) + + const transformedFields = transformFields({ + parentInterfacesImplementingTypes: implementingTypes, + fields: type.fields, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + }) + + let typeDef = { + name: buildTypeName(type.name), + fields: transformedFields, + extensions: { infer: false }, + } + + // if this is a node interface type + if (nodeInterfaceTypes.includes(type.name)) { + // we add nodeType (post type) to all nodes as they're fetched + // so we can add them to node interfaces as well in order to filter + // by a couple different content types + typeDef.fields[`nodeType`] = `String` + typeDef.extensions.nodeInterface = {} + } else { + // otherwise this is a regular interface type so we need to resolve the type name + typeDef.resolveType = (node) => + node && node.__typename ? buildTypeName(node.__typename) : null + } + + // @todo add this as a plugin option + typeDef = filterTypeDefinition(typeDef, typeBuilderApi, `INTERFACE`) + + typeDefs.push(schema.buildInterfaceType(typeDef)) +} + +const objectType = (typeBuilderApi) => { + const { + type, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + typeDefs, + schema, + isAGatsbyNode, + } = typeBuilderApi + + const transformedFields = transformFields({ + fields: type.fields, + parentType: type, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + }) + + // if all child fields are excluded, this type shouldn't exist. + if (!Object.keys(transformedFields).length) { + return + } + + let objectType = { + name: buildTypeName(type.name), + fields: transformedFields, + description: type.description, + extensions: { + infer: false, + }, + } + + if (type.interfaces) { + objectType.interfaces = type.interfaces + .filter((interfaceType) => { + const interfaceTypeSettings = getTypeSettingsByType(interfaceType) + + return !interfaceTypeSettings.exclude && fieldOfTypeWasFetched(type) + }) + .map(({ name }) => buildTypeName(name)) + } + + if ( + gatsbyNodeTypes.includes(type.name) || + isAGatsbyNode || + // this accounts for Node types that weren't fetched because + // they have no root field to fetch a single node of this type + // removing them from the schema breaks the build though + // @todo instead, if a node type isn't fetched, remove it + // from the entire schema + type?.interfaces?.find(({ name }) => name === `Node`) + ) { + // this is used to filter the node interfaces + // by different content types (post types) + objectType.fields[`nodeType`] = `String` + + objectType.interfaces = [`Node`, ...objectType.interfaces] + } + + // @todo add this as a plugin option + objectType = filterTypeDefinition(objectType, typeBuilderApi, `OBJECT`) + + typeDefs.push(schema.buildObjectType(objectType)) +} + +const enumType = ({ typeDefs, schema, type }) => { + typeDefs.push( + schema.buildEnumType({ + name: buildTypeName(type.name), + values: type.enumValues.reduce((accumulator, { name }) => { + accumulator[name] = { name } + + return accumulator + }, {}), + description: type.description, + }) + ) +} + +export default { unionType, interfaceType, objectType, enumType } diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js new file mode 100644 index 0000000000000..67f677c6dde2e --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js @@ -0,0 +1,146 @@ +import store from "~/store" +import { typeDefinitionFilters } from "./type-filters" +import { getPluginOptions } from "~/utils/get-gatsby-api" +import { cloneDeep, merge } from "lodash" + +/** + * This function namespaces typenames with a prefix + */ +export const buildTypeName = (name) => { + if (!name || typeof name !== `string`) { + return null + } + + const { + schema: { typePrefix: prefix }, + } = getPluginOptions() + + // this is for our namespace type on the root { wp { ...fields } } + if (name === prefix) { + return name + } + + return prefix + name +} + +/** + * Find the first type name of a Type definition pulled via introspection + * @param {object} type + */ +export const findTypeName = (type) => + type?.name || + type?.ofType?.name || + type?.ofType?.ofType?.name || + type?.ofType?.ofType?.ofType?.name + +/** + * Find the first type kind of a Type definition pulled via introspection + * @param {object} type + */ +export const findTypeKind = (type) => + type?.kind || + type?.ofType?.kind || + type?.ofType?.ofType?.kind || + type?.ofType?.ofType?.ofType?.kind + +export const fieldOfTypeWasFetched = (type) => { + const { fetchedTypes } = store.getState().remoteSchema + const typeName = findTypeName(type) + const typeWasFetched = !!fetchedTypes.get(typeName) + + return typeWasFetched +} + +const supportedScalars = [ + `Int`, + `Float`, + `String`, + `Boolean`, + `ID`, + `Date`, + `JSON`, +] + +export const typeIsABuiltInScalar = (type) => + // @todo the next function and this one are redundant. + // see the next todo on how to fix the issue. If that todo is resolved, these functions will be identical. :( + supportedScalars.includes(findTypeName(type)) + +export const typeIsASupportedScalar = (type) => { + if (findTypeKind(type) !== `SCALAR`) { + // @todo returning true here seems wrong since a type that is not a scalar can't be a supported scalar... so there is some other logic elsewhere that is wrong + // making this return false causes errors in the schema + return true + } + + return supportedScalars.includes(findTypeName(type)) +} + +const typeSettingCache = {} + +// retrieves plugin settings for the provided type +export const getTypeSettingsByType = (type) => { + if (!type) { + return {} + } + + const typeName = findTypeName(type) + + const cachedTypeSettings = typeSettingCache[typeName] + + if (cachedTypeSettings) { + return cachedTypeSettings + } + + // the plugin options object containing every type setting + const allTypeSettings = store.getState().gatsbyApi.pluginOptions.type + + const typeSettings = cloneDeep(allTypeSettings[typeName] || {}) + + // the type.__all plugin option which is applied to every type setting + const __allTypeSetting = cloneDeep(allTypeSettings.__all || {}) + + if (typeName === `MediaItem`) { + delete __allTypeSetting.limit + delete typeSettings.limit + } + + if (typeSettings) { + const mergedSettings = merge(__allTypeSetting, typeSettings) + + typeSettingCache[typeName] = mergedSettings + + return mergedSettings + } + + typeSettingCache[typeName] = __allTypeSetting + + return __allTypeSetting +} + +/** + * This is used to filter the automatically generated type definitions before they're added to the schema customization api. + */ +export const filterTypeDefinition = ( + typeDefinition, + typeBuilderApi, + typeKind +) => { + const filters = typeDefinitionFilters.filter((filter) => + [typeBuilderApi.type.name, `__all`].includes(filter.typeName) + ) + + if (filters?.length) { + filters.forEach((filter) => { + if (filter && typeof filter.typeDef === `function`) { + typeDefinition = filter.typeDef( + typeDefinition, + typeBuilderApi, + typeKind + ) + } + }) + } + + return typeDefinition +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js new file mode 100644 index 0000000000000..270d9c6348460 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js @@ -0,0 +1,95 @@ +import store from "~/store" + +import { fieldOfTypeWasFetched } from "./helpers" + +import buildType from "./build-types" +import { getGatsbyNodeTypeNames } from "../source-nodes/fetch-nodes/fetch-nodes" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" + +/** + * createSchemaCustomization + */ +const customizeSchema = async ({ actions, schema }) => { + const state = store.getState() + + const { + gatsbyApi: { pluginOptions }, + remoteSchema, + } = state + + const { + fieldAliases, + fieldBlacklist, + ingestibles: { nonNodeRootFields }, + } = remoteSchema + + const typeDefs = [] + + const gatsbyNodeTypes = getGatsbyNodeTypeNames() + + const typeBuilderApi = { + typeDefs, + schema, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + pluginOptions, + } + + // create Gatsby node types + remoteSchema.introspectionData.__schema.types.forEach((type) => { + if ( + fieldOfTypeWasFetched(type) && + !typeIsExcluded({ pluginOptions, typeName: type.name }) + ) { + switch (type.kind) { + case `UNION`: + buildType.unionType({ ...typeBuilderApi, type }) + break + case `INTERFACE`: + buildType.interfaceType({ ...typeBuilderApi, type }) + break + case `OBJECT`: + buildType.objectType({ ...typeBuilderApi, type }) + break + case `ENUM`: + buildType.enumType({ ...typeBuilderApi, type }) + break + case `SCALAR`: + /** + * custom scalar types aren't imlemented currently. + * @todo make this hookable so sub-plugins or plugin options can add custom scalar support. + */ + break + } + } + }) + + // Create non Gatsby node types by creating a single node + // where the typename is the type prefix + // The node fields are the non-node root fields of the remote schema + // like so: query { prefix { ...fields } } + buildType.objectType({ + ...typeBuilderApi, + type: { + kind: `OBJECT`, + name: pluginOptions.schema.typePrefix, + description: `Non-node WPGraphQL root fields.`, + fields: nonNodeRootFields, + interfaces: [`Node`], + }, + isAGatsbyNode: true, + }) + + actions.createTypes(typeDefs) +} + +const createSchemaCustomization = async (api) => { + try { + await customizeSchema(api) + } catch (e) { + api.reporter.panic(e) + } +} + +export { createSchemaCustomization } diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js new file mode 100644 index 0000000000000..89fcaaf3e7a5f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js @@ -0,0 +1,66 @@ +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +import { buildGatsbyNodeObjectResolver } from "~/steps/create-schema-customization/transform-fields/transform-object" + +export const buildDefaultResolver = (transformerApi) => ( + source, + _, + context +) => { + const { fieldName, field, gatsbyNodeTypes } = transformerApi + + let finalFieldValue + + const resolvedField = source[fieldName] + + if (typeof resolvedField !== `undefined`) { + finalFieldValue = resolvedField + } + + const autoAliasedFieldPropertyName = `${fieldName}__typename_${field?.type?.name}` + + const aliasedField = source[autoAliasedFieldPropertyName] + + if ( + typeof resolvedField === `undefined` && + typeof aliasedField !== `undefined` + ) { + finalFieldValue = aliasedField + } + + // the findTypeName helpers was written after this resolver + // had been in production for a while. + // so we don't know if in all cases it will find the right typename + // for this resolver.. + // So the old way of doing it is above in autoAliasedFieldPropertyName + // @todo write comprehesive data resolution integration tests + // using many different WPGraphQL extensions + // then come back and remove the `return aliasedField` line and + // see if this still resolves everything properly + const typeName = findTypeName(field.type) + const autoAliasedFieldName = `${fieldName}__typename_${typeName}` + + const aliasedField2 = source[autoAliasedFieldName] + + if ( + typeof resolvedField === `undefined` && + typeof aliasedField2 !== `undefined` + ) { + finalFieldValue = aliasedField2 + } + + const isANodeConnection = + // if this field has just an id and typename + finalFieldValue?.id && + finalFieldValue?.__typename && + Object.keys(finalFieldValue).length === 2 && + // and it's a Gatsby Node type + gatsbyNodeTypes.includes(finalFieldValue.__typename) + + if (isANodeConnection) { + const gatsbyNodeResolver = buildGatsbyNodeObjectResolver(transformerApi) + return gatsbyNodeResolver(source, _, context) + } + + return finalFieldValue +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js new file mode 100644 index 0000000000000..43c9eca977ebf --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js @@ -0,0 +1,256 @@ +import { buildTypeName, findTypeName, findTypeKind } from "../helpers" +import { transformUnion, transformListOfUnions } from "./transform-union" +import { transformGatsbyNodeObject } from "~/steps/create-schema-customization/transform-fields/transform-object" +import { transformListOfGatsbyNodes } from "./transform-object" +import { getGatsbyNodeTypeNames } from "~/steps/source-nodes/fetch-nodes/fetch-nodes" +import { typeIsABuiltInScalar } from "~/steps/create-schema-customization/helpers" +import store from "~/store" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" +import { getPluginOptions } from "~/utils/get-gatsby-api" + +export const fieldTransformers = [ + { + description: `NON_NULL Scalar`, + test: (field) => + field.type.kind === `NON_NULL` && field.type.ofType.kind === `SCALAR`, + + transform: ({ field }) => { + if (typeIsABuiltInScalar(field.type)) { + return `${field.type.ofType.name}!` + } else { + return `JSON!` + } + }, + }, + + { + description: `NON_NULL list type`, + test: (field) => + field.type.kind === `NON_NULL` && + field.type.ofType.kind === `LIST` && + (field.type.ofType.name || field.type.ofType?.ofType?.name), + + transform: ({ field }) => { + const typeName = findTypeName(field.type) + const normalizedTypeName = typeIsABuiltInScalar(field.type) + ? typeName + : buildTypeName(typeName) + + return `[${normalizedTypeName}]!` + }, + }, + + { + description: `NON_NULL lists of NON_NULL types`, + test: (field) => + field.type.kind === `NON_NULL` && + field.type.ofType.kind === `LIST` && + field.type.ofType?.ofType?.kind === `NON_NULL`, + + transform: ({ field, fieldName }) => { + const originalTypeName = findTypeName(field.type) + const typeKind = findTypeKind(field.type) + + const normalizedType = + typeKind === `SCALAR` && typeIsABuiltInScalar(field.type) + ? originalTypeName + : buildTypeName(originalTypeName) + + return { + type: `[${normalizedType}!]!`, + resolve: (source) => { + const resolvedField = source[fieldName] + + if (typeof resolvedField !== `undefined`) { + return resolvedField ?? [] + } + + const autoAliasedFieldPropertyName = `${fieldName}__typename_${field?.type?.name}` + + const aliasedField = source[autoAliasedFieldPropertyName] + + return aliasedField ?? [] + }, + } + }, + }, + + { + description: `Lists of NON_NULL builtin types`, + test: (field) => + field.type.kind === `LIST` && + field.type.ofType.kind === `NON_NULL` && + (field.type.ofType.name ?? field.type.ofType?.ofType?.name) && + typeIsABuiltInScalar(field.type), + + transform: ({ field }) => `[${findTypeName(field.type)}!]`, + }, + + { + description: `Lists of NON_NULL types`, + test: (field) => + field.type.kind === `LIST` && + field.type.ofType.kind === `NON_NULL` && + (field.type.ofType.name ?? field.type.ofType?.ofType?.name), + + transform: ({ field }) => `[${buildTypeName(findTypeName(field.type))}!]`, + }, + + { + description: `ENUM type`, + test: (field) => field.type.kind === `ENUM`, + transform: ({ field }) => buildTypeName(field.type.name), + }, + + { + description: `Scalar type`, + test: (field) => field.type.kind === `SCALAR`, + transform: ({ field }) => { + if (typeIsABuiltInScalar(field.type)) { + return field.type.name + } else { + // custom scalars are typed as JSON + // @todo if frequently requested, + // make this hookable so a plugin could register a custom scalar + return `JSON` + } + }, + }, + + { + description: `Gatsby Node Objects or Gatsby Node Interfaces where all possible types are Gatsby Nodes`, + test: (field) => { + const gatsbyNodeTypes = getGatsbyNodeTypeNames() + + const pluginOptions = getPluginOptions() + + const isAnInterfaceTypeOfGatsbyNodes = + // if this is an interface + field.type.kind === `INTERFACE` && + // and every possible type is a future gatsby node + store + .getState() + // get the full type for this interface + .remoteSchema.typeMap.get(findTypeName(field.type)) + // filter out any excluded types + .possibleTypes?.filter( + (possibleType) => + !typeIsExcluded({ + pluginOptions, + typeName: possibleType.name, + }) + ) + // if every remaining type is a Gatsby node type + // then use this field transformer + ?.every((possibleType) => gatsbyNodeTypes.includes(possibleType.name)) + + return ( + (gatsbyNodeTypes.includes(field.type.name) && + field.type.kind === `OBJECT`) || + isAnInterfaceTypeOfGatsbyNodes + ) + }, + + transform: transformGatsbyNodeObject, + }, + + { + description: `Lists of Gatsby Node Object types`, + test: (field) => { + const gatsbyNodeTypes = getGatsbyNodeTypeNames() + + const { + remoteSchema: { typeMap }, + } = store.getState() + + return ( + // this is a list of Gatsby nodes + (field.type.kind === `LIST` && + field.type.ofType.kind === `OBJECT` && + gatsbyNodeTypes.includes(field.type.ofType.name)) || + // or it's a list of an interface type which Gatsby nodes implement + (field.type.kind === `LIST` && + field.type.ofType.kind === `INTERFACE` && + typeMap + .get(field.type.ofType.name) + ?.possibleTypes?.find((possibleType) => + gatsbyNodeTypes.includes(possibleType.name) + )) + ) + }, + + transform: transformListOfGatsbyNodes, + }, + + { + description: `Non-Gatsby Node Objects`, + test: (field) => field.type.kind === `OBJECT`, + transform: ({ field }) => buildTypeName(field.type.name), + }, + + { + description: `Lists of Non Gatsby Node Objects`, + test: (field) => + field.type.kind === `LIST` && + (field.type.ofType.kind === `OBJECT` || + field.type.ofType.kind === `ENUM`), + + transform: ({ field }) => `[${buildTypeName(field.type.ofType.name)}]`, + }, + + { + description: `Lists of Union types`, + test: (field) => + field.type.kind === `LIST` && field.type.ofType.kind === `UNION`, + + transform: transformListOfUnions, + }, + + { + description: `Lists of Scalar types`, + test: (field) => + field.type.kind === `LIST` && field.type.ofType.kind === `SCALAR`, + + transform: ({ field }) => { + if (typeIsABuiltInScalar(field.type)) { + return `[${field.type.ofType.name}]` + } else { + return `[JSON]` + } + }, + }, + + { + description: `Lists of Interface types`, + test: (field) => + field.type.kind === `LIST` && field.type.ofType.kind === `INTERFACE`, + + transform: ({ field }) => `[${buildTypeName(field.type.ofType.name)}]`, + }, + + { + description: `Union type`, + test: (field) => field.type.kind === `UNION`, + transform: transformUnion, + }, + + { + description: `Interface type`, + test: (field) => field.type.kind === `INTERFACE`, + transform: ({ field }) => buildTypeName(field.type.name), + }, + + { + description: `Lists of NON_NULL types`, + test: (field) => + findTypeKind(field.type) !== `LIST` && field.type.kind === `NON_NULL`, + transform: ({ field }) => `${buildTypeName(findTypeName(field.type))}!`, + }, + + // for finding unhandled types + // { + // description: `Unhandled type`, + // test: () => true, + // transform: ({ field }) => dd(field), + // }, +] diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js new file mode 100644 index 0000000000000..a853c1ac5d6f4 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js @@ -0,0 +1,200 @@ +import { fieldTransformers } from "./field-transformers" +import store from "~/store" + +import { + fieldOfTypeWasFetched, + typeIsASupportedScalar, + getTypeSettingsByType, + findTypeName, +} from "~/steps/create-schema-customization/helpers" + +import { buildDefaultResolver } from "./default-resolver" + +const handleCustomScalars = (field) => { + const fieldTypeIsACustomScalar = + field.type.kind === `SCALAR` && !typeIsASupportedScalar(field.type) + + if (fieldTypeIsACustomScalar) { + // if this field is an unsupported custom scalar, + // type it as JSON + field.type.name = `JSON` + } + + const fieldTypeOfTypeIsACustomScalar = + field.type.ofType && + field.type.ofType.kind === `SCALAR` && + !typeIsASupportedScalar(field.type) + + if (fieldTypeOfTypeIsACustomScalar) { + // if this field is an unsupported custom scalar, + // type it as JSON + field.type.ofType.name = `JSON` + } + + return field +} + +// this is used to alias fields that conflict with Gatsby node fields +// for ex Gatsby and WPGQL both have a `parent` field +export const getAliasedFieldName = ({ fieldAliases, field }) => + fieldAliases && fieldAliases[field.name] + ? fieldAliases[field.name] + : field.name + +export const returnAliasedFieldName = ({ fieldAliases, field }) => + fieldAliases && fieldAliases[field.name] + ? `${fieldAliases[field.name]}: ${field.name}` + : field.name + +const excludeField = ({ + field, + fieldName, + thisTypeSettings, + fieldBlacklist, + parentTypeSettings, + parentInterfacesImplementingTypeSettings, +}) => + // this field wasn't previously fetched, so we shouldn't + // add it to our schema + !fieldOfTypeWasFetched(field.type) || + // this field was excluded on it's parent fields Type + (parentTypeSettings.excludeFieldNames && + parentTypeSettings.excludeFieldNames.includes(fieldName)) || + // this field is on an interface type and one of the implementing types has this field excluded on it. + (parentInterfacesImplementingTypeSettings && + parentInterfacesImplementingTypeSettings.find( + (typeSetting) => + typeSetting.excludeFieldNames && + typeSetting.excludeFieldNames.find( + (excludedFieldName) => fieldName === excludedFieldName + ) + )) || + // the type of this field was excluded via plugin options + thisTypeSettings.exclude || + // field is blacklisted + fieldBlacklist.includes(fieldName) || + // this field has required input args + (field.args && field.args.find((arg) => arg.type.kind === `NON_NULL`)) || + // this field has no typeName + !findTypeName(field.type) || + // field is a non null object + // @todo this looks unnecessary. Need to look into why non null object types are excluded + (field.type.kind === `NON_NULL` && field.type.ofType.kind === `OBJECT`) || + // field is a non null enum + (field.type.kind === `NON_NULL` && field.type.ofType.kind === `ENUM`) + +/** + * Transforms fields from the WPGQL schema to work in the Gatsby schema + * with proper node linking and type namespacing + * also filters out unusable fields and types + */ + +export const transformFields = ({ + fields, + fieldAliases, + fieldBlacklist, + parentType, + parentInterfacesImplementingTypes, + gatsbyNodeTypes, +}) => { + if (!fields || !fields.length) { + return null + } + + const parentTypeSettings = getTypeSettingsByType(parentType) + + const parentInterfacesImplementingTypeSettings = parentInterfacesImplementingTypes + ? parentInterfacesImplementingTypes.map((type) => + getTypeSettingsByType(type) + ) + : null + + const transformedFields = fields.reduce((fieldsObject, field) => { + // if there's no field name this field is unusable + if (field.name === ``) { + return fieldsObject + } + + const thisTypeSettings = getTypeSettingsByType(field.type) + + const fieldName = getAliasedFieldName({ fieldAliases, field }) + + if ( + excludeField({ + field, + fieldName, + thisTypeSettings, + fieldBlacklist, + parentTypeSettings, + parentInterfacesImplementingTypeSettings, + }) + ) { + return fieldsObject + } + + const { typeMap } = store.getState().remoteSchema + + const type = typeMap.get(findTypeName(field.type)) + + const includedChildFields = type?.fields?.filter((field) => { + const childFieldTypeSettings = getTypeSettingsByType(field.type) + const fieldName = getAliasedFieldName({ fieldAliases, field }) + return !excludeField({ + field, + fieldName, + thisTypeSettings: childFieldTypeSettings, + fieldBlacklist, + parentTypeSettings: thisTypeSettings, + parentInterfacesImplementingTypeSettings, + }) + }) + + // if the child fields of this field are all excluded, + // we shouldn't add this field + // @todo move this to a central location. + // if a type is missing all it's child fields due to exclusion + // it should be globally excluded automatically. + if (Array.isArray(includedChildFields) && !includedChildFields.length) { + return fieldsObject + } + + field = handleCustomScalars(field) + + const { transform, description } = + fieldTransformers.find(({ test }) => test(field)) || {} + + if (transform && typeof transform === `function`) { + const transformerApi = { + field, + fieldsObject, + fieldName, + gatsbyNodeTypes, + description, + } + + let transformedField = transform(transformerApi) + + // add default resolver + if (typeof transformedField === `string`) { + // we need to add a custom resolver to override the default resolver + // and check for aliased fields + // fields are aliased automatically if they have conflicting types + // with other fields of the same name when placed in side-by-side + // inlineFragments on the same union or interface type. + transformedField = { + type: transformedField, + resolve: buildDefaultResolver(transformerApi), + description: field.description, + } + } else { + transformedField.description = field.description + } + + fieldsObject[fieldName] = transformedField + } + + return fieldsObject + }, {}) + + return transformedFields +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js new file mode 100644 index 0000000000000..e4665408cd4b0 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js @@ -0,0 +1,99 @@ +import { buildTypeName } from "~/steps/create-schema-customization/helpers" +import { fetchAndCreateSingleNode } from "~/steps/source-nodes/update-nodes/wp-actions/update" +import { getQueryInfoByTypeName } from "~/steps/source-nodes/helpers" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { inPreviewMode } from "~/steps/preview/index" + +export const transformListOfGatsbyNodes = ({ field, fieldName }) => { + const typeName = buildTypeName(field.type.ofType.name) + + return { + type: `[${typeName}]`, + resolve: (source, args, context, info) => { + let nodes = null + + const field = source[fieldName] + + if (field && Array.isArray(field)) { + nodes = field + } else if (Array.isArray(source?.nodes)) { + nodes = source.nodes + } + + if (!nodes) { + return null + } + + return context.nodeModel.getNodesByIds({ + ids: nodes.map((node) => node?.id), + type: typeName, + }) + }, + } +} + +export const buildGatsbyNodeObjectResolver = ({ field, fieldName }) => async ( + source, + _, + context +) => { + const typeName = buildTypeName(field.type.name) + const nodeField = source[fieldName] + + if (!nodeField || (nodeField && !nodeField.id)) { + return null + } + + const existingNode = context.nodeModel.getNodeById({ + id: nodeField.id, + type: typeName, + }) + + if (existingNode) { + return existingNode + } + + const queryInfo = getQueryInfoByTypeName(field.type.name) + + const isLazyMediaItem = + queryInfo.typeInfo.nodesTypeName === `MediaItem` && + queryInfo.settings.lazyNodes + + if ( + // only fetch/create nodes in resolvers for media items when they have lazyNodes enabled + !isLazyMediaItem && + // but if we're in preview mode we want to lazy fetch nodes + // because if nodes are limited we still want to lazy fetch connections + !inPreviewMode() + ) { + return null + } + + // if this node doesn't exist, fetch it and create a node + const { node } = await fetchAndCreateSingleNode({ + id: nodeField.id, + actionType: `CREATE`, + singleName: queryInfo.typeInfo.singularName, + }) + + if (source.id && node) { + const { helpers } = getGatsbyApi() + + await helpers.actions.createParentChildLink({ + parent: source, + child: node, + }) + } + + return node || null +} + +export const transformGatsbyNodeObject = (transformerApi) => { + const { field } = transformerApi + const typeName = buildTypeName(field.type.name) + + return { + type: typeName, + resolve: buildGatsbyNodeObjectResolver(transformerApi), + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js new file mode 100644 index 0000000000000..052e57ced694a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js @@ -0,0 +1,66 @@ +import { buildTypeName } from "~/steps/create-schema-customization/helpers" + +export const transformUnion = ({ field, fieldName }) => { + return { + type: buildTypeName(field.type.name), + resolve: (source, _, context) => { + const resolvedField = + source[fieldName] || + source[`${field.name}__typename_${field.type.name}`] + + if (resolvedField && resolvedField.id) { + const gatsbyNode = context.nodeModel.getNodeById({ + id: resolvedField.id, + type: resolvedField.type, + }) + + if (gatsbyNode) { + return gatsbyNode + } else { + return null + } + } + + return resolvedField + }, + } +} + +export const transformListOfUnions = ({ field, fieldName }) => { + const typeName = buildTypeName(field.type.ofType.name) + + return { + type: `[${typeName}]`, + resolve: (source, _, context) => { + const resolvedField = + source[fieldName] ?? + source[`${field.name}__typename_${field.type.name}`] + + if ( + (!resolvedField && resolvedField !== false) || + !resolvedField.length + ) { + return null + } + + return resolvedField.reduce((accumulator, item) => { + // @todo use our list of Gatsby node types to do a more performant check + // on wether this is a Gatsby node or not. + const node = item.id + ? context.nodeModel.getNodeById({ + id: item.id, + type: buildTypeName(item.__typename), + }) + : null + + if (node) { + accumulator.push(node) + } else if (!item.id) { + accumulator.push(item) + } + + return accumulator + }, []) + }, + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js new file mode 100644 index 0000000000000..637496932851e --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js @@ -0,0 +1,108 @@ +import { createRemoteMediaItemNode } from "~/steps/source-nodes/create-nodes/create-remote-media-item-node" + +// @todo move this to plugin options +export const typeDefinitionFilters = [ + { + typeName: `__all`, + typeDef: (typeDef) => { + /** + * @todo once WPGraphQL has a DateTime Scalar, use that to find date fields + * instead of the below fieldnames + */ + + if (typeDef?.fields?.date) { + const dateField = { + ...typeDef.fields.date, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.date = dateField + } + + if (typeDef?.fields?.dateGmt) { + const dateField = { + ...typeDef.fields.dateGmt, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.dateGmt = dateField + } + + if (typeDef?.fields?.modified) { + const dateField = { + ...typeDef.fields.modified, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.modified = dateField + } + + if (typeDef?.fields?.modifiedGmt) { + const dateField = { + ...typeDef.fields.modifiedGmt, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.modifiedGmt = dateField + } + + return typeDef + }, + }, + { + typeName: `MediaItem`, + typeDef: (objectType, { pluginOptions }) => { + // @todo: this field is deprecated as of 0.1.8, remove this when we get to beta + objectType.fields.remoteFile = { + type: `File`, + deprecationReason: `MediaItem.remoteFile was renamed to localFile`, + resolve: () => { + throw new Error( + `MediaItem.remoteFile is deprecated and has been renamed to MediaItem.localFile. Please update your code.` + ) + }, + } + + objectType.fields.localFile = { + type: `File`, + resolve: (mediaItemNode, _, context) => { + if (!mediaItemNode) { + return null + } + + const localMediaNodeId = mediaItemNode?.localFile?.id + + if (localMediaNodeId) { + const node = context.nodeModel.getNodeById({ + id: mediaItemNode.localFile.id, + type: `File`, + }) + + if (node) { + return node + } + } + + return createRemoteMediaItemNode({ + mediaItemNode, + parentName: `Creating File node while resolving missing MediaItem.localFile`, + }) + }, + } + + return objectType + }, + }, +] diff --git a/packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.js b/packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.js new file mode 100644 index 0000000000000..6f6ac09173bfc --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.js @@ -0,0 +1,829 @@ +const prettier = require(`prettier`) + +const wrapOptions = (innerOptions) => + prettier + .format( + `const something = { + resolve: \`gatsby-source-wordpress\`, options: { + ${innerOptions.trim()} + }, +}`, + { parser: `babel` } + ) + .replace(`const something = `, ``) + .replace(`;`, ``) + +export function pluginOptionsSchema({ Joi }) { + const getTypeOptions = () => + Joi.object({ + exclude: Joi.boolean() + .allow(null) + .description( + `Completely excludes a type from node sourcing and from the ingested schema.` + ) + .example( + wrapOptions(` + type: { + Page: { + exclude: true, + }, + }, + `) + ), + limit: Joi.number() + .integer() + .allow(null) + .allow(false) + .description( + `The maximum amount of objects of this type to fetch from WordPress.` + ), + excludeFieldNames: Joi.array() + .items(Joi.string()) + .allow(null) + .allow(false) + .description(`Excludes fields on a type by field name.`) + .example( + wrapOptions(` + type: { + Page: { + excludeFieldNames: [\`dateGmt\`, \`parent\`], + }, + }, + `) + ), + nodeInterface: Joi.boolean() + .allow(null) + .allow(false) + .description( + `Determines wether or not this type will be treated as an interface comprised entirely of other Gatsby node types.` + ) + .example( + wrapOptions(` + type: { + Page: { + nodeInterface: true + } + } + `) + ), + beforeChangeNode: Joi.function() + .allow(null) + .allow(false) + .description( + `A function which is invoked before a node is created, updated, or deleted. This is a hook in point to modify the node or perform side-effects related to it.` + ), + }) + + const joiSchema = Joi.object({ + verbose: Joi.boolean() + .default(true) + .description( + `Enables verbose logging in the terminal. Set to \`false\` to turn it off.` + ) + .example( + wrapOptions(` + verbose: true,`) + ), + debug: Joi.object({ + preview: Joi.boolean() + .default(false) + .description( + `When set to true, this option will display additional information in the terminal output about the running preview process.` + ) + .example( + wrapOptions(` + debug: { + preview: true + }, + `) + ), + timeBuildSteps: Joi.boolean() + .default(false) + .description( + `When set to true, this option will display how long each internal step took during the build process.` + ) + .example( + wrapOptions(` + debug: { + timeBuildSteps: true, + }, + `) + ), + disableCompatibilityCheck: Joi.boolean() + .default(false) + .description( + `This option disables the compatibility API check against the remote WPGraphQL and WPGatsby plugin versions. Note that it's highly recommended to not disable this setting. If you disable this setting you will receive no support until it's re-enabled. It's also highly likely that you'll run into major bugs without initially realizing that this was the cause.\n\nThis option should only be used for debugging.` + ) + .example( + wrapOptions(` + debug: { + disableCompatibilityCheck: true, + }, + `) + ), + throwRefetchErrors: Joi.boolean() + .default(false) + .description( + `When this is set to true, errors thrown while updating data in gatsby develop will fail the build process instead of automatically attempting to recover.` + ) + .example( + wrapOptions(` + debug: { + throwRefetchErrors: true + } + `) + ), + graphql: Joi.object({ + showQueryVarsOnError: Joi.boolean() + .default(false) + .description( + `When a GraphQL error is returned and the process exits, this plugin option determines wether or not to log out the query vars that were used in the query that returned GraphQL errors.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + showQueryVarsOnError: true, + }, + }, + `) + ), + showQueryOnError: Joi.boolean() + .default(false) + .description( + `If enabled, GraphQL queries will be printed to the terminal output when the query returned errors.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + showQueryOnError: true + } + } + `) + ), + copyQueryOnError: Joi.boolean() + .default(false) + .description( + `If enabled, GraphQL queries will be copied to your OS clipboard (if supported) when the query returned errors.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + copyQueryOnError: true + } + } + `) + ), + panicOnError: Joi.boolean() + .default(false) + .description( + `Determines wether or not to panic when any GraphQL error is returned. + +Default is false because sometimes non-critical errors are returned alongside valid data.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + panicOnError: false, + }, + }, + `) + ), + onlyReportCriticalErrors: Joi.boolean() + .default(true) + .description( + `Determines wether or not to log non-critical errors. A non-critical error is any error which is returned alongside valid data. In previous versions of WPGraphQL this was very noisy because trying to access an entity that was private returned errors.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + onlyReportCriticalErrors: true, + }, + }, + `) + ), + copyNodeSourcingQueryAndExit: Joi.string() + .allow(false) + .default(false) + .description( + `When a type name from the remote schema is entered here, the node sourcing query will be copied to the clipboard, and the process will exit.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + copyNodeSourcingQueryAndExit: true + } + } + `) + ), + writeQueriesToDisk: Joi.boolean() + .default(false) + .description( + `When true, all internal GraphQL queries generated during node sourcing will be written out to \`./WordPress/GraphQL/[TypeName]/*.graphql\` for every type that is sourced. This is very useful for debugging GraphQL errors.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + writeQueriesToDisk: true, + }, + }, + `) + ), + printIntrospectionDiff: Joi.boolean() + .default(false) + .description( + `When this is set to true it will print out the diff between types in the previous and new schema when the schema changes. This is enabled by default when debug.preview is enabled.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + printIntrospectionDiff: true, + }, + }, + `) + ), + }) + .description( + `An object which contains GraphQL debugging options. See below for options.` + ) + .example( + wrapOptions(` + debug: { + graphql: { + // Add your options here :) + }, + }, + `) + ), + }) + .description( + `An object which contains options related to debugging. See below for options.` + ) + .example( + wrapOptions(` + debug: { + // Add your options here :) + }, + `) + ), + production: Joi.object({ + hardCacheMediaFiles: Joi.boolean() + .default(false) + .description( + `This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at ./.wordpress-cache/path/to/media/file.jpeg. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project.` + ) + .example( + wrapOptions(` + production: { + hardCacheMediaFiles: true + } + `) + ), + allow404Images: Joi.boolean() + .default(false) + .description( + `This option allows images url's that return a 404 to not fail production builds.` + ) + .example( + wrapOptions(` + production: { + allow404Images: true + } + `) + ), + }), + develop: Joi.object({ + nodeUpdateInterval: Joi.number() + .integer() + .default(5000) + .description( + `Specifies in milliseconds how often Gatsby will ask WP if data has changed during development. If you want to see data update in near-realtime while you're developing, set this low. Your server may have trouble responding to too many requests over a long period of time and in that case, set this high. Setting it higher saves electricity too ⚡️🌲` + ) + .example( + wrapOptions(` + develop: { + nodeUpdateInterval: 300 + }, + `) + ), + hardCacheMediaFiles: Joi.boolean() + .default(false) + .description( + `This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at \`./.wordpress-cache/path/to/media/file.jpeg\`. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project.` + ) + .example( + wrapOptions(` + develop: { + hardCacheMediaFiles: true, + }, + `) + ), + hardCacheData: Joi.boolean() + .default(false) + .description( + `This option is experimental. When set to true, WordPress data will be hard-cached outside the Gatsby cache in \`./.wordpress-cache/caches\`. This is useful for preventing the need to re-fetch all data when the Gatsby cache automatically clears. This hard cache will automatically clear itself when your remote WPGraphQL schema changes, or when you change your plugin options. + +When using this option, be sure to gitignore the wordpress-cache directory in the root of your project.` + ) + .example( + wrapOptions(` + develop: { + hardCacheData: false, + }, + `) + ), + }) + .description(`Options related to the gatsby develop process.`) + .example( + wrapOptions(` + develop: { + // options related to \`gatsby develop\` + }, + `) + ), + auth: Joi.object({ + htaccess: Joi.object({ + username: Joi.string() + .allow(null) + .default(null) + .description(`The username for your .htpassword protected site.`) + .example( + wrapOptions(` + auth: { + htaccess: { + username: \`admin\`, + }, + }, + `) + ), + password: Joi.string() + .allow(null) + .default(null) + .description(`The password for your .htpassword protected site.`) + .example( + wrapOptions(` + auth: { + htaccess: { + password: \`1234strong_password\`, + }, + }, + `) + ), + }) + .description(`Options related to htaccess authentication.`) + .example( + wrapOptions(` + auth: { + htaccess: { + // Add your options here :) + }, + }, + `) + ), + }) + .description(`Options related to authentication. See below for options.`) + .example( + wrapOptions(` + auth: { + // Add your options here :) + }, + `) + ), + schema: Joi.object({ + queryDepth: Joi.number() + .integer() + .positive() + .default(15) + .description( + `The maximum field depth the remote schema will be queried to.` + ) + .example( + wrapOptions(` + schema: { + queryDepth: 15 + } + `) + ), + circularQueryLimit: Joi.number() + .integer() + .positive() + .default(5) + .description( + `The maximum number times a type can appear as it's own descendant.` + ) + .example( + wrapOptions(` + schema: { + circularQueryLimit: 5 + } + `) + ), + typePrefix: Joi.string() + .default(`Wp`) + .description( + `The prefix for all ingested types from the remote schema. For example Post becomes WpPost.` + ) + .example( + wrapOptions(` + schema: { + typePrefix: \`Wp\`, + }, + `) + ), + timeout: Joi.number() + .integer() + .default(30 * 1000) + .description( + `The amount of time in ms before GraphQL requests will time out.` + ) + .example( + wrapOptions(` + schema: { + timeout: 30000, + }, + `) + ), + perPage: Joi.number() + .integer() + .default(100) + .description( + `The number of nodes to fetch per page during node sourcing.` + ) + .example( + wrapOptions(` + schema: { + perPage: 100, + }, + `) + ), + requestConcurrency: Joi.number() + .integer() + .default(15) + .description( + `The number of concurrent GraphQL requests to make at any time during node sourcing. Try lowering this if your WordPress server crashes while sourcing data.` + ) + .example( + wrapOptions(` + schema: { + requestConcurrency: 50, + }, + `) + ), + previewRequestConcurrency: Joi.number() + .integer() + .default(5) + .description( + `The number of concurrent GraphQL requests to make at any time during preview sourcing. Try lowering this if your WordPress server crashes during previews. Normally this wont be needed and only comes into effect when multiple users are previewing simultaneously.` + ) + .example( + wrapOptions(` + schema: { + previewRequestConcurrency: 50, + }, + `) + ), + }) + .description( + `Options related to fetching and ingesting the remote schema.` + ) + .example( + wrapOptions(` + schema: { + // Add your options here :) + }, + `) + ), + excludeFieldNames: Joi.array() + .items(Joi.string()) + .allow(null) + .description( + `A list of field names to globally exclude from the ingested schema.` + ) + .example( + wrapOptions(` + excludeFieldNames: [\`viewer\`], + `) + ), + html: Joi.object({ + useGatsbyImage: Joi.boolean() + .default(true) + .allow(null) + .description( + `Causes the source plugin to find/replace images in html with Gatsby images.` + ) + .example( + wrapOptions(` + html: { + useGatsbyImage: true, + }, + `) + ), + imageMaxWidth: Joi.number() + .integer() + .allow(null) + .default(null) + .description( + `Adds a limit to the max width an image can be. If the image size selected in WP is smaller or the image file width is smaller than this those values will be used instead.` + ) + .example( + wrapOptions(` + html: { + imageMaxWidth: 1024, + }, + `) + ), + fallbackImageMaxWidth: Joi.number() + .integer() + .allow(null) + .default(100) + .description( + `If a max width can't be inferred from html this value will be passed to Sharp. If the image is smaller than this, the image file's width will be used instead.` + ) + .example( + wrapOptions(` + html: { + fallbackImageMaxWidth: 800, + }, + `) + ), + imageQuality: Joi.number() + .integer() + .default(90) + .allow(null) + .description( + `Determines the image quality that Sharp will use when generating inline html image thumbnails.` + ) + .example( + wrapOptions(` + html: { + imageQuality: 90, + }, + `) + ), + createStaticFiles: Joi.boolean() + .default(true) + .allow(null) + .description( + `When this is true, any url's which are wrapped in "", '', or () and which contain /wp-content/uploads will be transformed into static files and the url's will be rewritten. This adds support for video, audio, and anchor tags which point at WP media item uploads as well as inline-html css like background-image: url().` + ) + .example( + wrapOptions(` + html: { + createStaticFiles: true, + }, + `) + ), + }) + .description(`Options related to html field processing.`) + .example( + wrapOptions(` + html: { + // Add your options here :) + }, + `) + ), + type: Joi.object({ + __all: getTypeOptions() + .description( + `A special type setting which is applied to all types in the ingested schema.` + ) + .example( + wrapOptions(` + type: { + __all: { + limit: 10, + }, + }, + `) + ), + RootQuery: getTypeOptions() + .append({ + excludeFieldNames: Joi.array() + .items(Joi.string()) + .allow(null) + .default([`viewer`, `node`, `schemaMd5`]) + .description(`Excludes fields on a type by field name.`), + }) + .default(`{ excludeFieldNames: ['viewer', 'node', 'schemaMd5'], },`) + .description( + `A special type which is applied to any non-node root fields that are ingested and stored under the root \`wp\` field. It accepts the same options as other types.` + ) + .example( + wrapOptions(` + RootQuery: { + excludeFieldNames: [\`viewer\`] + }, + `) + ), + MediaItem: Joi.object({ + lazyNodes: Joi.boolean() + .default(false) + .description( + `Enables a different media item sourcing strategy. Instead of fetching Media Items that are referenced by other nodes, Media Items will be fetched in connection resolvers from other nodes. This may be desireable if you're not using all of the connected images in your WP instance. This is not currently recommended because it messes up cli output and can be slow due to query running concurrency.` + ) + .example( + wrapOptions(` + type: { + MediaItem: { + lazyNodes: true, + }, + }, + `) + ), + localFile: Joi.object({ + excludeByMimeTypes: Joi.array() + .items(Joi.string()) + .default([]) + .description( + `Allows preventing the download of files associated with MediaItem nodes by their mime types.` + ) + .example( + wrapOptions(` + type: { + MediaItem: { + localFile: { + excludeByMimeTypes: [\`video/mp4\`] + }, + }, + }, + `) + ), + maxFileSizeBytes: Joi.number() + .integer() + .default(15728640) + .description( + `Allows preventing the download of files that are above a certain file size (in bytes). Default is 15mb.` + ) + .example( + wrapOptions(` + type: { + MediaItem: { + localFile: { + maxFileSizeBytes: 10485760 // 10Mb + }, + }, + }, + `) + ), + requestConcurrency: Joi.number() + .integer() + .default(100) + .description( + `Amount of images to download concurrently. Try lowering this if wordpress server crashes on import` + ) + .example( + wrapOptions(` + type: { + MediaItem: { + localFile: { + requestConcurrency: 50 + }, + }, + }, + `) + ), + }) + .description( + `Options related to File nodes that are attached to MediaItem nodes` + ) + .example( + wrapOptions(` + type: { + MediaItem: { + localFile: { + // Add your options here :) + } + } + }`) + ), + }), + }) + .pattern(Joi.string(), getTypeOptions()) + .description(`Options related to specific types in the remote schema.`) + .example( + wrapOptions(` + type: { + // Add your options here :) + }, + `) + ), + }).meta({ + // This is used in generating docs from this schema + // so that we can prevent generating all options + // nested inside themselves + portableOptions: true, + }) + + return Joi.object({ + url: Joi.string() + .required() + .description( + `This is the only plugin option which is required for the plugin to work properly. + +This should be the full url of your GraphQL endpoint.` + ) + .example( + wrapOptions(` + url: \`https://yoursite.com/graphql\` + `) + ), + }) + .concat(joiSchema) + .append({ + presets: Joi.array() + .items( + Joi.object({ + presetName: Joi.string() + .description(`The name of the plugin options preset.`) + .example( + wrapOptions(` + presets: [ + { + presetName: \`DEVELOP\` + } + ] + `) + ), + useIf: Joi.function() + .description( + `A function used to determine wether or not to apply this plugin options preset. It should return a boolean value. True will cause the preset to apply, false will disclude it.` + ) + .default(`() => false`) + .example( + wrapOptions(` + presets: [ + { + useIf: () => process.env.NODE_ENV === \`development\` + } + ] + `) + ), + options: joiSchema + .description( + `Any valid options except for \`url\` and \`presets\`` + ) + .example( + wrapOptions(` + presets: [ + { + name: \`DEVELOP\`, + useIf: () => process.env.NODE_ENV === \`development\`, + options: { + type: { + __all: { + limit: 1 + } + } + } + } + ] + `) + ), + }) + ) + .description( + `An array of plugin options presets that are applied if the useIf function on each returns true. The default includes an optimization for when in Gatsby Preview mode.` + ) + .default( + `[{ + presetName: \`PREVIEW_OPTIMIZATION\`, + useIf: (): boolean => process.env.NODE_ENV === \`development\` && + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT || process.env.RUNNER_TYPE === \`PREVIEW\`, + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + limit: 50, + }, + Comment: { + limit: 0, + }, + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, +}]` + ) + .allow(null) + .description( + `A preset of plugin options to be applied under some circumstance determined by the useIf function property.` + ), + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/index.ts b/packages/gatsby-source-wordpress/src/steps/index.ts new file mode 100644 index 0000000000000..ba248569c5eab --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/index.ts @@ -0,0 +1,22 @@ +export { setGatsbyApiToState } from "~/steps/set-gatsby-api-to-state" +export { ensurePluginRequirementsAreMet } from "~/steps/check-plugin-requirements" +export { ingestRemoteSchema } from "~/steps/ingest-remote-schema" +export { persistPreviouslyCachedImages } from "~/steps/persist-cached-images" +export { sourceNodes } from "~/steps/source-nodes" +export { createSchemaCustomization } from "~/steps/create-schema-customization" +export { setImageNodeIdCache } from "~/steps/set-image-node-id-cache" +export { startPollingForContentUpdates } from "~/steps/source-nodes/update-nodes/content-update-interval" +export { checkIfSchemaHasChanged } from "~/steps/ingest-remote-schema/diff-schemas" +export { setErrorMap } from "~/steps/set-error-map" +export { tempPreventMultipleInstances } from "~/steps/temp-prevent-multiple-instances" + +export { setPreviewState } from "~/steps/preview/index" + +export { onPreExtractQueriesInvokeLeftoverPreviewCallbacks } from "./preview/cleanup" + +export { + onCreatePageRespondToPreviewStatusQuery, + onCreatepageSavePreviewNodeIdToPageDependency, +} from "./preview/on-create-page" + +export { pluginOptionsSchema } from "~/steps/declare-plugin-options-schema" diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js new file mode 100644 index 0000000000000..ee4fff115d2e0 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js @@ -0,0 +1,42 @@ +import store from "~/store" +import recursivelyTransformFields from "~/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields" +import { buildSelectionSet } from "~/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name" +import { generateReusableFragments } from "./build-queries-from-introspection/build-query-on-field-name" + +const buildNonNodeQueries = async () => { + const { + remoteSchema: { + ingestibles: { nonNodeRootFields }, + }, + } = store.getState() + + const fragments = {} + + // recursively transform fields + const transformedFields = recursivelyTransformFields({ + fields: nonNodeRootFields, + parentType: { + name: `RootQuery`, + type: `OBJECT`, + }, + fragments, + }) + + const selectionSet = buildSelectionSet(transformedFields) + + const builtFragments = generateReusableFragments({ + fragments, + selectionSet, + }) + + const nonNodeQuery = ` + query NON_NODE_QUERY { + ${selectionSet} + } + ${builtFragments} + ` + + store.dispatch.remoteSchema.setState({ nonNodeQuery }) +} + +export { buildNonNodeQueries } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js new file mode 100644 index 0000000000000..311c1a627162f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js @@ -0,0 +1,38 @@ +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import generateNodeQueriesFromIngestibleFields from "~/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types" +import { getPersistentCache, setPersistentCache } from "~/utils/cache" + +/** + * buildNodeQueries + * + * Uses plugin options to introspect the remote GraphQL + * source, run cache logic, and generate GQL query strings/info + * + * @returns {Object} GraphQL query info including gql query strings + */ +const buildNodeQueries = async () => { + const { pluginOptions } = getGatsbyApi() + + const QUERY_CACHE_KEY = `${pluginOptions.url}--introspection-node-queries` + + let nodeQueries = await getPersistentCache({ key: QUERY_CACHE_KEY }) + + const { schemaWasChanged } = store.getState().remoteSchema + + if (schemaWasChanged || !nodeQueries) { + // regenerate queries from introspection + nodeQueries = await generateNodeQueriesFromIngestibleFields() + + // and cache them + await setPersistentCache({ key: QUERY_CACHE_KEY, value: nodeQueries }) + } + // set the queries in our redux store to use later + store.dispatch.remoteSchema.setState({ + nodeQueries, + }) + + return nodeQueries +} + +export { buildNodeQueries } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js new file mode 100644 index 0000000000000..33626c593cd47 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js @@ -0,0 +1,232 @@ +import compress from "graphql-query-compress" +import store from "~/store" +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +const buildReusableFragments = ({ fragments }) => + Object.values(fragments) + .map( + ({ + name, + type, + fields, + inlineFragments, + }) => `fragment ${name} on ${type} { + ${buildSelectionSet(fields)} + ${buildInlineFragments(inlineFragments)} + }` + ) + .join(` `) + +/** + * Takes in a fragments object (built up during the buildSelectionSet function) + * transforms that object into an actual fragment, + * then checks for unused fragments and potential regenerates again + * with the unused fragments removed + */ +export const generateReusableFragments = ({ fragments, selectionSet }) => { + const fragmentsValues = Object.values(fragments) + + if (!fragmentsValues.length) { + return `` + } + + let builtFragments = buildReusableFragments({ fragments }) + + if (fragments) { + let regenerateFragments = false + + fragmentsValues.forEach(({ name, type }) => { + // if our query didn't use the fragment due to the query depth AND the fragment isn't used in another fragment, delete it + // @todo these fragments shouldn't be generated if they wont be used. + // if we fix this todo, we can use the buildReusableFragments function directly + // instead of running it twice to remove unused fragments + if ( + !selectionSet.includes(`...${name}`) && + !builtFragments.includes(`...${name}`) + ) { + delete fragments[type] + regenerateFragments = true + } + }) + + if (regenerateFragments) { + builtFragments = buildReusableFragments({ fragments }) + } + } + + return builtFragments +} + +export const buildNodesQueryOnFieldName = ({ + fieldName, + builtSelectionSet, + builtFragments = ``, + queryVariables = ``, + fieldVariables = ``, +}) => + compress( + buildQuery({ + queryName: `NODE_LIST_QUERY`, + variables: `$first: Int!, $after: String, ${queryVariables}`, + fieldName, + fieldVariables: `first: $first, after: $after, ${fieldVariables}`, + builtSelectionSet: ` + nodes { + ${builtSelectionSet} + } + pageInfo { + hasNextPage + endCursor + } + `, + builtFragments, + }) + ) + +const buildVariables = (variables) => + variables && typeof variables === `string` ? `(${variables})` : `` + +const buildInlineFragment = ({ name, fields, fragments }) => ` + ... on ${name} { + ${buildSelectionSet(fields, { fragments })} + } +` + +const buildInlineFragments = (inlineFragments, { fragments = {} } = {}) => + inlineFragments + ? ` + __typename + ${inlineFragments + .map((inlineFragment) => + buildInlineFragment({ ...inlineFragment, fragments }) + ) + .join(` `)} + ` + : `` + +export const buildSelectionSet = ( + fields, + { fragments = {}, transformedInlineFragments = [] } = {} +) => { + if (!fields || !fields.length) { + return `` + } + + const { + remoteSchema: { typeMap }, + } = store.getState() + + const buildFieldSelectionSet = (field) => { + if (typeof field === `string`) { + return field + } + + let { + fieldName, + variables, + fields, + inlineFragments, + fieldType, + internalType, + builtSelectionSet, + } = field + + if (internalType === `Fragment`) { + return `...${field.fragment.name}` + } + + if ( + (!variables || variables === ``) && + fields?.find((field) => field.fieldName === `nodes`) + ) { + // @todo instead of checking for a nodes field, include the field type here + // and check for input args instead. Maybe some kind of input args API or something would be helpful + variables = `first: 100` + } + + const selectionSet = + builtSelectionSet || + buildSelectionSet(fields, { + fragments, + }) + + const builtInlineFragments = buildInlineFragments(inlineFragments, { + fragments, + }) + + if (fieldName && (builtInlineFragments !== `` || selectionSet !== ``)) { + return ` + ${fieldName} ${buildVariables(variables)} { + ${selectionSet} + ${builtInlineFragments} + } + ` + } else if (fieldName) { + const fullFieldType = typeMap.get(findTypeName(fieldType)) + + // if this field has subfields but we didn't build a selection set for it + // we shouldn't fetch this field. This can happen when we have self referencing types that are limited by the schema.circularQueryLimit plugin option. + // @todo the above should be fixed in recursively-transform-fields.js instead of here. recursion is hard :p + if (fullFieldType.fields) { + return null + } + + return fieldName + } + + return null + } + + let inlineFragmentsSelectionSet = `` + + if (transformedInlineFragments?.length) { + inlineFragmentsSelectionSet = transformedInlineFragments.map( + (inlineFragment) => `... on ${inlineFragment.name} { + ${inlineFragment.fields.map(buildFieldSelectionSet).filter(Boolean) + .join(` + `)} + }` + ) + } + + const selectionSet = fields.map(buildFieldSelectionSet).filter(Boolean).join(` + `) + + return `${inlineFragmentsSelectionSet} ${selectionSet}` +} + +const buildQuery = ({ + queryName, + fieldName, + fieldVariables, + variables, + builtSelectionSet, + builtFragments = ``, +}) => ` + query ${queryName} ${buildVariables(variables)} { + ${fieldName} ${buildVariables(fieldVariables)} { + ${builtSelectionSet} + } + } + + ${builtFragments} +` + +export const buildNodeQueryOnFieldName = ({ + fieldName, + builtFragments, + builtSelectionSet, + variables = `$id: ID!`, + fieldInputArguments = `id: $id`, + queryName = `SINGLE_CONTENT_QUERY`, +}) => + compress( + buildQuery({ + queryName, + variables, + fieldName, + fieldVariables: fieldInputArguments, + builtFragments, + builtSelectionSet, + }) + ) diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js new file mode 100644 index 0000000000000..35505a6e5e50a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js @@ -0,0 +1,350 @@ +import recursivelyTransformFields, { + transformInlineFragments, +} from "./recursively-transform-fields" + +import { + buildNodesQueryOnFieldName, + buildNodeQueryOnFieldName, + buildSelectionSet, + generateReusableFragments, +} from "./build-query-on-field-name" + +import store from "~/store" +import { getTypeSettingsByType } from "~/steps/create-schema-customization/helpers" +import prettier from "prettier" +import { formatLogMessage } from "~/utils/format-log-message" + +const recursivelyAliasFragments = (field) => + field.inlineFragments.map((fragment) => { + // for each of this inlineFragments fields + fragment.fields = fragment.fields.map((fragmentField) => { + if (typeof fragmentField === `string`) { + return fragmentField + } + + // compare it against each field of each other fragment + let updatedFragmentField = fragmentField + + field.inlineFragments.forEach((possiblyConflictingFragment) => { + // don't compare this fragment against itself + if (possiblyConflictingFragment.name === fragment.name) { + return + } + + possiblyConflictingFragment.fields.forEach( + (possiblyConflictingField) => { + const fieldNamesMatch = + fragmentField.fieldName === possiblyConflictingField.fieldName + + const fieldTypeKindsDontMatch = + possiblyConflictingField?.fieldType?.kind !== + fragmentField?.fieldType?.kind + + const fieldTypeNamesDontMatch = + possiblyConflictingField?.fieldType?.name !== + fragmentField?.fieldType?.name + + // if the fields have the same name but a different type kind + // alias them + if ( + fieldNamesMatch && + (fieldTypeKindsDontMatch || fieldTypeNamesDontMatch) + ) { + const autoAliasedFieldName = `${fragmentField.fieldName}__typename_${fragmentField.fieldType.name}: ${fragmentField.fieldName}` + + updatedFragmentField = { + ...fragmentField, + fieldName: autoAliasedFieldName, + } + + return + } + } + ) + }) + // if the fields have the same name but a different type AND the field has sub fields, compare those sub fields against any fragment fields subfields where the field name matches + // if any subfields have conflicting types, alias them + + if (updatedFragmentField.inlineFragments) { + updatedFragmentField.inlineFragments = recursivelyAliasFragments( + updatedFragmentField + ) + } + + return updatedFragmentField + }) + + return fragment + }) + +const aliasConflictingFieldFields = (field) => { + // we only have conflicting fields in inlineFragments + // if there are no inlineFragments, do nothing + if (!field.inlineFragments) { + return field + } + + field.inlineFragments = recursivelyAliasFragments(field) + + if (field.fields) { + field.fields = aliasConflictingFields({ + transformedFields: field.fields, + }) + } + + return field +} + +const aliasConflictingFields = ({ transformedFields }) => + transformedFields.map(aliasConflictingFieldFields) + +const aliasConflictingFragmentFields = ({ fragments }) => { + for (const [fragmentKey, fragment] of Object.entries(fragments)) { + const aliasedFragment = aliasConflictingFieldFields(fragment) + + fragments[fragmentKey] = aliasedFragment + } +} + +/** + * generateNodeQueriesFromIngestibleFields + * + * Takes in data from an introspection query and + * processes it to build GraphQL query strings/info + * + * @param {object} introspectionData + * @returns {Object} GraphQL query info including gql query strings + */ +const generateNodeQueriesFromIngestibleFields = async () => { + const { + remoteSchema, + gatsbyApi: { + helpers: { reporter }, + pluginOptions: { + debug: { + graphql: { copyNodeSourcingQueryAndExit }, + }, + }, + }, + } = store.getState() + + const { + fieldBlacklist, + nodeListFilter, + typeMap, + ingestibles: { nodeListRootFields }, + } = remoteSchema + + const rootFields = typeMap.get(`RootQuery`).fields + + const nodeQueries = {} + + for (const { type, name } of nodeListRootFields) { + if (fieldBlacklist.includes(name)) { + continue + } + + // nested fields + const fieldFields = typeMap.get(type.name).fields + + // a nested field containing a list of nodes + const nodesField = fieldFields.find(nodeListFilter) + + // the type of this query + const nodesType = typeMap.get(nodesField.type.ofType.name) + + const { fields, possibleTypes } = nodesType + + const settings = getTypeSettingsByType(nodesType) + + if (settings.exclude) { + continue + } + + let nodeListQueries = [] + + const singleNodeRootFieldInfo = rootFields.find( + (field) => field.type.name === nodesType.name + ) + + if (!singleNodeRootFieldInfo) { + // @todo handle cases where there is a nodelist field but no individual field. we can't do data updates or preview on this type. + reporter.warn( + formatLogMessage( + `Unable to find a single Node query for ${nodesType.name}\n\tThis type will not be available in Gatsby.\n` + ) + ) + continue + } + + const fragments = {} + + const singleFieldName = singleNodeRootFieldInfo?.name + + const transformedFields = recursivelyTransformFields({ + fields, + fragments, + parentType: type, + mainType: type, + }) + + // we need this for node interface types on the WPGQL side + transformedFields.push(`__typename`) + + let transformedInlineFragments + + if (possibleTypes) { + transformedInlineFragments = transformInlineFragments({ + possibleTypes, + fragments, + parentType: nodesType, + mainType: nodesType, + debug: true, + // normally we only want the id for gatsby node fields + // but in this case we're at the top level and need to query + // these fields + buildGatsbyNodeFields: true, + }) + + // alias conflicting inline fragment fields + transformedInlineFragments = transformedInlineFragments.map( + ({ fields, ...inlineFragment }) => { + return { + ...inlineFragment, + fields: aliasConflictingFields({ + transformedFields: fields, + }), + } + } + ) + } + + // mutates the fragments.. + aliasConflictingFragmentFields({ fragments }) + + const aliasedTransformedFields = aliasConflictingFields({ + transformedFields, + parentType: type, + }) + + const selectionSet = buildSelectionSet(aliasedTransformedFields, { + fieldPath: name, + fragments, + transformedInlineFragments, + }) + + const builtFragments = generateReusableFragments({ + fragments, + selectionSet, + }) + + const nodeQuery = buildNodeQueryOnFieldName({ + fields: transformedFields, + fieldName: singleFieldName, + settings, + builtFragments, + builtSelectionSet: selectionSet, + }) + + const previewQuery = buildNodeQueryOnFieldName({ + fields: transformedFields, + fieldName: singleFieldName, + fieldInputArguments: `id: $id, idType: ID, asPreview: true`, + queryName: `PREVIEW_QUERY`, + settings, + builtFragments, + builtSelectionSet: selectionSet, + }) + + const fieldVariables = settings.where ? `where: { ${settings.where} }` : `` + + if ( + settings.nodeListQueries && + typeof settings.nodeListQueries === `function` + ) { + const queries = settings.nodeListQueries({ + name, + fields, + selectionSet, + builtFragments, + singleFieldName, + singleNodeRootFieldInfo, + settings, + store, + fieldVariables, + remoteSchema, + transformedFields, + helpers: { + recursivelyTransformFields, + buildNodesQueryOnFieldName, + }, + }) + + if (queries && queries.length) { + nodeListQueries = queries + } + } + + if (!nodeListQueries || !nodeListQueries.length) { + const nodeListQuery = buildNodesQueryOnFieldName({ + fields: transformedFields, + fieldName: name, + fieldVariables, + settings, + builtFragments, + builtSelectionSet: selectionSet, + }) + + nodeListQueries = [nodeListQuery] + } + + if ( + process.env.NODE_ENV === `development` && + nodesType.name === copyNodeSourcingQueryAndExit + ) { + try { + reporter.log(``) + reporter.warn( + formatLogMessage( + `Query debug mode. Writing node list query for the ${nodesType.name} node type to the system clipboard and exiting\n\n` + ) + ) + await clipboardy.write( + prettier.format(nodeListQueries[0], { parser: `graphql` }) + ) + process.exit() + } catch (e) { + reporter.log(``) + reporter.error(e) + reporter.log(``) + reporter.warn( + formatLogMessage( + `Query debug mode failed. There was a failed attempt to copy the query for the ${nodesType.name} node type to your clipboard.\n\n` + ) + ) + reporter.error(e) + } + } + + // build a query info object containing gql query strings for fetching + // node lists or single nodes, as well as type info and plugin + // settings for this type + nodeQueries[name] = { + typeInfo: { + singularName: singleFieldName, + pluralName: name, + nodesTypeName: nodesType.name, + }, + nodeListQueries, + nodeQuery, + previewQuery, + selectionSet, + builtFragments, + settings, + } + } + + return nodeQueries +} + +export default generateNodeQueriesFromIngestibleFields diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js new file mode 100644 index 0000000000000..d9d1102e654e0 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js @@ -0,0 +1,732 @@ +import store from "~/store" +import { + getTypeSettingsByType, + findTypeName, + findTypeKind, +} from "~/steps/create-schema-customization/helpers" +import { fieldIsExcludedOnParentType } from "~/steps/ingest-remote-schema/is-excluded" +import { returnAliasedFieldName } from "~/steps/create-schema-customization/transform-fields" + +export const transformInlineFragments = ({ + possibleTypes, + gatsbyNodesInfo, + typeMap, + maxDepth, + parentType, + mainType, + parentField, + fragments, + circularQueryLimit, + buildGatsbyNodeFields = false, + debug = false, + depth = 0, + buildingFragment = false, + ancestorTypeNames: parentAncestorTypeNames = [], +}) => { + const state = store.getState() + + if (!typeMap) { + typeMap = state.remoteSchema.typeMap + } + + const { pluginOptions } = state.gatsbyApi + + if (!maxDepth) { + maxDepth = pluginOptions.schema.queryDepth + } + + if (!circularQueryLimit) { + circularQueryLimit = pluginOptions.circularQueryLimit + } + + if (!gatsbyNodesInfo) { + gatsbyNodesInfo = state.remoteSchema.gatsbyNodesInfo + } + + const ancestorTypeNames = [...parentAncestorTypeNames] + + const transformedInlineFragments = possibleTypes + .map((possibleType) => { + possibleType = { ...possibleType } + + const type = typeMap.get(possibleType.name) + + if (!type) { + return false + } + + const typeSettings = getTypeSettingsByType(type) + + if (typeSettings.exclude) { + return false + } + + possibleType.type = { ...type } + + // save this type so we can use it in schema customization + store.dispatch.remoteSchema.addFetchedType(type) + + const isAGatsbyNode = gatsbyNodesInfo.typeNames.includes( + possibleType.name + ) + + if (isAGatsbyNode && !buildGatsbyNodeFields) { + // we use the id to link to the top level Gatsby node + possibleType.fields = [`id`] + return possibleType + } + + const typeInfo = typeMap.get(possibleType.name) + + let filteredFields = [...typeInfo.fields] + + if (parentType?.kind === `INTERFACE`) { + // remove any fields from our fragment if the parent type already has them as shared fields + filteredFields = filteredFields.filter( + (filteredField) => + !parentType.fields.find( + (parentField) => parentField.name === filteredField.name + ) + ) + } + + if (typeInfo) { + const fields = recursivelyTransformFields({ + fields: filteredFields, + parentType: type, + depth, + ancestorTypeNames, + fragments, + buildingFragment, + circularQueryLimit, + mainType, + parentField, + }) + + if (!fields || !fields.length) { + return false + } + + possibleType.fields = [...fields] + return possibleType + } + + return false + }) + .filter(Boolean) + + return possibleTypes && depth <= maxDepth ? transformedInlineFragments : null +} + +// since we're counting circular types that may be on fields many levels up, incarnation felt like it works here ;) the types are born again in later generations +const countIncarnations = ({ typeName, ancestorTypeNames }) => + ancestorTypeNames.length + ? ancestorTypeNames.filter( + (ancestorTypeName) => ancestorTypeName === typeName + )?.length + : 0 + +export function transformField({ + field, + gatsbyNodesInfo, + typeMap, + maxDepth, + depth, + fieldBlacklist, + fieldAliases, + ancestorTypeNames: parentAncestorTypeNames, + circularQueryLimit, + fragments, + buildingFragment, + mainType, + parentField, +} = {}) { + const ancestorTypeNames = [...parentAncestorTypeNames] + + // we're potentially infinitely recursing when fields are connected to other types that have fields that are connections to other types + // so we need a maximum limit for that + if (depth > maxDepth) { + return false + } + + depth++ + + // if the field has no type we can't use it. + if (!field || !field.type) { + return false + } + + const typeSettings = getTypeSettingsByType(field.type) + + if (typeSettings.exclude) { + return false + } + + // count the number of times this type has appeared as an ancestor of itself + // somewhere up the tree + const typeName = findTypeName(field.type) + const typeKind = findTypeKind(field.type) + + const typeIncarnationCount = countIncarnations({ + typeName, + ancestorTypeNames, + }) + + if (typeIncarnationCount > 0) { + // this type is nested within itself atleast once + // create a fragment here that can be reused + createFragment({ + fields: typeMap.get(typeName).fields, + type: field.type, + fragments, + field, + ancestorTypeNames: parentAncestorTypeNames, + depth, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + circularQueryLimit, + queryDepth: maxDepth, + buildingFragment, + mainType, + }) + } + + if (typeIncarnationCount >= circularQueryLimit) { + return false + } + + // this is used to alias fields that conflict with Gatsby node fields + // for ex Gatsby and WPGQL both have a `parent` field + const fieldName = returnAliasedFieldName({ fieldAliases, field }) + + if ( + fieldBlacklist.includes(field.name) || + fieldBlacklist.includes(fieldName) + ) { + return false + } + + // remove fields that have required args. They'll cause query errors if ommitted + // and we can't determine how to use those args programatically. + if ( + field.args && + field.args.length && + field.args.find((arg) => arg?.type?.kind === `NON_NULL`) + ) { + return false + } + + const fieldType = typeMap.get(findTypeName(field.type)) || {} + const ofType = typeMap.get(findTypeName(fieldType.ofType)) || {} + + if ( + fieldType.kind === `SCALAR` || + fieldType.kind === `ENUM` || + (fieldType.kind === `NON_NULL` && ofType.kind === `SCALAR`) || + (fieldType.kind === `LIST` && fieldType.ofType.kind === `SCALAR`) || + // a list of enums has no type name, so findTypeName above finds the enum type + // instead of the field type. Need to explicitly check here + // instead of using helpers + (field.type.kind === `LIST` && field.type?.ofType?.kind === `ENUM`) + ) { + return { + fieldName, + fieldType, + } + } + + const isListOfGatsbyNodes = + ofType && gatsbyNodesInfo.typeNames.includes(typeName) + + const isListOfMediaItems = ofType && typeName === `MediaItem` + + const hasIdField = fieldType?.fields?.find(({ name }) => name === `id`) + if ( + fieldType.kind === `LIST` && + isListOfGatsbyNodes && + !isListOfMediaItems && + hasIdField + ) { + return { + fieldName: fieldName, + fields: [`id`], + fieldType, + } + } else if (fieldType.kind === `LIST` && isListOfMediaItems && hasIdField) { + return { + fieldName: fieldName, + fields: [`__typename`, `id`], + fieldType, + } + } else if (fieldType.kind === `LIST`) { + const listOfType = typeMap.get(findTypeName(fieldType)) + + const transformedFields = recursivelyTransformFields({ + fields: listOfType.fields, + parentType: listOfType || fieldType, + depth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + mainType, + }) + + const transformedInlineFragments = transformInlineFragments({ + possibleTypes: listOfType.possibleTypes, + parentType: listOfType || fieldType, + parentField: field, + mainType, + gatsbyNodesInfo, + typeMap, + depth, + maxDepth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + }) + + if (!transformedFields?.length && !transformedInlineFragments?.length) { + return false + } + + // if we have either inlineFragments or fields + return { + fieldName: fieldName, + fields: transformedFields, + inlineFragments: transformedInlineFragments, + fieldType, + } + } + + const isAGatsbyNode = + // if this is a gatsby node type + gatsbyNodesInfo.typeNames.includes(typeName) || + // or this type has a possible type which is a gatsby node type + typeMap + .get(typeName) + ?.possibleTypes?.find((possibleType) => + gatsbyNodesInfo.typeNames.includes(possibleType.name) + ) + + const isAMediaItemNode = isAGatsbyNode && typeName === `MediaItem` + + // pull the id and __typename for connections to media item gatsby nodes + if (isAMediaItemNode && hasIdField) { + return { + fieldName: fieldName, + fields: [`__typename`, `id`], + fieldType, + } + } else if (isAGatsbyNode && hasIdField) { + const isAnInterfaceType = + // if this is an interface + typeKind === `INTERFACE` || fieldType.kind === `INTERFACE` + + return { + fieldName: fieldName, + fields: isAnInterfaceType + ? // we need the typename for interfaces + [`id`, `__typename`] + : // or just the id for 1:1 connections to gatsby nodes + [`id`], + fieldType, + } + } + + const typeInfo = typeMap.get(findTypeName(fieldType)) + + const { fields } = typeInfo || {} + + let transformedInlineFragments + + if (typeInfo.possibleTypes) { + transformedInlineFragments = transformInlineFragments({ + possibleTypes: typeInfo.possibleTypes, + parentType: typeInfo, + parentField: field, + mainType, + gatsbyNodesInfo, + typeMap, + depth, + maxDepth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + }) + } + + if (fields || transformedInlineFragments) { + const transformedFields = recursivelyTransformFields({ + parentType: typeInfo, + parentFieldName: field.name, + mainType, + fields, + depth, + ancestorTypeNames, + parentField: field, + fragments, + circularQueryLimit, + buildingFragment, + }) + + if (!transformedFields?.length && !transformedInlineFragments?.length) { + return false + } + + return { + fieldName: fieldName, + fields: transformedFields, + inlineFragments: transformedInlineFragments, + fieldType, + } + } + + if (fieldType.kind === `UNION`) { + const typeInfo = typeMap.get(fieldType.name) + + const transformedFields = recursivelyTransformFields({ + fields: typeInfo.fields, + parentType: fieldType, + mainType, + depth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + }) + + const inlineFragments = transformInlineFragments({ + possibleTypes: typeInfo.possibleTypes, + gatsbyNodesInfo, + typeMap, + mainType, + depth, + maxDepth, + ancestorTypeNames, + parentField: field, + fragments, + circularQueryLimit, + buildingFragment, + }) + + return { + fieldName: fieldName, + fields: transformedFields, + inlineFragments, + fieldType, + } + } + + return false +} + +const createFragment = ({ + fields, + field, + type, + fragments, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + queryDepth, + ancestorTypeNames, + mainType, + buildingFragment = false, +}) => { + const typeName = findTypeName(type) + + if (buildingFragment) { + // this fragment is inside a fragment that's already being built so we should exit + return null + } + + const previouslyCreatedFragment = fragments?.[typeName] + + if (previouslyCreatedFragment && buildingFragment === typeName) { + return previouslyCreatedFragment + } + + const fragmentFields = fields.reduce((fragmentFields, field) => { + const fieldTypeName = findTypeName(field.type) + const fieldType = typeMap.get(fieldTypeName) + + if ( + // if this field is a different type than the fragment but has a field of the same type as the fragment, + // we need to skip this field in the fragment to prevent nesting this type in itself a level down + fieldType.name !== typeName && + fieldType?.fields?.find( + (innerFieldField) => findTypeName(innerFieldField.type) === typeName + ) + ) { + return fragmentFields + } + + const transformedField = transformField({ + field, + gatsbyNodesInfo, + typeMap, + maxDepth: queryDepth, + depth: 0, + fieldBlacklist, + fieldAliases, + ancestorTypeNames, + mainType, + circularQueryLimit: 1, + fragments, + buildingFragment: typeName, + }) + + if (findTypeName(field.type) !== typeName && !!transformedField) { + fragmentFields.push(transformedField) + } + + return fragmentFields + }, []) + + const queryType = typeMap.get(typeName) + + const transformedInlineFragments = queryType?.possibleTypes?.length + ? transformInlineFragments({ + possibleTypes: queryType.possibleTypes, + parentType: queryType, + parentField: field, + mainType, + gatsbyNodesInfo, + typeMap, + depth: 0, + maxDepth: queryDepth, + circularQueryLimit: 1, + ancestorTypeNames, + fragments, + buildingFragment: typeName, + }) + : null + + if (fragments) { + fragments[typeName] = { + name: `${typeName}Fragment`, + type: typeName, + fields: fragmentFields, + inlineFragments: transformedInlineFragments, + } + } + + return fragmentFields +} + +const transformFields = ({ + fields, + parentType, + mainType, + fragments, + parentField, + ancestorTypeNames, + depth, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + queryDepth, + circularQueryLimit, + pluginOptions, + buildingFragment, +}) => + fields + ?.filter( + (field) => + !fieldIsExcludedOnParentType({ + pluginOptions, + field, + parentType, + mainType, + parentField, + }) + ) + .map((field) => { + const transformedField = transformField({ + maxDepth: queryDepth, + gatsbyNodesInfo, + fieldBlacklist, + fieldAliases, + typeMap, + field, + depth, + ancestorTypeNames, + circularQueryLimit, + fragments, + buildingFragment, + mainType, + parentField, + }) + + if (transformedField) { + // save this type so we know to use it in schema customization + store.dispatch.remoteSchema.addFetchedType(field.type) + } + + const typeName = findTypeName(field.type) + const fragment = fragments?.[typeName] + + // @todo add any adjacent fields and inline fragments directly to the stored fragment object so this logic can be changed to if (fragment) useTheFragment() + // once that's done it can be added above and below transformField() above ☝️ + // and potentially short circuit expensive work that will be thrown away anyway + if (fragment && transformedField && buildingFragment !== typeName) { + // if (fragment && buildingFragment !== typeName && transformedField) { + // remove fields from this query that already exist in the fragment + if (transformedField?.fields?.length) { + transformedField.fields = transformedField.fields.filter( + (field) => + !fragment.fields.find( + (fragmentField) => fragmentField.fieldName === field.fieldName + ) + ) + } + + // if this field has no fields (because it has inline fragments only) + // we need to create an empty array since we treat reusable fragments as + // a field + if (!transformedField.fields) { + transformedField.fields = [] + } + + transformedField.fields.push({ + internalType: `Fragment`, + fragment, + }) + + if (transformedField?.inlineFragments?.length) { + transformedField.inlineFragments = transformedField.inlineFragments.filter( + (fieldInlineFragment) => + // yes this is a horrible use of .find(). @todo refactor this for better perf + !fragment.inlineFragments.find( + (fragmentInlineFragment) => + fragmentInlineFragment.name === fieldInlineFragment.name + ) + ) + } + } + + if (field.fields && !transformedField) { + return null + } + + const fieldTypeKind = findTypeKind(field.type) + const fieldOfTypeKind = findTypeKind(field.type.ofType) + const typeKindsRequiringSelectionSets = [`OBJECT`, `UNION`, `INTERFACE`] + const fieldNeedsSelectionSet = + typeKindsRequiringSelectionSets.includes(fieldTypeKind) || + typeKindsRequiringSelectionSets.includes(fieldOfTypeKind) + + if ( + // if our field needs a selectionset + fieldNeedsSelectionSet && + // but we have no fields + !transformedField.fields && + // and no inline fragments + !transformedField.inlineFragments + ) { + // we need to discard this field to prevent GraphQL errors + // we're likely at the very bottom of the query depth + // so that this fields children were omitted + return null + } + + return transformedField + }) + .filter(Boolean) + +const recursivelyTransformFields = ({ + fields, + parentType, + mainType, + fragments, + parentField, + ancestorTypeNames: parentAncestorTypeNames, + depth = 0, + buildingFragment = false, +}) => { + if (!fields || !fields.length) { + return null + } + + if (!parentAncestorTypeNames) { + parentAncestorTypeNames = [] + } + + const ancestorTypeNames = [...parentAncestorTypeNames] + + const { + gatsbyApi: { pluginOptions }, + remoteSchema: { fieldBlacklist, fieldAliases, typeMap, gatsbyNodesInfo }, + } = store.getState() + + const { + schema: { queryDepth, circularQueryLimit }, + } = pluginOptions + + if (depth > queryDepth && ancestorTypeNames.length) { + return null + } + + const typeName = findTypeName(parentType) + + const grandParentTypeName = ancestorTypeNames.length + ? ancestorTypeNames[ancestorTypeNames.length - 1] + : null + + if (grandParentTypeName && typeName !== grandParentTypeName) { + // if a field has fields of the same type as the field above it + // we shouldn't fetch them. 2 types that are circular between each other + // are dangerous as they will generate very large queries and fetch data we don't need + // these types should instead be proper connections so we can identify + // that only an id needs to be fetched. + // @todo maybe move this into transformFields() instead of here + fields = fields.filter((field) => { + const fieldTypeName = findTypeName(field.type) + return fieldTypeName !== grandParentTypeName + }) + } + + const typeIncarnationCount = countIncarnations({ + typeName, + ancestorTypeNames, + }) + + if (typeIncarnationCount >= circularQueryLimit) { + return null + } + + parentAncestorTypeNames.push(typeName) + + const recursivelyTransformedFields = transformFields({ + fields, + parentType, + mainType, + fragments, + parentField, + ancestorTypeNames: parentAncestorTypeNames, + depth, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + queryDepth, + circularQueryLimit, + pluginOptions, + buildingFragment, + }) + + if (!recursivelyTransformedFields.length) { + return null + } + + return recursivelyTransformedFields +} + +export default recursivelyTransformFields diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js new file mode 100644 index 0000000000000..2a27df3c8a363 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js @@ -0,0 +1,11 @@ +import store from "~/store" +import { setPersistentCache } from "~/utils/cache" +export const cacheFetchedTypes = async () => { + const state = store.getState() + const { fetchedTypes } = state.remoteSchema + + await setPersistentCache({ + key: `previously-fetched-types`, + value: Array.from([...fetchedTypes]), + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js new file mode 100644 index 0000000000000..088d9c5b7bb80 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js @@ -0,0 +1,174 @@ +import url from "url" +import fetchGraphql from "~/utils/fetch-graphql" +import store from "~/store" +import { formatLogMessage } from "~/utils/format-log-message" +import { LAST_COMPLETED_SOURCE_TIME, MD5_CACHE_KEY } from "~/constants" + +import { ensurePluginRequirementsAreMet } from "../check-plugin-requirements" + +import { createContentDigest } from "gatsby-core-utils" + +import { + clearHardCache, + getHardCachedData, + getHardCachedNodes, + setPersistentCache, + getPersistentCache, +} from "~/utils/cache" + +const checkIfSchemaHasChanged = async ({ traceId }) => { + const state = store.getState() + + const { helpers, pluginOptions } = state.gatsbyApi + + const lastCompletedSourceTime = await helpers.cache.get( + LAST_COMPLETED_SOURCE_TIME + ) + + const activity = helpers.reporter.activityTimer( + formatLogMessage(`diff schemas`) + ) + + if (pluginOptions.verbose && lastCompletedSourceTime) { + activity.start() + } + + const { data } = await fetchGraphql({ + query: /* GraphQL */ ` + { + schemaMd5 + # also get the wpUrl to save on # of requests + # @todo maybe there's a better place for this + generalSettings { + url + } + } + `, + }) + + const { + schemaMd5, + generalSettings: { url: wpUrl }, + } = data + + if (url.parse(wpUrl).protocol !== url.parse(pluginOptions.url).protocol) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage(` + +The Url set in plugin options has a different protocol than the Url saved in WordPress general settings. + +options.url: ${pluginOptions.url} +WordPress settings: ${wpUrl} + +This may cause subtle bugs, or it may be fine. +Please consider addressing this issue by changing your WordPress settings or plugin options accordingly. + +`) + ) + } + + let cachedSchemaMd5 = await helpers.cache.get(MD5_CACHE_KEY) + + let foundUsableHardCachedData + + if (!cachedSchemaMd5) { + cachedSchemaMd5 = await getHardCachedData({ + key: MD5_CACHE_KEY, + }) + + foundUsableHardCachedData = + cachedSchemaMd5 && !!(await getHardCachedNodes()) + } + + await setPersistentCache({ key: MD5_CACHE_KEY, value: schemaMd5 }) + + const schemaWasChanged = schemaMd5 !== cachedSchemaMd5 + + // if the schema was changed and we had a cached schema + // we need to re-check to see if all plugin requirements are met + // this is also run as a step in gatsby-node.js but is skipped + // during refreshes. If the schema changes and this is a refresh + // we do want to re-check to make sure everything's good. + if ( + schemaWasChanged && + cachedSchemaMd5 && + traceId !== `initial-createSchemaCustomization` + ) { + await ensurePluginRequirementsAreMet({ + ...helpers, + traceId: `schemaWasChanged`, + }) + } + + const pluginOptionsMD5Key = `plugin-options-md5` + const lastPluginOptionsMD5 = await getPersistentCache({ + key: pluginOptionsMD5Key, + }) + + const pluginOptionsMD5 = createContentDigest({ + url: pluginOptions.url, + type: pluginOptions.type, + }) + + const shouldClearHardCache = + schemaWasChanged || lastPluginOptionsMD5 !== pluginOptionsMD5 + + if (shouldClearHardCache && foundUsableHardCachedData) { + await clearHardCache() + + foundUsableHardCachedData = false + } + + await setPersistentCache({ + key: pluginOptionsMD5Key, + value: pluginOptionsMD5, + }) + + if ( + lastCompletedSourceTime && + schemaWasChanged && + pluginOptions && + pluginOptions.verbose + ) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage(`The remote schema has changed, updating local schema.`) + ) + if (process.env.NODE_ENV === `development`) { + helpers.reporter.warn( + formatLogMessage( + `If the schema change includes a data change\nyou'll need to run \`gatsby clean && gatsby develop\` to see the data update.` + ) + ) + } + helpers.reporter.info( + formatLogMessage(`Cached schema md5: ${cachedSchemaMd5}`) + ) + helpers.reporter.info(formatLogMessage(`Remote schema md5: ${schemaMd5}`)) + helpers.reporter.log(``) + } else if (!lastCompletedSourceTime && pluginOptions.verbose) { + helpers.reporter.log(``) + helpers.reporter.info( + formatLogMessage( + `\n\n\tThis is either your first build or the cache was cleared.\n\tPlease wait while your WordPress data is synced to your Gatsby cache.\n\n\tMaybe now's a good time to get up and stretch? :D\n` + ) + ) + } + + // record wether the schema changed so other logic can beware + // as well as the wpUrl because we need this sometimes :p + store.dispatch.remoteSchema.setState({ + schemaWasChanged, + wpUrl, + foundUsableHardCachedData, + }) + + if (pluginOptions.verbose && lastCompletedSourceTime) { + activity.end() + } + + return schemaWasChanged +} + +export { checkIfSchemaHasChanged } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js new file mode 100644 index 0000000000000..480e5ffa221a1 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js @@ -0,0 +1,193 @@ +import store from "~/store" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" +import { typeIsABuiltInScalar } from "../create-schema-customization/helpers" +import { findTypeName } from "~/steps/create-schema-customization/helpers" +import { getPersistentCache } from "~/utils/cache" + +const identifyAndStoreIngestableFieldsAndTypes = async () => { + const nodeListFilter = (field) => field.name === `nodes` + + const state = store.getState() + const { introspectionData, fieldBlacklist, typeMap } = state.remoteSchema + const { pluginOptions } = state.gatsbyApi + + const cachedFetchedTypes = await getPersistentCache({ + key: `previously-fetched-types`, + }) + + if (cachedFetchedTypes) { + const restoredFetchedTypesMap = new Map(cachedFetchedTypes) + + store.dispatch.remoteSchema.setState({ + fetchedTypes: restoredFetchedTypesMap, + }) + } + + if (pluginOptions.type) { + Object.entries(pluginOptions.type).forEach(([typeName, typeSettings]) => { + // our lazy types won't initially be fetched, + // so we need to mark them as fetched here + if ( + (typeSettings.lazyNodes || pluginOptions.type?.__all?.lazyNodes) && + !typeIsExcluded({ pluginOptions, typeName }) + ) { + const lazyType = typeMap.get(typeName) + store.dispatch.remoteSchema.addFetchedType(lazyType) + } + }) + } + + const interfaces = introspectionData.__schema.types.filter( + (type) => type.kind === `INTERFACE` + ) + + for (const interfaceType of interfaces) { + if (typeIsExcluded({ pluginOptions, typeName: interfaceType.name })) { + continue + } + + store.dispatch.remoteSchema.addFetchedType(interfaceType) + + if (interfaceType.fields) { + for (const interfaceField of interfaceType.fields) { + if (interfaceField.type) { + store.dispatch.remoteSchema.addFetchedType(interfaceField.type) + } + } + } + } + + const rootFields = typeMap.get(`RootQuery`).fields + + const nodeInterfaceTypes = [] + const nodeListRootFields = [] + const nonNodeRootFields = [] + const nodeInterfacePossibleTypeNames = [] + + for (const field of rootFields) { + const fieldHasNonNullArgs = field.args.some( + (arg) => arg.type.kind === `NON_NULL` + ) + + if (fieldHasNonNullArgs) { + // we can't know what those args should be, so skip this field + continue + } + + if (typeIsExcluded({ pluginOptions, typeName: field.type.name })) { + continue + } + + if (field.type.kind === `OBJECT`) { + const type = typeMap.get(field.type.name) + + const nodeField = type?.fields?.find(nodeListFilter) + + if (nodeField && nodeField.type.ofType.kind === `INTERFACE`) { + const nodeListField = type.fields.find(nodeListFilter) + + if (nodeListField) { + nodeInterfaceTypes.push(nodeListField.type.ofType.name) + + store.dispatch.remoteSchema.addFetchedType(nodeListField.type) + + const nodeListFieldType = typeMap.get(nodeListField.type.ofType.name) + + for (const innerField of nodeListFieldType.fields) { + store.dispatch.remoteSchema.addFetchedType(innerField.type) + } + + if ( + // if we haven't marked this as a nodeInterface type then push this to root fields to fetch it + // nodeInterface is different than a node which is an interface type. + // In Gatsby nodeInterface means the node data is pulled from a different type. On the WP side we can also have nodes that are of an interface type, but we only pull them from a single root field + // the problem is that if we don't mark them as a node list root field + // we don't know to identify them later as being a node type that will have been fetched and we also wont try to fetch this type during node sourcing. + !pluginOptions?.type?.[nodeListField.type.ofType.name] + ?.nodeInterface + ) { + const nodeInterfaceType = typeMap.get( + findTypeName(nodeListField.type) + ) + + // we need to mark all the possible types as being fetched + // and also need to record the possible type as a node type + nodeInterfaceType?.possibleTypes?.forEach((type) => { + nodeInterfacePossibleTypeNames.push(type.name) + store.dispatch.remoteSchema.addFetchedType(type) + }) + + nodeListRootFields.push(field) + } + + continue + } + } else if (nodeField) { + if (fieldBlacklist.includes(field.name)) { + continue + } + + store.dispatch.remoteSchema.addFetchedType(nodeField.type) + + nodeListRootFields.push(field) + continue + } + } + + if (fieldBlacklist.includes(field.name)) { + continue + } + + const takesIDinput = field?.args?.find((arg) => arg.type.name === `ID`) + + // if a non-node root field takes an id input, we 99% likely can't use it. + // so don't fetch it and don't add it to the schema. + if (takesIDinput) { + continue + } + + if ( + // if this type is excluded on the RootQuery, skip it + pluginOptions.type.RootQuery?.excludeFieldNames?.find( + (excludedFieldName) => excludedFieldName === field.name + ) + ) { + continue + } + + // we don't need to mark types as fetched if they're supported SCALAR types + if (!typeIsABuiltInScalar(field.type)) { + store.dispatch.remoteSchema.addFetchedType(field.type) + } + + nonNodeRootFields.push(field) + } + + const nodeListFieldNames = nodeListRootFields.map((field) => field.name) + + const nodeListTypeNames = [ + ...nodeInterfacePossibleTypeNames, + ...nodeListRootFields.map((field) => { + const connectionType = typeMap.get(field.type.name) + + const nodesField = connectionType.fields.find(nodeListFilter) + return nodesField.type.ofType.name + }), + ] + + const gatsbyNodesInfo = { + fieldNames: nodeListFieldNames, + typeNames: nodeListTypeNames, + } + + store.dispatch.remoteSchema.setState({ + gatsbyNodesInfo, + ingestibles: { + nodeListRootFields, + nonNodeRootFields, + nodeInterfaceTypes, + }, + }) +} + +export { identifyAndStoreIngestableFieldsAndTypes } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js new file mode 100644 index 0000000000000..0ffe59e69f1f7 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js @@ -0,0 +1,52 @@ +import { runSteps } from "~/utils/run-steps" +import { formatLogMessage } from "~/utils/format-log-message" + +import { checkIfSchemaHasChanged } from "./diff-schemas" +import { introspectAndStoreRemoteSchema } from "./introspect-remote-schema" +import { identifyAndStoreIngestableFieldsAndTypes } from "./identify-and-store-ingestable-types" +import { buildNonNodeQueries } from "./build-and-store-ingestible-root-field-non-node-queries" +import { buildNodeQueries } from "./build-queries-from-introspection/build-node-queries" +import { cacheFetchedTypes } from "./cache-fetched-types" +import { writeQueriesToDisk } from "./write-queries-to-disk" + +const ingestRemoteSchema = async (helpers, pluginOptions) => { + const schemaTimeKey = `lastIngestRemoteSchemaTime` + const lastIngestRemoteSchemaTime = await helpers.cache.get(schemaTimeKey) + + const ingestedSchemaInLastTenSeconds = + Date.now() - lastIngestRemoteSchemaTime <= 10000 + + if (lastIngestRemoteSchemaTime && ingestedSchemaInLastTenSeconds) { + // only allow this to run once every ten seconds + // this prevents thrashing when many webhooks are received at once + return + } + + await helpers.cache.set(schemaTimeKey, Date.now()) + + const activity = helpers.reporter.activityTimer( + formatLogMessage(`ingest WPGraphQL schema`) + ) + + activity.start() + + try { + await runSteps( + [ + checkIfSchemaHasChanged, + introspectAndStoreRemoteSchema, + identifyAndStoreIngestableFieldsAndTypes, + [buildNodeQueries, buildNonNodeQueries], + [cacheFetchedTypes, writeQueriesToDisk], + ], + helpers, + pluginOptions + ) + } catch (e) { + helpers.reporter.panic(e) + } + + activity.end() +} + +export { ingestRemoteSchema } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js new file mode 100644 index 0000000000000..2196a51ee7d68 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js @@ -0,0 +1,93 @@ +import chalk from "chalk" +import * as diff from "diff" +import { uniqBy } from "lodash" +import store from "~/store" +import { setPersistentCache, getPersistentCache } from "~/utils/cache" +import fetchGraphql from "~/utils/fetch-graphql" +import { introspectionQuery } from "~/utils/graphql-queries" + +const introspectAndStoreRemoteSchema = async () => { + const state = store.getState() + const { pluginOptions } = state.gatsbyApi + const { schemaWasChanged } = state.remoteSchema + + const INTROSPECTION_CACHE_KEY = `${pluginOptions.url}--introspection-data` + let introspectionData = await getPersistentCache({ + key: INTROSPECTION_CACHE_KEY, + }) + + const printSchemaDiff = + pluginOptions?.debug?.graphql?.printIntrospectionDiff || + pluginOptions?.debug?.preview + + let staleIntrospectionData + + if (!introspectionData || schemaWasChanged) { + const { data } = await fetchGraphql({ + query: introspectionQuery, + }) + + if (introspectionData) { + staleIntrospectionData = introspectionData + } + + introspectionData = data + + // cache introspection response + await setPersistentCache({ + key: INTROSPECTION_CACHE_KEY, + value: introspectionData, + }) + } + + if (staleIntrospectionData && printSchemaDiff) { + console.log(`\nData changed in WordPress schema:`) + staleIntrospectionData.__schema.types.forEach((type) => { + const staleTypeJSON = JSON.stringify(type, null, 2) + + const newType = introspectionData.__schema.types.find( + ({ name }) => name === type.name + ) + const newTypeJSON = JSON.stringify(newType, null, 2) + + if (staleTypeJSON === newTypeJSON) { + return + } + + const typeDiff = + type && newType ? uniqBy(diff.diffJson(type, newType), `value`) : null + + if (typeDiff?.length) { + console.log(`\nFound changes to the ${type.name} type\n`) + typeDiff.forEach((part) => { + if (part.added || part.removed) { + console.log( + chalk.green( + chalk.bold(`${part.added ? `Added` : `Removed`}:\n`) + + part.value + .trim() + .split(`\n`) + .map( + (line, index) => + `${part.added ? `+` : `-`}${ + index === 0 ? `\t` : ` ` + }${line}` + ) + .join(`\n`) + ) + ) + } + }) + console.log(`\n`) + } + }) + } + + const typeMap = new Map( + introspectionData.__schema.types.map((type) => [type.name, type]) + ) + + store.dispatch.remoteSchema.setState({ introspectionData, typeMap }) +} + +export { introspectAndStoreRemoteSchema } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js new file mode 100644 index 0000000000000..82bcf5d5626fb --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js @@ -0,0 +1,36 @@ +import store from "~/store" +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +const typeIsExcluded = ({ pluginOptions, typeName }) => + pluginOptions && + pluginOptions.type[typeName] && + pluginOptions.type[typeName].exclude + +const fieldIsExcludedOnParentType = ({ pluginOptions, field, parentType }) => { + const allTypeSettings = pluginOptions.type + + const state = store.getState() + const { typeMap } = state.remoteSchema + + const fullType = typeMap.get(findTypeName(parentType)) + + const parentTypeNodesField = fullType?.fields?.find( + (field) => field.name === `nodes` + ) + + const parentTypeNodesFieldTypeName = findTypeName(parentTypeNodesField?.type) + + const fieldIsExcludedOnParentType = + // if this field is excluded on either the parent type + allTypeSettings[parentType?.name]?.excludeFieldNames?.includes( + field?.name + ) || + // or the parent type has a "nodes" field and that type has this field excluded + allTypeSettings[parentTypeNodesFieldTypeName]?.excludeFieldNames?.includes( + field?.name + ) + + return !!fieldIsExcludedOnParentType +} + +export { typeIsExcluded, fieldIsExcludedOnParentType } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js new file mode 100644 index 0000000000000..dec94c0fd21f2 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js @@ -0,0 +1,68 @@ +import fs from "fs-extra" +import store from "~/store" +import prettier from "prettier" +import { formatLogMessage } from "~/utils/format-log-message" + +export const writeQueriesToDisk = async ({ reporter }, pluginOptions) => { + if (!pluginOptions?.debug?.graphql?.writeQueriesToDisk) { + return + } + + const { remoteSchema } = store.getState() + + // the queries only change when the remote schema changes + // no need to write them to disk in that case + if (!remoteSchema.schemaWasChanged) { + return + } + + const activity = reporter.activityTimer( + formatLogMessage(`writing GraphQL queries to disk at ./WordPress/GraphQL/`) + ) + + activity.start() + const wordPressGraphQLDirectory = `${process.cwd()}/WordPress/GraphQL` + + // remove before writing in case there are old types + await fs.remove(wordPressGraphQLDirectory) + + for (const { + nodeListQueries, + nodeQuery, + previewQuery, + typeInfo, + } of Object.values(remoteSchema.nodeQueries)) { + const directory = `${wordPressGraphQLDirectory}/${typeInfo.nodesTypeName}` + + await fs.ensureDir(directory) + + await fs.writeFile( + `${directory}/node-list-query.graphql`, + prettier.format(nodeListQueries[0], { parser: `graphql` }), + `utf8` + ) + + await fs.writeFile( + `${directory}/node-single-query.graphql`, + prettier.format(nodeQuery, { parser: `graphql` }), + `utf8` + ) + + await fs.writeFile( + `${directory}/node-preview-query.graphql`, + prettier.format(previewQuery, { parser: `graphql` }), + `utf8` + ) + } + + const directory = `${wordPressGraphQLDirectory}/RootQuery` + + await fs.ensureDir(directory) + + await fs.writeFile( + `${directory}/non-node-root-query.graphql`, + prettier.format(remoteSchema.nonNodeQuery, { parser: `graphql` }) + ) + + activity.end() +} diff --git a/packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts b/packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts new file mode 100644 index 0000000000000..26fdc4115e1ed --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts @@ -0,0 +1,28 @@ +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { getPersistentCache } from "~/utils/cache" + +const persistPreviouslyCachedImages = async (): Promise => { + const { helpers, pluginOptions } = getGatsbyApi() + + // get all existing media item nodes + const mediaItemNodes = helpers.getNodesByType( + `${pluginOptions.schema.typePrefix}MediaItem` + ) + + // and touch them so they aren't garbage collected. + // we will remove them as needed when receiving DELETE events from WP + mediaItemNodes.forEach(({ id }) => helpers.actions.touchNode({ nodeId: id })) + + const imageNodeMetaByUrl = await getPersistentCache({ + key: `image-node-meta-by-url`, + }) + + if (imageNodeMetaByUrl) { + store.dispatch.imageNodes.setState({ + nodeMetaByUrl: imageNodeMetaByUrl, + }) + } +} + +export { persistPreviouslyCachedImages } diff --git a/packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts b/packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts new file mode 100644 index 0000000000000..2c7c9c710e5e9 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts @@ -0,0 +1,90 @@ +import { inPreviewMode, PreviewStatusUnion } from "." +import { OnPageCreatedCallback } from "~/models/preview" +import store from "~/store" +import { NodePluginArgs } from "gatsby" + +/** + * Preview callbacks are usually invoked during onCreatePage in Gatsby Preview + * so that we can send back the preview status of a created page to WP + * In the case that no page is created for the node we're previewing, we'll + * have callbacks hanging around and WP will not know the status of the preview + * So in onPreExtractQueries (which runs after pages are created), we check which + * preview callbacks haven't been invoked, and invoke them with a "NO_PAGE_CREATED_FOR_PREVIEWED_NODE" status, which sends that status to WP + * After invoking all these leftovers, we clear them out from the store so they aren't called again later. + */ +export const onPreExtractQueriesInvokeLeftoverPreviewCallbacks = async (): Promise => { + if (!inPreviewMode()) { + return invokeAndCleanupLeftoverPreviewCallbacks({ + status: `GATSBY_PREVIEW_PROCESS_ERROR`, + context: `Gatsby is not in Preview mode.`, + }) + } + + // check for any onCreatePageCallbacks that weren't called during createPages + // we need to tell WP that a page wasn't created for the preview + return invokeAndCleanupLeftoverPreviewCallbacks({ + status: `NO_PAGE_CREATED_FOR_PREVIEWED_NODE`, + context: `invokeAndCleanupLeftoverPreviewCallbacks`, + }) +} + +export const invokeAndCleanupLeftoverPreviewCallbacks = async ({ + status, + context, + error, +}: { + status: PreviewStatusUnion + context?: string + error?: Error +}): Promise => { + const state = store.getState() + + const { getNode } = state.gatsbyApi.helpers + + const leftoverCallbacks = state.previewStore.nodePageCreatedCallbacks + + const leftoverCallbacksExist = Object.keys(leftoverCallbacks).length + + if (leftoverCallbacksExist) { + await Promise.all( + Object.entries(leftoverCallbacks).map( + invokeLeftoverPreviewCallback({ getNode, status, context, error }) + ) + ) + + // after processing our callbacks, we need to remove them all so they don't get called again in the future + store.dispatch.previewStore.clearPreviewCallbacks() + } +} + +/** + * This callback is invoked to send WP the preview status. In this case the status + * is that we couldn't find a page for the node being previewed + */ +const invokeLeftoverPreviewCallback = ({ + getNode, + status, + context, + error, +}: { + status: PreviewStatusUnion + context?: string + error?: Error + getNode: NodePluginArgs["getNode"] +}) => async ([nodeId, callback]: [ + string, + OnPageCreatedCallback +]): Promise => { + const passedNode = getNode(nodeId) + + await callback({ + passedNode, + nodeId, + // we pass null as the path because no page was created for this node. + // if it had been, this callback would've been removed earlier in the process + pageNode: { path: null }, + status, + context, + error, + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/preview/index.ts b/packages/gatsby-source-wordpress/src/steps/preview/index.ts new file mode 100644 index 0000000000000..4c17d06d690f8 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/index.ts @@ -0,0 +1,398 @@ +import { getPluginOptions } from "./../../utils/get-gatsby-api" +import { GatsbyHelpers } from "~/utils/gatsby-types" +import path from "path" +import fs from "fs-extra" +import chalk from "chalk" +import urlUtil from "url" +import PQueue from "p-queue" +import { dump } from "dumper.js" + +import { paginatedWpNodeFetch } from "~/steps/source-nodes/fetch-nodes/fetch-nodes-paginated" +import fetchGraphql from "~/utils/fetch-graphql" + +import store from "~/store" + +import { fetchAndCreateSingleNode } from "~/steps/source-nodes/update-nodes/wp-actions/update" +import { formatLogMessage } from "~/utils/format-log-message" +import { touchValidNodes } from "../source-nodes/update-nodes/fetch-node-updates" + +import { IPluginOptions } from "~/models/gatsby-api" +import { Reporter } from "gatsby" + +export const inPreviewMode = (): boolean => + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT && + !!store.getState().previewStore.inPreviewMode + +export type PreviewStatusUnion = + | `PREVIEW_SUCCESS` + | `NO_PAGE_CREATED_FOR_PREVIEWED_NODE` + | `GATSBY_PREVIEW_PROCESS_ERROR` + | `RECEIVED_PREVIEW_DATA_FROM_WRONG_URL` + +export interface IWebhookBody { + previewDatabaseId: number + userDatabaseId: number + token: string + remoteUrl: string + modified: string + parentDatabaseId: number + id: string + isDraft: boolean + singleName: string +} + +interface IPageNode { + path: string +} + +let previewQueue: PQueue + +const getPreviewQueue = (): PQueue => { + if (!previewQueue) { + const { + previewRequestConcurrency, + } = store.getState().gatsbyApi.pluginOptions.schema + + previewQueue = new PQueue({ + concurrency: previewRequestConcurrency, + carryoverConcurrencyCount: true, + }) + } + + return previewQueue +} + +/** + * This is called when the /__refresh endpoint is posted to from WP previews. + * It should only ever run in Preview mode, which is process.env.ENABLE_GATSBY_REFRESH_ENDPOINT = true + * It first sources all pending preview actions, then calls sourcePreview() for each of them. + */ +export const sourcePreviews = async ( + { webhookBody, reporter }: GatsbyHelpers, + pluginOptions: IPluginOptions +): Promise => { + const { + debug: { preview: inPreviewDebugMode }, + } = getPluginOptions() + + if (inPreviewDebugMode) { + reporter.info(`Sourcing previews for the following webhook:`) + dump(webhookBody) + } + + if (previewForIdIsAlreadyBeingProcessed(webhookBody?.id)) { + if (inPreviewDebugMode) { + reporter.info( + `Preview for id ${webhookBody?.id} is already being sourced.` + ) + } + return + } + + const previewActions = await paginatedWpNodeFetch({ + contentTypePlural: `actionMonitorActions`, + nodeTypeName: `ActionMonitor`, + headers: { + WPGatsbyPreview: webhookBody.token, + WPGatsbyPreviewUser: webhookBody.userDatabaseId, + }, + query: /* GraphQL */ ` + query PREVIEW_ACTIONS($after: String) { + actionMonitorActions( + where: { + previewStream: true + status: PRIVATE + orderby: { field: MODIFIED, order: DESC } + sinceTimestamp: ${ + // only source previews made in the last 10 minutes + Date.now() - 1000 * 60 * 10 + } + } + first: 100 + after: $after + ) { + nodes { + previewData { + id + isDraft + modified + parentDatabaseId + previewDatabaseId + remoteUrl + singleName + userDatabaseId + } + } + pageInfo { + hasNextPage + endCursor + } + } + } + `, + }) + + if (!previewActions?.length) { + if (inPreviewDebugMode) { + reporter.info( + `Preview for id ${webhookBody?.id} returned no action monitor actions.` + ) + } + return + } + + if (inPreviewDebugMode) { + reporter.info( + `Preview for id ${webhookBody?.id} returned the following actions:` + ) + dump(previewActions) + } + + const queue = getPreviewQueue() + + previewActions?.forEach(({ previewData }) => { + queue.add(() => + sourcePreview( + { + previewData: { ...previewData, token: webhookBody.token }, + reporter, + }, + pluginOptions + ) + ) + }) + + await Promise.all([queue.onEmpty(), queue.onIdle()]) +} + +/** + * This is called and passed the result from the ActionMonitor.previewData object along with a JWT token + * It sources a single preview and creates the callback that's invoked to send preview status back to WPGatsby. + * When the preview status is sent back to Gatsby, the preview action that this + * logic is processing is deleted in the WP instance. That's why we call + * previewForIdIsAlreadyBeingProcessed to see if another preview webhook + * already started processing for this action + */ +export const sourcePreview = async ( + { previewData, reporter }: { previewData: IWebhookBody; reporter: Reporter }, + { url }: IPluginOptions +): Promise => { + if (previewForIdIsAlreadyBeingProcessed(previewData?.id)) { + return + } + + const requiredProperties = [ + `previewDatabaseId`, + `id`, + `token`, + `remoteUrl`, + `parentDatabaseId`, + `modified`, + `userDatabaseId`, + ] + + const missingProperties = requiredProperties.filter( + (property) => !(property in previewData) + ) + + if (!previewData || missingProperties.length) { + reporter.warn( + formatLogMessage( + `sourcePreview was called but the required previewData properties weren't provided.` + ) + ) + reporter.info( + formatLogMessage( + `Missing properties: \n${JSON.stringify(missingProperties, null, 2)}` + ) + ) + reporter.log( + formatLogMessage(`previewData: \n${JSON.stringify(previewData, null, 2)}`) + ) + return + } + + await touchValidNodes() + + const { hostname: settingsHostname } = urlUtil.parse(url) + const { hostname: remoteHostname } = urlUtil.parse(previewData.remoteUrl) + + const sendPreviewStatus = createPreviewStatusCallback({ + previewData, + reporter, + }) + + if (settingsHostname !== remoteHostname) { + await sendPreviewStatus({ + status: `RECEIVED_PREVIEW_DATA_FROM_WRONG_URL`, + context: `check that the preview data came from the right URL.`, + passedNode: { + modified: previewData.modified, + databaseId: previewData.parentDatabaseId, + }, + graphqlEndpoint: previewData.remoteUrl, + }) + + reporter.warn( + formatLogMessage( + `Received preview data from a different remote URL than the one specified in plugin options. \n\n ${chalk.bold( + `Remote URL:` + )} ${previewData.remoteUrl}\n ${chalk.bold( + `Plugin options URL:` + )} ${url}` + ) + ) + + return + } + + store.dispatch.previewStore.setInPreviewMode(true) + + // this callback will be invoked when the page is created/updated for this node + // then it'll send a mutation to WPGraphQL so that WP knows the preview is ready + store.dispatch.previewStore.subscribeToPagesCreatedFromNodeById({ + nodeId: previewData.id, + modified: previewData.modified, + sendPreviewStatus, + }) + + await fetchAndCreateSingleNode({ + actionType: `PREVIEW`, + ...previewData, + previewParentId: previewData.parentDatabaseId, + isPreview: true, + }) +} + +interface OnPreviewStatusInput { + status: PreviewStatusUnion + context?: string + nodeId?: string + passedNode?: { + modified?: string + databaseId: number + } + pageNode?: IPageNode + graphqlEndpoint?: string + error?: Error +} + +const createPreviewStatusCallback = ({ + previewData, + reporter, +}: { + previewData: IWebhookBody + reporter: Reporter +}) => async ({ + passedNode, + pageNode, + context, + status, + graphqlEndpoint, + error, +}: OnPreviewStatusInput): Promise => { + if (status === `PREVIEW_SUCCESS`) { + // we might need to write a dummy page-data.json so that + // Gatsby doesn't throw 404 errors when WPGatsby tries to read this file + // that maybe doesn't exist yet + await writeDummyPageDataJsonIfNeeded({ previewData, pageNode }) + } + + const statusContext = error?.message + ? `${context}\n\n${error.message}` + : context + + const { data } = await fetchGraphql({ + url: graphqlEndpoint, + query: /* GraphQL */ ` + mutation MUTATE_PREVIEW_NODE($input: WpGatsbyRemotePreviewStatusInput!) { + wpGatsbyRemotePreviewStatus(input: $input) { + success + } + } + `, + variables: { + input: { + clientMutationId: `sendPreviewStatus`, + modified: passedNode?.modified, + pagePath: pageNode?.path, + parentDatabaseId: + previewData.parentDatabaseId || previewData.previewDatabaseId, // if the parentDatabaseId is 0 we want to use the previewDatabaseId + status, + statusContext, + }, + }, + errorContext: `Error occurred while mutating WordPress Preview node meta.`, + forceReportCriticalErrors: true, + headers: { + WPGatsbyPreview: previewData.token, + WPGatsbyPreviewUser: previewData.userDatabaseId, + }, + }) + + if (data?.wpGatsbyRemotePreviewStatus?.success) { + reporter.log( + formatLogMessage( + `Successfully sent Preview status back to WordPress post ${previewData.id} during ${context}` + ) + ) + } else { + reporter.log( + formatLogMessage( + `failed to mutate WordPress post ${previewData.id} during Preview ${context}.\nCheck your WP server logs for more information.` + ) + ) + } +} + +/** + * For previews of draft posts, gatsby develop will throw a bunch of 404 errors + * while WPGatsby is trying to read page-data.json + * So we can write a dummy page-data.json if one doesn't exist. + * that way there will be no 404's and Gatsby will overwrite our dummy file when it + * needs to. + */ +const writeDummyPageDataJsonIfNeeded = async ({ + previewData, + pageNode, +}: { + previewData: IWebhookBody + pageNode: IPageNode +}): Promise => { + if (!previewData.isDraft) { + return + } + + const pageDataDirectory = path.join( + process.cwd(), + `public/page-data`, + pageNode.path + ) + + await fs.ensureDir(pageDataDirectory) + + const pageDataPath = path.join(pageDataDirectory, `page-data.json`) + + const pageDataExists = await fs.exists(pageDataPath) + + if (!pageDataExists) { + await fs.writeJSON(pageDataPath, { + isDraft: previewData.isDraft, + }) + } +} + +// This checks wether or not we're already currently processing a preview +// for the passed preview id. +const previewForIdIsAlreadyBeingProcessed = (id: string): boolean => { + if (!id) { + return false + } + + const existingCallbacks = store.getState().previewStore + .nodePageCreatedCallbacks + + const alreadyProcessingThisPreview = !!existingCallbacks?.[id] + + return alreadyProcessingThisPreview +} diff --git a/packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts b/packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts new file mode 100644 index 0000000000000..1312b9730cff1 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts @@ -0,0 +1,119 @@ +import { formatLogMessage } from "~/utils/format-log-message" +import store from "~/store" +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +import { inPreviewMode } from "." + +/** + * during onCreatePage we want to figure out which node the page is dependant on +and then store that page in state so we can return info about the page to WordPress +when the page is updated during Previews. +We do that by finding the node id on pageContext.id +Ideally we could detect this without the need for pageContext.id. +There was an attempt to use store.componentDataDependencies but my implementation +was buggy and unreliable. @todo it's worth trying to remove the need for +pageContext.id again in the future. + */ +export const onCreatepageSavePreviewNodeIdToPageDependency = ( + helpers: GatsbyNodeApiHelpers +): void => { + // if we're not in preview mode we don't want to track this + if (!inPreviewMode()) { + return + } + + const { page, getNode } = helpers + + const nodeThatCreatedThisPage = + page.context && page.context.id && getNode(page.context.id) + + if (nodeThatCreatedThisPage) { + store.dispatch.previewStore.saveNodePageState({ + nodeId: nodeThatCreatedThisPage.id, + page: { + path: page.path, + updatedAt: page.updatedAt, + }, + }) + } +} + +/** + * during onCreatePage we check if the node this page was created from + * has been updated and if it has a callback waiting for it + * if both of those things are true we invoke the callback to + * respond to the WP instance preview client + */ +export const onCreatePageRespondToPreviewStatusQuery = async ( + helpers: GatsbyNodeApiHelpers +): Promise => { + // if we're not in preview mode we don't want to set this up + if (!inPreviewMode()) { + return + } + + const { + nodePageCreatedCallbacks, + pagePathToNodeDependencyId, + } = store.getState().previewStore + + const { page, getNode } = helpers + + if ( + !nodePageCreatedCallbacks || + !Object.keys(nodePageCreatedCallbacks).length + ) { + return + } + + const nodeIdThatCreatedThisPage = + pagePathToNodeDependencyId?.[page.path]?.nodeId + + if (!nodeIdThatCreatedThisPage) { + return + } + + const nodePageCreatedCallback = + nodeIdThatCreatedThisPage && + nodePageCreatedCallbacks[nodeIdThatCreatedThisPage] + + if ( + !nodeIdThatCreatedThisPage || + typeof nodePageCreatedCallback !== `function` + ) { + return + } + + store.dispatch.previewStore.unSubscribeToPagesCreatedFromNodeById({ + nodeId: nodeIdThatCreatedThisPage, + }) + + const nodeThatCreatedThisPage = getNode(nodeIdThatCreatedThisPage) + + if (!nodeThatCreatedThisPage) { + helpers.reporter.warn( + formatLogMessage( + `There was an attempt to call a Preview onPageCreated callback for node ${nodeIdThatCreatedThisPage}, but no node was found.` + ) + ) + return + } + + // We need to add the modified time to pageContext so we can read it in WP + // This way can tell when the updated page has been deployed + if (!page.context.__wpGatsbyNodeModified) { + const pageCopy = { ...page } + pageCopy.context.__wpGatsbyNodeModified = nodeThatCreatedThisPage.modified + + const { deletePage, createPage } = helpers.actions + + deletePage(page) + createPage(pageCopy) + } + + await nodePageCreatedCallback({ + passedNode: nodeThatCreatedThisPage, + pageNode: page, + context: `onCreatePage Preview callback invocation`, + status: `PREVIEW_SUCCESS`, + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/preview/preview.md b/packages/gatsby-source-wordpress/src/steps/preview/preview.md new file mode 100644 index 0000000000000..759f7b188f74e --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/preview.md @@ -0,0 +1,57 @@ +# Preview + +## How to set it up and use it + +- If you haven't already, you'll need + - A Gatsby site running on Gatsby Cloud, with CMS Previews enabled + - A publicly available WordPress instance with the following plugins installed: + - `WPGraphQL >= v0.15.0` + - `WPGatsby >= v0.6.0` +- Your Gatsby site should be configured to source data from your WordPress instance using `gatsby-source-wordpress`. This means pointing the `url` plugin option for that source plugin at your WordPress instance's `/graphql` endpoint. +- Visit the "CMS Previews" tab in Gatsby Cloud. +- Once your first Preview build has completed with all the necessary plugin versions mentioned above, copy the front-end url of your Preview instance from above the top of the list of completed preview builds. +- Go to your WPGatsby settings and paste the Preview frontend url there. +- Go back to Gatsby Cloud and visit the "Site Settings" tab. Scroll down to the webhook section and copy the Preview webhook. +- Go back to your WPGatsby settings and paste the Preview webhook url there. +- Go to a post or page you want to preview and click "preview" like you normally would in WordPress. +- If anything is misconfigured you will see an error with steps on how to proceed, otherwise you'll see a loading screen which will unveil your preview page once it's ready. + +## Caveats + +- Gutenberg and ACF do not work together for WP Previews. Gutenberg breaks ACF preview (this is not a Gatsby or WPGatsby problem), so if you want to preview ACF, you cannot use Gutenberg. +- You must add a node id to pageContext when creating pages if you want to be able to preview that page. If you don't do this, you'll see a misconfiguration error in the preview window. + +## How it works internally + +- The user presses "preview" from the WordPress admin screen +- There are some checks in place to determine wether or not this is a new preview or if it's a draft, regular post update or duplicate. If it is new a webhook should be sent to the Preview instance. +- Preview "save_post" calls are debounced (per-post) so that many webhooks within a 5 second interval for the same post will only send a single webhook. Different posts that are previewed at the same time will still trigger multiple preview builds (for now) but the preview loading logic will still work great in this case. +- The Preview webhook is POST'ed to with the following information: + - A JWT token which Gatsby can use to query private preview revision data. + - The parent database id of the revision + - Wether or not the preview is for a new post draft (or a regular draft) + - The type of the node being previewed + - The id of the revision (or draft) being previewed + - The URL of the WordPress instance which is sending the Preview + - Wether or not revisions are disabled + - The modified time of the node being previewed + - `preview: true` (the source plugin uses this to tell wether or not previews are being sourced) +- WPGatsby records wether or not the preview webhook was a success (to be used in optimistically loading the preview frontend) +- If the webhook is not online, WPGatsby will record an error in the WP debug log. +- On the Gatsby side, `sourceNodes` as a refresh is invoked via the refresh webhook and the source plugin detects this and invokes `sourcePreviews` instead of sourcing nodes. +- If the Preview was sent from a WP instance other than the one which the source plugin is configured to use, a preview status of `RECEIVED_PREVIEW_DATA_FROM_WRONG_URL` is sent back to WPGatsby for processing. +- The source plugin then stores (in memory) a callback which when invoked will send the preview status back to WPGatsby. +- Separately we have 2 functions that are invoked in `onCreatePage`, + - `onCreatepageSavePreviewNodeIdToPageDependency` which (in preview mode) stores up a map of node id's to pages created from them. In order to make this performant enough, WPGatsby Preview has a requirement that there's a node id in the pageContext of any page created in Gatsby that should be previewable. The node id in pageContext is used to create the nodeId → page map. + - `onCreatePageRespondToPreviewStatusQuery` This function checks if the currently created page's node has a preview status callback assigned to it. If it does it invokes the callback with a `PREVIEW_SUCCESS` status type, sending the preview status back to WPGatsby. After invoking it, the callback is removed from the internal store so that it can't be called again. +- In addition, there are a couple more places these preview status callbacks can be invoked. + - During `onPreExtractQueries` we check for any leftover callbacks which haven't been invoked earlier during `onCreatePage`. Any that haven't been invoked are not previewable. This is either because the created page didn't have a node id in pageContext, or because no page was created for the node being previewed. These leftover callbacks are invoked with a `NO_PAGE_CREATED_FOR_PREVIEWED_NODE` status and WPGatsby processes this status and displays steps on how to debug & fix. + - In the error boundary of `runSteps` any existing callbacks are invoked with a `GATSBY_PREVIEW_PROCESS_ERROR` status. A very generic error about which step the detailed error occurred in is passed along to WPGatsby on the `context` property of the callback. WPGatsby displays this generic error and encourages the user to check their preview logs. +- The preview logic sources the WPGraphQL node being previewed using the `asPreview` api from WPGraphQL and updates the Gatsby node. If a page is created as a result of this, the above `onCreatePage` logic will run which will in turn update the preview status in WPGatsby. +- While all of this is happening, WP has already opened the preview template. If the webhook that the current preview was posted to returned a `204` or `200` status, we optimistically try to load the preview ui and so display a Gatsby branded loading indicator. If the webhook returned another status, we show an error about the Gatsby Preview instance being offline. In both cases, we do a second in-browser check to see if the Preview instance really is online or offline. The reason for this is the webhook will not always be hit when the preview window is loaded or re-loaded. So the Preview instance could come online or offline in the meantime. +- If it takes longer than 45 seconds for the preview to be loaded, a loader warning will appear below the loading animation saying something may be wrong. There is also a "cancel and troubleshoot" button below the warning which when pressed will cancel the preview client from waiting for a response, and show debugging steps. +- In the case of WPGatsby misconfiguration (No preview frontend url/webhook set, or the current post type is not set to show in graphql) a different preview template will be loaded which displays an error with steps on how to remedy. +- If the preview client receives any error status (any status besides `PREVIEW_SUCCESS`) the error will be displayed and the loading icon animation will be removed. +- If the `PREVIEW_SUCCESS` status is received (along with the path the preview can be viewed at), the iframe will be updated to point to the preview frontend url + path. Once the iframe emits it's loaded event, the loader will be removed, unveiling the preview via the Gatsby Preview site. +- In addition to the above, to make the preview logic fast, Diffing the local and remote schemas before pulling preview data has been removed. Instead, we catch any GraphQL errors when updating previews, then re-run schema diffing. If the schemas are different, we regenerate our node sourcing queries and re-fetch the preview data. This means removing a field in WPGraphQL will not break previews unless the preview was specifically querying for that field. +- Upon realizing the above, it was trivial to enable similar functionality for all `gatsby develop`. Now whenever an action is received from WPGatsby, the source plugin will diff the schemas. If they're different, it will re-run `createSchemaCustomization` which will fetch the updated schema and update the Gatsby queries. This means you don't need to re-start Preview or `gatsby develop` when updating your remote schema! diff --git a/packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts b/packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts new file mode 100644 index 0000000000000..22f87e1407cd7 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts @@ -0,0 +1,113 @@ +import store from "~/store" +import { formatLogMessage } from "~/utils/format-log-message" +import isInteger from "lodash/isInteger" +import { IPluginOptions } from "~/models/gatsby-api" +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +interface IProcessorOptions { + userPluginOptions: IPluginOptions + helpers: GatsbyNodeApiHelpers +} + +interface OptionsProcessor { + name: string + test: (options: IProcessorOptions) => boolean + processor: (options: IProcessorOptions) => IPluginOptions | void +} + +const optionsProcessors: OptionsProcessor[] = [ + { + name: `pluginOptions.type.MediaItem.limit is not allowed`, + test: ({ userPluginOptions }) => + !!userPluginOptions?.type?.MediaItem?.limit, + processor: ({ helpers, userPluginOptions }) => { + helpers.reporter.panic( + formatLogMessage( + `PluginOptions.type.MediaItem.limit is an disallowed plugin option.\nPlease remove the MediaItem.limit option from gatsby-config.js (currently set to ${userPluginOptions?.type?.MediaItem?.limit})\n\nMediaItem nodes are automatically limited to 0 and then fetched only when referenced by other node types. For example as a featured image, in custom fields, or in post_content.` + ) + ) + }, + }, + { + name: `excludeFields-renamed-to-excludeFieldNames`, + test: ({ userPluginOptions }) => + Boolean( + userPluginOptions?.excludeFields?.length || + userPluginOptions?.excludeFieldNames?.length + ), + processor: ({ helpers, userPluginOptions }: IProcessorOptions) => { + if (userPluginOptions?.excludeFields?.length) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage( + // @todo + `\n\nPlugin options excludeFields has been renamed to excludeFieldNames.\nBoth options work for now, but excludeFields will be removed in a future version\n(likely when we get to beta) in favour of excludeFieldNames.\n\n` + ) + ) + } + + store.dispatch.remoteSchema.addFieldsToBlackList( + userPluginOptions.excludeFieldNames || userPluginOptions.excludeFields + ) + + return userPluginOptions + }, + }, + { + name: `queryDepth-is-not-a-positive-int`, + test: ({ userPluginOptions }: IProcessorOptions) => + typeof userPluginOptions?.schema?.queryDepth !== `undefined` && + (!isInteger(userPluginOptions?.schema?.queryDepth) || + userPluginOptions?.schema?.queryDepth <= 0), + processor: ({ helpers, userPluginOptions }: IProcessorOptions) => { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage( + `\n\npluginOptions.schema.queryDepth is not a positive integer.\nUsing default value in place of provided value.\n`, + { useVerboseStyle: true } + ) + ) + + delete userPluginOptions.schema.queryDepth + + return userPluginOptions + }, + }, +] + +export const processAndValidatePluginOptions = ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions +): IPluginOptions => { + let userPluginOptions = { + ...pluginOptions, + } + + optionsProcessors.forEach(({ test, processor, name }) => { + if (!name) { + helpers.reporter.panic( + formatLogMessage( + `Plugin option filter is unnamed\n\n${test.toString()}\n\n${processor.toString()}` + ) + ) + } + + if (test({ helpers, userPluginOptions })) { + const filteredUserPluginOptions = processor({ + helpers, + userPluginOptions, + }) + + if (filteredUserPluginOptions) { + userPluginOptions = filteredUserPluginOptions + } else { + helpers.reporter.panic( + formatLogMessage( + `Plugin option filter ${name} didn't return a filtered options object` + ) + ) + } + } + }) + + return userPluginOptions +} diff --git a/packages/gatsby-source-wordpress/src/steps/set-error-map.ts b/packages/gatsby-source-wordpress/src/steps/set-error-map.ts new file mode 100644 index 0000000000000..b573a2b4caa93 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/set-error-map.ts @@ -0,0 +1,8 @@ +import { GatsbyReporter } from "~/utils/gatsby-types" +import { ERROR_MAP } from "../utils/report" + +export function setErrorMap({ reporter }: { reporter: GatsbyReporter }): void { + if (reporter.setErrorMap) { + reporter.setErrorMap(ERROR_MAP) + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts b/packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts new file mode 100644 index 0000000000000..85fbc5d1f7f77 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts @@ -0,0 +1,51 @@ +import store from "~/store" +import { processAndValidatePluginOptions } from "./process-and-validate-plugin-options" +import { formatLogMessage } from "../utils/format-log-message" +import { IPluginOptions } from "~/models/gatsby-api" +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" + +let hasDisplayedPreviewPresetMessage = false + +const setGatsbyApiToState = ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions +): void => { + if (helpers.traceId === `refresh-createSchemaCustomization`) { + return + } + + const filteredPluginOptions = processAndValidatePluginOptions( + helpers, + pluginOptions + ) + + // + // add the plugin options and Gatsby API helpers to our store + // to access them more easily + store.dispatch.gatsbyApi.setState({ + helpers, + pluginOptions: filteredPluginOptions, + }) + + if (!hasDisplayedPreviewPresetMessage) { + const { activePluginOptionsPresets, helpers } = store.getState().gatsbyApi + + if (activePluginOptionsPresets?.length) { + const previewOptimizationPreset = activePluginOptionsPresets.find( + ({ presetName }) => presetName === `PREVIEW_OPTIMIZATION` + ) + + if (previewOptimizationPreset) { + helpers.reporter.info( + formatLogMessage( + `\nSince the "Preview Optimization" plugin option preset is enabled\nwe aren't fetching more than ${previewOptimizationPreset.options.type.__all.limit} nodes of each type.\nAdditionally, Gatsby image and static file links in HTML fields are disabled.\nIf you want to change this, please check the Preview docs for this plugin.\nhttps://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/features/preview.md` + ) + ) + } + } + + hasDisplayedPreviewPresetMessage = true + } +} + +export { setGatsbyApiToState } diff --git a/packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts b/packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts new file mode 100644 index 0000000000000..f75f79b68295f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts @@ -0,0 +1,21 @@ +import store from "~/store" +import { setPersistentCache } from "~/utils/cache" + +// since we create image nodes in resolvers +// we cache our image node id's on post build for production +// and on create dev server for development +// so we can touch our image nodes in both develop and build +// so they don't get garbage collected by Gatsby +const setImageNodeIdCache = async (): Promise => { + const state = store.getState() + const { imageNodes } = state + + if (imageNodes.nodeMetaByUrl) { + await setPersistentCache({ + key: `image-node-meta-by-url`, + value: imageNodes.nodeMetaByUrl, + }) + } +} + +export { setImageNodeIdCache } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js new file mode 100644 index 0000000000000..3aa41bb40d7ca --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js @@ -0,0 +1,29 @@ +import { getGatsbyApi } from "~/utils/get-gatsby-api" + +const deleteMenuNodeChildMenuItems = (node) => { + const { + pluginOptions, + helpers: { getNodesByType, actions }, + } = getGatsbyApi() + + const allMenuItems = getNodesByType( + `${pluginOptions.schema.typePrefix}MenuItem` + ) + + const allMenuItemsNodesWithThisMenuIdAsAParent = allMenuItems.filter( + (menuItemNode) => menuItemNode.menu.node.id === node.id + ) + + allMenuItemsNodesWithThisMenuIdAsAParent?.forEach((menuItemNode) => + actions.deleteNode({ + node: menuItemNode, + }) + ) +} + +export const menuBeforeChangeNode = async (api) => { + if (api.remoteNode && api.actionType === `DELETE`) { + // delete child menu items + return deleteMenuNodeChildMenuItems(api.remoteNode) + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js new file mode 100644 index 0000000000000..0b22c9ab2cf5a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js @@ -0,0 +1,177 @@ +import PQueue from "p-queue" +import fetchReferencedMediaItemsAndCreateNodes from "../fetch-nodes/fetch-referenced-media-items" +import urlToPath from "~/utils/url-to-path" +import store from "~/store" +import fetchGraphql from "~/utils/fetch-graphql" + +import { + buildTypeName, + getTypeSettingsByType, +} from "~/steps/create-schema-customization/helpers" +import { processNode } from "./process-node" + +// @todo concurrency is currently set so low because side effects can overwhelm +// the remote server. A queue for the entire source plugin should be created so that +// everything can share a queue and we can speed some of these things up +const createNodesQueue = new PQueue({ + concurrency: 2, +}) + +export const createNodeWithSideEffects = ({ + node, + state, + wpgqlNodesGroup = null, + referencedMediaItemNodeIds = new Set(), + createdNodeIds = [], + createNodesActivity = null, + totalSideEffectNodes = null, + type = null, +}) => async () => { + const { wpUrl } = state.remoteSchema + const { helpers, pluginOptions } = state.gatsbyApi + + const { actions, createContentDigest } = helpers + + if (node.link) { + // @todo is this still necessary? I don't think it is but double check + // create a pathname for the node using the WP permalink + node.path = urlToPath(node.link) + } + + if (wpgqlNodesGroup?.plural !== `mediaItems`) { + node = await processNode({ + node, + pluginOptions, + referencedMediaItemNodeIds, + wpUrl, + helpers, + }) + } + + let remoteNode = { + ...node, + id: node.id, + parent: null, + internal: { + contentDigest: createContentDigest(node), + type: type || buildTypeName(node.type), + }, + } + + const typeSettings = getTypeSettingsByType({ + name: node.type, + }) + + if (typeof typeSettings?.beforeChangeNode === `function`) { + const { additionalNodeIds, remoteNode: changedRemoteNode } = + (await typeSettings.beforeChangeNode({ + actionType: `CREATE_ALL`, + remoteNode, + actions, + helpers, + type: node.type, + fetchGraphql, + typeSettings, + buildTypeName, + wpStore: store, + })) || {} + + if (changedRemoteNode) { + remoteNode = changedRemoteNode + } + + if (additionalNodeIds?.length && totalSideEffectNodes) { + additionalNodeIds.forEach( + (id) => createdNodeIds.push(id) && totalSideEffectNodes.push(id) + ) + } + + if ( + totalSideEffectNodes && + typeof totalSideEffectNodes?.length === `number` && + totalSideEffectNodes.length > 0 && + createNodesActivity + ) { + createNodesActivity.setStatus( + `awaiting async side effects - ${totalSideEffectNodes.length} additional nodes fetched` + ) + } + } + + await actions.createNode(remoteNode) + + createdNodeIds.push(node.id) +} + +export const createGatsbyNodesFromWPGQLContentNodes = async ({ + wpgqlNodesByContentType, + createNodesActivity, +}) => { + const state = store.getState() + const { helpers, pluginOptions } = state.gatsbyApi + + const { reporter } = helpers + + // wp supports these file extensions + // jpeg|jpg|png|gif|ico|pdf|doc|docx|ppt|pptx|pps|ppsx|odt|xls|psd|mp3|m4a|ogg|wav|mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2|svg|bmp|tif|tiff|asf|asx|wm|wmx|divx|flv|qt|mpe|webm|mkv|txt|asc|c|cc|h|csv|tsv|ics|rtx|css|htm|html|m4b|ra|ram|mid|midi|wax|mka|rtf|js|swf|class|tar|zip|gz|gzip|rar|7z|exe|pot|wri|xla|xlt|xlw|mdb|mpp|docm|dotx|dotm|xlsm|xlsb|xltx|xltm|xlam|pptm|ppsm|potx|potm|ppam|sldx|sldm|onetoc|onetoc2|onetmp|onepkg|odp|ods|odg|odc|odb|odf|wp|wpd|key|numbers|pages + + // gatsby-image supports these file types + // const imgSrcRemoteFileRegex = /]+>/gim + + store.dispatch.logger.createActivityTimer({ + typeName: `MediaItem`, + pluginOptions, + reporter, + }) + + const createdNodeIds = [] + const totalSideEffectNodes = [] + const referencedMediaItemNodeIds = new Set() + + for (const wpgqlNodesGroup of wpgqlNodesByContentType) { + const wpgqlNodes = wpgqlNodesGroup.allNodesOfContentType + + for (const node of wpgqlNodes.values()) { + createNodesQueue.add( + createNodeWithSideEffects({ + state, + node, + wpgqlNodesGroup, + referencedMediaItemNodeIds, + createdNodeIds, + createNodesActivity, + totalSideEffectNodes, + }) + ) + } + } + + await createNodesQueue.onIdle() + + const referencedMediaItemNodeIdsArray = [...referencedMediaItemNodeIds] + + /** + * if we're not lazy fetching media items, we need to fetch them + * upfront here + */ + if ( + !pluginOptions.type.MediaItem.lazyNodes && + referencedMediaItemNodeIdsArray.length + ) { + await fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds: referencedMediaItemNodeIdsArray, + }) + + store.dispatch.logger.stopActivityTimer({ + typeName: `MediaItem`, + }) + + return [...createdNodeIds, ...referencedMediaItemNodeIdsArray] + } + + store.dispatch.logger.stopActivityTimer({ + typeName: `MediaItem`, + }) + + return createdNodeIds +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js new file mode 100644 index 0000000000000..00bc6a75f3b05 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js @@ -0,0 +1,462 @@ +const fs = require(`fs-extra`) +import btoa from "btoa" +const { remoteFileDownloaderBarPromise } = require(`./progress-bar-promise`) +const got = require(`got`) +const { createContentDigest } = require(`gatsby-core-utils`) +const path = require(`path`) +const { isWebUri } = require(`valid-url`) +const Queue = require(`better-queue`) +const readChunk = require(`read-chunk`) +const fileType = require(`file-type`) +const { createProgress } = require(`gatsby-source-filesystem/utils`) + +const { createFileNode } = require(`gatsby-source-filesystem/create-file-node`) +const { + getRemoteFileExtension, + getRemoteFileName, + createFilePath, +} = require(`gatsby-source-filesystem/utils`) +const cacheId = (url) => `create-remote-file-node-${url}` + +let bar +// Keep track of the total number of jobs we push in the queue +let totalJobs = 0 + +/** ****************** + * Type Definitions * + ********************/ + +/** + * @typedef {GatsbyCache} + * @see gatsby/packages/gatsby/utils/cache.js + */ + +/** + * @typedef {Reporter} + * @see gatsby/packages/gatsby-cli/lib/reporter.js + */ + +/** + * @typedef {Auth} + * @type {Object} + * @property {String} htaccess_pass + * @property {String} htaccess_user + */ + +/** + * @typedef {CreateRemoteFileNodePayload} + * @typedef {Object} + * @description Create Remote File Node Payload + * + * @param {String} options.url + * @param {GatsbyCache} options.cache + * @param {Function} options.createNode + * @param {Function} options.getCache + * @param {Auth} [options.auth] + * @param {Reporter} [options.reporter] + */ + +const STALL_RETRY_LIMIT = 3 +const STALL_TIMEOUT = 30000 + +const CONNECTION_RETRY_LIMIT = 5 +const CONNECTION_TIMEOUT = 30000 + +/** ****************** + * Queue Management * + ********************/ + +/** + * Queue + * Use the task's url as the id + * When pushing a task with a similar id, prefer the original task + * as it's already in the processing cache + */ + +let queue = null + +const getQueue = (limit) => { + if (!queue) { + queue = new Queue(pushToQueue, { + id: `url`, + merge: (old, _, cb) => cb(old), + concurrent: limit || 100, + }) + // when the queue is empty we stop the progressbar + queue.on(`drain`, async () => { + if (awaitingCreateRemoteFileNodePromise) { + return + } + + awaitingCreateRemoteFileNodePromise = true + await remoteFileDownloaderBarPromise + awaitingCreateRemoteFileNodePromise = false + + if (bar) { + // this is to give us a little time to wait and see if there + // will be more jobs added with a break between + // sometimes the queue empties but then is recreated within 2 secs + doneQueueTimeout = setTimeout(() => { + bar.done() + totalJobs = 0 + }, 2000) + } + }) + } + return queue +} + +let doneQueueTimeout + +let awaitingCreateRemoteFileNodePromise + +/** + * @callback {Queue~queueCallback} + * @param {*} error + * @param {*} result + */ + +/** + * pushToQueue + * -- + * Handle tasks that are pushed in to the Queue + * + * + * @param {CreateRemoteFileNodePayload} task + * @param {Queue~queueCallback} cb + * @return {Promise} + */ +async function pushToQueue(task, cb) { + try { + const node = await processRemoteNode(task) + return cb(null, node) + } catch (e) { + return cb(e) + } +} + +/** **************** + * Core Functions * + ******************/ + +/** + * requestRemoteNode + * -- + * Download the requested file + * + * @param {String} url + * @param {Headers} headers + * @param {String} tmpFilename + * @param {Object} httpOpts + * @param {number} attempt + * @return {Promise} Resolves with the [http Result Object]{@link https://nodejs.org/api/http.html#http_class_http_serverresponse} + */ +const requestRemoteNode = (url, headers, tmpFilename, httpOpts, attempt = 1) => + new Promise((resolve, reject) => { + let timeout + + // Called if we stall for 30s without receiving any data + const handleTimeout = async () => { + fsWriteStream.close() + fs.removeSync(tmpFilename) + if (attempt < STALL_RETRY_LIMIT) { + // Retry by calling ourself recursively + resolve( + requestRemoteNode(url, headers, tmpFilename, httpOpts, attempt + 1) + ) + } else { + processingCache[url] = null + totalJobs -= 1 + bar.total = totalJobs + reject( + new Error( + `Failed to download ${url} after ${STALL_RETRY_LIMIT} attempts` + ) + ) + } + } + + const resetTimeout = () => { + if (timeout) { + clearTimeout(timeout) + } + timeout = setTimeout(handleTimeout, STALL_TIMEOUT) + } + + const responseStream = got.stream(url, { + headers, + timeout: CONNECTION_TIMEOUT, + retries: CONNECTION_RETRY_LIMIT, + ...httpOpts, + }) + const fsWriteStream = fs.createWriteStream(tmpFilename) + responseStream.pipe(fsWriteStream) + + // If there's a 400/500 response or other error. + responseStream.on(`error`, (error) => { + if (timeout) { + clearTimeout(timeout) + } + processingCache[url] = null + totalJobs -= 1 + bar.total = totalJobs + fs.removeSync(tmpFilename) + console.error(error) + reject(error) + }) + + fsWriteStream.on(`error`, (error) => { + if (timeout) { + clearTimeout(timeout) + } + processingCache[url] = null + totalJobs -= 1 + bar.total = totalJobs + reject(error) + }) + + responseStream.on(`response`, (response) => { + resetTimeout() + + fsWriteStream.on(`finish`, () => { + if (timeout) { + clearTimeout(timeout) + } + resolve(response) + }) + }) + }) + +/** + * processRemoteNode + * -- + * Request the remote file and return the fileNode + * + * @param {CreateRemoteFileNodePayload} options + * @return {Promise} Resolves with the fileNode + */ +async function processRemoteNode({ + url, + cache, + createNode, + parentNodeId, + auth = {}, + httpHeaders = {}, + createNodeId, + ext, + name, +}) { + const pluginCacheDir = cache.directory + // See if there's response headers for this url + // from a previous request. + const cachedHeaders = await cache.get(cacheId(url)) + + const headers = { ...httpHeaders } + if (cachedHeaders && cachedHeaders.etag) { + headers[`If-None-Match`] = cachedHeaders.etag + } + + // Add htaccess authentication if passed in. This isn't particularly + // extensible. We should define a proper API that we validate. + const httpOpts = {} + if (auth?.htaccess_pass && auth?.htaccess_user) { + headers[`Authorization`] = `Basic ${btoa( + `${auth.htaccess_user}:${auth.htaccess_pass}` + )}` + } + + // Create the temp and permanent file names for the url. + const digest = createContentDigest(url) + if (!name) { + name = getRemoteFileName(url) + } + if (!ext) { + ext = getRemoteFileExtension(url) + } + + const tmpFilename = createFilePath(pluginCacheDir, `tmp-${digest}`, ext) + + // Fetch the file. + const response = await requestRemoteNode(url, headers, tmpFilename, httpOpts) + + if (response.statusCode == 200) { + // Save the response headers for future requests. + await cache.set(cacheId(url), response.headers) + } + + // If the user did not provide an extension and we couldn't get one from remote file, try and guess one + if (ext === ``) { + const buffer = readChunk.sync(tmpFilename, 0, fileType.minimumBytes) + const filetype = fileType(buffer) + if (filetype) { + ext = `.${filetype.ext}` + } + } + + const filename = createFilePath( + path.join(pluginCacheDir, digest), + String(name), + ext + ) + + // If the status code is 200, move the piped temp file to the real name. + if (response.statusCode === 200) { + await fs.move(tmpFilename, filename, { overwrite: true }) + // Else if 304, remove the empty response. + } else { + processingCache[url] = null + totalJobs -= 1 + + bar.total = totalJobs + + await fs.remove(tmpFilename) + } + + // Create the file node. + const fileNode = await createFileNode(filename, createNodeId, {}) + fileNode.internal.description = `File "${url}"` + fileNode.url = url + fileNode.parent = parentNodeId + // Override the default plugin as gatsby-source-filesystem needs to + // be the owner of File nodes or there'll be conflicts if any other + // File nodes are created through normal usages of + // gatsby-source-filesystem. + await createNode(fileNode, { name: `gatsby-source-filesystem` }) + + return fileNode +} + +/** + * Index of promises resolving to File node from remote url + */ +const processingCache = {} +/** + * pushTask + * -- + * pushes a task in to the Queue and the processing cache + * + * Promisfy a task in queue + * @param {CreateRemoteFileNodePayload} task + * @return {Promise} + */ +const pushTask = (task) => + new Promise((resolve, reject) => { + getQueue(task.limit) + .push(task) + .on(`finish`, (task) => { + resolve(task) + }) + .on(`failed`, (err) => { + reject(new Error(`failed to process ${task.url}\n${err}`)) + }) + }) + +/** ************* + * Entry Point * + ***************/ + +/** + * createRemoteFileNode + * -- + * + * Download a remote file + * First checks cache to ensure duplicate requests aren't processed + * Then pushes to a queue + * + * @param {CreateRemoteFileNodePayload} options + * @return {Promise} Returns the created node + */ +module.exports = ({ + url, + cache, + createNode, + getCache, + parentNodeId = null, + auth = {}, + httpHeaders = {}, + createNodeId, + ext = null, + name = null, + reporter, + pluginOptions, +}) => { + const limit = pluginOptions?.type?.MediaItem?.localFile?.requestConcurrency + if (doneQueueTimeout) { + // this is to give the bar a little time to wait when there are pauses + // between file downloads. + clearTimeout(doneQueueTimeout) + } + + // if the url isn't already encoded + // so decoding it doesn't do anything + if (decodeURI(url) === url) { + // encode the uri + // this accounts for special characters in filenames + url = encodeURI(url) + } + + // validation of the input + // without this it's notoriously easy to pass in the wrong `createNodeId` + // see gatsbyjs/gatsby#6643 + if (typeof createNodeId !== `function`) { + throw new Error( + `createNodeId must be a function, was ${typeof createNodeId}` + ) + } + if (typeof createNode !== `function`) { + throw new Error(`createNode must be a function, was ${typeof createNode}`) + } + if (typeof getCache === `function`) { + // use cache of this plugin and not cache of function caller + cache = getCache(`gatsby-source-filesystem`) + } + if (typeof cache !== `object`) { + throw new Error( + `Neither "cache" or "getCache" was passed. getCache must be function that return Gatsby cache, "cache" must be the Gatsby cache, was ${typeof cache}` + ) + } + + // Check if we already requested node for this remote file + // and return stored promise if we did. + if (processingCache[url]) { + return processingCache[url] + } + + if (!url || isWebUri(url) === undefined) { + return Promise.reject( + new Error( + `url passed to create-remote-file-node is either missing or not a proper web uri: ${url}` + ) + ) + } + + if (totalJobs === 0) { + bar = createProgress(`Downloading remote files`, reporter) + bar.start() + } + + totalJobs += 1 + + bar.total = totalJobs + + const fileDownloadPromise = pushTask({ + url, + cache, + createNode, + parentNodeId, + createNodeId, + auth, + httpHeaders, + ext, + name, + limit, + }) + + processingCache[url] = fileDownloadPromise.then((node) => { + bar.tick() + + return node + }) + + return processingCache[url] +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js new file mode 100644 index 0000000000000..a4553a8b676b3 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js @@ -0,0 +1,9 @@ +let resolveFileDownloaderProgressBarPromise + +export const allowFileDownloaderProgressBarToClear = () => { + resolveFileDownloaderProgressBarPromise() +} + +export const remoteFileDownloaderBarPromise = new Promise((resolve) => { + resolveFileDownloaderProgressBarPromise = resolve +}) diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js new file mode 100644 index 0000000000000..4c4d5832e4f94 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js @@ -0,0 +1,360 @@ +import fs from "fs-extra" +import path from "path" +import url from "url" +import { bold } from "chalk" + +import retry from "async-retry" + +import { createFileNodeFromBuffer } from "gatsby-source-filesystem" + +import createRemoteFileNode from "./create-remote-file-node/index" + +import store from "~/store" + +import urlToPath from "~/utils/url-to-path" +import { formatLogMessage } from "~/utils/format-log-message" +import { stripImageSizesFromUrl } from "~/steps/source-nodes/fetch-nodes/fetch-referenced-media-items" +import { ensureSrcHasHostname } from "./process-node" + +export const getFileNodeMetaBySourceUrl = (sourceUrl) => { + const fileNodesMetaByUrls = store.getState().imageNodes.nodeMetaByUrl + + return fileNodesMetaByUrls[stripImageSizesFromUrl(sourceUrl)] +} + +export const getMediaItemEditLink = (node) => { + const { helpers, pluginOptions } = store.getState().gatsbyApi + + const { protocol, hostname } = url.parse(node?.link || pluginOptions.url) + const baseUrl = `${protocol}//${hostname}` + + const databaseId = node.databaseId + + if (!databaseId) { + const parentNode = node.parentHtmlNode || helpers.getNode(node.id) + + if (!parentNode?.databaseId) { + return null + } + + return `${baseUrl}/wp-admin/post.php?post=${parentNode.databaseId}&action=edit` + } + + return `${baseUrl}/wp-admin/upload.php?item=${node.databaseId}` +} + +export const errorPanicker = ({ + error, + reporter, + node, + fetchState, + parentName, +}) => { + const editUrl = getMediaItemEditLink(node) + + const stepMessage = parentName ? ` in step:\n\n"${parentName}"` : `` + const mediaItemLink = node.link ? `\nMedia item link: ${node.link}` : `` + const editLink = `\nEdit link: ${editUrl || `N/A`}` + const fileUrl = `\nFile url: ${node.mediaItemUrl}` + + const sharedError = `occurred while fetching media item${ + node.databaseId ? ` #${node.databaseId}` : `` + }${stepMessage}\n${mediaItemLink}${editLink}${fileUrl}` + + const errorString = + typeof error === `string` ? error : error && error.toString() + + const { pluginOptions } = store.getState().gatsbyApi + const allow404ImagesInProduction = pluginOptions.production.allow404Images + + if ( + (allow404ImagesInProduction || process.env.NODE_ENV !== `production`) && + errorString.includes(`Response code 404`) + ) { + fetchState.shouldBail = true + + reporter.log(``) + reporter.warn( + formatLogMessage( + `Error ${sharedError}${ + !allow404ImagesInProduction + ? `\n\nThis error will fail production builds.` + : `` + }` + ) + ) + reporter.log(``) + + return + } + + if (errorString.includes(`Response code 4`)) { + reporter.log(``) + reporter.info( + formatLogMessage( + `Unrecoverable error ${sharedError}\n\nFailing the build to prevent deploying a broken site.${ + errorString.includes(`Response code 404`) + ? `\n\nIf you don't want 404's to fail your production builds, you can set the following option: + +{ + options: { + production: { + allow404Images: true + } + } +}` + : `` + }` + ) + ) + reporter.panic(error) + } else if (errorString.includes(`Response code 5`)) { + reporter.log(``) + reporter.info( + formatLogMessage( + [ + `Unrecoverable error ${sharedError}`, + `\nYour wordpress host appears to be overloaded by our requests for images`, + `\nIn ${bold(`gatsby-config.js`)}, try lowering the ${bold( + `requestConcurrency` + )} for MediaItems:`, + `\nplugins: [ + { + resolve: 'gatsby-source-wordpress', + options: { + url: 'https://mysite.com/graphql', + type: { + MediaItem: { + localFile: { + requestConcurrency: 50 + } + } + } + }, + } +]`, + `\nnote that GATSBY_CONCURRENT_REQUEST environment variable has been retired for these options`, + ].join(`\n`) + ) + ) + reporter.panic(error) + } +} + +export const getFileNodeByMediaItemNode = async ({ + mediaItemNode, + helpers, +}) => { + const { sourceUrl, modifiedGmt, mediaItemUrl, databaseId } = mediaItemNode + + const fileUrl = sourceUrl || mediaItemUrl + + if (!fileUrl) { + helpers.reporter.warn( + formatLogMessage(`Couldn't find source url for media item #${databaseId}`) + ) + return null + } + + const existingNodeMeta = getFileNodeMetaBySourceUrl(fileUrl) + + if ( + // if we already have this image + existingNodeMeta && + existingNodeMeta.id && + // and it hasn't been modified + existingNodeMeta.modifiedGmt === modifiedGmt + ) { + let node = await helpers.getNode(existingNodeMeta.id) + + // some of the cached node metas dont necessarily need to be a File + // so make sure we return a File node if what we get isn't one + if (node && node.internal && node.internal.type !== `File`) { + if (node.localFile && node.localFile.id) { + // look up the corresponding file node + node = await helpers.getNode(node.localFile.id) + } else { + return null + } + } + + return node + } + + return null +} + +const failedImageUrls = new Set() + +export const createRemoteMediaItemNode = async ({ + mediaItemNode, + parentName, + skipExistingNode = false, +}) => { + const state = store.getState() + const { helpers, pluginOptions } = state.gatsbyApi + + const existingNode = !skipExistingNode + ? await getFileNodeByMediaItemNode({ + mediaItemNode, + helpers, + }) + : null + + if (existingNode) { + return existingNode + } + + const { + store: gatsbyStore, + cache, + createNodeId, + reporter, + actions: { createNode }, + } = helpers + + let { mediaItemUrl, modifiedGmt, mimeType, title, fileSize } = mediaItemNode + + if (!mediaItemUrl || failedImageUrls.has(mediaItemUrl)) { + return null + } + + const { wpUrl } = state.remoteSchema + mediaItemUrl = ensureSrcHasHostname({ wpUrl, src: mediaItemUrl }) + + const { + excludeByMimeTypes, + maxFileSizeBytes, + } = pluginOptions.type?.MediaItem?.localFile + + // if this file is larger than maxFileSizeBytes, don't fetch the remote file + if (fileSize > maxFileSizeBytes) { + return null + } + + // if this type of file is excluded, don't fetch the remote file + if (excludeByMimeTypes.includes(mimeType)) { + return null + } + + const hardCachedFileRelativePath = urlToPath(mediaItemUrl) + const hardCachedMediaFilesDirectory = `${process.cwd()}/.wordpress-cache` + + const hardCachedFilePath = + hardCachedMediaFilesDirectory + hardCachedFileRelativePath + + const hardCacheMediaFiles = + (process.env.NODE_ENV === `development` && + pluginOptions.develop.hardCacheMediaFiles) || + (process.env.NODE_ENV === `production` && + pluginOptions.production.hardCacheMediaFiles) + + const fetchState = { + shouldBail: false, + } + // Otherwise we need to download it + const remoteFileNode = await retry( + async () => { + if (fetchState.shouldBail) { + failedImageUrls.add(mediaItemUrl) + return null + } + + const createFileNodeRequirements = { + parentNodeId: mediaItemNode.id, + store: gatsbyStore, + cache, + createNode, + createNodeId, + reporter, + } + + if (hardCacheMediaFiles) { + // check for file in .wordpress-cache/wp-content + // if it exists, use that to create a node from instead of + // fetching from wp + try { + const buffer = await fs.readFile(hardCachedFilePath) + const node = await createFileNodeFromBuffer({ + buffer, + name: title, + ext: path.extname(mediaItemUrl), + ...createFileNodeRequirements, + }) + + if (node) { + return node + } + } catch (e) { + // ignore errors, we'll download the image below if it doesn't exist + } + } + + const { hostname: wpUrlHostname } = url.parse(wpUrl) + const { hostname: mediaItemHostname } = url.parse(mediaItemUrl) + + const htaccessCredentials = pluginOptions.auth.htaccess + + // if media items are hosted on another url like s3, + // using the htaccess creds will throw 400 errors + const shouldUseHtaccessCredentials = wpUrlHostname === mediaItemHostname + + const auth = + htaccessCredentials && shouldUseHtaccessCredentials + ? { + htaccess_pass: htaccessCredentials?.password, + htaccess_user: htaccessCredentials?.username, + } + : null + + // if this errors, it's caught one level above in fetch-referenced-media-items.js so it can be placed on the end of the request queue + const node = await createRemoteFileNode({ + url: mediaItemUrl, + auth, + ...createFileNodeRequirements, + }) + + return node + }, + { + retries: 3, + factor: 1.1, + minTimeout: 5000, + onRetry: (error) => + errorPanicker({ + error, + reporter, + node: mediaItemNode, + fetchState, + parentName, + }), + } + ) + + if (!remoteFileNode) { + return null + } + + // push it's id and url to our store for caching, + // so we can touch this node next time + // and so we can easily access the id by source url later + store.dispatch.imageNodes.pushNodeMeta({ + id: remoteFileNode.id, + sourceUrl: mediaItemUrl, + modifiedGmt, + }) + + if (hardCacheMediaFiles) { + try { + // make sure the directory exists + await fs.ensureDir(path.dirname(hardCachedFilePath)) + // copy our downloaded file to our existing directory + await fs.copyFile(remoteFileNode.absolutePath, hardCachedFilePath) + } catch (e) { + helpers.reporter.panic(e) + } + } + + // and use it + return remoteFileNode +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js new file mode 100644 index 0000000000000..2be7acfde9ffd --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js @@ -0,0 +1,95 @@ +import store from "~/store" +import fetchGraphql from "~/utils/fetch-graphql" +import { formatLogMessage } from "~/utils/format-log-message" +import { createNodeWithSideEffects } from "./create-nodes" +import fetchReferencedMediaItemsAndCreateNodes from "../fetch-nodes/fetch-referenced-media-items" +import { CREATED_NODE_IDS } from "~/constants" +import { getPersistentCache, setPersistentCache } from "~/utils/cache" + +const fetchAndCreateNonNodeRootFields = async () => { + const state = store.getState() + + const { + remoteSchema: { nonNodeQuery }, + gatsbyApi: { helpers, pluginOptions }, + } = state + + const { reporter } = helpers + + const activity = reporter.activityTimer(formatLogMessage(`fetch root fields`)) + + activity.start() + + const { data } = await fetchGraphql({ + query: nonNodeQuery, + errorContext: `Error occurred while fetching non-Node root fields.`, + }) + + const createdNodeIds = [] + // const totalSideEffectNodes = [] + const referencedMediaItemNodeIds = new Set() + + const type = pluginOptions.schema.typePrefix + + const node = { + ...data, + id: `${pluginOptions.url}--rootfields`, + type, + } + + const createRootNode = createNodeWithSideEffects({ + node, + state, + referencedMediaItemNodeIds, + createdNodeIds, + type, + // totalSideEffectNodes, + }) + + createRootNode() + + const referencedMediaItemNodeIdsArray = [...referencedMediaItemNodeIds] + + const newMediaItemIds = referencedMediaItemNodeIdsArray.filter( + (id) => !helpers.getNode(id) + ) + + /** + * if we're not lazy fetching media items, we need to fetch them + * upfront here + */ + if (!pluginOptions.type.MediaItem.lazyNodes && newMediaItemIds.length) { + store.dispatch.logger.createActivityTimer({ + typeName: `MediaItems`, + pluginOptions, + reporter, + }) + + await fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds: newMediaItemIds, + }) + + const previouslyCachedNodeIds = await getPersistentCache({ + key: CREATED_NODE_IDS, + }) + + const createdNodeIds = [ + ...new Set([ + ...(previouslyCachedNodeIds || []), + ...referencedMediaItemNodeIdsArray, + ]), + ] + + // save the node id's so we can touch them on the next build + // so that we don't have to refetch all nodes + await setPersistentCache({ key: CREATED_NODE_IDS, value: createdNodeIds }) + + store.dispatch.logger.stopActivityTimer({ + typeName: `MediaItems`, + }) + } + + activity.end() +} + +export default fetchAndCreateNonNodeRootFields diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js new file mode 100644 index 0000000000000..60eff0a9815ca --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js @@ -0,0 +1,904 @@ +import { isWebUri } from "valid-url" +import { fluid } from "gatsby-plugin-sharp" +import Img from "gatsby-image" +import React from "react" +import ReactDOMServer from "react-dom/server" +import stringify from "fast-json-stable-stringify" +import execall from "execall" +import cheerio from "cheerio" +import url from "url" +import path from "path" +import fs from "fs-extra" +import { supportedExtensions } from "gatsby-transformer-sharp/supported-extensions" +import replaceAll from "replaceall" + +import { formatLogMessage } from "~/utils/format-log-message" + +import fetchReferencedMediaItemsAndCreateNodes, { + stripImageSizesFromUrl, +} from "../fetch-nodes/fetch-referenced-media-items" +import btoa from "btoa" +import store from "~/store" +import { createRemoteMediaItemNode } from "./create-remote-media-item-node" + +const getNodeEditLink = (node) => { + const { protocol, hostname } = url.parse(node.link) + const editUrl = `${protocol}//${hostname}/wp-admin/post.php?post=${node.databaseId}&action=edit` + + return editUrl +} + +const findReferencedImageNodeIds = ({ nodeString, pluginOptions, node }) => { + // if the lazyNodes plugin option is set we don't need to find + // image node id's because those nodes will be fetched lazily in resolvers + if (pluginOptions.type.MediaItem.lazyNodes) { + return [] + } + + // get an array of all referenced media file ID's + const matchedIds = execall( + /"__typename":"MediaItem","id":"([^"]*)"/gm, + nodeString + ) + .map((match) => match.subMatches[0]) + .filter((id) => id !== node.id) + + return matchedIds +} + +const getCheerioImgDbId = (cheerioImg) => { + // try to get the db id from data attributes + const dataAttributeId = + cheerioImg.attribs[`data-id`] || cheerioImg.attribs[`data-image-id`] + + if (dataAttributeId) { + return dataAttributeId + } + + if (!cheerioImg.attribs.class) { + return null + } + + // try to get the db id from the wp-image-id classname + const wpImageClass = cheerioImg.attribs.class + .split(` `) + .find((className) => className.includes(`wp-image-`)) + + if (wpImageClass) { + const wpImageClassDashArray = wpImageClass.split(`-`) + const wpImageClassId = Number( + wpImageClassDashArray[wpImageClassDashArray.length - 1] + ) + + if (wpImageClassId) { + return wpImageClassId + } + } + + return null +} + +// media items are of the "post" type +const dbIdToMediaItemRelayId = (dbId) => (dbId ? btoa(`post:${dbId}`) : null) + +const getCheerioImgRelayId = (cheerioImg) => + dbIdToMediaItemRelayId(getCheerioImgDbId(cheerioImg)) + +export const ensureSrcHasHostname = ({ src, wpUrl }) => { + const { protocol, host } = url.parse(wpUrl) + + if (src.startsWith(`/wp-content`)) { + src = `${protocol}//${host}${src}` + } + + return src +} + +const pickNodeBySourceUrlOrCheerioImg = ({ + url, + cheerioImg, + mediaItemNodes, +}) => { + const possibleHtmlSrcs = [ + // try to match the media item source url by original html src + url, + // or by the src minus any image sizes string + stripImageSizesFromUrl(url), + ] + + const imageNode = mediaItemNodes.find( + (mediaItemNode) => + // either find our node by the source url + possibleHtmlSrcs.includes(mediaItemNode.sourceUrl) || + possibleHtmlSrcs.includes( + // try to match without -scaled in the sourceUrl as well + // since WP adds -scaled to image urls if they were too large + // at upload time but image urls in html don't have this requirement. + // the sourceUrl may have -scaled in it but the full size image is still + // stored on the server (just not in the db) + (mediaItemNode.sourceUrl || mediaItemNode.mediaItemUrl).replace( + `-scaled`, + `` + ) + ) || + // or by id for cases where the src url didn't return a node + (!!cheerioImg && getCheerioImgRelayId(cheerioImg) === mediaItemNode.id) + ) + + return imageNode +} + +let displayedFailedToRestoreMessage = false + +const fetchNodeHtmlImageMediaItemNodes = async ({ + cheerioImages, + node, + helpers, + wpUrl, +}) => { + // get all the image nodes we've cached from elsewhere + const { nodeMetaByUrl } = store.getState().imageNodes + + const previouslyCachedNodesByUrl = ( + await Promise.all( + Object.entries(nodeMetaByUrl).map(([sourceUrl, { id } = {}]) => { + if (!sourceUrl || !id) { + return null + } + + sourceUrl = ensureSrcHasHostname({ wpUrl, src: sourceUrl }) + + const existingNode = helpers.getNode(id) + + if (!existingNode) { + if (!displayedFailedToRestoreMessage) { + helpers.reporter.warn( + formatLogMessage( + `File node failed to restore from cache. This is a bug in gatsby-source-wordpress. Please open an issue so we can help you out :)` + ) + ) + displayedFailedToRestoreMessage = true + } + + return null + } + + return { + sourceUrl, + ...existingNode, + } + }) + ) + ).filter(Boolean) + + const mediaItemUrls = cheerioImages + // filter out nodes we already have + .filter(({ cheerioImg }) => { + const url = ensureSrcHasHostname({ wpUrl, src: cheerioImg.attribs.src }) + + const existingNode = pickNodeBySourceUrlOrCheerioImg({ + url, + mediaItemNodes: previouslyCachedNodesByUrl, + }) + + return !existingNode + }) + // get remaining urls + .map(({ cheerioImg }) => { + const src = ensureSrcHasHostname({ + src: cheerioImg.attribs.src, + wpUrl, + }) + + return src + }) + + // build a query to fetch all media items that we don't already have + const mediaItemNodesBySourceUrl = await fetchReferencedMediaItemsAndCreateNodes( + { + mediaItemUrls, + } + ) + + // images that have been edited from the media library that were previously + // uploaded to a post/page will have a different sourceUrl so they can't be fetched by it + // in many cases we have data-id or data-image-id as attributes on the img + // we can try to use those to fetch media item nodes as well + // this will keep us from missing nodes + const mediaItemDbIds = cheerioImages + .map(({ cheerioImg }) => getCheerioImgDbId(cheerioImg)) + .filter(Boolean) + + const mediaItemRelayIds = mediaItemDbIds + .map((dbId) => dbIdToMediaItemRelayId(dbId)) + .filter( + // filter out any media item ids we already fetched + (relayId) => + ![...mediaItemNodesBySourceUrl, ...previouslyCachedNodesByUrl].find( + ({ id } = {}) => id === relayId + ) + ) + + const mediaItemNodesById = await fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds: mediaItemRelayIds, + }) + + const createdNodes = [...mediaItemNodesById, ...mediaItemNodesBySourceUrl] + + const mediaItemNodes = [...createdNodes, ...previouslyCachedNodesByUrl] + + const htmlMatchesToMediaItemNodesMap = new Map() + for (const { cheerioImg, match } of cheerioImages) { + const htmlImgSrc = ensureSrcHasHostname({ + src: cheerioImg.attribs.src, + wpUrl, + }) + + let imageNode = pickNodeBySourceUrlOrCheerioImg({ + url: htmlImgSrc, + cheerioImg, + mediaItemNodes, + }) + + if (!imageNode && htmlImgSrc) { + // if we didn't get a media item node for this image, + // we need to fetch it and create a file node for it with no + // media item node. + try { + imageNode = await createRemoteMediaItemNode({ + skipExistingNode: true, + parentName: `Creating File node from URL where we couldn't find a MediaItem node`, + mediaItemNode: { + id: node.id, + mediaItemUrl: htmlImgSrc, + modifiedGmt: null, + mimeType: null, + title: null, + fileSize: null, + parentHtmlNode: node, + }, + }) + } catch (e) { + const sharedError = `when trying to fetch\n${htmlImgSrc}\nfrom ${ + node.__typename + } #${node.databaseId} "${node.title ?? node.id}"` + const nodeEditLink = getNodeEditLink(node) + + if (typeof e === `string` && e.includes(`404`)) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage( + `\n\nReceived a 404 ${sharedError}\n\nMost likely this image was uploaded to this ${node.__typename} and then deleted from the media library.\nYou'll need to fix this and re-save this ${node.__typename} to remove this warning at\n${nodeEditLink}.\n\n` + ) + ) + imageNode = null + } else { + helpers.reporter.warn( + `Received the below error ${sharedError}\n\n${nodeEditLink}\n\n` + ) + helpers.reporter.panic(formatLogMessage(e)) + } + } + } + + cacheCreatedFileNodeBySrc({ node: imageNode, src: htmlImgSrc }) + + if (imageNode) { + // match is the html string of the img tag + htmlMatchesToMediaItemNodesMap.set(match, { imageNode, cheerioImg }) + } + } + + return htmlMatchesToMediaItemNodesMap +} + +const getCheerioElementFromMatch = (wpUrl) => ({ match, tag = `img` }) => { + // unescape quotes + const parsedMatch = JSON.parse(`"${match}"`) + + // load our matching img tag into cheerio + const $ = cheerio.load(parsedMatch, { + xml: { + // make sure it's not wrapped in + withDomLvl1: false, + // no need to normalize whitespace, we're dealing with a single element here + normalizeWhitespace: false, + xmlMode: true, + // entity decoding isn't our job here, that will be the responsibility of WPGQL + // or of the source plugin elsewhere. + decodeEntities: false, + }, + }) + + // there's only ever one element due to our match matching a single tag + // $(tag) isn't an array, it's an object with a key of 0 + const cheerioElement = $(tag)[0] + + if (cheerioElement?.attribs?.src?.startsWith(`/wp-content`)) { + cheerioElement.attribs.src = `${wpUrl}${cheerioElement.attribs.src}` + } + + return { + match, + cheerioElement, + // @todo this is from when this function was just used for images + // remove this by refactoring + cheerioImg: cheerioElement, + } +} + +const getLargestSizeFromSizesAttribute = (sizesString) => { + const sizesStringsArray = sizesString.split(`,`) + + return sizesStringsArray.reduce((largest, currentSizeString) => { + const maxWidth = currentSizeString + .substring( + currentSizeString.indexOf(`max-width: `) + 1, + currentSizeString.indexOf(`px`) + ) + .trim() + + const maxWidthNumber = Number(maxWidth) + const noLargestAndMaxWidthIsANumber = !largest && !isNaN(maxWidthNumber) + const maxWidthIsALargerNumberThanLargest = + largest && !isNaN(maxWidthNumber) && maxWidthNumber > largest + + if (noLargestAndMaxWidthIsANumber || maxWidthIsALargerNumberThanLargest) { + largest = maxWidthNumber + } + + return largest + }, null) +} + +const findImgTagMaxWidthFromCheerioImg = (cheerioImg) => { + const { + attribs: { width, sizes }, + } = cheerioImg || { attribs: { width: null, sizes: null } } + + if (width) { + const widthNumber = Number(width) + + if (!isNaN(widthNumber)) { + return widthNumber + } + } + + if (sizes) { + const largestSize = getLargestSizeFromSizesAttribute(sizes) + + if (largestSize && !isNaN(largestSize)) { + return largestSize + } + } + + return null +} + +const getFileNodeRelativePathname = (fileNode) => { + const fileName = `${fileNode.internal.contentDigest}/${fileNode.base}` + + return fileName +} + +const getFileNodePublicPath = (fileNode) => { + const fileName = getFileNodeRelativePathname(fileNode) + + const publicPath = path.join(process.cwd(), `public`, `static`, fileName) + + return publicPath +} + +const copyFileToStaticAndReturnUrlPath = async (fileNode, helpers) => { + const publicPath = getFileNodePublicPath(fileNode) + + if (!fs.existsSync(publicPath)) { + await fs.copy( + fileNode.absolutePath, + publicPath, + { dereference: true }, + (err) => { + if (err) { + console.error( + `error copying file from ${fileNode.absolutePath} to ${publicPath}`, + err + ) + } + } + ) + } + + const fileName = getFileNodeRelativePathname(fileNode) + + const relativeUrl = `${helpers.pathPrefix ?? ``}/static/${fileName}` + + return relativeUrl +} + +const filterMatches = (wpUrl) => ({ match }) => { + const { hostname: wpHostname } = url.parse(wpUrl) + + // @todo make it a plugin option to fetch non-wp images + // here we're filtering out image tags that don't contain our site url + const isHostedInWp = + // if it has the full WP url + match.includes(wpHostname) || + // or it's an absolute path + match.includes(`src=\\"/wp-content`) + + // six backslashes means we're looking for three backslashes + // since we're looking for JSON encoded strings inside of our JSON encoded string + const isInJSON = match.includes(`src=\\\\\\"`) + + return isHostedInWp && !isInJSON +} + +const cacheCreatedFileNodeBySrc = ({ node, src }) => { + if (node) { + // save any fetched media items in our global media item cache + store.dispatch.imageNodes.pushNodeMeta({ + sourceUrl: src, + id: node.id, + modifiedGmt: node.modifiedGmt, + }) + } +} + +const replaceNodeHtmlImages = async ({ + nodeString, + node, + helpers, + wpUrl, + pluginOptions, +}) => { + // this prevents fetching inline html images + if (!pluginOptions?.html?.useGatsbyImage) { + return nodeString + } + + const imgSrcRemoteFileRegex = /(?:src=\\")((?:(?:https?|ftp|file):\/\/|www\.|ftp\.|\/)(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])\.(?:jpeg|jpg|png|gif|ico|mpg|ogv|svg|bmp|tif|tiff))(\?[^\\" .]*|)(?=\\"| |\.)/gim + + const imageUrlMatches = execall(imgSrcRemoteFileRegex, nodeString).filter( + ({ subMatches }) => { + // if our match is json encoded, that means it's inside a JSON + // encoded string field. + const isInJSON = subMatches[0].includes(`\\/\\/`) + + // we shouldn't process encoded JSON, so skip this match if it's JSON + return !isInJSON + } + ) + + const imgTagMatches = execall( + //gim, + nodeString + // we don't want to match images inside pre + .replace(/.*(<\/pre>)/gim, ``) + // and code tags, so temporarily remove those tags and everything inside them + .replace(/.*(<\/code>)/gim, ``) + ).filter(filterMatches(wpUrl)) + + if (imageUrlMatches.length && imgTagMatches.length) { + const cheerioImages = imgTagMatches + .map(getCheerioElementFromMatch(wpUrl)) + .filter(({ cheerioImg: { attribs } }) => { + if (!attribs.src) { + return false + } + + return isWebUri(attribs.src) + }) + + const htmlMatchesToMediaItemNodesMap = await fetchNodeHtmlImageMediaItemNodes( + { + cheerioImages, + nodeString, + node, + helpers, + pluginOptions, + wpUrl, + } + ) + + // generate gatsby images for each cheerioImage + const htmlMatchesWithImageResizes = await Promise.all( + imgTagMatches.map(async ({ match }) => { + const matchInfo = htmlMatchesToMediaItemNodesMap.get(match) + + if (!matchInfo) { + return null + } + + const { imageNode, cheerioImg } = matchInfo + + const isMediaItemNode = imageNode.__typename === `MediaItem` + + if (!imageNode) { + return null + } + + const fileNode = + // if we couldn't get a MediaItem node for this image in WPGQL + !isMediaItemNode + ? // this will already be a file node + imageNode + : // otherwise grab the file node + helpers.getNode(imageNode.localFile.id) + + const imgTagMaxWidth = findImgTagMaxWidthFromCheerioImg(cheerioImg) + + const mediaItemNodeWidth = isMediaItemNode + ? imageNode?.mediaDetails?.width + : null + + // if a max width can't be inferred from html, this value will be passed to Sharp + let fallbackImageMaxWidth = pluginOptions?.html?.fallbackImageMaxWidth + + if ( + // if the image is smaller than the fallback max width, + // the images width will be used instead if we have a media item node + fallbackImageMaxWidth > mediaItemNodeWidth && + // of course that means we have to have a media item node + // and a media item node max width + mediaItemNodeWidth && + typeof mediaItemNodeWidth === `number` && + mediaItemNodeWidth > 0 + ) { + fallbackImageMaxWidth = mediaItemNodeWidth + } + + let maxWidth = + // if we inferred a maxwidth from html + (imgTagMaxWidth && + // and we have a media item node to know it's full size max width + mediaItemNodeWidth && + // and this isn't an svg which has no maximum width + fileNode.extension !== `svg` && + // and the media item node max width is smaller than what we inferred + // from html + mediaItemNodeWidth < imgTagMaxWidth + ? // use the media item node width + mediaItemNodeWidth + : // otherwise use the width inferred from html + imgTagMaxWidth) ?? + // if we don't have a media item node and we inferred no width + // from html, then use the fallback max width from plugin options + fallbackImageMaxWidth + + const configuredMaxWidth = pluginOptions?.html?.imageMaxWidth + + // if the configured html.maxWidth property is less than the result, then + // override the resultant width + if (configuredMaxWidth && configuredMaxWidth < maxWidth) { + maxWidth = configuredMaxWidth + } + + const quality = pluginOptions?.html?.imageQuality + + const { reporter, cache, pathPrefix } = helpers + + const gatsbyTransformerSharpSupportsThisFileType = + supportedExtensions[fileNode?.extension] + + let fluidResult = null + + if (gatsbyTransformerSharpSupportsThisFileType) { + try { + fluidResult = await fluid({ + file: fileNode, + args: { + maxWidth, + quality, + pathPrefix, + }, + reporter, + cache, + }) + } catch (e) { + reporter.error(e) + reporter.warn( + formatLogMessage( + `${node.__typename} ${node.id} couldn't process inline html image ${fileNode.url}` + ) + ) + return null + } + } + + return { + match, + cheerioImg, + fileNode, + imageResize: fluidResult, + maxWidth, + } + }) + ) + + // find/replace mutate nodeString to replace matched images with rendered gatsby images + for (const matchResize of htmlMatchesWithImageResizes) { + if (!matchResize) { + continue + } + + const { match, imageResize, cheerioImg, maxWidth } = matchResize + + // @todo retain img tag classes and attributes from cheerioImg + const imgOptions = { + style: { + // these styles make it so that the image wont be stretched + // beyond it's max width, but it also wont exceed the width + // of it's parent element + maxWidth: `100%`, + width: `${imageResize?.presentationWidth || maxWidth}px`, + }, + placeholderStyle: { + opacity: 0, + }, + className: `${ + cheerioImg?.attribs?.class || `` + } inline-gatsby-image-wrapper`, + loading: `eager`, + alt: cheerioImg?.attribs?.alt, + fadeIn: true, + imgStyle: { + opacity: 1, + }, + } + + let ReactGatsbyImage + + if (imageResize) { + imgOptions.fluid = imageResize + ReactGatsbyImage = React.createElement(Img, imgOptions, null) + } else { + const { fileNode } = matchResize + + const relativeUrl = await copyFileToStaticAndReturnUrlPath( + fileNode, + helpers + ) + + imgOptions.src = relativeUrl + + delete imgOptions.imgStyle + delete imgOptions.fadeIn + delete imgOptions.placeholderStyle + + ReactGatsbyImage = React.createElement(`img`, imgOptions, null) + } + + const gatsbyImageStringJSON = JSON.stringify( + ReactDOMServer.renderToString(ReactGatsbyImage) + .replace(/
    { + if (!pluginOptions?.html?.createStaticFiles) { + return nodeString + } + + if (node.__typename === `MediaItem`) { + // we dont' want to replace file links on MediaItem nodes because they're processed specially from other node types. + // if we replace file links here then we wont be able to properly fetch the localFile node + return nodeString + } + + const hrefMatches = execall( + /(\\"|\\'|\()([^'"()]*)(\/wp-content\/uploads\/[^'">()]+)(\\"|\\'|>|\))/gm, + nodeString + ) + + if (hrefMatches.length) { + // eslint-disable-next-line arrow-body-style + const mediaItemUrlsAndMatches = hrefMatches.map((matchGroup) => ({ + matchGroup, + url: `${wpUrl}${matchGroup.subMatches[2]}`, + })) + + const mediaItemUrls = mediaItemUrlsAndMatches + .map(({ url }) => url) + .filter(isWebUri) + + const mediaItemNodesBySourceUrl = await fetchReferencedMediaItemsAndCreateNodes( + { + mediaItemUrls, + } + ) + + const findReplaceMaps = [] + + await Promise.all( + mediaItemNodesBySourceUrl.map(async (node) => { + let fileNode + let mediaItemNode + + if (node.internal.type === `File`) { + fileNode = node + mediaItemNode = await helpers.getNode(node.parent) + } else if (node.localFile?.id) { + fileNode = await helpers.getNode(node.localFile.id) + mediaItemNode = node + } else { + return null + } + + const relativeUrl = await copyFileToStaticAndReturnUrlPath( + fileNode, + helpers + ) + + if (!relativeUrl || !mediaItemNode?.mediaItemUrl || !fileNode) { + return null + } + + const mediaItemMatchGroup = mediaItemUrlsAndMatches.find( + ({ + matchGroup: { + subMatches: [_delimiter, _hostname, path], + }, + }) => mediaItemNode.mediaItemUrl.includes(path) + )?.matchGroup + + if (!mediaItemMatchGroup) { + return null + } + + const [, hostname, path] = mediaItemMatchGroup?.subMatches + + cacheCreatedFileNodeBySrc({ + node: mediaItemNode, + src: `${wpUrl}${path}`, + }) + + findReplaceMaps.push({ + find: `${hostname || ``}${path}`, + replace: relativeUrl, + }) + + findReplaceMaps.push({ + find: path, + replace: relativeUrl, + }) + }) + ) + + for (const { find, replace } of findReplaceMaps.filter(Boolean)) { + nodeString = replaceAll(find, replace, nodeString) + } + } + + return nodeString +} + +// replaces any url which is a front-end WP url with a relative path +const replaceNodeHtmlLinks = ({ wpUrl, nodeString, node }) => { + const wpLinkRegex = new RegExp( + `["']${wpUrl}(?!/wp-content|/wp-admin|/wp-includes)(/[^'"]+)["']`, + `gim` + ) + + const linkMatches = execall(wpLinkRegex, nodeString) + + if (linkMatches.length) { + linkMatches.forEach(({ match, subMatches: [path] }) => { + if (path) { + try { + // remove \, " and ' characters from match + const normalizedMatch = match + .replace(/['"\\]/g, ``) + // ensure that query params are properly quoted + .replace(/\?/, `\\?`) + + const normalizedPath = path.replace(/\\/g, ``) + + // replace normalized match with relative path + const thisMatchRegex = new RegExp(normalizedMatch, `g`) + nodeString = nodeString.replace(thisMatchRegex, normalizedPath) + } catch (e) { + console.error(e) + console.warning( + formatLogMessage( + `Failed to process inline html links in ${node.__typename} ${node.id}` + ) + ) + } + } + }) + } + + return nodeString +} + +const processNodeString = async ({ + nodeString, + node, + pluginOptions, + helpers, + wpUrl, +}) => { + const nodeStringFilters = [ + replaceNodeHtmlImages, + replaceFileLinks, + replaceNodeHtmlLinks, + ] + + for (const nodeStringFilter of nodeStringFilters) { + nodeString = await nodeStringFilter({ + nodeString, + node, + pluginOptions, + helpers, + wpUrl, + }) + } + + return nodeString +} + +const processNode = async ({ + node, + pluginOptions, + wpUrl, + helpers, + referencedMediaItemNodeIds, +}) => { + const nodeString = stringify(node) + + // find referenced node ids + // here we're searching for node id strings in our node + // we use this to download only the media items + // that are being used in posts + // this is important for downloading images nodes that are connected somewhere + // on a node field + const nodeMediaItemIdReferences = findReferencedImageNodeIds({ + nodeString, + pluginOptions, + node, + }) + + // push them to our store of referenced id's + if (nodeMediaItemIdReferences?.length && referencedMediaItemNodeIds) { + nodeMediaItemIdReferences.forEach((id) => + referencedMediaItemNodeIds.add(id) + ) + } + + const processedNodeString = await processNodeString({ + nodeString, + node, + pluginOptions, + helpers, + wpUrl, + }) + + // only parse if the nodeString has changed + if (processedNodeString !== nodeString) { + return JSON.parse(processedNodeString) + } else { + return node + } +} + +export { processNode } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js new file mode 100644 index 0000000000000..6daa58105ae6c --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js @@ -0,0 +1,122 @@ +import fetchGraphql from "~/utils/fetch-graphql" +import store from "~/store" + +export const normalizeNode = ({ node, nodeTypeName }) => { + const normalizedNodeTypeName = node.__typename || nodeTypeName + // @todo is node.type used anywhere?? + node.type = normalizedNodeTypeName + // this is used to filter node interfaces by content types + node.nodeType = normalizedNodeTypeName + + return node +} + +/** + * paginatedWpNodeFetch + * + * recursively fetches/paginates remote nodes + */ +const paginatedWpNodeFetch = async ({ + contentTypePlural, + query, + nodeTypeName, + helpers, + throwFetchErrors = false, + throwGqlErrors = false, + allContentNodes = [], + after = null, + settings = {}, + headers = {}, + ...variables +}) => { + if ( + !settings.limit && + typeof settings.limit === `number` && + settings.limit === 0 + ) { + // if the Type.limit plugin option is set to the number 0, + // we shouldn't fetch anything + return [] + } + + if ( + settings.limit && + // if we're about to fetch more than our limit + allContentNodes.length + variables.first > settings.limit + ) { + // just fetch whatever number is remaining + variables.first = settings.limit - allContentNodes.length + } + + // if the GQL var "first" is greater than our Type.limit plugin option, + // that's no good + if (settings.limit && settings.limit < variables.first) { + // so just fetch our limit + variables.first = settings.limit + } + + const errorContext = `Error occurred while fetching nodes of the "${nodeTypeName}" type.` + + const response = await fetchGraphql({ + query, + throwFetchErrors, + throwGqlErrors, + variables: { + ...variables, + after, + }, + errorContext, + headers, + }) + + const { data } = response + + if (!data?.[contentTypePlural]?.nodes) { + return allContentNodes + } + + let { + [contentTypePlural]: { nodes, pageInfo: { hasNextPage, endCursor } = {} }, + } = data + + // Sometimes private posts return as null. + // That causes problems for us so let's strip them out + nodes = nodes.filter(Boolean) + + if (nodes && nodes.length) { + nodes.forEach((node) => { + node = normalizeNode({ node, nodeTypeName }) + allContentNodes.push(node) + }) + + // MediaItem type is incremented in createMediaItemNode + if (nodeTypeName !== `MediaItem`) { + store.dispatch.logger.incrementActivityTimer({ + typeName: nodeTypeName, + by: nodes.length, + }) + } + } + + if ( + hasNextPage && + endCursor && + (!settings.limit || settings.limit > allContentNodes.length) + ) { + return paginatedWpNodeFetch({ + ...variables, + contentTypePlural, + nodeTypeName, + query, + allContentNodes, + helpers, + settings, + after: endCursor, + headers, + }) + } else { + return allContentNodes + } +} + +export { paginatedWpNodeFetch } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js new file mode 100644 index 0000000000000..6d90451f56f43 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js @@ -0,0 +1,210 @@ +import { createGatsbyNodesFromWPGQLContentNodes } from "../create-nodes/create-nodes" +import { paginatedWpNodeFetch } from "./fetch-nodes-paginated" +import { formatLogMessage } from "~/utils/format-log-message" +import { CREATED_NODE_IDS } from "~/constants" + +import store from "~/store" +import { getGatsbyApi, getPluginOptions } from "~/utils/get-gatsby-api" +import chunk from "lodash/chunk" + +import { + getHardCachedNodes, + restoreHardCachedNodes, + setHardCachedNodes, + setPersistentCache, +} from "~/utils/cache" + +/** + * fetchWPGQLContentNodes + * + * fetches and paginates remote nodes by post type while reporting progress + */ +export const fetchWPGQLContentNodes = async ({ queryInfo }) => { + const { pluginOptions, helpers } = store.getState().gatsbyApi + const { reporter } = helpers + const { + url, + schema: { perPage }, + } = pluginOptions + + const { nodeListQueries, typeInfo, settings } = queryInfo + + const typeName = typeInfo.nodesTypeName + + store.dispatch.logger.createActivityTimer({ + typeName, + pluginOptions, + reporter, + }) + + let allNodesOfContentType = [] + + // there's normally just one query here, but more can be added using the settings.nodeListQueries api + for (const nodeListQuery of nodeListQueries) { + const contentNodes = await paginatedWpNodeFetch({ + first: perPage, + after: null, + contentTypePlural: typeInfo.pluralName, + nodeTypeName: typeInfo.nodesTypeName, + query: nodeListQuery, + url, + settings, + helpers, + }) + + allNodesOfContentType = [...allNodesOfContentType, ...contentNodes] + } + + store.dispatch.logger.stopActivityTimer({ typeName }) + + if (allNodesOfContentType && allNodesOfContentType.length) { + return { + singular: queryInfo.typeInfo.singularName, + plural: queryInfo.typeInfo.pluralName, + allNodesOfContentType, + } + } + + return false +} + +/** + * getContentTypeQueryInfos + * + * returns query infos (Type info & GQL query strings) filtered to + * remove types that are excluded in the plugin options + * + * @returns {Array} Type info & GQL query strings + */ +export const getContentTypeQueryInfos = () => { + const { nodeQueries } = store.getState().remoteSchema + const queryInfos = Object.values(nodeQueries).filter( + ({ settings }) => !settings.exclude + ) + return queryInfos +} + +export const getGatsbyNodeTypeNames = () => { + const { typeMap } = store.getState().remoteSchema + + const queryableTypenames = getContentTypeQueryInfos().map( + (query) => query.typeInfo.nodesTypeName + ) + + const implementingNodeTypes = queryableTypenames.reduce( + (accumulator, typename) => { + const type = typeMap.get(typename) + + if (type.possibleTypes?.length) { + accumulator = [ + ...accumulator, + ...type.possibleTypes.map(({ name }) => name), + ] + } + + return accumulator + }, + [] + ) + + return [...new Set([...queryableTypenames, ...implementingNodeTypes])] +} + +/** + * fetchWPGQLContentNodesByContentType + * + * fetches nodes from the remote WPGQL server and groups them by post type + * + * @returns {Array} + */ +export const runFnForEachNodeQuery = async (fn) => { + const nodeQueries = getContentTypeQueryInfos() + + const chunkSize = getPluginOptions()?.schema?.requestConcurrency || 15 + const chunkedQueries = chunk(nodeQueries, chunkSize) + + for (const queries of chunkedQueries) { + await Promise.all( + queries.map(async (queryInfo) => { + if ( + // if the type settings call for lazyNodes, don't fetch them upfront here + queryInfo.settings.lazyNodes || + // if this is a media item and the nodes aren't lazy, we only want to fetch referenced nodes, so we don't fetch all of them here. + (!queryInfo.settings.lazyNodes && + queryInfo.typeInfo.nodesTypeName === `MediaItem`) + ) { + return + } + + await fn({ queryInfo }) + }) + ) + } +} + +export const fetchWPGQLContentNodesByContentType = async () => { + const contentNodeGroups = [] + + await runFnForEachNodeQuery(async ({ queryInfo }) => { + const contentNodeGroup = await fetchWPGQLContentNodes({ queryInfo }) + + if (contentNodeGroup) { + contentNodeGroups.push(contentNodeGroup) + } + }) + + return contentNodeGroups +} + +/** + * fetchAndCreateAllNodes + * + * uses query info (generated from introspection in onPreBootstrap) to + * fetch and create Gatsby nodes from any lists of nodes in the remote schema + */ +export const fetchAndCreateAllNodes = async () => { + const { helpers } = getGatsbyApi() + const { reporter } = helpers + + // + // fetch nodes from WPGQL + const activity = reporter.activityTimer(formatLogMessage(`fetching nodes`)) + activity.start() + + store.subscribe(() => { + activity.setStatus(`${store.getState().logger.entityCount} total`) + }) + + let createdNodeIds + + const hardCachedNodes = await getHardCachedNodes() + + if (!hardCachedNodes) { + const wpgqlNodesByContentType = await fetchWPGQLContentNodesByContentType() + + const createNodesActivity = reporter.activityTimer( + formatLogMessage(`creating nodes`) + ) + createNodesActivity.start() + + // + // Create Gatsby nodes from WPGQL response + createdNodeIds = await createGatsbyNodesFromWPGQLContentNodes({ + wpgqlNodesByContentType, + createNodesActivity, + }) + + await setHardCachedNodes({ helpers }) + + createNodesActivity.end() + activity.end() + } else if (hardCachedNodes) { + createdNodeIds = await restoreHardCachedNodes({ + hardCachedNodes, + }) + } + + // save the node id's so we can touch them on the next build + // so that we don't have to refetch all nodes + await setPersistentCache({ key: CREATED_NODE_IDS, value: createdNodeIds }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js new file mode 100644 index 0000000000000..acd082ba429b5 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js @@ -0,0 +1,567 @@ +import chunk from "lodash/chunk" +import store from "~/store" +import atob from "atob" +import filesize from "filesize" +import PQueue from "p-queue" +import { createRemoteMediaItemNode } from "../create-nodes/create-remote-media-item-node" +import { paginatedWpNodeFetch, normalizeNode } from "./fetch-nodes-paginated" +import { buildTypeName } from "~/steps/create-schema-customization/helpers" +import fetchGraphql from "~/utils/fetch-graphql" +import { getFileNodeMetaBySourceUrl } from "~/steps/source-nodes/create-nodes/create-remote-media-item-node" +import uniq from "lodash/uniq" +import urlUtil from "url" +import path from "path" +import { getPluginOptions } from "~/utils/get-gatsby-api" +import { formatLogMessage } from "~/utils/format-log-message" + +const nodeFetchConcurrency = 2 + +const concurrency = Number(process.env.GATSBY_CONCURRENT_DOWNLOAD ?? 200) +const adjustedConcurrency = Number(concurrency ?? 200) - nodeFetchConcurrency +const normalizedConcurrency = + adjustedConcurrency <= nodeFetchConcurrency + ? concurrency + : adjustedConcurrency + +const mediaFileFetchQueue = new PQueue({ + concurrency: normalizedConcurrency, + carryoverConcurrencyCount: true, +}) + +const mediaNodeFetchQueue = new PQueue({ + concurrency: nodeFetchConcurrency, + carryoverConcurrencyCount: true, +}) + +const previouslyRetriedPromises = {} + +const pushPromiseOntoRetryQueue = ({ + node, + helpers, + createContentDigest, + actions, + queue, + retryKey, + retryPromise, +}) => { + queue.add(async () => { + const timesRetried = previouslyRetriedPromises[retryKey] || 0 + + if (timesRetried >= 2) { + // if we've retried this more than once, pause for a sec. + await new Promise((resolve) => + setTimeout(() => resolve(), timesRetried * 500) + ) + } + + try { + await retryPromise({ + createContentDigest, + actions, + helpers, + node, + queue, + retryKey, + retryPromise, + timesRetried, + }) + } catch (error) { + // Errors that should exit are handled one level down + // in createRemoteMediaItemNode + // + // if we haven't reqeued this before, + // add it to the end of the queue to + // try once more later + if (timesRetried < 5) { + if (timesRetried > 1) { + helpers.reporter.info( + `pushing ${retryKey} to the end of the request queue.` + ) + + helpers.reporter.info( + `Previously retried ${timesRetried} times already.` + ) + } + + previouslyRetriedPromises[retryKey] = timesRetried + 1 + + pushPromiseOntoRetryQueue({ + node, + helpers, + createContentDigest, + actions, + queue, + retryKey, + retryPromise, + }) + } else { + helpers.reporter.info( + `\n\nalready re-queued ${retryKey} 5 times :( sorry.\nTry lowering process.env.GATSBY_CONCURRENT_DOWNLOAD.\nIt's currently set to ${process.env.GATSBY_CONCURRENT_DOWNLOAD}\n\n` + ) + // we already tried this earlier in the queue + // no choice but to give up :( + helpers.reporter.panic(error) + } + } + }) +} + +export const createMediaItemNode = async ({ + node, + helpers, + createContentDigest, + actions, + referencedMediaItemNodeIds, + parentName, + allMediaItemNodes = [], +}) => { + const existingNode = await helpers.getNode(node.id) + + if (existingNode) { + return existingNode + } + + store.dispatch.logger.incrementActivityTimer({ + typeName: `MediaItem`, + by: 1, + }) + + allMediaItemNodes.push(node) + + let resolveFutureNode + const futureNode = new Promise((resolve) => { + resolveFutureNode = resolve + }) + + pushPromiseOntoRetryQueue({ + node, + helpers, + createContentDigest, + actions, + queue: mediaFileFetchQueue, + retryKey: node.mediaItemUrl, + retryPromise: async ({ + createContentDigest, + actions, + helpers, + node, + retryKey, + timesRetried, + }) => { + const fetchTimeout = setTimeout(() => { + helpers.reporter.log( + formatLogMessage( + `Fetching ${ + node.mediaItemUrl + } is taking a long time time (longer than 15 seconds). This file is ${filesize( + node.fileSize + )}` + ) + ) + }, 15000) + + const localFileNode = await createRemoteMediaItemNode({ + mediaItemNode: node, + helpers, + parentName, + }) + + clearTimeout(fetchTimeout) + + if (timesRetried > 1) { + helpers.reporter.info( + `Successfully fetched ${retryKey} after retrying ${timesRetried} times` + ) + } + + if (!localFileNode) { + return resolveFutureNode(null) + } + + node = { + ...node, + localFile: { + id: localFileNode.id, + }, + parent: null, + internal: { + contentDigest: createContentDigest(node), + type: buildTypeName(`MediaItem`), + }, + } + + const normalizedNode = normalizeNode({ node, nodeTypeName: `MediaItem` }) + + await actions.createNode(normalizedNode) + resolveFutureNode(node) + }, + }) + + return futureNode +} + +const urlToFileExtension = (url) => { + const { pathname } = urlUtil.parse(url) + + const fileExtension = path.extname(pathname) + + return fileExtension +} + +export const stripImageSizesFromUrl = (url) => { + const fileExtension = urlToFileExtension(url) + + const imageSizesPattern = new RegExp( + `(?:[-_]([0-9]+)x([0-9]+))${fileExtension ? `.${fileExtension}` : ``}` + ) + + let urlWithoutSizes = url.replace(imageSizesPattern, ``) + + if (urlWithoutSizes !== url && fileExtension) { + urlWithoutSizes = `${urlWithoutSizes}${fileExtension}` + } + + return urlWithoutSizes +} + +const createScaledImageUrl = (url) => { + const fileExtension = urlToFileExtension(url) + + const isAlreadyScaled = url.includes(`-scaled${fileExtension || ``}`) + + if (isAlreadyScaled) { + return url + } + + let scaledUrl + + if (fileExtension) { + scaledUrl = url.replace(fileExtension, `-scaled${fileExtension}`) + } else { + scaledUrl = `${url}-scaled` + } + + return scaledUrl +} + +// takes an array of image urls and returns them + additional urls if +// any of the provided image urls contain what appears to be an image resize signifier +// for ex https://site.com/wp-content/uploads/01/your-image-500x1000.jpeg +// that will add https://site.com/wp-content/uploads/01/your-image.jpeg to the array +// this is necessary because we can only get image nodes by the full source url. +// simply removing image resize signifiers from all urls would be a mistake since +// someone could upload a full-size image that contains that pattern - so the full +// size url would have 500x1000 in it, and removing it would make it so we can never +// fetch this image node. +const processAndDedupeImageUrls = (urls) => + uniq( + urls.reduce((accumulator, url) => { + const scaledUrl = createScaledImageUrl(url) + accumulator.push(scaledUrl) + + const strippedUrl = stripImageSizesFromUrl(url) + + // if the url had no image sizes, don't do anything special + if (strippedUrl === url) { + return accumulator + } + + accumulator.push(strippedUrl) + + const scaledStrippedUrl = createScaledImageUrl(strippedUrl) + accumulator.push(scaledStrippedUrl) + + return accumulator + }, urls) + ) + +const fetchMediaItemsBySourceUrl = async ({ + mediaItemUrls, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + allMediaItemNodes = [], +}) => { + const processedMediaItemUrls = processAndDedupeImageUrls(mediaItemUrls) + + const { + cachedMediaItemNodeIds, + uncachedMediaItemUrls, + } = processedMediaItemUrls.reduce( + (accumulator, url) => { + const { id } = getFileNodeMetaBySourceUrl(url) || {} + + // if we have a cached image and we haven't already recorded this cached image + if (id && !accumulator.cachedMediaItemNodeIds.includes(id)) { + // save it + accumulator.cachedMediaItemNodeIds.push(id) + } else if (!id) { + // otherwise we need to fetch this media item by url + accumulator.uncachedMediaItemUrls.push(url) + } + + return accumulator + }, + { cachedMediaItemNodeIds: [], uncachedMediaItemUrls: [] } + ) + + // take our previously cached id's and get nodes for them + const previouslyCachedMediaItemNodes = await Promise.all( + cachedMediaItemNodeIds.map(async (nodeId) => helpers.getNode(nodeId)) + ) + + const { + schema: { perPage }, + } = getPluginOptions() + + // chunk up all our uncached media items + const mediaItemUrlsPages = chunk(uncachedMediaItemUrls, perPage) + + // since we're using an async queue, we need a way to know when it's finished + // we pass this resolve function into the queue function so it can let us + // know when it's finished + let resolveFutureNodes + const futureNodes = new Promise((resolve) => { + resolveFutureNodes = (nodes = []) => + // combine our resolved nodes we fetched with our cached nodes + resolve([...nodes, ...previouslyCachedMediaItemNodes]) + }) + + // we have no media items to fetch, + // so we need to resolve this promise + // otherwise it will never resolve below. + if (!mediaItemUrlsPages.length) { + resolveFutureNodes() + } + + // for all the images we don't have cached, loop through and get them all + for (const [index, sourceUrls] of mediaItemUrlsPages.entries()) { + pushPromiseOntoRetryQueue({ + helpers, + createContentDigest, + actions, + queue: mediaNodeFetchQueue, + retryKey: `Media Item by sourceUrl query #${index}, digest: ${createContentDigest( + sourceUrls.join() + )}`, + retryPromise: async () => { + const query = /* GraphQL */ ` + query MEDIA_ITEMS { + ${sourceUrls + .map( + (sourceUrl, index) => /* GraphQL */ ` + mediaItem__index_${index}: mediaItem(id: "${sourceUrl}", idType: SOURCE_URL) { + ...MediaItemFragment + } + ` + ) + .join(` `)} + } + + fragment MediaItemFragment on MediaItem { + ${selectionSet} + } + + ${builtFragments || ``} + ` + + const { data } = await fetchGraphql({ + query, + variables: { + first: perPage, + after: null, + }, + errorContext: `Error occurred while fetching "MediaItem" nodes in inline html.`, + }) + + // since we're getting each media item on it's single node root field + // we just needs the values of each property in the response + // anything that returns null is because we tried to get the source url + // plus the source url minus resize patterns. So there will be nulls + // since only the full source url will return data + const thisPagesNodes = Object.values(data).filter(Boolean) + + // take the WPGraphQL nodes we received and create Gatsby nodes out of them + const nodes = await Promise.all( + thisPagesNodes.map((node) => + createMediaItemNode({ + node, + helpers, + createContentDigest, + actions, + allMediaItemNodes, + parentName: `Fetching referenced MediaItem nodes by sourceUrl`, + }) + ) + ) + + nodes.forEach((node, index) => { + if (!node) { + return + } + + // this is how we're caching nodes we've previously fetched. + store.dispatch.imageNodes.pushNodeMeta({ + id: node.localFile.id, + sourceUrl: sourceUrls[index], + modifiedGmt: node.modifiedGmt, + }) + }) + + resolveFutureNodes(nodes) + }, + }) + } + + await mediaNodeFetchQueue.onIdle() + await mediaFileFetchQueue.onIdle() + + return futureNodes +} + +const fetchMediaItemsById = async ({ + mediaItemIds, + settings, + url, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + typeInfo, +}) => { + const newMediaItemIds = mediaItemIds.filter((id) => !helpers.getNode(id)) + + const { + schema: { perPage }, + } = getPluginOptions() + + const chunkedIds = chunk(newMediaItemIds, perPage) + + let resolveFutureNodes + const futureNodes = new Promise((resolve) => { + resolveFutureNodes = resolve + }) + + if (!newMediaItemIds.length) { + resolveFutureNodes([]) + } + + const allMediaItemNodes = [] + + for (const [index, relayIds] of chunkedIds.entries()) { + pushPromiseOntoRetryQueue({ + helpers, + createContentDigest, + actions, + queue: mediaNodeFetchQueue, + retryKey: `Media Item query #${index}, digest: ${createContentDigest( + relayIds.join() + )}`, + retryPromise: async () => { + // relay id's are base64 encoded from strings like attachment:89381 + // where 89381 is the id we want for our query + // so we split on the : and get the last item in the array, which is the id + // once we can get a list of media items by relay id's, we can remove atob + const ids = relayIds.map((id) => atob(id).split(`:`).slice(-1)[0]) + + const query = ` + query MEDIA_ITEMS($in: [ID]) { + mediaItems(first: ${perPage}, where:{ in: $in }) { + nodes { + ${selectionSet} + } + } + } + + ${builtFragments || ``} + ` + + const allNodesOfContentType = await paginatedWpNodeFetch({ + first: perPage, + contentTypePlural: typeInfo.pluralName, + nodeTypeName: typeInfo.nodesTypeName, + query, + url, + helpers, + settings, + in: ids, + // this allows us to retry-on-end-of-queue + throwFetchErrors: true, + }) + + const nodes = await Promise.all( + allNodesOfContentType.map((node) => + createMediaItemNode({ + node, + helpers, + createContentDigest, + actions, + allMediaItemNodes, + referencedMediaItemNodeIds: mediaItemIds, + parentName: `Fetching referenced MediaItem nodes by id`, + }) + ) + ) + + resolveFutureNodes(nodes) + }, + }) + } + + await mediaNodeFetchQueue.onIdle() + await mediaFileFetchQueue.onIdle() + + return futureNodes +} + +export default async function fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds, + mediaItemUrls, +}) { + const state = store.getState() + const queryInfo = state.remoteSchema.nodeQueries.mediaItems + + const { helpers, pluginOptions } = state.gatsbyApi + const { createContentDigest, actions } = helpers + const { url } = pluginOptions + const { typeInfo, settings, selectionSet, builtFragments } = queryInfo + + let createdNodes = [] + + if (referencedMediaItemNodeIds?.length) { + const nodesSourcedById = await fetchMediaItemsById({ + mediaItemIds: referencedMediaItemNodeIds, + settings, + url, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + typeInfo, + }) + + createdNodes = nodesSourcedById + } + + if (mediaItemUrls?.length) { + const nodesSourcedByUrl = await fetchMediaItemsBySourceUrl({ + mediaItemUrls, + settings, + url, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + typeInfo, + }) + + createdNodes = [...createdNodes, ...nodesSourcedByUrl] + } + + return createdNodes.filter(Boolean) +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js new file mode 100644 index 0000000000000..fe874a701146a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js @@ -0,0 +1,35 @@ +import store from "~/store" + +export const getTypeInfoBySingleName = (singleName) => { + const { typeMap } = store.getState().remoteSchema + + const rootField = typeMap + .get(`RootQuery`) + .fields.find((field) => field.name === singleName) + + const typeName = rootField.type.name || rootField.type.ofType.name + + const type = typeMap.get(typeName) + + return type +} + +export const getQueryInfoBySingleFieldName = (singleName) => { + const { nodeQueries } = store.getState().remoteSchema + + const queryInfo = Object.values(nodeQueries).find( + (q) => q.typeInfo.singularName === singleName + ) + + return queryInfo +} + +export const getQueryInfoByTypeName = (typeName) => { + const { nodeQueries } = store.getState().remoteSchema + + const queryInfo = Object.values(nodeQueries).find( + (q) => q.typeInfo.nodesTypeName === typeName + ) + + return queryInfo +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/index.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/index.js new file mode 100644 index 0000000000000..6ee10c43cbf1d --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/index.js @@ -0,0 +1,75 @@ +import fetchAndApplyNodeUpdates from "./update-nodes/fetch-node-updates" + +import { fetchAndCreateAllNodes } from "./fetch-nodes/fetch-nodes" + +import { LAST_COMPLETED_SOURCE_TIME } from "~/constants" +import store from "~/store" +import fetchAndCreateNonNodeRootFields from "./create-nodes/fetch-and-create-non-node-root-fields" +import { allowFileDownloaderProgressBarToClear } from "./create-nodes/create-remote-file-node/progress-bar-promise" +import { sourcePreviews } from "~/steps/preview" + +const sourceNodes = async (helpers, pluginOptions) => { + const { cache, webhookBody } = helpers + + // if this is a preview we want to process it and return early + if (webhookBody.preview) { + await sourcePreviews(helpers, pluginOptions) + + return + } + // if it's not a preview but we have a token + // we should source any pending previews then continue sourcing + else if (webhookBody.token && webhookBody.userDatabaseId) { + await sourcePreviews(helpers, pluginOptions) + } + + const now = Date.now() + + // fetch non-node root fields such as settings. + // For now, we're refetching them on every build + const nonNodeRootFieldsPromise = fetchAndCreateNonNodeRootFields() + + const lastCompletedSourceTime = + webhookBody.refreshing && webhookBody.since + ? webhookBody.since + : await cache.get(LAST_COMPLETED_SOURCE_TIME) + + const { + schemaWasChanged, + foundUsableHardCachedData, + } = store.getState().remoteSchema + + const fetchEverything = + foundUsableHardCachedData || + !lastCompletedSourceTime || + // don't refetch everything in development + (process.env.NODE_ENV !== `development` && + // and the schema was changed + schemaWasChanged) + + // If this is an uncached build, + // or our initial build to fetch and cache everything didn't complete, + // pull everything from WPGQL + if (fetchEverything) { + await fetchAndCreateAllNodes() + } + + // If we've already successfully pulled everything from WPGraphQL + // just pull the latest changes + else if (!fetchEverything) { + await fetchAndApplyNodeUpdates({ + since: lastCompletedSourceTime, + }) + } + + await nonNodeRootFieldsPromise + + allowFileDownloaderProgressBarToClear() + await helpers.cache.set(LAST_COMPLETED_SOURCE_TIME, now) + + const { dispatch } = store + dispatch.remoteSchema.setSchemaWasChanged(false) + dispatch.develop.resumeRefreshPolling() +} + +export { sourceNodes } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js new file mode 100644 index 0000000000000..c478f56218e94 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js @@ -0,0 +1,135 @@ +import { formatLogMessage } from "~/utils/format-log-message" +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { contentPollingQuery } from "../../../utils/graphql-queries" +import fetchGraphql from "../../../utils/fetch-graphql" +import { LAST_COMPLETED_SOURCE_TIME } from "../../../constants" + +/** + * This function checks wether there is atleast 1 WPGatsby action ready to be processed by Gatsby + * If there is, it calls the refresh webhook so that schema customization and source nodes run again. + */ +const checkForNodeUpdates = async ({ cache, emitter }) => { + // get the last sourced time + const lastCompletedSourceTime = await cache.get(LAST_COMPLETED_SOURCE_TIME) + const since = lastCompletedSourceTime - 500 + + // make a graphql request for any actions that have happened since + const { + data: { + actionMonitorActions: { nodes: newActions }, + }, + } = await fetchGraphql({ + query: contentPollingQuery, + variables: { + since, + }, + // throw fetch errors and graphql errors so we can auto recover in refetcher() + throwGqlErrors: true, + throwFetchErrors: true, + }) + + if (newActions.length) { + // if there's atleast 1 new action, pause polling, + // refresh Gatsby schema+nodes and continue on + store.dispatch.develop.pauseRefreshPolling() + + emitter.emit(`WEBHOOK_RECEIVED`, { + webhookBody: { + since, + refreshing: true, + }, + }) + } else { + // set new last completed source time and move on + await cache.set(LAST_COMPLETED_SOURCE_TIME, Date.now()) + } +} + +const refetcher = async ( + msRefetchInterval, + helpers, + { reconnectionActivity = null, retryCount = 1 } = {} +) => { + try { + const { refreshPollingIsPaused } = store.getState().develop + + if (!refreshPollingIsPaused) { + await checkForNodeUpdates(helpers) + } + + if (reconnectionActivity) { + reconnectionActivity.end() + helpers.reporter.success( + formatLogMessage( + `Content updates re-connected after ${retryCount} ${ + retryCount === 1 ? `try` : `tries` + }` + ) + ) + + reconnectionActivity = null + retryCount = 1 + } + } catch (e) { + const { pluginOptions } = getGatsbyApi() + if (pluginOptions?.debug?.throwRefetchErrors) { + throw e + } + + if (!reconnectionActivity) { + reconnectionActivity = helpers.reporter.activityTimer( + formatLogMessage(`Content update error: "${e.message}"`) + ) + reconnectionActivity.start() + reconnectionActivity.setStatus(`retrying...`) + } else { + retryCount++ + reconnectionActivity.setStatus(`retried ${retryCount} times`) + } + + // retry after retry count times 5 seconds + const retryTime = retryCount * 5000 + // if the retry time is greater than or equal to the max (60 seconds) + // use the max, otherwise use the retry time + const maxWait = 60000 + const waitFor = retryTime >= maxWait ? maxWait : retryTime + + await new Promise((resolve) => setTimeout(resolve, waitFor)) + } + + setTimeout( + () => + refetcher(msRefetchInterval, helpers, { + reconnectionActivity, + retryCount, + }), + msRefetchInterval + ) +} + +/** + * Starts constantly refetching the latest WordPress changes + * so we can update Gatsby nodes when data changes + */ +const startPollingForContentUpdates = (helpers) => { + if ( + process.env.WP_DISABLE_POLLING || + process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + ) { + return + } + + const { verbose, develop } = store.getState().gatsbyApi.pluginOptions + + const msRefetchInterval = develop.nodeUpdateInterval + + if (verbose) { + helpers.reporter.log(``) + helpers.reporter.info(formatLogMessage`Watching for WordPress changes`) + } + + refetcher(msRefetchInterval, helpers) +} + +export { startPollingForContentUpdates } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js new file mode 100644 index 0000000000000..5f02c9f3f8785 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js @@ -0,0 +1,59 @@ +import { CREATED_NODE_IDS, LAST_COMPLETED_SOURCE_TIME } from "~/constants" +import { fetchAndRunWpActions } from "./wp-actions" +import { formatLogMessage } from "~/utils/format-log-message" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { getPersistentCache } from "~/utils/cache" + +export const touchValidNodes = async () => { + const { helpers } = getGatsbyApi() + const { actions } = helpers + + const validNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + + if (validNodeIds?.length) { + validNodeIds.forEach((nodeId) => actions.touchNode({ nodeId })) + } +} + +/** + * fetchAndApplyNodeUpdates + * + * uses query info (types and gql query strings) fetched/generated in + * onPreBootstrap to ask WordPress for the latest changes, and then + * apply creates, updates, and deletes to Gatsby nodes + */ +const fetchAndApplyNodeUpdates = async ({ + since, + throwFetchErrors = false, + throwGqlErrors = false, +}) => { + const { helpers, pluginOptions } = getGatsbyApi() + + const { cache, reporter } = helpers + + const activity = reporter.activityTimer( + formatLogMessage(`pull updates since last build`) + ) + activity.start() + + if (!since) { + since = await cache.get(LAST_COMPLETED_SOURCE_TIME) + } + + // Check with WPGQL to create, delete, or update cached WP nodes + const { wpActions, didUpdate } = await fetchAndRunWpActions({ + since, + helpers, + pluginOptions, + throwFetchErrors, + throwGqlErrors, + }) + + await touchValidNodes() + + activity.end() + + return { wpActions, didUpdate } +} + +export default fetchAndApplyNodeUpdates diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js new file mode 100644 index 0000000000000..0dd57dfef1895 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js @@ -0,0 +1,61 @@ +import flattenDeep from "lodash/flattenDeep" + +// After all nodes are created while building the schema, store possible node type relationships. So for example when building the WpPost type, for every gatsby node discovered as a potential connected node type WpPost's fields, record that in redux as WpPost => [...ConnectedTypeNames]. + +// when creating or updating a Page incrementally, we should find all connected node ids, check the types of each of those id's, if any connected id type has the current node type as a potential connected node type, AND this node is not a connected node of that node, we should refetch that node in case it's now a connected node. + +// So we create a new Page, we then check the connected node id's and determine that one of them is a User type. The User type has Page as a potential connected node. So we check if this node is a connected node of that node. If it's not we can't be sure that that User node isn't missing this node as a connected node. So we refetch the connected node of our Page which is a User. Do this for all connected nodes where we can't find a relationship back. + +const recursivelySearchForIds = ([key, value]) => { + if (!key || !value) { + return null + } + + if (key === `id`) { + return value + } else if (typeof value === `string` || typeof value === `number`) { + return null + } + + if (Array.isArray(value)) { + dump(key) + // loop through each value of the array. If it's an object recurse on it's fields + // if it's anything else skip it. + value.map((innerValue) => { + if (innerValue === null) { + return null + } + + if (key === `id` && typeof innerValue === `string`) { + return innerValue + } + + if (typeof innerValue === `object`) { + return Object.values(innerValue).map(recursivelySearchForIds) + } + + return null + }) + } else if (typeof value === `object`) { + dump(key) + return Object.entries(value).map(recursivelySearchForIds) + } + + return null +} + +export const findConnectedNodeIds = (node) => { + const childNodeIds = [ + ...new Set( + flattenDeep(Object.entries(node).map(recursivelySearchForIds)).filter( + (id) => id !== node.id && !!id + ) + ), + ] + + if (!childNodeIds.length) { + return null + } + + return childNodeIds +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js new file mode 100644 index 0000000000000..fedc0d4e0114d --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js @@ -0,0 +1,98 @@ +import chalk from "chalk" + +import { formatLogMessage } from "~/utils/format-log-message" +import store from "~/store" +import { + getTypeSettingsByType, + buildTypeName, +} from "~/steps/create-schema-customization/helpers" +import { fetchGraphql } from "~/utils/fetch-graphql" +import { getQueryInfoBySingleFieldName } from "../../helpers" +import { CREATED_NODE_IDS } from "~/constants" +import { setPersistentCache, getPersistentCache } from "~/utils/cache" + +const wpActionDELETE = async ({ + helpers, + // cachedNodeIds, + wpAction, +}) => { + const { reporter, actions, getNode } = helpers + + try { + const cachedNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + + // get the node ID from the WPGQL id + const nodeId = wpAction.referencedNodeGlobalRelayID + + const node = await getNode(nodeId) + + const { typeInfo } = + getQueryInfoBySingleFieldName(wpAction.referencedNodeSingularName) || {} + + if (!typeInfo) { + reporter.info( + formatLogMessage( + `A ${wpAction.referencedNodeSingularName} was deleted, but this node type is excluded in plugin options.` + ) + ) + reporter.log(``) + return + } + + const typeSettings = getTypeSettingsByType({ + name: typeInfo.nodesTypeName, + }) + + if ( + typeSettings.beforeChangeNode && + typeof typeSettings.beforeChangeNode === `function` + ) { + const { additionalNodeIds } = + (await typeSettings.beforeChangeNode({ + actionType: `DELETE`, + remoteNode: node, + actions, + helpers, + typeInfo, + fetchGraphql, + typeSettings, + buildTypeName, + wpStore: store, + })) || {} + + if (additionalNodeIds && additionalNodeIds.length) { + additionalNodeIds.forEach((id) => cachedNodeIds.push(id)) + } + } + + if (node) { + await actions.touchNode({ nodeId }) + await actions.deleteNode({ node }) + + reporter.log(``) + reporter.info( + formatLogMessage( + `${chalk.bold(`deleted ${wpAction.referencedNodeSingularName}`)} ${ + wpAction.title + } (#${wpAction.referencedNodeID})` + ) + ) + + reporter.log(``) + } + + // Remove this from cached node id's so we don't try to touch it + const validNodeIds = cachedNodeIds.filter((cachedId) => cachedId !== nodeId) + + await setPersistentCache({ key: CREATED_NODE_IDS, value: validNodeIds }) + + // return validNodeIds + } catch (e) { + Object.entries(wpAction).forEach(([key, value]) => { + reporter.warn(`${key} ${JSON.stringify(value)}`) + }) + throw Error(e) + } +} + +module.exports = wpActionDELETE diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js new file mode 100644 index 0000000000000..6ec87edf357b7 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js @@ -0,0 +1,110 @@ +import { actionMonitorQuery } from "~/utils/graphql-queries" +import wpActionDELETE from "./delete" +import wpActionUPDATE from "./update" +import { LAST_COMPLETED_SOURCE_TIME } from "~/constants" +import { paginatedWpNodeFetch } from "~/steps/source-nodes/fetch-nodes/fetch-nodes-paginated" + +import fetchAndCreateNonNodeRootFields from "~/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields" +import { setHardCachedNodes } from "~/utils/cache" + +/** + * getWpActions + * + * pull the latest changes from WP and determine which of those changes + * require updates in Gatsby, then return valid changes + * An example of a non-valid change would be a post that was created + * and then immediately deleted. + */ +export const getWpActions = async ({ + variables, + helpers, + throwFetchErrors = false, + throwGqlErrors = false, +}) => { + const sourceTime = Date.now() + + // @todo add pagination in case there are more than 100 actions since the last build + const actionMonitorActions = await paginatedWpNodeFetch({ + contentTypePlural: `actionMonitorActions`, + query: actionMonitorQuery, + nodeTypeName: `ActionMonitor`, + helpers, + throwFetchErrors, + throwGqlErrors, + ...variables, + }) + + if (!actionMonitorActions || !actionMonitorActions.length) { + return [] + } + + await helpers.cache.set(LAST_COMPLETED_SOURCE_TIME, sourceTime) + + return actionMonitorActions +} + +/** + * Acts on changes in WordPress to call functions that sync Gatsby with + * the latest WP changes + */ +export const handleWpActions = async (api) => { + const { cachedNodeIds, helpers } = api + + switch (api.wpAction.actionType) { + case `DELETE`: + await wpActionDELETE(api) + break + case `UPDATE`: + case `CREATE`: + await wpActionUPDATE(api) + break + case `NON_NODE_ROOT_FIELDS`: + await fetchAndCreateNonNodeRootFields() + } + + await setHardCachedNodes({ helpers }) + + return cachedNodeIds +} + +/** + * fetchAndRunWpActions + * + * fetches a list of latest changes in WordPress + * and then acts on those changes + */ +export const fetchAndRunWpActions = async ({ + helpers, + pluginOptions, + since, + throwFetchErrors = false, + throwGqlErrors = false, +}) => { + // check for new, edited, or deleted posts in WP "Action Monitor" + const wpActions = await getWpActions({ + variables: { + since, + }, + helpers, + throwFetchErrors, + throwGqlErrors, + }) + + const didUpdate = !!wpActions.length + + if (didUpdate) { + for (const wpAction of wpActions) { + // Create, update, and delete nodes + await handleWpActions({ + helpers, + pluginOptions, + wpAction, + }) + } + } + + return { + wpActions, + didUpdate, + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js new file mode 100644 index 0000000000000..f923df2036596 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js @@ -0,0 +1,340 @@ +import fetchGraphql from "~/utils/fetch-graphql" +import store from "~/store" +import { formatLogMessage } from "~/utils/format-log-message" +import chalk from "chalk" +import { getQueryInfoBySingleFieldName } from "../../helpers" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { CREATED_NODE_IDS } from "~/constants" + +import { atob } from "atob" + +import { + buildTypeName, + getTypeSettingsByType, +} from "~/steps/create-schema-customization/helpers" +import { processNode } from "~/steps/source-nodes/create-nodes/process-node" +import { getPersistentCache, setPersistentCache } from "~/utils/cache" + +export const fetchAndCreateSingleNode = async ({ + singleName, + id, + actionType, + cachedNodeIds, + isDraft, + token = null, + isPreview = false, + userDatabaseId = null, +}) => { + function getNodeQuery() { + const { nodeQuery, previewQuery } = + getQueryInfoBySingleFieldName(singleName) || {} + + // if this is a preview use the preview query + // if it's a preview but it's the initial blank node + // then use the regular node query as the preview query wont + // return anything + const query = isPreview && !isDraft ? previewQuery : nodeQuery + + return query + } + + const query = getNodeQuery() + + const { + helpers: { reporter }, + pluginOptions, + } = getGatsbyApi() + + if (!query) { + reporter.info( + formatLogMessage( + `A ${singleName} was updated, but no query was found for this node type. This node type is either excluded in plugin options or this is a bug.` + ) + ) + return { node: null } + } + + const headers = + token && userDatabaseId + ? { + WPGatsbyPreview: token, + WPGatsbyPreviewUser: userDatabaseId, + } + : {} + + const { data } = await fetchGraphql({ + headers, + query, + variables: { + id, + }, + errorContext: `Error occurred while updating a single "${singleName}" node.`, + }) + + const remoteNode = data[singleName] + + if (!data || !remoteNode) { + reporter.warn( + formatLogMessage( + `${id} ${singleName} was updated, but no data was returned for this node.` + ) + ) + + return { node: null } + } + + remoteNode.uri = normalizeUri({ + uri: remoteNode.uri, + singleName, + id, + }) + + data[singleName] = remoteNode + + const { additionalNodeIds, node } = await createSingleNode({ + singleName, + id, + actionType, + data, + cachedNodeIds, + }) + + if (isPreview) { + reporter.info( + formatLogMessage(`Preview for ${singleName} ${node.id} was updated.`) + ) + + if (pluginOptions.debug.preview) { + reporter.info(formatLogMessage(`Raw remote node data:`)) + dump(data) + } + } + + return { node, additionalNodeIds } +} + +export const createSingleNode = async ({ + singleName, + id, + actionType, + data, + cachedNodeIds, +}) => { + const state = store.getState() + const { helpers, pluginOptions } = state.gatsbyApi + const { wpUrl } = state.remoteSchema + + const { typeInfo } = getQueryInfoBySingleFieldName(singleName) + + if (!cachedNodeIds) { + cachedNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + } + + const updatedNodeContent = { + ...data[singleName], + nodeType: typeInfo.nodesTypeName, + type: typeInfo.nodesTypeName, + } + + const processedNode = await processNode({ + node: updatedNodeContent, + pluginOptions, + wpUrl, + helpers, + }) + + const { actions } = helpers + + const { createContentDigest } = helpers + + let remoteNode = { + ...processedNode, + id: id, + parent: null, + internal: { + contentDigest: createContentDigest(updatedNodeContent), + type: buildTypeName(typeInfo.nodesTypeName), + }, + } + + const typeSettings = getTypeSettingsByType({ + name: typeInfo.nodesTypeName, + }) + + let additionalNodeIds + let cancelUpdate + + if ( + typeSettings.beforeChangeNode && + typeof typeSettings.beforeChangeNode === `function` + ) { + const { + additionalNodeIds: receivedAdditionalNodeIds, + remoteNode: receivedRemoteNode, + cancelUpdate: receivedCancelUpdate, + } = + (await typeSettings.beforeChangeNode({ + actionType: actionType, + remoteNode, + actions, + helpers, + fetchGraphql, + typeSettings, + buildTypeName, + type: typeInfo.nodesTypeName, + wpStore: store, + })) || {} + + additionalNodeIds = receivedAdditionalNodeIds + cancelUpdate = receivedCancelUpdate + + if (receivedRemoteNode) { + remoteNode = receivedRemoteNode + } + } + + if (cancelUpdate) { + return { + additionalNodeIds, + remoteNode: null, + } + } + + if (remoteNode) { + actions.createNode(remoteNode) + + cachedNodeIds.push(remoteNode.id) + + if (additionalNodeIds && additionalNodeIds.length) { + additionalNodeIds.forEach((id) => cachedNodeIds.push(id)) + } + + await setPersistentCache({ key: CREATED_NODE_IDS, value: cachedNodeIds }) + } + + return { additionalNodeIds, node: remoteNode } +} + +const wpActionUPDATE = async ({ helpers, wpAction }) => { + const reportUpdate = ({ setAction } = {}) => { + const actionType = setAction || wpAction.actionType + + reporter.log(``) + reporter.info( + formatLogMessage( + `${chalk.bold( + `${actionType.toLowerCase()} ${wpAction.referencedNodeSingularName}` + )} ${wpAction.title} (#${wpAction.referencedNodeID})` + ) + ) + reporter.log(``) + } + + const { reporter, actions } = helpers + + const cachedNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + + const state = store.getState() + const { + gatsbyApi: { + pluginOptions: { verbose }, + helpers: { getNode }, + }, + } = state + + const nodeId = wpAction.referencedNodeGlobalRelayID + + const existingNode = await getNode(nodeId) + + if (wpAction.referencedNodeStatus !== `publish`) { + // if the post status isn't publish anymore, we need to remove the node + // by removing it from cached nodes so it's garbage collected by Gatsby + const validNodeIds = cachedNodeIds.filter((cachedId) => cachedId !== nodeId) + + await setPersistentCache({ key: CREATED_NODE_IDS, value: validNodeIds }) + + if (existingNode) { + await actions.touchNode({ nodeId }) + await actions.deleteNode({ node: existingNode }) + reportUpdate({ setAction: `DELETE` }) + } + + return + } + + const { node } = await fetchAndCreateSingleNode({ + id: nodeId, + actionType: wpAction.actionType, + singleName: wpAction.referencedNodeSingularName, + cachedNodeIds, + }) + + if (node) { + reportUpdate() + + if (verbose) { + const nodeEntries = existingNode ? Object.entries(existingNode) : null + + if (nodeEntries?.length) { + nodeEntries + .filter(([key]) => !key.includes(`modifiedGmt`) && key !== `modified`) + ?.forEach(([key, value]) => { + if (!node || !node[key] || !value) { + return + } + + if ( + // if the value of this field changed, log it + typeof node[key] === `string` && + value !== node[key] + ) { + reporter.log(``) + reporter.info(chalk.bold(`${key} changed`)) + + if (value.length < 250 && node[key].length < 250) { + reporter.log(``) + reporter.log(`${chalk.italic.bold(` from`)}`) + reporter.log(` ${value}`) + reporter.log(chalk.italic.bold(` to`)) + reporter.log(` ${node[key]}`) + reporter.log(``) + } + } + }) + + reporter.log(``) + } + } + } + + // return cachedNodeIds +} + +const getDbIdFromRelayId = (relayId) => atob(relayId).split(`:`).reverse()[0] + +const normalizeUri = ({ uri, id, singleName }) => { + // remove the preview query params as they're not relevant in Gatsby + uri = uri?.replace(`preview=true`, ``) + + // if removing the preview string leaves us with either of these + // characters at the end, trim em off! + if (uri?.endsWith(`?`) || uri?.endsWith(`&`)) { + uri = uri.slice(0, -1) + } + + // if this is a draft url which could look like + // this /?p=543534 or /?page=4324 or /?something=yep&page=543543 or /?p=4534&what=yes + // we will create a proper path that Gatsby can handle + // /post_graphql_name/post_db_id/ + // this same logic is on the WP side in the preview template + // to account for this situation. + if (uri?.startsWith(`/?`)) { + const dbId = getDbIdFromRelayId(id) + + return `/generated-preview-path/${singleName}/${dbId}/` + } + + return uri +} + +export default wpActionUPDATE diff --git a/packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts b/packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts new file mode 100644 index 0000000000000..66b80359d6ce9 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts @@ -0,0 +1,29 @@ +import { Reporter } from "gatsby" +import { formatLogMessage } from "../utils/format-log-message" +let isWpSourcePluginInstalled = false + +/** + * Temporarily break the build when a user defines multiple source configs for the plugin + * See https://github.com/gatsbyjs/gatsby-source-wordpress/issues/251 + * @param {Reporter} reporter + */ + +export function tempPreventMultipleInstances({ + reporter, +}: { + reporter: Reporter +}): void { + if (isWpSourcePluginInstalled) { + reporter.panic( + formatLogMessage( + [ + `Multiple instances of this plugin aren't currently supported yet.`, + `Follow this issue for updates https://github.com/gatsbyjs/gatsby-source-wordpress/issues/58`, + ].join(`\n\n`), + { useVerboseStyle: true } + ) + ) + } else { + isWpSourcePluginInstalled = true + } +} diff --git a/packages/gatsby-source-wordpress/src/store.ts b/packages/gatsby-source-wordpress/src/store.ts new file mode 100644 index 0000000000000..ea8d3d4d46da3 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/store.ts @@ -0,0 +1,11 @@ +import type { RematchStore } from "@rematch/core" +import { init } from "@rematch/core" +import immerPlugin from "@rematch/immer" +import models from "./models" + +const store: RematchStore = init({ + models, + plugins: [immerPlugin()], +}) + +export default store diff --git a/packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts b/packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts new file mode 100644 index 0000000000000..a579c01d525d1 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts @@ -0,0 +1,16 @@ +// this doesn't indicate which versions actually work, +// it indicates which versions we will actually support AND which versions work. +const supportedWpPluginVersions = { + WPGraphQL: { + version: `>=1.1.2 <2.0.0`, + reason: null, + }, + WPGatsby: { + version: `>=0.9.0 <0.10.0`, + reason: null, + }, +} + +const genericDownloadMessage = `\n\n\tVisit https://github.com/wp-graphql/wp-graphql/releases and https://github.com/gatsbyjs/wp-gatsby/releases\n\tto download versions of WPGatsby and WPGraphL that satisfy these requirements.\n\n\tAlternatively you can find both of these plugins on the WordPress.org plugin repo.` + +export { supportedWpPluginVersions, genericDownloadMessage } diff --git a/packages/gatsby-source-wordpress/src/utils/cache.ts b/packages/gatsby-source-wordpress/src/utils/cache.ts new file mode 100644 index 0000000000000..597f7a0d5916a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/cache.ts @@ -0,0 +1,377 @@ +import { GatsbyHelpers } from "~/utils/gatsby-types" +import manager from "cache-manager" +import fs from "fs-extra" +import fsStore from "cache-manager-fs-hash" +import path from "path" +import rimraf from "rimraf" + +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" + +import fetchGraphql from "~/utils/fetch-graphql" + +import { + getTypeSettingsByType, + buildTypeName, +} from "~/steps/create-schema-customization/helpers" + +import { createMediaItemNode } from "~/steps/source-nodes/fetch-nodes/fetch-referenced-media-items" +import type { Node } from "gatsby" + +const MAX_CACHE_SIZE = 250 +const TTL = Number.MAX_SAFE_INTEGER +const cacheDir = `.wordpress-cache/caches` + +type Store = manager.StoreConfig["store"] + +interface CacheOptions { + name?: string + store?: Store +} +export default class Cache { + private store: Store + private name: string + private cacheDirectory: string + private cache: manager.MultiCache + constructor({ name = `db`, store = fsStore }: CacheOptions = {}) { + this.name = name + this.store = store + this.cacheDirectory = cacheDir + } + + get cacheBase(): string { + return path.join(process.cwd(), this.cacheDirectory) + } + + get directory(): string { + return `${this.cacheBase}/${this.name}` + } + + init(): Cache { + fs.ensureDirSync(this.directory) + + const configs: manager.StoreConfig[] = [ + { + store: `memory`, + max: MAX_CACHE_SIZE, + ttl: TTL, + }, + { + store: this.store, + ttl: TTL, + options: { + path: this.directory, + ttl: TTL, + }, + }, + ] + + const caches = configs.map((cache) => manager.caching(cache)) + + this.cache = manager.multiCaching(caches) + + return this + } + + get(key: string): Promise { + return new Promise((resolve) => { + if (!this.cache) { + throw new Error( + `Cache wasn't initialised yet, please run the init method first` + ) + } + this.cache.get(key, (err, res) => { + resolve(err ? undefined : res) + }) + }) + } + + set(key: string, value: unknown, args = { ttl: TTL }): Promise { + return new Promise((resolve) => { + if (!this.cache) { + throw new Error( + `Cache wasn't initialised yet, please run the init method first` + ) + } + this.cache.set(key, value, args, (err) => { + resolve(err ? undefined : value) + }) + }) + } +} + +const caches = new Map() + +export const getCacheInstance = (name: string): Cache => { + let cache = caches.get(name) + if (!cache) { + cache = new Cache({ name }).init() + caches.set(name, cache) + } + return cache +} + +export const shouldHardCacheData = (): boolean => { + const isDevelop = process.env.NODE_ENV === `development` + + if (!isDevelop) { + return false + } + + const { + pluginOptions: { + develop: { hardCacheData }, + }, + } = store.getState().gatsbyApi + + return hardCacheData +} + +export const setHardCachedData = async ({ + key, + value, +}: { + key: string + value: unknown +}): Promise => { + if (!shouldHardCacheData()) { + return + } + + const hardCache = getCacheInstance(`wordpress-data`) + + await hardCache.set(key, value) +} + +export const getHardCachedData = async ({ + key, +}: { + key: string +}): Promise => { + if (!shouldHardCacheData()) { + return null + } + + const hardCache = getCacheInstance(`wordpress-data`) + + const data = await hardCache.get(key) + + return data as T +} + +export const getHardCachedNodes = async (): Promise => { + const allWpNodes = await getHardCachedData({ key: `allWpNodes` }) + + const shouldUseHardDataCache = allWpNodes?.length + + if (shouldUseHardDataCache) { + return allWpNodes + } + + return null +} + +const staticFileCacheDirectory = `${process.cwd()}/.wordpress-cache/caches/public/static` +const staticFileDirectory = `${process.cwd()}/public/static` + +export const restoreStaticDirectory = async (): Promise => { + await fs.copy(staticFileCacheDirectory, staticFileDirectory) +} + +const copyStaticDirectory = async () => { + await fs.copy(staticFileDirectory, staticFileCacheDirectory) +} + +export const setHardCachedNodes = async ({ + helpers, +}: { + helpers: GatsbyHelpers +}): Promise => { + if (!shouldHardCacheData()) { + return + } + + const allNodes = await helpers.getNodes() + + const allWpNodes = allNodes.filter( + (node: Node) => node.internal.owner === `gatsby-source-wordpress` + ) + + await setHardCachedData({ + key: `allWpNodes`, + value: allWpNodes, + }) + + // if we're hard caching data, + // that means any inline html images paths will be baked into + // the processed hard cached nodes. + // so we need to copy the static directory + await copyStaticDirectory() +} + +export const clearHardCache = async (): Promise => { + await new Promise((resolve) => { + const directory = new Cache().cacheBase + + rimraf(directory, resolve) + }) +} + +export const clearHardCachedNodes = async (): Promise => { + const hardCachedNodes = !!(await getHardCachedNodes()) + + if (hardCachedNodes) { + await setHardCachedData({ + key: `allWpNodes`, + value: null, + }) + } +} + +// persistant cache +export const setPersistentCache = async ({ + key, + value, +}: { + key: string + value: unknown +}): Promise => { + const { helpers } = getGatsbyApi() + + await Promise.all([ + // set Gatsby cache + helpers.cache.set(key, value), + // and hard cache + setHardCachedData({ key, value }), + ]) +} + +export const getPersistentCache = async ({ + key, +}: { + key: string +}): Promise => { + const { helpers } = getGatsbyApi() + + const cachedData = await helpers.cache.get(key) + + if (cachedData) { + return cachedData + } + + const hardCachedData = await getHardCachedData({ key }) + + return hardCachedData +} + +export const restoreHardCachedNodes = async ({ + hardCachedNodes, +}: { + hardCachedNodes: Node[] +}): Promise => { + const loggerTypeCounts = {} + + const { helpers, pluginOptions } = getGatsbyApi() + const { reporter } = helpers + + // restore nodes + await Promise.all( + hardCachedNodes.map(async (node) => { + if (!loggerTypeCounts[node.internal.type]) { + loggerTypeCounts[node.internal.type] = 0 + } + + loggerTypeCounts[node.internal.type] += 1 + + // media items are created in a special way + if (node.internal.type.endsWith(`MediaItem`)) { + delete node.internal + + const { createContentDigest, actions } = helpers + + return createMediaItemNode({ + node, + helpers, + createContentDigest, + actions, + parentName: `Hard cache restoration`, + // referencedMediaItemNodeIds, + // allMediaItemNodes = [], + }) + } + + node.internal = { + contentDigest: node.internal.contentDigest, + type: node.internal.type, + } as Node["internal"] + + const typeSettingsCache = {} + + const typeSettings = + // TODO: extend node type for wordpress? + typeSettingsCache[node.type as string] ?? + getTypeSettingsByType({ + name: node.type, + }) + + let remoteNode = node + + if ( + typeSettings.beforeChangeNode && + typeof typeSettings.beforeChangeNode === `function` + ) { + const { + // additionalNodeIds: receivedAdditionalNodeIds, + remoteNode: receivedRemoteNode, + // cancelUpdate: receivedCancelUpdate, + } = + (await typeSettings.beforeChangeNode({ + actionType: `CREATE_ALL`, + remoteNode, + actions: helpers.actions, + helpers, + fetchGraphql, + typeSettings, + buildTypeName, + type: node.type, + wpStore: store, + })) || {} + + if (receivedRemoteNode) { + remoteNode = receivedRemoteNode + } + } + + // restore each node + // TODO: update gatsby types + await helpers.actions.createNode(remoteNode) + }) + ) + + Object.entries(loggerTypeCounts).forEach(([typeName, count]) => { + store.dispatch.logger.createActivityTimer({ + typeName, + pluginOptions, + reporter, + }) + + store.dispatch.logger.incrementActivityTimer({ + typeName, + by: count, + action: `restored`, + }) + + store.dispatch.logger.stopActivityTimer({ + typeName, + action: `restored`, + }) + }) + + // restore static directory + await restoreStaticDirectory() + + // build createdNodeIds id array to be cached 1 level above + const createdNodeIds = hardCachedNodes.map((node) => node.id) + + return createdNodeIds +} diff --git a/packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts b/packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts new file mode 100644 index 0000000000000..701532b3efd8c --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts @@ -0,0 +1,715 @@ +import { IPluginOptions } from "~/models/gatsby-api" +import { GatsbyReporter } from "./gatsby-types" +import prettier from "prettier" +import clipboardy from "clipboardy" +import axios, { AxiosRequestConfig, AxiosResponse } from "axios" +import rateLimit, { RateLimitedAxiosInstance } from "axios-rate-limit" +import { bold } from "chalk" +import { formatLogMessage } from "./format-log-message" +import store from "~/store" +import { getPluginOptions } from "./get-gatsby-api" +import urlUtil from "url" +import { CODES } from "./report" + +let http = null + +const getHttp = (limit = 50): RateLimitedAxiosInstance => { + if (!http) { + http = rateLimit(axios.create(), { + maxRPS: limit, + }) + } + return http +} + +interface IHandleErrorOptionsInput { + variables: JSON + query: string + pluginOptions: IPluginOptions + reporter: GatsbyReporter +} + +const handleErrorOptions = async ({ + variables, + query, + pluginOptions, + reporter, +}: IHandleErrorOptionsInput): Promise => { + if ( + variables && + Object.keys(variables).length && + pluginOptions.debug.graphql.showQueryVarsOnError + ) { + reporter.info( + formatLogMessage(`GraphQL vars: ${JSON.stringify(variables)}`) + ) + } + + try { + query = prettier.format(query, { parser: `graphql` }) + } catch (e) { + // do nothing + } + + if (pluginOptions.debug.graphql.showQueryOnError) { + reporter.error(formatLogMessage(`GraphQL query: ${query}`)) + } + + if (pluginOptions.debug.graphql.copyQueryOnError) { + try { + await clipboardy.write(query) + } catch (e) { + // do nothing + } + } +} + +interface IHandleErrors { + variables: JSON + query: string + pluginOptions: IPluginOptions + reporter: GatsbyReporter + responseJSON: JSON + panicOnError: boolean + errorContext: string +} + +const handleErrors = async ({ + variables, + query, + pluginOptions, + reporter, + responseJSON, + panicOnError, + errorContext, +}: IHandleErrors): Promise => { + await handleErrorOptions({ + variables, + query, + pluginOptions, + reporter, + }) + + if (!responseJSON) { + return + } + + if ( + !responseJSON.data || + panicOnError || + pluginOptions.debug.graphql.panicOnError + ) { + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage( + errorContext || `Encountered errors. See above for details.` + ), + }, + }) + } +} + +interface IHandleGraphQLErrorsInput { + query: string + variables: JSON + response: AxiosResponse + errorMap: IErrorMap + panicOnError: boolean + reporter: GatsbyReporter + errorContext: string + forceReportCriticalErrors: boolean +} + +const handleGraphQLErrors = async ({ + query, + variables, + response, + errorMap, + panicOnError, + reporter, + errorContext, + forceReportCriticalErrors = false, +}: IHandleGraphQLErrorsInput): Promise => { + const pluginOptions = getPluginOptions() + + const json = response.data + const { errors } = json + + if (!errors) { + return + } + + // if we have json data, the error wasn't critical. + if ( + json && + json.data && + pluginOptions.debug.graphql.onlyReportCriticalErrors && + // only return if we're not force disabling this. + // this is used when we make GraphQL requests intentionally rather than programmatically + // for ex during the Preview process + !forceReportCriticalErrors + ) { + return + } + + for (const error of errors) { + const errorWasMapped = + errorMap && + errorMap.from && + errorMap.to && + error.message === errorMap.from + + if (errorWasMapped && panicOnError) { + reporter.panic({ + id: CODES.RemoteGraphQLError, + context: { + sourceMessage: formatLogMessage(errorMap.to), + }, + }) + } else if (errorWasMapped) { + reporter.error({ + id: CODES.RemoteGraphQLError, + context: { + sourceMessage: formatLogMessage(errorMap.to), + }, + }) + } + + // convert the error path array into a string like "mediaItems.nodes[55].mediaDetails.meta.focalLength" + let errorPath = error?.path + ?.map((field, index) => { + // if this is a number it's the index of a node + if (typeof field === `number`) { + return `[${field}].` + } else if ( + // otherwise if the next field isn't a number + typeof error.path[index + 1] !== `number` + ) { + // add dot notation + return `${field}.` + } + + // or just return the field + return field + }) + ?.join(``) + + if (errorPath?.endsWith(`.`)) { + // trim "." off the end of the errorPath + errorPath = errorPath.slice(0, -1) + } + + if (error.debugMessage) { + reporter.error( + formatLogMessage( + `Error category: ${error.category} \n\nError: \n ${error.message} \n\n Debug message: \n ${error.debugMessage} \n\n Error path: ${errorPath}` + ) + ) + } else { + reporter.error( + formatLogMessage( + `(${error.category}) ${ + error?.locations?.length + ? error.locations + .map( + (location) => + `location: line ${location.line}, column: ${location.column}` + ) + ?.join(`. `) + : `` + } \n\t ${ + error.message + } \n\n Error path: ${errorPath} \n\n If you haven't already, try adding ${bold( + `define( 'GRAPHQL_DEBUG', true );` + )} to your wp-config.php for more detailed error messages.` + ) + ) + } + } + + await handleErrors({ + responseJSON: json, + variables, + pluginOptions, + reporter, + query, + panicOnError, + errorContext, + }) +} + +const ensureStatementsAreTrue = `${bold( + `Please ensure the following statements are true` +)} \n - your WordPress URL is correct in gatsby-config.js\n - your server is responding to requests \n - WPGraphQL and WPGatsby are installed in your WordPress backend` + +// @todo add a link to docs page for debugging +const genericError = ({ url }: { url: string }): string => + `GraphQL request to ${bold(url)} failed.\n\n${ensureStatementsAreTrue}` + +const slackChannelSupportMessage = `If you're still having issues, please visit https://www.wpgraphql.com/community-and-support/\nand follow the link to join the WPGraphQL Slack.\nThere are a lot of folks there in the #gatsby channel who are happy to help with debugging.` + +interface IHandleFetchErrors { + e: Error + reporter: GatsbyReporter + url: string + timeout: number + pluginOptions: IPluginOptions + query: string + response: AxiosResponse + errorContext: string + variables?: JSON + isFirstRequest?: boolean + headers?: IFetchGraphQLHeaders +} + +const handleFetchErrors = async ({ + e, + reporter, + url, + timeout, + variables, + pluginOptions, + query, + response, + errorContext, + isFirstRequest, + headers, +}: IHandleFetchErrors): Promise => { + await handleErrors({ + panicOnError: false, + reporter, + variables, + pluginOptions, + query, + errorContext, + responseJSON: null, + }) + + if (e.message.includes(`timeout of ${timeout}ms exceeded`)) { + reporter.error(e.message) + reporter.panic({ + id: CODES.Timeout, + context: { + sourceMessage: formatLogMessage( + `It took too long for ${url} to respond (longer than ${ + timeout / 1000 + } seconds).\n\nEither your URL is wrong, you need to increase server resources, or you need to decrease the amount of resources each request takes.\n\nYou can configure how much resources each request takes by lowering your \`options.schema.perPage\` value from the default of 100 nodes per request.\nAlternatively you can increase the request timeout by setting a value in milliseconds to \`options.schema.timeout\`, the current setting is ${timeout}.\n\n${genericError( + { url } + )}`, + { useVerboseStyle: true } + ), + }, + }) + } + if (e.message.includes(`Request failed with status code 50`)) { + const { + requestConcurrency, + previewRequestConcurrency, + } = store.getState().gatsbyApi.pluginOptions + console.error(e) + reporter.panic({ + id: CODES.WordPress500ishError, + context: { + sourceMessage: formatLogMessage( + [ + `Your wordpress server at ${bold(url)} appears to be overloaded.`, + `\nTry reducing the ${bold( + `requestConcurrency` + )} for content updates or the ${bold( + `previewRequestConcurrency` + )} for previews:`, + `\n{ + resolve: 'gatsby-source-wordpress', + options: { + schema: { + requestConcurrency: 5, // currently set to ${requestConcurrency} + previewRequestConcurrency: 2, // currently set to ${previewRequestConcurrency} + } + }, +}`, + `\nThe ${bold( + `GATSBY_CONCURRENT_REQUEST` + )} environment variable is no longer used to control concurrency.\nIf you were previously using that, you'll need to use the settings above instead.`, + ].join(`\n`), + { useVerboseStyle: true } + ), + }, + }) + } + + const unauthorized = e.message.includes(`Request failed with status code 401`) + + const htaccessCredentials = pluginOptions.auth.htaccess + + const missingCredentials = + !htaccessCredentials.password || !htaccessCredentials.username + + if (unauthorized && !missingCredentials) { + reporter.panic({ + id: CODES.Authentication, + context: { + sourceMessage: formatLogMessage( + `Request failed with status code 401.\n\nThe HTTP Basic Auth credentials you've provided in plugin options were rejected.\nDouble check that your credentials are correct. + \n${genericError({ url })}`, + { useVerboseStyle: true } + ), + }, + }) + } else if (unauthorized) { + reporter.panic({ + id: CODES.Authentication, + context: { + sourceMessage: formatLogMessage( + `Request failed with status code 401.\n\n Your WordPress instance may be protected with HTTP Basic authentication.\n If it is you will need to add the following to your plugin options: + + { + resolve: \`gatsby-source-wordpress\`, + options: { + auth: { + htaccess: { + username: process.env.HTTPBASICAUTH_USERNAME, + password: process.env.HTTPBASICAUTH_PASSWORD, + } + } + } + } + \n${genericError({ url })}`, + { useVerboseStyle: true } + ), + }, + }) + } + + const forbidden = e.message.includes(`Request failed with status code 403`) + + if (forbidden) { + reporter.panic({ + id: CODES.RequestDenied, + context: { + sourceMessage: formatLogMessage( + `${e.message}\n\nThe GraphQL request was forbidden.\nIf you are using a security plugin like WordFence or a server firewall you may need to whitelist your IP address or adjust your firewall settings for your GraphQL endpoint.\n\n${errorContext}` + ), + }, + }) + } + + const redirected = e.message.includes(`GraphQL request was redirected`) + + if (redirected) { + await handleErrorOptions({ variables, query, pluginOptions, reporter }) + reporter.panic({ + id: CODES.WordPressFilters, + context: { + sourceMessage: formatLogMessage( + `${e.message}\n\n${errorContext}\n\nThis can happen due to custom code or redirection plugins which redirect the request when a post is accessed.\nThis redirection code will need to be patched to not run during GraphQL requests.\n\nThat can be achieved by adding something like the following to your WP PHP code:\n +if ( defined( 'GRAPHQL_REQUEST' ) && true === GRAPHQL_REQUEST ) { + return examplePreventRedirect(); +} + +${slackChannelSupportMessage}` + ), + }, + }) + } + + const responseReturnedHtml = !!response?.headers[`content-type`].includes( + `text/html;` + ) + const limit = pluginOptions?.schema?.requestConcurrency + + if (responseReturnedHtml && isFirstRequest) { + const requestOptions: AxiosRequestConfig = { + timeout, + headers, + } + + if (!missingCredentials) { + requestOptions.auth = htaccessCredentials + } + try { + const urlWithoutTrailingSlash = url.replace(/\/$/, ``) + + const response: AxiosResponse = await getHttp(limit).post( + [urlWithoutTrailingSlash, `/graphql`].join(``), + { query, variables }, + requestOptions + ) + + const contentType = response?.headers[`content-type`] + + if (contentType?.includes(`application/json;`)) { + const docsLink = `https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md#url-string` + + // if adding `/graphql` works, panic with a useful message + reporter.panic({ + id: CODES.MissingAppendedPath, + context: { + sourceMessage: formatLogMessage( + `${ + errorContext ? `${errorContext}` : `` + }\n\nThe supplied url ${bold( + urlWithoutTrailingSlash + )} is invalid,\nhowever ${bold( + urlWithoutTrailingSlash + `/graphql` + )} works!\n\nFor this plugin to consume the wp-graphql schema, you'll need to specify the full URL\n(${bold( + urlWithoutTrailingSlash + `/graphql` + )}) in your gatsby-config.\n\nYou can learn more about configuring the source plugin URL here:\n${docsLink}\n\n` + ), + }, + }) + } + } catch (err) { + // elsewise, continue to handle HTML response as normal + } + + const copyHtmlResponseOnError = + pluginOptions?.debug?.graphql?.copyHtmlResponseOnError + + if (copyHtmlResponseOnError) { + try { + clipboardy?.writeSync(response.data) + } catch (e) { + reporter.error( + formatLogMessage( + `Unable to copy html response on error.\n\n${e.message ?? ``}` + ) + ) + } + } + + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage( + `${errorContext || ``}\n\n${ + e.message + } \n\nReceived HTML as a response. Are you sure ${url} is the correct URL?\n\nIf that URL redirects to the correct URL via WordPress in the browser,\nor you've entered the wrong URL in settings,\nyou might receive this error.\nVisit that URL in your browser, and if it looks good, copy/paste it from your URL bar to your config.\n\n${ensureStatementsAreTrue}${ + copyHtmlResponseOnError + ? `\n\nCopied HTML response to your clipboard.` + : `\n\n${bold( + `Further debugging` + )}\nIf you still receive this error after following the steps above, this may be a problem with your WordPress instance.\nA plugin or theme may be adding additional output for some posts or pages.\nAdd the following plugin option to copy the html response to your clipboard for debugging.\nYou can paste the response into an html file to see what's being returned.\n +{ + resolve: "gatsby-source-wordpress", + options: { + debug: { + graphql: { + copyHtmlResponseOnError: true + } + } + } +}` + } + `, + { + useVerboseStyle: true, + } + ), + }, + }) + } else if (responseReturnedHtml && !isFirstRequest) { + reporter.panic({ + id: CODES.WordPressFilters, + context: { + sourceMessage: formatLogMessage( + `${errorContext}\n\n${e.message}\n\nThere are some WordPress PHP filters in your site which are adding additional output to the GraphQL response.\nThese may have been added via custom code or via a plugin.\n\nYou will need to debug this and remove these filters during GraphQL requests using something like the following: + +if ( defined( 'GRAPHQL_REQUEST' ) && true === GRAPHQL_REQUEST ) { + return exampleReturnEarlyInFilter( $data ); +}\n\nYou can use the gatsby-source-wordpress debug options to determine which GraphQL request is causing this error.\nhttps://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md#debuggraphql-object\n\n${slackChannelSupportMessage}` + ), + }, + }) + } + + const sharedEmptyStringReponseError = `\n\nAn empty string was returned instead of a response when making a GraphQL request.\nThis may indicate that you have a WordPress filter running which is causing WPGraphQL\nto return an empty string instead of a response.\nPlease open an issue with a reproduction at\nhttps://github.com/gatsbyjs/gatsby-source-wordpress/issues/new\nfor more help\n\n${errorContext}\n` + + const emptyStringResponse = + e.message === `GraphQL request returned an empty string.` + + if (emptyStringResponse) { + reporter.log(``) + if (process.env.NODE_ENV === `development`) { + reporter.warn(formatLogMessage(sharedEmptyStringReponseError)) + } else { + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage(sharedEmptyStringReponseError), + }, + }) + } + + return + } + + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage( + `${e.message} ${ + errorContext ? `\n\n` + errorContext : `` + }\n\n${genericError({ url })}`, + { + useVerboseStyle: true, + } + ), + }, + }) +} + +export interface JSON { + // these will always be different depending on where this is used + // we need this for GraphQL results and the node filter api + // which can be used in any way by users + // eslint-disable-next-line @typescript-eslint/no-explicit-any + [key: string]: any +} + +interface IFetchGraphQLHeaders { + WPGatsbyPreview?: string + Authorization?: string +} + +interface IErrorMap { + from: string + to: string +} + +interface IFetchGraphQLInput { + url?: string + query: string + errorContext?: string + ignoreGraphQLErrors?: boolean + panicOnError?: boolean + throwGqlErrors?: boolean + throwFetchErrors?: boolean + isFirstRequest?: boolean + forceReportCriticalErrors?: boolean + errorMap?: IErrorMap + variables?: JSON + headers?: IFetchGraphQLHeaders +} + +type IGraphQLDataResponse = JSON + +const fetchGraphql = async ({ + query, + errorMap, + ignoreGraphQLErrors = false, + panicOnError = false, + throwGqlErrors = false, + throwFetchErrors = false, + url = false, + variables = {}, + headers = {}, + errorContext = null, + isFirstRequest = false, + forceReportCriticalErrors = false, +}: IFetchGraphQLInput): Promise => { + const { helpers, pluginOptions } = store.getState().gatsbyApi + const limit = pluginOptions?.schema?.requestConcurrency + + const { url: pluginOptionsUrl } = pluginOptions + let { reporter } = helpers + + if (!reporter || typeof reporter === `undefined`) { + reporter = { + panic: (message: { id: string; context: { sourceMessage: string } }) => { + throw new Error(message?.context?.sourceMessage) + }, + error: console.error as GatsbyReporter["error"], + } as GatsbyReporter + } + + if (!url) { + url = pluginOptionsUrl + } + + const timeout = pluginOptions.schema.timeout + + const htaccessCredentials = pluginOptions.auth.htaccess + + const missingCredentials = + !htaccessCredentials.password || !htaccessCredentials.username + + let response: AxiosResponse + + try { + const requestOptions: AxiosRequestConfig = { + timeout, + headers, + } + + if (!missingCredentials) { + requestOptions.auth = htaccessCredentials + } + + response = await getHttp(limit).post( + url, + { query, variables }, + requestOptions + ) + + if (response.data === ``) { + throw new Error(`GraphQL request returned an empty string.`) + } + + const { path }: { path: string } = urlUtil.parse(url) + + const responsePath = response.request.path + + if (path !== responsePath && responsePath !== undefined) { + throw new Error(`GraphQL request was redirected to ${responsePath}`) + } + + const contentType: string = response.headers[`content-type`] + + if (!contentType.includes(`application/json;`)) { + throw new Error(`Unable to connect to WPGraphQL.`) + } + } catch (e) { + if (throwFetchErrors) { + throw e + } + + await handleFetchErrors({ + e, + reporter, + url, + timeout, + variables, + pluginOptions, + query, + response, + errorContext, + isFirstRequest, + }) + } + + if (throwGqlErrors && response.data.errors) { + const stringifiedErrors: string = response.data.errors + .map((error: { message: string }) => error.message) + .join(`\n\n`) + + throw new Error(stringifiedErrors) + } + + if (!ignoreGraphQLErrors) { + await handleGraphQLErrors({ + query, + variables, + response, + errorMap, + panicOnError, + reporter, + errorContext, + forceReportCriticalErrors, + }) + } + + return response.data +} + +export default fetchGraphql diff --git a/packages/gatsby-source-wordpress/src/utils/format-log-message.ts b/packages/gatsby-source-wordpress/src/utils/format-log-message.ts new file mode 100644 index 0000000000000..1f0221ac52dea --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/format-log-message.ts @@ -0,0 +1,26 @@ +import chalk from "chalk" +import store from "~/store" + +const formatLogMessage = ( + input: string | string[], + { useVerboseStyle }: { useVerboseStyle?: boolean } = {} +): string => { + let verbose = false + + if (typeof useVerboseStyle === `undefined`) { + verbose = store.getState().gatsbyApi.pluginOptions.verbose + } + + let message + if (typeof input === `string`) { + message = input + } else { + message = input[0] + } + + return verbose || useVerboseStyle + ? `${chalk.blue(` gatsby-source-wordpress `)} ${message}` + : `[gatsby-source-wordpress] ${message}` +} + +export { formatLogMessage } diff --git a/packages/gatsby-source-wordpress/src/utils/gatsby-types.ts b/packages/gatsby-source-wordpress/src/utils/gatsby-types.ts new file mode 100644 index 0000000000000..dc1811a866c0c --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/gatsby-types.ts @@ -0,0 +1,4 @@ +import type { NodePluginArgs, Reporter } from "gatsby" +export type GatsbyNodeApiHelpers = NodePluginArgs +export type GatsbyHelpers = GatsbyNodeApiHelpers +export type GatsbyReporter = Reporter diff --git a/packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts b/packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts new file mode 100644 index 0000000000000..310d8010939df --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts @@ -0,0 +1,9 @@ +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +import { IPluginOptions, IGatsbyApiState } from "./../models/gatsby-api" +import store from "~/store" + +export const getPluginOptions = (): IPluginOptions => + store.getState().gatsbyApi.pluginOptions +export const getHelpers = (): GatsbyNodeApiHelpers => + store.getState().gatsbyApi.helpers +export const getGatsbyApi = (): IGatsbyApiState => store.getState().gatsbyApi diff --git a/packages/gatsby-source-wordpress/src/utils/graphql-queries.ts b/packages/gatsby-source-wordpress/src/utils/graphql-queries.ts new file mode 100644 index 0000000000000..b466283c209de --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/graphql-queries.ts @@ -0,0 +1,118 @@ +/** + * Used to check if there have been any updates at all. A single action is enough to trigger refreshing in gatsby develop + */ +export const contentPollingQuery = /* GraphQL */ ` + query GET_SINGLE_ACTION_MONITOR_ACTION($since: Float!) { + actionMonitorActions(where: { sinceTimestamp: $since }, first: 1) { + nodes { + id + } + } + } +` + +/** + * Used to fetch WP changes since a unix timestamp + * so we can do incremental data fetches + */ +export const actionMonitorQuery = /* GraphQL */ ` + query GET_ACTION_MONITOR_ACTIONS($since: Float!, $after: String) { + actionMonitorActions( + where: { + sinceTimestamp: $since + orderby: { field: MODIFIED, order: DESC } + } + first: 100 + after: $after + ) { + nodes { + id + title + actionType + referencedNodeID + referencedNodeStatus + referencedNodeGlobalRelayID + referencedNodeSingularName + referencedNodePluralName + } + pageInfo { + hasNextPage + endCursor + } + } + } +` + +export const introspectionQuery = /* GraphQL */ ` + { + __schema { + types { + kind + name + description + + possibleTypes { + kind + name + } + interfaces { + kind + name + } + enumValues { + name + } + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + fields { + name + description + args { + name + type { + kind + name + inputFields { + name + } + } + } + type { + name + kind + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + } + } + } + + mutationType { + fields { + type { + name + } + } + } + } + } +` diff --git a/packages/gatsby-source-wordpress/src/utils/report.ts b/packages/gatsby-source-wordpress/src/utils/report.ts new file mode 100644 index 0000000000000..41c0b70bf2023 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/report.ts @@ -0,0 +1,75 @@ +import { IErrorMapEntry } from "gatsby-cli/lib/structured-errors/error-map" + +export const CODES = { + /* Fetch errors */ + WordPressFilters: `111001`, + BadResponse: `111002`, + RequestDenied: `111004`, + Authentication: `111005`, + Timeout: `111006`, + WordPress500ishError: `111007`, + + /* GraphQL Errors */ + RemoteGraphQLError: `112001`, + MissingAppendedPath: `112002`, + + /* CodeErrors */ + SourcePluginCodeError: `112003`, +} + +interface IErrorContext { + sourceMessage: string +} +interface IErrorMap { + [code: string]: IErrorMapEntry +} + +const getErrorText = (context: IErrorContext): string => context.sourceMessage + +export const ERROR_MAP: IErrorMap = { + [CODES.WordPressFilters]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.BadResponse]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.RequestDenied]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.Authentication]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.Timeout]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.RemoteGraphQLError]: { + text: getErrorText, + level: `ERROR`, + category: `THIRD_PARTY`, + }, + [CODES.MissingAppendedPath]: { + text: getErrorText, + level: `ERROR`, + category: `THIRD_PARTY`, + }, + [CODES.SourcePluginCodeError]: { + text: getErrorText, + level: `ERROR`, + category: `SYSTEM`, + }, + [CODES.WordPress500ishError]: { + text: getErrorText, + level: `ERROR`, + category: `THIRD_PARTY`, + }, +} diff --git a/packages/gatsby-source-wordpress/src/utils/run-steps.ts b/packages/gatsby-source-wordpress/src/utils/run-steps.ts new file mode 100644 index 0000000000000..f5d6ba88a581f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/run-steps.ts @@ -0,0 +1,96 @@ +import { GatsbyNodeApiHelpers, GatsbyReporter } from "./gatsby-types" +import { IPluginOptions } from "~/models/gatsby-api" +import { formatLogMessage } from "~/utils/format-log-message" +import { invokeAndCleanupLeftoverPreviewCallbacks } from "../steps/preview/cleanup" +import { CODES } from "./report" + +export type Step = ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions +) => Promise + +export type ActivityTimer = ReturnType + +const runSteps = async ( + steps: Step[], + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions, + apiName: string +): Promise => { + for (const step of steps) { + try { + const { timeBuildSteps } = pluginOptions?.debug ?? {} + const timeStep = + typeof timeBuildSteps === `boolean` + ? timeBuildSteps + : timeBuildSteps?.includes(step.name) || + timeBuildSteps?.includes(apiName) + + let activity: ActivityTimer + + if (timeStep) { + activity = helpers.reporter.activityTimer( + formatLogMessage(`step -${!apiName ? `-` : ``}> ${step.name}`, { + useVerboseStyle: true, + }) + ) + activity.start() + } + + if (typeof step === `function`) { + await step(helpers, pluginOptions) + } else if (Array.isArray(step)) { + await runSteps(step, helpers, pluginOptions, apiName) + } + + if (activity) { + activity.end() + } + } catch (e) { + const sharedError = `Encountered a critical error when running the ${ + apiName ? `${apiName}.` : `` + }${step.name} build step.` + + // on errors, invoke any preview callbacks to send news of this error back to the WP Preview window. + await invokeAndCleanupLeftoverPreviewCallbacks({ + status: `GATSBY_PREVIEW_PROCESS_ERROR`, + context: sharedError, + error: e, + }) + + console.error(e) + helpers.reporter.panic({ + id: CODES.SourcePluginCodeError, + context: { + sourceMessage: formatLogMessage( + `\n\n\t${sharedError}\n\tSee above for more information.`, + { useVerboseStyle: true } + ), + }, + }) + } + } +} + +const runApiSteps = (steps: Step[], apiName: string) => async ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions +): Promise => runSteps(steps, helpers, pluginOptions, apiName) + +const runApisInSteps = (nodeApis: { + [apiName: string]: Step | Step[] +}): { [apiName: string]: Promise } => + Object.entries(nodeApis).reduce( + (gatsbyNodeExportObject, [apiName, apiSteps]) => { + return { + ...gatsbyNodeExportObject, + [apiName]: + typeof apiSteps === `function` + ? apiSteps + : runApiSteps(apiSteps, apiName), + } + }, + {} + ) + +export { runSteps, runApisInSteps } diff --git a/packages/gatsby-source-wordpress/src/utils/url-to-path.ts b/packages/gatsby-source-wordpress/src/utils/url-to-path.ts new file mode 100644 index 0000000000000..70ec268e93114 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/url-to-path.ts @@ -0,0 +1,3 @@ +import { parse } from "url" + +export default (link: string): string => parse(link).pathname diff --git a/packages/gatsby-source-wordpress/style.css b/packages/gatsby-source-wordpress/style.css new file mode 100644 index 0000000000000..c96b2b814dae0 --- /dev/null +++ b/packages/gatsby-source-wordpress/style.css @@ -0,0 +1,4 @@ +.inline-gatsby-image-wrapper, +.inline-gatsby-image-wrapper span { + display: inline-block; +} diff --git a/packages/gatsby-source-wordpress/test-site/.env.plugins b/packages/gatsby-source-wordpress/test-site/.env.plugins new file mode 100644 index 0000000000000..903653591dd4c --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/.env.plugins @@ -0,0 +1,6 @@ +WORDPRESS_BASIC_AUTH=YWRtaW46c2VjcmV0 +WPGRAPHQL_VERSION=v1.1.2 +WPGATSBY_VERSION=v0.9.1 +WPGRAPHQL_ACF_VERSION=v0.3.1 +WPGRAPHQL_CPT_UI_VERSION=v1.1 +ACF_VERSION=5.8.7 diff --git a/packages/gatsby-source-wordpress/test-site/.env.test b/packages/gatsby-source-wordpress/test-site/.env.test new file mode 100644 index 0000000000000..3b220b9f56d11 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/.env.test @@ -0,0 +1,4 @@ +WPGRAPHQL_URL="http://localhost:8001/graphql" +HTACCESS_USERNAME="admin" +HTACCESS_PASSWORD="secret" +WORDPRESS_BASIC_AUTH=YWRtaW46c2VjcmV0 diff --git a/packages/gatsby-source-wordpress/test-site/.gitignore b/packages/gatsby-source-wordpress/test-site/.gitignore new file mode 100644 index 0000000000000..42a9d95990c01 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/.gitignore @@ -0,0 +1,6 @@ +.env.WORDPRESS_BASIC_AUTH +WordPress +.cache +Public +node_modules +.wordpress-cache \ No newline at end of file diff --git a/packages/gatsby-source-wordpress/test-site/README.md b/packages/gatsby-source-wordpress/test-site/README.md new file mode 100644 index 0000000000000..e3cdda95df41e --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/README.md @@ -0,0 +1,78 @@ +# gatsby-source-wordpress V4 (alpha) starter + +**WARNING:** this is a work in progress. There will be bugs. Features and api's may dramatically change in this starter and the new source plugin it's using. Don't use this in production. Do try this if you know what you're doing and are experienced with Gatsby and WPGraphQL. This starter is also not thoroughly considered and was written quickly to show how to set-up the new plugin. + +## Intro + +This starter uses an early alpha version of the upcoming `gatsby-source-wordpress@v4`. For now, the only documentation that exists is here in this starter. That will soon change - better docs will be written and moved to the Gatsby repo as features solidify and things become more stable. + +## Installation + +- Install Gatsby and gatsby-cli +- Set up this starter locally `gatsby new wordpress-v4 https://github.com/TylerBarnes/using-gatsby-source-wordpress` +- In the `WordPress/plugins/` directory of this starter there are two plugins which both need to be installed into a live WordPress installation + - WPGraphQL v0.6.1 - this adds GraphQL to our WordPress server + - WPGatsby v0.0.1 - this modifies the WPGQL schema and records when user actions have happened to allow us to do selective cache invalidation in Gatsby (to speed up builds). + - For now, ignore the update notification for WPGatsby on the plugins page in wp-admin https://github.com/TylerBarnes/using-gatsby-source-wordpress/issues/1. + +## Getting started + +- In `gatsby-config.js`, update the plugin options for `gatsby-source-wordpress` + - Change `url` to point to your WordPress install. This should be the full url of your graphql endpoint. Eg `https://yoursite.com/graphql` + - The `nodeUpdateInterval` option specifies in milliseconds how often Gatsby will ask WP what data has changed during development. If you want to see data update in near-realtime while you're developing, set this low. Your server may have trouble responding to too many requests over a long period of time and in that case, set this high. Setting it higher saves electricity too ⚡️🌲 +- in .env.GATSBY_CONCURRENT_DOWNLOAD, set how many concurrent connections your server can handle. If this plugin knocks your server over and it stops responding, lower the concurrent connections. + +## Cool features + +- Automatically pulls as much of the remote WPGQL schema as possible and creates Gatsby nodes from that data. Data is never fetched twice. If we will already have data, for example on a connection field between an Author and a Post, we only pull the id of the Post and link the field to the Post node in Gatsby. +- After the first build or run of develop only changed data is pulled. +- Only referenced media items and files are downloaded. If you have a site where an admin has uploaded 10k images but there are only 1k pages, we don't want to have to pull all those images, just the ones that are used. That's the default behaviour of the source plugin. There is also an option to lazily download files as they're queried for, but it's currently problematic for some CI providers, it messes up cli output, and Gatsby currently only runs 4 gql queries concurrently which slows down file fetching. This will work in the future though! +- Potentially works with all (or most) WPGQL plugins. So ACF, polylang, etc will work. See "known issues" below if a plugin doesn't work. +- Do you have a site with 50k posts and you want to do some quick development on it? You can limit the amount of nodes that will be pulled by setting an option to limit the amount of posts that will be pulled (by typename) in the plugin options. For example, you can get working quickly by setting the plugin to only pull 10 posts. +- If the remote schema changes between builds, the entire cache will be invalidated and the plugin will start a fresh pull/build. +- Lot's of other things :p will write more/actual documentation as features solidify + +## Recommendations + +- For now I recommend hosting on pantheon (or another high-performance WP host) for your remote WP server, and using Local by Flywheel (upgrade to the latest version for ultra-speed) to do local development. You can use this with other setups, but it may be less enjoyable if your server is slower than the recommended setup. More work will be done in the future to ensure this works well on all types of hosts. +- Stick to WPGraphQL v0.6.x for now, as previous or future versions may not yet work with the new source plugin (untested) + +## Debugging + +If you're getting errors while the nodes are being sourced, you can see which query had the error with the following options: + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + showQueryOnError: true, + showQueryVarsOnError: true, + copyQueryOnError: true, + panicOnError: true, + }, + }, + } +} +``` + +## Super rough and unscientific benchmarks using pantheon as a host + +- With a 6k page site that has 5k images and 12k image transforms - Gatsby cloud built this in 20 minutes. A second rebuild with some changed content took 2 minutes. +- With a 500 page site with 500 images - Gatsby cloud built this in 3:30 and a second rebuild with changed content took 1 minute. +- locally these both build in 20 seconds on a second run. re-starting your development server always takes around 12 seconds regardless of the size of your site. + +## Known issues + +- This starter doesn't build it's Styled components properly +- WPGatsby doesn't use the build webhook in settings +- The cache isn't selectively invalidated for every possible user interaction. For now this only works for creating/updating/deleting/reattributing users and adding or removing them based on if their profile is public or not, creating/deleting/drafting/updating posts/pages/CPT's, editing/creating/deleting media items, and adding/editing/deleting categories/terms/tags. +- Changing the homepage doesn't invalidate the cache +- If you use any additional plugins that modify the WPGQL schema, and those plugins API's haven't been designed to have all their fields fetched at once, you may get errors. The reason this happens is that `gatsby-source-wordpress` looks at the remote schema, constructs a GraphQL query for every possible field we could fetch, and then attempts to fetch that data. This only happens on the first build or first run of develop, and then on subsequent builds/develops it only pulls changed data since the last time. This has the effect of validating the remote schema in ways that are normally tedious or difficult to do for plugin authors, so you may see errors related to this. If you do, you can get around it by omitting certain fields from the remote schema in plugin options. For example, to support wp-graphql-gutenberg, I've excluded the `attributes` field here, as it's problematic to fetch all attributes at once. The api for working around this will be changed and future work to prevent these kinds of errors will be done to `gatsby-source-wordpress` to mitigate this. +- Probably other things :p + +## gatsby-source-wordpress + +Currently the source plugin code lives here -> https://github.com/TylerBarnes/gatsby/tree/feat/source-wordpress-v4/packages/gatsby-source-wordpress +And the WPGatsby code lives here -> https://github.com/TylerBarnes/gatsby/tree/feat/source-wordpress-v4/packages/wp-gatsby diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/preview-stresstest.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/preview-stresstest.test.js new file mode 100644 index 0000000000000..e4c6701d1be4b --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/preview-stresstest.test.js @@ -0,0 +1,31 @@ +// @todo revisit this and make it work in CI. It works locally but has networking issues in CI + +// import { runPreviewSwarm } from "../../../../cli/build/utils/wordpress-puppeteer/run-preview-swarm" +// import users from "./users" + +// jest.setTimeout(200000) + +// test(`A Preview swarm returns 0 failures when testing with 1 user making 1 preview`, async () => { +// const config = { +// headless: true, +// cliOutput: false, +// maxPreviewsEach: 1, +// users, +// previewTimeout: 300000, +// wpUrl: `http://localhost:8001`, +// gatsbyPreviewFrontendUrl: `http://docker-host:8000,http://localhost:8000`, +// gatsbyPreviewRefreshEndpoint: `http://docker-host:8000/__refresh`, +// debugMode: true, +// logInputs: true, +// } + +// const result = await runPreviewSwarm(config) + +// expect(result).toBeTruthy() +// expect(result.failures).toBe(0) +// expect(result.successes).toBe(1) +// expect(result.userCount).toBe(config.users.length) +// expect(result.totalPreviews).toBe( +// config.users.length * config.maxPreviewsEach +// ) +// }) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/users.json b/packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/users.json new file mode 100644 index 0000000000000..c97c92b38912f --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/e2e/preview/users.json @@ -0,0 +1,6 @@ +[ + { + "username": "admin", + "password": "secret" + } +] diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/build/build.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/build/build.test.js new file mode 100644 index 0000000000000..146b5998d5235 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/build/build.test.js @@ -0,0 +1,49 @@ +import execa from "execa" +import on from "wait-on" +import kill from "tree-kill" + +import { incrementalIt } from "../../../test-utils/incremental-it" + +jest.setTimeout(150000) + +require(`dotenv`).config({ + path: `./test-runtime/.env.production`, +}) + +require(`dotenv`).config({ + path: `./test-runtime/credentials.env`, +}) + +describe(`[gatsby-source-wordpress] build`, () => { + incrementalIt(`builds successfully`, async (done) => { + const gatsbyProcess = execa(`yarn`, [`build-test-runtime`]) + + gatsbyProcess.stdout.pipe(process.stdout) + + await gatsbyProcess + + const gatsbyServeProcess = execa(`yarn`, [`serve-test-runtime`]) + + if (process.env.SHOW_GATSBY_PROCESS_STDOUT) { + gatsbyServeProcess.stdout.pipe(process.stdout) + } else { + console.log(`running \`gatsby serve\` via \`yarn serve-test-runtime\`...`) + } + + const couldntStart = setTimeout(() => { + done.fail(`couldn't start gatsby serve`) + }, 5000) + + await on({ resources: [`http://localhost:9000`] }) + + // @todo use cypress to verify that the site is served + // on incremented build check that the changed data shows up + + clearTimeout(couldntStart) + + kill(gatsbyProcess.pid) + kill(gatsbyServeProcess.pid) + + done() + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/build/plugin-options-schema.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/build/plugin-options-schema.test.js new file mode 100644 index 0000000000000..12abd1496447e --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/build/plugin-options-schema.test.js @@ -0,0 +1,112 @@ +import { testPluginOptionsSchema } from "gatsby-plugin-utils" +import { pluginOptionsSchema } from "../../../../plugin/src/steps/declare-plugin-options-schema" + +describe(`pluginOptionsSchema`, () => { + it(`should validate a minimal, valid config`, async () => { + const { isValid } = await testPluginOptionsSchema(pluginOptionsSchema, { + url: `http://localhost:8000/graphql`, + }) + + expect(isValid).toEqual(true) + }) + + it(`should invalidate a config missing required vars`, async () => { + const { isValid, errors } = await testPluginOptionsSchema( + pluginOptionsSchema, + {} + ) + + expect(isValid).toEqual(false) + expect(errors).toMatchInlineSnapshot(` + Array [ + "\\"url\\" is required", + ] + `) + }) + + it(`should validate a fully custom config`, async () => { + const { isValid, errors } = await testPluginOptionsSchema( + pluginOptionsSchema, + { + url: `https://fakeurl.com/graphql`, + verbose: false, + debug: { + throwRefetchErrors: true, + graphql: { + showQueryOnError: false, + showQueryVarsOnError: false, + copyQueryOnError: false, + panicOnError: false, + onlyReportCriticalErrors: true, + copyNodeSourcingQueryAndExit: false, + writeQueriesToDisk: false, + }, + timeBuildSteps: false, + disableCompatibilityCheck: false, + }, + develop: { + nodeUpdateInterval: 300, + hardCacheMediaFiles: false, + hardCacheData: false, + }, + production: { + hardCacheMediaFiles: false, + }, + auth: { + htaccess: { + username: `test`, + password: `test`, + }, + }, + schema: { + queryDepth: 15, + circularQueryLimit: 5, + typePrefix: `Wp`, + timeout: 30 * 1000, // 30 seconds + perPage: 100, + }, + excludeFieldNames: [], + html: { + useGatsbyImage: true, + imageMaxWidth: null, + fallbackImageMaxWidth: 100, + imageQuality: 90, + createStaticFiles: true, + }, + type: { + __all: { + excludeFieldNames: [`viewer`], + }, + RootQuery: { + excludeFieldNames: [`schemaMd5`], + }, + MediaItem: { + lazyNodes: true, + localFile: { + excludeByMimeTypes: [`video/mp4`], + maxFileSizeBytes: 1400000, + }, + }, + ContentNode: { + nodeInterface: true, + }, + Menu: { + beforeChangeNode: () => {}, + }, + MenuItem: { + beforeChangeNode: null, + }, + EnqueuedScript: { + exclude: true, + }, + EnqueuedThing: { + exclude: null, + }, + }, + } + ) + + expect(errors).toEqual([]) + expect(isValid).toEqual(true) + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/data-resolution.test.js.snap b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/data-resolution.test.js.snap new file mode 100644 index 0000000000000..decde585303a1 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/data-resolution.test.js.snap @@ -0,0 +1,1732 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`[gatsby-source-wordpress] data resolution resolves correct number of nodes 1`] = ` +Array [ + Object { + "id": "cG9zdDo3NzQ0", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/08/101-2621x1747-1-scaled.jpg", + }, + Object { + "id": "cG9zdDo3NzQ4", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/08/1002-4312x2868-1-scaled.jpg", + }, + Object { + "id": "cG9zdDo3NzQw", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/08/file-sample_1MB.doc", + }, + Object { + "id": "cG9zdDo3NzU2", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/08/1001-5616x3744-1-scaled.jpg", + }, + Object { + "id": "cG9zdDo3NzUy", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/08/1003-1181x1772-1.jpg", + }, + Object { + "id": "cG9zdDo3NzY0", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/08/1004-5616x3744-1-scaled.jpg", + }, + Object { + "id": "cG9zdDo3NzYw", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/08/10-2500x1667-1.jpg", + }, + Object { + "id": "cG9zdDo5MjA0", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/09/windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939.jpg", + }, + Object { + "id": "cG9zdDo5MjEw", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/09/windows-W1N58KDE8r0-unsplash-scaled-e1600819062167.jpg", + }, + Object { + "id": "cG9zdDo5NQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/aperture-vintage-346923-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDo5Ng==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/brandon-siu-608784-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDo5Nw==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/casey-horner-512022-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDo5NzIy", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/09/imagename-300x163-1-scaled.jpg", + }, + Object { + "id": "cG9zdDo5ODI3", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/09/5642fae96ade14100be5-scaled.jpg", + }, + Object { + "id": "cG9zdDo5OQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/03/avatar.jpg", + }, + Object { + "id": "cG9zdDoxMDA=", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/federico-bottos-442265-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDoxMDE=", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/jordan-steranka-504707-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDoxMDI=", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/kristopher-roller-110203-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDoxMDM=", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/zoltan-tasi-482489-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDoxMDQ0NQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sample.doc", + }, + Object { + "id": "cG9zdDoxMDQ0OQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sample-mp4-file.mp4", + }, + Object { + "id": "cG9zdDoxMDQ1Mw==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sample-mov-file.mov", + }, + Object { + "id": "cG9zdDoxMDQ2Nw==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sampleinline-html.doc", + }, + Object { + "id": "cG9zdDoxMDQ3MQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sample-avi-fileinline-html.avi", + }, + Object { + "id": "cG9zdDoxMDQ3NQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sample-mp4-fileinline-html.mp4", + }, + Object { + "id": "cG9zdDoxMDQ3OQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sample-mov-fileinline-html.mov", + }, + Object { + "id": "cG9zdDoxMDQ=", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2018/10/wordpress-logotype-standard.pdf", + }, + Object { + "id": "cG9zdDoxMDQzOQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/sample.pdf", + }, + Object { + "id": "cG9zdDoxMDUxNQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/jessie-mccall-a9_8YKoqIYo-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDoxMDYyMQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/mattmullenweg-interview.mp3", + }, + Object { + "id": "cG9zdDoxMDYyNw==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/giphy.mp4", + }, + Object { + "id": "cG9zdDoxMDcwNQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/BabyElephantWalk60.wav", + }, + Object { + "id": "cG9zdDoxMDcxNQ==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/Screen-Shot-2020-07-30-at-1.34.09-PM.png", + }, + Object { + "id": "cG9zdDoxMDkyNw==", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/10/karsten-winegeart-5zzY1WvIRRQ-unsplash-scaled.jpg", + }, + Object { + "id": "cG9zdDoxOTU=", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/03/1024x1024-300x300-1.png", + }, + Object { + "id": "cG9zdDozNjI=", + "mediaItemUrl": "http://localhost:8001/wp-content/uploads/2020/03/84-1000x1000-1.jpg", + }, +] +`; + +exports[`[gatsby-source-wordpress] data resolution resolves menus 1`] = ` +Object { + "data": Object { + "allWpMenu": Object { + "nodes": Array [ + Object { + "count": 4, + "databaseId": 17, + "id": "dGVybToxNw==", + "menuItems": Object { + "nodes": Array [ + Object { + "childItems": Object { + "nodes": Array [], + }, + "databaseId": 564, + "id": "cG9zdDo1NjQ=", + "label": "Activity", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "/activity/", + }, + Object { + "childItems": Object { + "nodes": Array [ + Object { + "childItems": Object { + "nodes": Array [ + Object { + "label": "test custom link", + "url": "https://google.com", + }, + ], + }, + "connectedNode": Object { + "node": Object { + "featuredImage": Object { + "node": Object { + "title": "84-1000×1000", + }, + }, + "title": "Hello world!", + "uri": "/2020/02/25/hello-world/", + }, + }, + "databaseId": 566, + "id": "cG9zdDo1NjY=", + "label": "Hello world!", + }, + ], + }, + "databaseId": 565, + "id": "cG9zdDo1NjU=", + "label": "Sample Page", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "/sample-page/", + }, + Object { + "childItems": Object { + "nodes": Array [ + Object { + "childItems": Object { + "nodes": Array [], + }, + "connectedNode": null, + "databaseId": 567, + "id": "cG9zdDo1Njc=", + "label": "test custom link", + }, + ], + }, + "databaseId": 566, + "id": "cG9zdDo1NjY=", + "label": "Hello world!", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "/2020/02/25/hello-world/", + }, + Object { + "childItems": Object { + "nodes": Array [], + }, + "databaseId": 567, + "id": "cG9zdDo1Njc=", + "label": "test custom link", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "https://google.com", + }, + ], + }, + "name": "main menu", + }, + Object { + "count": null, + "databaseId": 37, + "id": "dGVybTozNw==", + "menuItems": Object { + "nodes": Array [], + }, + "name": "Primary", + }, + Object { + "count": null, + "databaseId": 38, + "id": "dGVybTozOA==", + "menuItems": Object { + "nodes": Array [], + }, + "name": "Social Media", + }, + ], + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves menus INCREMENTED 1`] = ` +Object { + "data": Object { + "allWpMenu": Object { + "nodes": Array [ + Object { + "count": 4, + "databaseId": 17, + "id": "dGVybToxNw==", + "menuItems": Object { + "nodes": Array [ + Object { + "childItems": Object { + "nodes": Array [], + }, + "databaseId": 564, + "id": "cG9zdDo1NjQ=", + "label": "Activity", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "/activity/", + }, + Object { + "childItems": Object { + "nodes": Array [ + Object { + "childItems": Object { + "nodes": Array [ + Object { + "label": "test custom link", + "url": "https://google.com", + }, + ], + }, + "connectedNode": Object { + "node": Object { + "featuredImage": Object { + "node": Object { + "title": "84-1000×1000", + }, + }, + "title": "Hello world! DELTA SYNC", + "uri": "/2020/02/25/hello-world/", + }, + }, + "databaseId": 566, + "id": "cG9zdDo1NjY=", + "label": "Hello world!", + }, + ], + }, + "databaseId": 565, + "id": "cG9zdDo1NjU=", + "label": "Sample Page", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "/sample-page/", + }, + Object { + "childItems": Object { + "nodes": Array [ + Object { + "childItems": Object { + "nodes": Array [], + }, + "connectedNode": null, + "databaseId": 567, + "id": "cG9zdDo1Njc=", + "label": "test custom link", + }, + ], + }, + "databaseId": 566, + "id": "cG9zdDo1NjY=", + "label": "Hello world!", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "/2020/02/25/hello-world/", + }, + Object { + "childItems": Object { + "nodes": Array [], + }, + "databaseId": 567, + "id": "cG9zdDo1Njc=", + "label": "test custom link", + "nodeType": "MenuItem", + "target": null, + "title": null, + "url": "https://google.com", + }, + ], + }, + "name": "main menu", + }, + Object { + "count": null, + "databaseId": 37, + "id": "dGVybTozNw==", + "menuItems": Object { + "nodes": Array [], + }, + "name": "Primary", + }, + Object { + "count": null, + "databaseId": 38, + "id": "dGVybTozOA==", + "menuItems": Object { + "nodes": Array [], + }, + "name": "Social Media", + }, + ], + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves pages 1`] = ` +Object { + "data": Object { + "allWpPage": Object { + "nodes": Array [ + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Sample Page", + "uri": "/sample-page/", + "wpChildren": Object { + "nodes": Array [ + Object { + "title": "Child page", + }, + ], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Members", + "uri": "/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Activity", + "uri": "/activity/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Child page", + "uri": "/sample-page/child-page/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "French home page", + "uri": "/french-home-page/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "ACF Field Test", + "uri": "/acf-field-test/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Yoast SEO", + "uri": "/beautiful_slug/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Cart", + "uri": "/cart/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Shop", + "uri": "/shop/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "My account", + "uri": "/my-account/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Checkout", + "uri": "/checkout/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Inline gatsby-image Gutenberg test", + "uri": "/inline-gatsby-image-test/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Edited inline html image test", + "uri": "/edited-inline-html-image-test/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "inline html image edited after this post was saved", + "uri": "/inline-html-image-edited-after-this-post-was-saved/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Image test 1", + "uri": "/image-test-1/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Image test 1 duplicate", + "uri": "/image-test-1-duplicate/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Image test 1 french", + "uri": "/image-test-1-french/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Relative image path", + "uri": "/relative-image-path/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Inline image with http protocol", + "uri": "/inline-image-with-http-protocol/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Inline html non-image media items", + "uri": "/inline-html-non-image-media-items/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + ], + }, + "testPage": Object { + "title": "Sample Page", + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves pages INCREMENTED 1`] = ` +Object { + "data": Object { + "allWpPage": Object { + "nodes": Array [ + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Sample Page DELTA SYNC", + "uri": "/sample-page/", + "wpChildren": Object { + "nodes": Array [ + Object { + "title": "Child page", + }, + ], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Members", + "uri": "/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Activity", + "uri": "/activity/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Child page", + "uri": "/sample-page/child-page/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "French home page", + "uri": "/french-home-page/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "ACF Field Test", + "uri": "/acf-field-test/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Yoast SEO", + "uri": "/beautiful_slug/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Cart", + "uri": "/cart/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Shop", + "uri": "/shop/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "My account", + "uri": "/my-account/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Checkout", + "uri": "/checkout/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Inline gatsby-image Gutenberg test", + "uri": "/inline-gatsby-image-test/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Edited inline html image test", + "uri": "/edited-inline-html-image-test/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "inline html image edited after this post was saved", + "uri": "/inline-html-image-edited-after-this-post-was-saved/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Image test 1", + "uri": "/image-test-1/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Image test 1 duplicate", + "uri": "/image-test-1-duplicate/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Image test 1 french", + "uri": "/image-test-1-french/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Relative image path", + "uri": "/relative-image-path/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Inline image with http protocol", + "uri": "/inline-image-with-http-protocol/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + Object { + "acfPageFields": Object { + "fieldGroupName": "acfPageFields", + }, + "author": Object { + "node": Object { + "name": "Tyler", + }, + }, + "title": "Inline html non-image media items", + "uri": "/inline-html-non-image-media-items/", + "wpChildren": Object { + "nodes": Array [], + }, + }, + ], + }, + "testPage": Object { + "title": "Sample Page DELTA SYNC", + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves posts 1`] = ` +Object { + "data": Object { + "allWpPost": Object { + "nodes": Array [ + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Image Alignment", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Widget Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Common Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Classic Block", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Embed Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Formatting Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Layout Element Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Columns", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": Object { + "node": Object { + "altText": "", + "sourceUrl": "http://localhost:8001/wp-content/uploads/2020/03/84-1000x1000-1.jpg", + }, + }, + "title": "Hello world!", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "hierarchical category test", + }, + ], + }, + "testPost": Object { + "title": "Hello world!", + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves posts INCREMENTED 1`] = ` +Object { + "data": Object { + "allWpPost": Object { + "nodes": Array [ + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Image Alignment", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Widget Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Common Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Classic Block", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Embed Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Formatting Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Layout Element Blocks", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "Gutenberg: Columns", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": Object { + "node": Object { + "altText": "", + "sourceUrl": "http://localhost:8001/wp-content/uploads/2020/03/84-1000x1000-1.jpg", + }, + }, + "title": "Hello world! DELTA SYNC", + }, + Object { + "author": Object { + "node": Object { + "avatar": Object { + "url": "http://2.gravatar.com/avatar/5fc9a2065017733c9d5f49a5ecd71d64?s=96&d=mm&r=g", + }, + "comments": Object { + "nodes": Array [], + }, + }, + }, + "featuredImage": null, + "title": "hierarchical category test", + }, + ], + }, + "testPost": Object { + "title": "Hello world! DELTA SYNC", + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves root fields 1`] = ` +Object { + "data": Object { + "wp": Object { + "allSettings": Object { + "discussionSettingsDefaultCommentStatus": "open", + "discussionSettingsDefaultPingStatus": "open", + "generalSettingsDateFormat": "F j, Y", + "generalSettingsDescription": "Just another WordPress site", + "generalSettingsLanguage": "en_US", + "generalSettingsStartOfWeek": 1, + "generalSettingsTimeFormat": "g:i a", + "generalSettingsTimezone": "", + "generalSettingsTitle": "Automated testing for Gatsby source WordPress V4", + "generalSettingsUrl": "http://localhost:8001", + "readingSettingsPostsPerPage": 10, + "writingSettingsDefaultCategory": 23, + "writingSettingsDefaultPostFormat": "", + "writingSettingsUseSmilies": true, + }, + "nodeType": null, + "writingSettings": Object { + "defaultCategory": 23, + "defaultPostFormat": "0", + "useSmilies": true, + }, + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves root fields INCREMENTED 1`] = ` +Object { + "data": Object { + "wp": Object { + "allSettings": Object { + "discussionSettingsDefaultCommentStatus": "open", + "discussionSettingsDefaultPingStatus": "open", + "generalSettingsDateFormat": "F j, Y", + "generalSettingsDescription": "Just another WordPress site", + "generalSettingsLanguage": "en_US", + "generalSettingsStartOfWeek": 1, + "generalSettingsTimeFormat": "g:i a", + "generalSettingsTimezone": "", + "generalSettingsTitle": "Automated testing for Gatsby source WordPress V4", + "generalSettingsUrl": "http://localhost:8001", + "readingSettingsPostsPerPage": 10, + "writingSettingsDefaultCategory": 23, + "writingSettingsDefaultPostFormat": "", + "writingSettingsUseSmilies": true, + }, + "nodeType": null, + "writingSettings": Object { + "defaultCategory": 23, + "defaultPostFormat": "0", + "useSmilies": true, + }, + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves users 1`] = ` +Object { + "data": Object { + "allWpUser": Object { + "nodes": Array [ + Object { + "databaseId": 1, + "name": "Tyler", + "pages": Object { + "nodes": Array [ + Object { + "title": "Inline html non-image media items", + }, + Object { + "title": "Inline image with http protocol", + }, + Object { + "title": "Relative image path", + }, + Object { + "title": "Image test 1 french", + }, + Object { + "title": "Image test 1 duplicate", + }, + Object { + "title": "Image test 1", + }, + Object { + "title": "inline html image edited after this post was saved", + }, + Object { + "title": "Edited inline html image test", + }, + Object { + "title": "Inline gatsby-image Gutenberg test", + }, + Object { + "title": "My account", + }, + Object { + "title": "Checkout", + }, + Object { + "title": "Cart", + }, + Object { + "title": "Shop", + }, + Object { + "title": "Yoast SEO", + }, + Object { + "title": "ACF Field Test", + }, + Object { + "title": "French home page", + }, + Object { + "title": "Child page", + }, + Object { + "title": "Members", + }, + Object { + "title": "Activity", + }, + Object { + "title": "Sample Page", + }, + ], + }, + "posts": Object { + "nodes": Array [ + Object { + "title": "hierarchical category test", + }, + Object { + "title": "Hello world!", + }, + Object { + "title": "Gutenberg: Columns", + }, + Object { + "title": "Gutenberg: Layout Element Blocks", + }, + Object { + "title": "Gutenberg: Formatting Blocks", + }, + Object { + "title": "Gutenberg: Embed Blocks", + }, + Object { + "title": "Gutenberg: Classic Block", + }, + Object { + "title": "Gutenberg: Common Blocks", + }, + Object { + "title": "Gutenberg: Widget Blocks", + }, + Object { + "title": "Gutenberg: Image Alignment", + }, + ], + }, + }, + Object { + "databaseId": 2, + "name": "Test User", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + Object { + "databaseId": 3, + "name": "gatsbyinttests", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + Object { + "databaseId": 4, + "name": "devgatsbyint", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + Object { + "databaseId": 5, + "name": "admin", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + ], + }, + "testUser": Object { + "firstName": "Tyler", + }, + }, + "extensions": Object {}, +} +`; + +exports[`[gatsby-source-wordpress] data resolution resolves users INCREMENTED 1`] = ` +Object { + "data": Object { + "allWpUser": Object { + "nodes": Array [ + Object { + "databaseId": 1, + "name": "Tyler", + "pages": Object { + "nodes": Array [ + Object { + "title": "Inline html non-image media items", + }, + Object { + "title": "Inline image with http protocol", + }, + Object { + "title": "Relative image path", + }, + Object { + "title": "Image test 1 french", + }, + Object { + "title": "Image test 1 duplicate", + }, + Object { + "title": "Image test 1", + }, + Object { + "title": "inline html image edited after this post was saved", + }, + Object { + "title": "Edited inline html image test", + }, + Object { + "title": "Inline gatsby-image Gutenberg test", + }, + Object { + "title": "My account", + }, + Object { + "title": "Checkout", + }, + Object { + "title": "Cart", + }, + Object { + "title": "Shop", + }, + Object { + "title": "Yoast SEO", + }, + Object { + "title": "ACF Field Test", + }, + Object { + "title": "French home page", + }, + Object { + "title": "Child page", + }, + Object { + "title": "Members", + }, + Object { + "title": "Activity", + }, + Object { + "title": "Sample Page DELTA SYNC", + }, + ], + }, + "posts": Object { + "nodes": Array [ + Object { + "title": "hierarchical category test", + }, + Object { + "title": "Hello world! DELTA SYNC", + }, + Object { + "title": "Gutenberg: Columns", + }, + Object { + "title": "Gutenberg: Layout Element Blocks", + }, + Object { + "title": "Gutenberg: Formatting Blocks", + }, + Object { + "title": "Gutenberg: Embed Blocks", + }, + Object { + "title": "Gutenberg: Classic Block", + }, + Object { + "title": "Gutenberg: Common Blocks", + }, + Object { + "title": "Gutenberg: Widget Blocks", + }, + Object { + "title": "Gutenberg: Image Alignment", + }, + ], + }, + }, + Object { + "databaseId": 2, + "name": "Test User", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + Object { + "databaseId": 3, + "name": "gatsbyinttests", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + Object { + "databaseId": 4, + "name": "devgatsbyint", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + Object { + "databaseId": 5, + "name": "admin", + "pages": Object { + "nodes": Array [], + }, + "posts": Object { + "nodes": Array [], + }, + }, + ], + }, + "testUser": Object { + "firstName": "Tyler DELTA SYNC", + }, + }, + "extensions": Object {}, +} +`; diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/filtered-type-defs.test.js.snap b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/filtered-type-defs.test.js.snap new file mode 100644 index 0000000000000..db687c34f529e --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/filtered-type-defs.test.js.snap @@ -0,0 +1,25 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`[gatsby-source-wordpress] filtered type definitions Date field resolver is working 1`] = ` +Object { + "data": Object { + "wpPage": Object { + "databaseId": 2, + "date": "2020-02-25T17:54:21", + "dateGmt": "2020-02-25T17:54:21", + "dayOfMonth": "25", + "dayOfMonthGmt": "25", + "dayOfWeekName": "Tuesday", + "dayOfWeekNameGmt": "Tuesday", + "dayOfWeekNumber": "2", + "dayOfWeekNumberGmt": "2", + "id": "cG9zdDoy", + "month": "February", + "monthGmt": "February", + "year": "2020", + "yearGmt": "2020", + }, + }, + "extensions": Object {}, +} +`; diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/gatsby-image.test.js.snap b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/gatsby-image.test.js.snap new file mode 100644 index 0000000000000..58131e0a2e995 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/gatsby-image.test.js.snap @@ -0,0 +1,172 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`[gatsby-source-wordpress] Gatsby image processing transforms inline-html images properly 1`] = ` +" +
    \\"\\"\\"\\"
    + + + +
    \\"\\"\\"\\"
    +" +`; + +exports[`[gatsby-source-wordpress] Gatsby image processing transforms inline-html images properly 2`] = ` +" +
    \\"\\"\\"\\"
    +" +`; + +exports[`[gatsby-source-wordpress] Gatsby image processing transforms inline-html images properly 3`] = ` +" +
    \\"\\"\\"\\"
    +" +`; + +exports[`[gatsby-source-wordpress] Gatsby image processing transforms inline-html images properly 4`] = ` +"

    Wysiwyh Editor Field test content.

    +

     

    +

    H1

    +

    \\"\\"\\"\\" \\"\\"\\"\\"

    +" +`; + +exports[`[gatsby-source-wordpress] Gatsby image processing transforms inline-html images properly 5`] = ` +"
    \\"\\"\\"\\"
    +" +`; diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/integrity.test.js.snap b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/integrity.test.js.snap new file mode 100644 index 0000000000000..ad08be5c63399 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/integrity.test.js.snap @@ -0,0 +1,6433 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`[gatsby-source-wordpress] schema integrity hasn't altered the local Gatsby schema 1`] = ` +Array [ + Object { + "fields": Array [ + "allSettings", + "discussionSettings", + "generalSettings", + "readingSettings", + "wpGatsby", + "writingSettings", + "nodeType", + "id", + "parent", + "children", + "internal", + ], + "name": "Wp", + }, + Object { + "fields": Array [ + "city", + "country", + "countryShort", + "latitude", + "longitude", + "placeId", + "postCode", + "state", + "stateShort", + "streetAddress", + "streetName", + "streetNumber", + "zoom", + ], + "name": "WpACF_GoogleMap", + }, + Object { + "fields": null, + "name": "WpACF_GoogleMapFilterInput", + }, + Object { + "fields": Array [ + "target", + "title", + "url", + ], + "name": "WpACF_Link", + }, + Object { + "fields": null, + "name": "WpACF_LinkFilterInput", + }, + Object { + "fields": Array [ + "default", + "extraAttr", + "forceDefault", + "foundAvatar", + "height", + "rating", + "scheme", + "size", + "url", + "width", + ], + "name": "WpAvatar", + }, + Object { + "fields": null, + "name": "WpAvatarFilterInput", + }, + Object { + "fields": Array [ + "ancestors", + "wpChildren", + "contentNodes", + "count", + "databaseId", + "description", + "id", + "link", + "name", + "wpParent", + "parentDatabaseId", + "parentId", + "posts", + "slug", + "taxonomy", + "teamMembers", + "termGroupId", + "termTaxonomyId", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpCategory", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpCategoryConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpCategoryEdge", + }, + Object { + "fields": null, + "name": "WpCategoryFieldsEnum", + }, + Object { + "fields": null, + "name": "WpCategoryFilterInput", + }, + Object { + "fields": null, + "name": "WpCategoryFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpCategoryGroupConnection", + }, + Object { + "fields": null, + "name": "WpCategorySortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpCategoryToAncestorsCategoryConnection", + }, + Object { + "fields": null, + "name": "WpCategoryToAncestorsCategoryConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpCategoryToCategoryConnection", + }, + Object { + "fields": null, + "name": "WpCategoryToCategoryConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpCategoryToContentNodeConnection", + }, + Object { + "fields": null, + "name": "WpCategoryToContentNodeConnectionFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpCategoryToParentCategoryConnectionEdge", + }, + Object { + "fields": null, + "name": "WpCategoryToParentCategoryConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpCategoryToPostConnection", + }, + Object { + "fields": null, + "name": "WpCategoryToPostConnectionFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpCategoryToTaxonomyConnectionEdge", + }, + Object { + "fields": null, + "name": "WpCategoryToTaxonomyConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpCategoryToTeamMemberConnection", + }, + Object { + "fields": null, + "name": "WpCategoryToTeamMemberConnectionFilterInput", + }, + Object { + "fields": Array [ + "agent", + "approved", + "author", + "authorIp", + "commentedOn", + "content", + "date", + "dateGmt", + "id", + "karma", + "wpParent", + "parentDatabaseId", + "parentId", + "replies", + "type", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpComment", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpCommentConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpCommentEdge", + }, + Object { + "fields": null, + "name": "WpCommentFieldsEnum", + }, + Object { + "fields": null, + "name": "WpCommentFilterInput", + }, + Object { + "fields": null, + "name": "WpCommentFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpCommentGroupConnection", + }, + Object { + "fields": null, + "name": "WpCommentSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpCommentToCommentConnection", + }, + Object { + "fields": null, + "name": "WpCommentToCommentConnectionFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpCommentToCommenterConnectionEdge", + }, + Object { + "fields": null, + "name": "WpCommentToCommenterConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpCommentToContentNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "WpCommentToContentNodeConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpCommentToParentCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "WpCommentToParentCommentConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "databaseId", + "id", + "name", + "url", + ], + "name": "WpCommenter", + }, + Object { + "fields": null, + "name": "WpCommenterFilterInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpConnection", + }, + Object { + "fields": Array [ + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "guid", + "id", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "slug", + "status", + "template", + "uri", + "nodeType", + ], + "name": "WpContentNode", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpContentNodeConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpContentNodeEdge", + }, + Object { + "fields": null, + "name": "WpContentNodeFieldsEnum", + }, + Object { + "fields": null, + "name": "WpContentNodeFilterInput", + }, + Object { + "fields": null, + "name": "WpContentNodeFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpContentNodeGroupConnection", + }, + Object { + "fields": null, + "name": "WpContentNodeSortInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpContentNodeToContentTypeConnectionEdge", + }, + Object { + "fields": null, + "name": "WpContentNodeToContentTypeConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpContentNodeToEditLastConnectionEdge", + }, + Object { + "fields": null, + "name": "WpContentNodeToEditLastConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "lockTimestamp", + "node", + ], + "name": "WpContentNodeToEditLockConnectionEdge", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "WpContentTemplate", + }, + Object { + "fields": null, + "name": "WpContentTemplateFilterInput", + }, + Object { + "fields": Array [ + "archivePath", + "canExport", + "connectedTaxonomies", + "contentNodes", + "deleteWithUser", + "description", + "excludeFromSearch", + "graphqlPluralName", + "graphqlSingleName", + "hasArchive", + "hierarchical", + "id", + "isFrontPage", + "isPostsPage", + "label", + "labels", + "menuIcon", + "menuPosition", + "name", + "public", + "publiclyQueryable", + "restBase", + "restControllerClass", + "showInAdminBar", + "showInGraphql", + "showInMenu", + "showInNavMenus", + "showInRest", + "showUi", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpContentType", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpContentTypeConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpContentTypeEdge", + }, + Object { + "fields": null, + "name": "WpContentTypeFieldsEnum", + }, + Object { + "fields": null, + "name": "WpContentTypeFilterInput", + }, + Object { + "fields": null, + "name": "WpContentTypeFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpContentTypeGroupConnection", + }, + Object { + "fields": null, + "name": "WpContentTypeSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpContentTypeToContentNodeConnection", + }, + Object { + "fields": null, + "name": "WpContentTypeToContentNodeConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpContentTypeToTaxonomyConnection", + }, + Object { + "fields": null, + "name": "WpContentTypeToTaxonomyConnectionFilterInput", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "WpCoverTemplate", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "WpDefaultTemplate", + }, + Object { + "fields": Array [ + "defaultCommentStatus", + "defaultPingStatus", + ], + "name": "WpDiscussionSettings", + }, + Object { + "fields": null, + "name": "WpDiscussionSettingsFilterInput", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpEdge", + }, + Object { + "fields": null, + "name": "WpFieldsEnum", + }, + Object { + "fields": null, + "name": "WpFilterInput", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "WpFullWidthTemplate", + }, + Object { + "fields": Array [ + "dateFormat", + "description", + "email", + "language", + "startOfWeek", + "timeFormat", + "timezone", + "title", + "url", + ], + "name": "WpGeneralSettings", + }, + Object { + "fields": null, + "name": "WpGeneralSettingsFilterInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpGroupConnection", + }, + Object { + "fields": Array [ + "ancestors", + "wpChildren", + "wpParent", + "parentDatabaseId", + "parentId", + ], + "name": "WpHierarchicalContentNode", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpHierarchicalContentNodeToContentNodeAncestorsConnection", + }, + Object { + "fields": null, + "name": "WpHierarchicalContentNodeToContentNodeAncestorsConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpHierarchicalContentNodeToContentNodeChildrenConnection", + }, + Object { + "fields": null, + "name": "WpHierarchicalContentNodeToContentNodeChildrenConnectionFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpHierarchicalContentNodeToParentContentNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "WpHierarchicalContentNodeToParentContentNodeConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "parentDatabaseId", + "parentId", + ], + "name": "WpHierarchicalTermNode", + }, + Object { + "fields": Array [ + "file", + "height", + "meta", + "sizes", + "width", + ], + "name": "WpMediaDetails", + }, + Object { + "fields": null, + "name": "WpMediaDetailsFilterInput", + }, + Object { + "fields": Array [ + "altText", + "ancestors", + "author", + "authorDatabaseId", + "authorId", + "caption", + "wpChildren", + "commentStatus", + "comments", + "contentType", + "databaseId", + "date", + "dateGmt", + "description", + "desiredSlug", + "enclosure", + "fileSize", + "guid", + "id", + "lastEditedBy", + "link", + "mediaDetails", + "mediaItemUrl", + "mediaType", + "mimeType", + "modified", + "modifiedGmt", + "wpParent", + "parentDatabaseId", + "parentId", + "sizes", + "slug", + "sourceUrl", + "srcSet", + "status", + "template", + "title", + "uri", + "nodeType", + "localFile", + "parent", + "children", + "internal", + ], + "name": "WpMediaItem", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpMediaItemConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpMediaItemEdge", + }, + Object { + "fields": null, + "name": "WpMediaItemFieldsEnum", + }, + Object { + "fields": null, + "name": "WpMediaItemFilterInput", + }, + Object { + "fields": null, + "name": "WpMediaItemFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpMediaItemGroupConnection", + }, + Object { + "fields": Array [ + "aperture", + "camera", + "caption", + "copyright", + "createdTimestamp", + "credit", + "focalLength", + "iso", + "keywords", + "orientation", + "shutterSpeed", + "title", + ], + "name": "WpMediaItemMeta", + }, + Object { + "fields": null, + "name": "WpMediaItemMetaFilterInput", + }, + Object { + "fields": null, + "name": "WpMediaItemSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpMediaItemToCommentConnection", + }, + Object { + "fields": null, + "name": "WpMediaItemToCommentConnectionFilterInput", + }, + Object { + "fields": Array [ + "file", + "fileSize", + "height", + "mimeType", + "name", + "sourceUrl", + "width", + ], + "name": "WpMediaSize", + }, + Object { + "fields": null, + "name": "WpMediaSizeFilterInput", + }, + Object { + "fields": null, + "name": "WpMediaSizeFilterListInput", + }, + Object { + "fields": Array [ + "count", + "databaseId", + "id", + "locations", + "menuItems", + "name", + "slug", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpMenu", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpMenuConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpMenuEdge", + }, + Object { + "fields": null, + "name": "WpMenuFieldsEnum", + }, + Object { + "fields": null, + "name": "WpMenuFilterInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpMenuGroupConnection", + }, + Object { + "fields": Array [ + "childItems", + "connectedNode", + "cssClasses", + "databaseId", + "description", + "id", + "label", + "linkRelationship", + "locations", + "menu", + "order", + "parentDatabaseId", + "parentId", + "path", + "target", + "title", + "url", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpMenuItem", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpMenuItemConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpMenuItemEdge", + }, + Object { + "fields": null, + "name": "WpMenuItemFieldsEnum", + }, + Object { + "fields": null, + "name": "WpMenuItemFilterInput", + }, + Object { + "fields": null, + "name": "WpMenuItemFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpMenuItemGroupConnection", + }, + Object { + "fields": Array [ + "databaseId", + "id", + "uri", + ], + "name": "WpMenuItemLinkable", + }, + Object { + "fields": null, + "name": "WpMenuItemLinkableFilterInput", + }, + Object { + "fields": null, + "name": "WpMenuItemSortInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpMenuItemToMenuConnectionEdge", + }, + Object { + "fields": null, + "name": "WpMenuItemToMenuConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpMenuItemToMenuItemConnection", + }, + Object { + "fields": null, + "name": "WpMenuItemToMenuItemConnectionFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpMenuItemToMenuItemLinkableConnectionEdge", + }, + Object { + "fields": null, + "name": "WpMenuItemToMenuItemLinkableConnectionEdgeFilterInput", + }, + Object { + "fields": null, + "name": "WpMenuLocationEnum", + }, + Object { + "fields": null, + "name": "WpMenuLocationEnumQueryOperatorInput", + }, + Object { + "fields": null, + "name": "WpMenuSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpMenuToMenuItemConnection", + }, + Object { + "fields": null, + "name": "WpMenuToMenuItemConnectionFilterInput", + }, + Object { + "fields": Array [ + "id", + ], + "name": "WpNode", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + ], + "name": "WpNodeWithAuthor", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpNodeWithAuthorToUserConnectionEdge", + }, + Object { + "fields": null, + "name": "WpNodeWithAuthorToUserConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "commentStatus", + ], + "name": "WpNodeWithComments", + }, + Object { + "fields": Array [ + "content", + ], + "name": "WpNodeWithContentEditor", + }, + Object { + "fields": Array [ + "excerpt", + ], + "name": "WpNodeWithExcerpt", + }, + Object { + "fields": Array [ + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + ], + "name": "WpNodeWithFeaturedImage", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpNodeWithFeaturedImageToMediaItemConnectionEdge", + }, + Object { + "fields": null, + "name": "WpNodeWithFeaturedImageToMediaItemConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "menuOrder", + ], + "name": "WpNodeWithPageAttributes", + }, + Object { + "fields": Array [ + "isRevision", + ], + "name": "WpNodeWithRevisions", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpNodeWithRevisionsToContentNodeConnectionEdge", + }, + Object { + "fields": Array [ + "template", + ], + "name": "WpNodeWithTemplate", + }, + Object { + "fields": Array [ + "title", + ], + "name": "WpNodeWithTitle", + }, + Object { + "fields": Array [ + "pingStatus", + "pinged", + "toPing", + ], + "name": "WpNodeWithTrackbacks", + }, + Object { + "fields": Array [ + "acfPageFields", + "ancestors", + "author", + "authorDatabaseId", + "authorId", + "wpChildren", + "commentStatus", + "comments", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isFrontPage", + "isPostsPage", + "isRevision", + "lastEditedBy", + "link", + "menuOrder", + "modified", + "modifiedGmt", + "wpParent", + "parentDatabaseId", + "parentId", + "slug", + "status", + "template", + "title", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpPage", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpPageConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpPageEdge", + }, + Object { + "fields": null, + "name": "WpPageFieldsEnum", + }, + Object { + "fields": null, + "name": "WpPageFilterInput", + }, + Object { + "fields": null, + "name": "WpPageFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpPageGroupConnection", + }, + Object { + "fields": null, + "name": "WpPageSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPageToCommentConnection", + }, + Object { + "fields": null, + "name": "WpPageToCommentConnectionFilterInput", + }, + Object { + "fields": Array [ + "buttonGroupField", + "checkboxField", + "colorPickerField", + "datePickerField", + "dateTimePickerField", + "doc", + "fieldGroupName", + "fileField", + "flexibleContentField", + "galleryField", + "googleMapField", + "groupField", + "imageField", + "linkField", + "mov", + "mp4", + "oembedField", + "pageLinkField", + "pdf", + "postObjectField", + "radioButtonField", + "rangeField", + "relationshipField", + "repeaterField", + "selectField", + "taxonomyField", + "textAreaField", + "textField", + "timePicker", + "trueFalseField", + "userField", + "wysiwygEditorField", + ], + "name": "WpPage_Acfpagefields", + }, + Object { + "fields": null, + "name": "WpPage_AcfpagefieldsFilterInput", + }, + Object { + "fields": null, + "name": "WpPage_Acfpagefields_FlexibleContentField", + }, + Object { + "fields": Array [ + "fieldGroupName", + "flexImage", + "flexRelationship", + "flexRepeater", + "flexTitle", + ], + "name": "WpPage_Acfpagefields_FlexibleContentField_FlexLayout1", + }, + Object { + "fields": Array [ + "fieldGroupName", + "flexRepeaterRelationship", + "flexRepeaterTitle", + ], + "name": "WpPage_Acfpagefields_FlexibleContentField_FlexLayout1_flexRepeater", + }, + Object { + "fields": Array [ + "fieldGroupName", + ], + "name": "WpPage_Acfpagefields_GroupField", + }, + Object { + "fields": null, + "name": "WpPage_Acfpagefields_GroupFieldFilterInput", + }, + Object { + "fields": Array [ + "fieldGroupName", + "repeaterFlex", + ], + "name": "WpPage_Acfpagefields_repeaterField", + }, + Object { + "fields": null, + "name": "WpPage_Acfpagefields_repeaterFieldFilterInput", + }, + Object { + "fields": null, + "name": "WpPage_Acfpagefields_repeaterFieldFilterListInput", + }, + Object { + "fields": null, + "name": "WpPage_Acfpagefields_repeaterField_RepeaterFlex", + }, + Object { + "fields": Array [ + "fieldGroupName", + "repeaterFlexRelationship", + ], + "name": "WpPage_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexRelationshipLayout", + }, + Object { + "fields": Array [ + "fieldGroupName", + "repeaterFlexTitle", + ], + "name": "WpPage_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexTitleLayout", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "categories", + "commentStatus", + "comments", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "enclosure", + "excerpt", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isRevision", + "isSticky", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "pingStatus", + "pinged", + "postFormats", + "slug", + "status", + "tags", + "template", + "terms", + "title", + "toPing", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpPost", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpPostConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpPostEdge", + }, + Object { + "fields": null, + "name": "WpPostFieldsEnum", + }, + Object { + "fields": null, + "name": "WpPostFilterInput", + }, + Object { + "fields": null, + "name": "WpPostFilterListInput", + }, + Object { + "fields": Array [ + "contentNodes", + "count", + "databaseId", + "description", + "id", + "link", + "name", + "posts", + "slug", + "taxonomy", + "teamMembers", + "termGroupId", + "termTaxonomyId", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpPostFormat", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpPostFormatConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpPostFormatEdge", + }, + Object { + "fields": null, + "name": "WpPostFormatFieldsEnum", + }, + Object { + "fields": null, + "name": "WpPostFormatFilterInput", + }, + Object { + "fields": null, + "name": "WpPostFormatFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpPostFormatGroupConnection", + }, + Object { + "fields": null, + "name": "WpPostFormatSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostFormatToContentNodeConnection", + }, + Object { + "fields": null, + "name": "WpPostFormatToContentNodeConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostFormatToPostConnection", + }, + Object { + "fields": null, + "name": "WpPostFormatToPostConnectionFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpPostFormatToTaxonomyConnectionEdge", + }, + Object { + "fields": null, + "name": "WpPostFormatToTaxonomyConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostFormatToTeamMemberConnection", + }, + Object { + "fields": null, + "name": "WpPostFormatToTeamMemberConnectionFilterInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpPostGroupConnection", + }, + Object { + "fields": null, + "name": "WpPostObjectUnion", + }, + Object { + "fields": null, + "name": "WpPostSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostToCategoryConnection", + }, + Object { + "fields": null, + "name": "WpPostToCategoryConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostToCommentConnection", + }, + Object { + "fields": null, + "name": "WpPostToCommentConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostToPostFormatConnection", + }, + Object { + "fields": null, + "name": "WpPostToPostFormatConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostToTagConnection", + }, + Object { + "fields": null, + "name": "WpPostToTagConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpPostToTermNodeConnection", + }, + Object { + "fields": null, + "name": "WpPostToTermNodeConnectionFilterInput", + }, + Object { + "fields": Array [ + "addNew", + "addNewItem", + "allItems", + "archives", + "attributes", + "editItem", + "featuredImage", + "filterItemsList", + "insertIntoItem", + "itemsList", + "itemsListNavigation", + "menuName", + "name", + "newItem", + "notFound", + "notFoundInTrash", + "parentItemColon", + "removeFeaturedImage", + "searchItems", + "setFeaturedImage", + "singularName", + "uploadedToThisItem", + "useFeaturedImage", + "viewItem", + "viewItems", + ], + "name": "WpPostTypeLabelDetails", + }, + Object { + "fields": null, + "name": "WpPostTypeLabelDetailsFilterInput", + }, + Object { + "fields": Array [ + "acfProject", + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "enclosure", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "slug", + "status", + "template", + "title", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpProject", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpProjectConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpProjectEdge", + }, + Object { + "fields": null, + "name": "WpProjectFieldsEnum", + }, + Object { + "fields": null, + "name": "WpProjectFilterInput", + }, + Object { + "fields": null, + "name": "WpProjectFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpProjectGroupConnection", + }, + Object { + "fields": null, + "name": "WpProjectSortInput", + }, + Object { + "fields": Array [ + "fieldGroupName", + "image", + "projectUrl", + ], + "name": "WpProject_Acfproject", + }, + Object { + "fields": null, + "name": "WpProject_AcfprojectFilterInput", + }, + Object { + "fields": Array [ + "postsPerPage", + ], + "name": "WpReadingSettings", + }, + Object { + "fields": null, + "name": "WpReadingSettingsFilterInput", + }, + Object { + "fields": Array [ + "discussionSettingsDefaultCommentStatus", + "discussionSettingsDefaultPingStatus", + "generalSettingsDateFormat", + "generalSettingsDescription", + "generalSettingsEmail", + "generalSettingsLanguage", + "generalSettingsStartOfWeek", + "generalSettingsTimeFormat", + "generalSettingsTimezone", + "generalSettingsTitle", + "generalSettingsUrl", + "readingSettingsPostsPerPage", + "writingSettingsDefaultCategory", + "writingSettingsDefaultPostFormat", + "writingSettingsUseSmilies", + ], + "name": "WpSettings", + }, + Object { + "fields": null, + "name": "WpSettingsFilterInput", + }, + Object { + "fields": null, + "name": "WpSortInput", + }, + Object { + "fields": Array [ + "contentNodes", + "count", + "databaseId", + "description", + "id", + "link", + "name", + "posts", + "slug", + "taxonomy", + "teamMembers", + "termGroupId", + "termTaxonomyId", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpTag", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpTagConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpTagEdge", + }, + Object { + "fields": null, + "name": "WpTagFieldsEnum", + }, + Object { + "fields": null, + "name": "WpTagFilterInput", + }, + Object { + "fields": null, + "name": "WpTagFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpTagGroupConnection", + }, + Object { + "fields": null, + "name": "WpTagSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTagToContentNodeConnection", + }, + Object { + "fields": null, + "name": "WpTagToContentNodeConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTagToPostConnection", + }, + Object { + "fields": null, + "name": "WpTagToPostConnectionFilterInput", + }, + Object { + "fields": Array [ + "node", + ], + "name": "WpTagToTaxonomyConnectionEdge", + }, + Object { + "fields": null, + "name": "WpTagToTaxonomyConnectionEdgeFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTagToTeamMemberConnection", + }, + Object { + "fields": null, + "name": "WpTagToTeamMemberConnectionFilterInput", + }, + Object { + "fields": Array [ + "archivePath", + "connectedContentTypes", + "description", + "graphqlPluralName", + "graphqlSingleName", + "hierarchical", + "id", + "label", + "name", + "public", + "restBase", + "restControllerClass", + "showCloud", + "showInAdminColumn", + "showInGraphql", + "showInMenu", + "showInNavMenus", + "showInQuickEdit", + "showInRest", + "showUi", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpTaxonomy", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpTaxonomyConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpTaxonomyEdge", + }, + Object { + "fields": null, + "name": "WpTaxonomyFieldsEnum", + }, + Object { + "fields": null, + "name": "WpTaxonomyFilterInput", + }, + Object { + "fields": null, + "name": "WpTaxonomyFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpTaxonomyGroupConnection", + }, + Object { + "fields": null, + "name": "WpTaxonomySortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTaxonomyToContentTypeConnection", + }, + Object { + "fields": null, + "name": "WpTaxonomyToContentTypeConnectionFilterInput", + }, + Object { + "fields": Array [ + "acfData", + "author", + "authorDatabaseId", + "authorId", + "categories", + "commentStatus", + "comments", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "enclosure", + "excerpt", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isRevision", + "lastEditedBy", + "link", + "menuOrder", + "modified", + "modifiedGmt", + "pingStatus", + "pinged", + "postFormats", + "slug", + "status", + "tags", + "template", + "title", + "toPing", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpTeamMember", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpTeamMemberConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpTeamMemberEdge", + }, + Object { + "fields": null, + "name": "WpTeamMemberFieldsEnum", + }, + Object { + "fields": null, + "name": "WpTeamMemberFilterInput", + }, + Object { + "fields": null, + "name": "WpTeamMemberFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpTeamMemberGroupConnection", + }, + Object { + "fields": null, + "name": "WpTeamMemberSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTeamMemberToCategoryConnection", + }, + Object { + "fields": null, + "name": "WpTeamMemberToCategoryConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTeamMemberToCommentConnection", + }, + Object { + "fields": null, + "name": "WpTeamMemberToCommentConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTeamMemberToPostFormatConnection", + }, + Object { + "fields": null, + "name": "WpTeamMemberToPostFormatConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpTeamMemberToTagConnection", + }, + Object { + "fields": null, + "name": "WpTeamMemberToTagConnectionFilterInput", + }, + Object { + "fields": Array [ + "fieldGroupName", + "name", + "portrait", + "projects", + "title", + "twitterlink", + "webSite", + ], + "name": "WpTeamMember_Acfdata", + }, + Object { + "fields": null, + "name": "WpTeamMember_AcfdataFilterInput", + }, + Object { + "fields": null, + "name": "WpTeamMember_Acfdata_Projects", + }, + Object { + "fields": Array [ + "count", + "databaseId", + "description", + "id", + "link", + "name", + "slug", + "termGroupId", + "termTaxonomyId", + "uri", + "nodeType", + ], + "name": "WpTermNode", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpTermNodeConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpTermNodeEdge", + }, + Object { + "fields": null, + "name": "WpTermNodeFieldsEnum", + }, + Object { + "fields": null, + "name": "WpTermNodeFilterInput", + }, + Object { + "fields": null, + "name": "WpTermNodeFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpTermNodeGroupConnection", + }, + Object { + "fields": null, + "name": "WpTermNodeSortInput", + }, + Object { + "fields": null, + "name": "WpTermObjectUnion", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "enclosure", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "slug", + "status", + "template", + "title", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpTranslationFilterTest", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpTranslationFilterTestConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpTranslationFilterTestEdge", + }, + Object { + "fields": null, + "name": "WpTranslationFilterTestFieldsEnum", + }, + Object { + "fields": null, + "name": "WpTranslationFilterTestFilterInput", + }, + Object { + "fields": null, + "name": "WpTranslationFilterTestFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpTranslationFilterTestGroupConnection", + }, + Object { + "fields": null, + "name": "WpTranslationFilterTestSortInput", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "enclosure", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "slug", + "status", + "template", + "title", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpTypeLimit0Test", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpTypeLimit0TestConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpTypeLimit0TestEdge", + }, + Object { + "fields": null, + "name": "WpTypeLimit0TestFieldsEnum", + }, + Object { + "fields": null, + "name": "WpTypeLimit0TestFilterInput", + }, + Object { + "fields": null, + "name": "WpTypeLimit0TestFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpTypeLimit0TestGroupConnection", + }, + Object { + "fields": null, + "name": "WpTypeLimit0TestSortInput", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "enclosure", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "slug", + "status", + "template", + "title", + "uri", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpTypeLimitTest", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpTypeLimitTestConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpTypeLimitTestEdge", + }, + Object { + "fields": null, + "name": "WpTypeLimitTestFieldsEnum", + }, + Object { + "fields": null, + "name": "WpTypeLimitTestFilterInput", + }, + Object { + "fields": null, + "name": "WpTypeLimitTestFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpTypeLimitTestGroupConnection", + }, + Object { + "fields": null, + "name": "WpTypeLimitTestSortInput", + }, + Object { + "fields": Array [ + "id", + "uri", + ], + "name": "WpUniformResourceIdentifiable", + }, + Object { + "fields": Array [ + "avatar", + "capabilities", + "comments", + "databaseId", + "description", + "firstName", + "id", + "lastName", + "locale", + "name", + "nicename", + "nickname", + "pages", + "posts", + "projects", + "roles", + "slug", + "teamMembers", + "translationFilterTests", + "typeLimit0Tests", + "typeLimitTests", + "uri", + "url", + "username", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpUser", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpUserConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpUserEdge", + }, + Object { + "fields": null, + "name": "WpUserFieldsEnum", + }, + Object { + "fields": null, + "name": "WpUserFilterInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpUserGroupConnection", + }, + Object { + "fields": Array [ + "capabilities", + "displayName", + "id", + "name", + "nodeType", + "parent", + "children", + "internal", + ], + "name": "WpUserRole", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "distinct", + "group", + ], + "name": "WpUserRoleConnection", + }, + Object { + "fields": Array [ + "next", + "node", + "previous", + ], + "name": "WpUserRoleEdge", + }, + Object { + "fields": null, + "name": "WpUserRoleFieldsEnum", + }, + Object { + "fields": null, + "name": "WpUserRoleFilterInput", + }, + Object { + "fields": null, + "name": "WpUserRoleFilterListInput", + }, + Object { + "fields": Array [ + "totalCount", + "edges", + "nodes", + "pageInfo", + "field", + "fieldValue", + ], + "name": "WpUserRoleGroupConnection", + }, + Object { + "fields": null, + "name": "WpUserRoleSortInput", + }, + Object { + "fields": null, + "name": "WpUserSortInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToCommentConnection", + }, + Object { + "fields": null, + "name": "WpUserToCommentConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToPageConnection", + }, + Object { + "fields": null, + "name": "WpUserToPageConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToPostConnection", + }, + Object { + "fields": null, + "name": "WpUserToPostConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToProjectConnection", + }, + Object { + "fields": null, + "name": "WpUserToProjectConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToTeamMemberConnection", + }, + Object { + "fields": null, + "name": "WpUserToTeamMemberConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToTranslationFilterTestConnection", + }, + Object { + "fields": null, + "name": "WpUserToTranslationFilterTestConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToTypeLimit0TestConnection", + }, + Object { + "fields": null, + "name": "WpUserToTypeLimit0TestConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToTypeLimitTestConnection", + }, + Object { + "fields": null, + "name": "WpUserToTypeLimitTestConnectionFilterInput", + }, + Object { + "fields": Array [ + "nodes", + ], + "name": "WpUserToUserRoleConnection", + }, + Object { + "fields": null, + "name": "WpUserToUserRoleConnectionFilterInput", + }, + Object { + "fields": Array [ + "arePrettyPermalinksEnabled", + "isPreviewFrontendOnline", + ], + "name": "WpWPGatsby", + }, + Object { + "fields": null, + "name": "WpWPGatsbyFilterInput", + }, + Object { + "fields": Array [ + "defaultCategory", + "defaultPostFormat", + "useSmilies", + ], + "name": "WpWritingSettings", + }, + Object { + "fields": null, + "name": "WpWritingSettingsFilterInput", + }, +] +`; + +exports[`[gatsby-source-wordpress] schema integrity hasn't altered the remote WPGraphQL schema 1`] = ` +Array [ + Object { + "fields": Array [ + "city", + "country", + "countryShort", + "latitude", + "longitude", + "placeId", + "postCode", + "state", + "stateShort", + "streetAddress", + "streetName", + "streetNumber", + "zoom", + ], + "name": "ACF_GoogleMap", + }, + Object { + "fields": Array [ + "target", + "title", + "url", + ], + "name": "ACF_Link", + }, + Object { + "fields": Array [ + "actionType", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "guid", + "id", + "isPreview", + "isRestricted", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "preview", + "previewData", + "previewRevisionDatabaseId", + "previewRevisionId", + "referencedNodeGlobalRelayID", + "referencedNodeID", + "referencedNodePluralName", + "referencedNodeSingularName", + "referencedNodeStatus", + "slug", + "status", + "template", + "title", + "uri", + ], + "name": "ActionMonitorAction", + }, + Object { + "fields": null, + "name": "ActionMonitorActionIdType", + }, + Object { + "fields": Array [ + "node", + ], + "name": "ActionMonitorActionToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "default", + "extraAttr", + "forceDefault", + "foundAvatar", + "height", + "isRestricted", + "rating", + "scheme", + "size", + "url", + "width", + ], + "name": "Avatar", + }, + Object { + "fields": null, + "name": "AvatarRatingEnum", + }, + Object { + "fields": null, + "name": "Boolean", + }, + Object { + "fields": Array [ + "ancestors", + "children", + "contentNodes", + "count", + "databaseId", + "description", + "enqueuedScripts", + "enqueuedStylesheets", + "id", + "isRestricted", + "link", + "name", + "parent", + "parentDatabaseId", + "parentId", + "posts", + "slug", + "taxonomy", + "teamMembers", + "termGroupId", + "termTaxonomyId", + "uri", + ], + "name": "Category", + }, + Object { + "fields": null, + "name": "CategoryIdType", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "CategoryToAncestorsCategoryConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "CategoryToAncestorsCategoryConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "CategoryToCategoryConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "CategoryToCategoryConnectionEdge", + }, + Object { + "fields": null, + "name": "CategoryToCategoryConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "CategoryToContentNodeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "CategoryToContentNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "CategoryToContentNodeConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "CategoryToParentCategoryConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "CategoryToPostConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "CategoryToPostConnectionEdge", + }, + Object { + "fields": null, + "name": "CategoryToPostConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "CategoryToTaxonomyConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "CategoryToTeamMemberConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "CategoryToTeamMemberConnectionEdge", + }, + Object { + "fields": null, + "name": "CategoryToTeamMemberConnectionWhereArgs", + }, + Object { + "fields": Array [ + "agent", + "approved", + "author", + "authorIp", + "commentedOn", + "content", + "databaseId", + "date", + "dateGmt", + "id", + "isRestricted", + "karma", + "parent", + "parentDatabaseId", + "parentId", + "replies", + "type", + ], + "name": "Comment", + }, + Object { + "fields": Array [ + "databaseId", + "email", + "id", + "isRestricted", + "name", + "url", + ], + "name": "CommentAuthor", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "CommentToCommentConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "CommentToCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "CommentToCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "CommentToCommenterConnectionEdge", + }, + Object { + "fields": Array [ + "node", + ], + "name": "CommentToContentNodeConnectionEdge", + }, + Object { + "fields": Array [ + "node", + ], + "name": "CommentToParentCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "CommentToParentCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "databaseId", + "email", + "id", + "isRestricted", + "name", + "url", + ], + "name": "Commenter", + }, + Object { + "fields": null, + "name": "CommentsConnectionOrderbyEnum", + }, + Object { + "fields": Array [ + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "guid", + "id", + "isPreview", + "isRestricted", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "previewRevisionDatabaseId", + "previewRevisionId", + "slug", + "status", + "template", + "uri", + ], + "name": "ContentNode", + }, + Object { + "fields": null, + "name": "ContentNodeIdTypeEnum", + }, + Object { + "fields": Array [ + "node", + ], + "name": "ContentNodeToContentTypeConnectionEdge", + }, + Object { + "fields": Array [ + "node", + ], + "name": "ContentNodeToEditLastConnectionEdge", + }, + Object { + "fields": Array [ + "lockTimestamp", + "node", + ], + "name": "ContentNodeToEditLockConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "ContentNodeToEnqueuedScriptConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "ContentNodeToEnqueuedScriptConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "ContentNodeToEnqueuedStylesheetConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "ContentNodeToEnqueuedStylesheetConnectionEdge", + }, + Object { + "fields": null, + "name": "ContentRevisionUnion", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "ContentTemplate", + }, + Object { + "fields": Array [ + "archivePath", + "canExport", + "connectedTaxonomies", + "contentNodes", + "deleteWithUser", + "description", + "excludeFromSearch", + "graphqlPluralName", + "graphqlSingleName", + "hasArchive", + "hierarchical", + "id", + "isFrontPage", + "isPostsPage", + "isRestricted", + "label", + "labels", + "menuIcon", + "menuPosition", + "name", + "public", + "publiclyQueryable", + "restBase", + "restControllerClass", + "showInAdminBar", + "showInGraphql", + "showInMenu", + "showInNavMenus", + "showInRest", + "showUi", + "uri", + ], + "name": "ContentType", + }, + Object { + "fields": null, + "name": "ContentTypeEnum", + }, + Object { + "fields": null, + "name": "ContentTypeIdTypeEnum", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "ContentTypeToContentNodeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "ContentTypeToContentNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "ContentTypeToContentNodeConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "ContentTypeToTaxonomyConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "ContentTypeToTaxonomyConnectionEdge", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "CoverTemplate", + }, + Object { + "fields": null, + "name": "CreateActionMonitorActionInput", + }, + Object { + "fields": Array [ + "actionMonitorAction", + "clientMutationId", + ], + "name": "CreateActionMonitorActionPayload", + }, + Object { + "fields": null, + "name": "CreateCategoryInput", + }, + Object { + "fields": Array [ + "category", + "clientMutationId", + ], + "name": "CreateCategoryPayload", + }, + Object { + "fields": null, + "name": "CreateCommentInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "comment", + "success", + ], + "name": "CreateCommentPayload", + }, + Object { + "fields": null, + "name": "CreateMediaItemInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "mediaItem", + ], + "name": "CreateMediaItemPayload", + }, + Object { + "fields": null, + "name": "CreatePageInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "page", + ], + "name": "CreatePagePayload", + }, + Object { + "fields": null, + "name": "CreatePostFormatInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "postFormat", + ], + "name": "CreatePostFormatPayload", + }, + Object { + "fields": null, + "name": "CreatePostInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "post", + ], + "name": "CreatePostPayload", + }, + Object { + "fields": null, + "name": "CreateProjectInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "project", + ], + "name": "CreateProjectPayload", + }, + Object { + "fields": null, + "name": "CreateTagInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "tag", + ], + "name": "CreateTagPayload", + }, + Object { + "fields": null, + "name": "CreateTeamMemberInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "teamMember", + ], + "name": "CreateTeamMemberPayload", + }, + Object { + "fields": null, + "name": "CreateTranslationFilterTestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "translationFilterTest", + ], + "name": "CreateTranslationFilterTestPayload", + }, + Object { + "fields": null, + "name": "CreateTypeLimit0TestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "typeLimit0Test", + ], + "name": "CreateTypeLimit0TestPayload", + }, + Object { + "fields": null, + "name": "CreateTypeLimitTestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "typeLimitTest", + ], + "name": "CreateTypeLimitTestPayload", + }, + Object { + "fields": null, + "name": "CreateUserInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "user", + ], + "name": "CreateUserPayload", + }, + Object { + "fields": Array [ + "databaseId", + ], + "name": "DatabaseIdentifier", + }, + Object { + "fields": null, + "name": "DateInput", + }, + Object { + "fields": null, + "name": "DateQueryInput", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "DefaultTemplate", + }, + Object { + "fields": null, + "name": "DeleteActionMonitorActionInput", + }, + Object { + "fields": Array [ + "actionMonitorAction", + "clientMutationId", + "deletedId", + ], + "name": "DeleteActionMonitorActionPayload", + }, + Object { + "fields": null, + "name": "DeleteCategoryInput", + }, + Object { + "fields": Array [ + "category", + "clientMutationId", + "deletedId", + ], + "name": "DeleteCategoryPayload", + }, + Object { + "fields": null, + "name": "DeleteCommentInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "comment", + "deletedId", + ], + "name": "DeleteCommentPayload", + }, + Object { + "fields": null, + "name": "DeleteMediaItemInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "mediaItem", + ], + "name": "DeleteMediaItemPayload", + }, + Object { + "fields": null, + "name": "DeletePageInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "page", + ], + "name": "DeletePagePayload", + }, + Object { + "fields": null, + "name": "DeletePostFormatInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "postFormat", + ], + "name": "DeletePostFormatPayload", + }, + Object { + "fields": null, + "name": "DeletePostInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "post", + ], + "name": "DeletePostPayload", + }, + Object { + "fields": null, + "name": "DeleteProjectInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "project", + ], + "name": "DeleteProjectPayload", + }, + Object { + "fields": null, + "name": "DeleteTagInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "tag", + ], + "name": "DeleteTagPayload", + }, + Object { + "fields": null, + "name": "DeleteTeamMemberInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "teamMember", + ], + "name": "DeleteTeamMemberPayload", + }, + Object { + "fields": null, + "name": "DeleteTranslationFilterTestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "translationFilterTest", + ], + "name": "DeleteTranslationFilterTestPayload", + }, + Object { + "fields": null, + "name": "DeleteTypeLimit0TestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "typeLimit0Test", + ], + "name": "DeleteTypeLimit0TestPayload", + }, + Object { + "fields": null, + "name": "DeleteTypeLimitTestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "typeLimitTest", + ], + "name": "DeleteTypeLimitTestPayload", + }, + Object { + "fields": null, + "name": "DeleteUserInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "deletedId", + "user", + ], + "name": "DeleteUserPayload", + }, + Object { + "fields": Array [ + "defaultCommentStatus", + "defaultPingStatus", + ], + "name": "DiscussionSettings", + }, + Object { + "fields": Array [ + "args", + "dependencies", + "extra", + "handle", + "id", + "src", + "version", + ], + "name": "EnqueuedAsset", + }, + Object { + "fields": Array [ + "args", + "dependencies", + "extra", + "handle", + "id", + "src", + "version", + ], + "name": "EnqueuedScript", + }, + Object { + "fields": Array [ + "args", + "dependencies", + "extra", + "handle", + "id", + "src", + "version", + ], + "name": "EnqueuedStylesheet", + }, + Object { + "fields": null, + "name": "Float", + }, + Object { + "fields": Array [ + "templateName", + ], + "name": "FullWidthTemplate", + }, + Object { + "fields": Array [ + "id", + "isDraft", + "modified", + "parentDatabaseId", + "previewDatabaseId", + "remoteUrl", + "singleName", + "userDatabaseId", + ], + "name": "GatsbyPreviewData", + }, + Object { + "fields": Array [ + "dateFormat", + "description", + "email", + "language", + "startOfWeek", + "timeFormat", + "timezone", + "title", + "url", + ], + "name": "GeneralSettings", + }, + Object { + "fields": Array [ + "ancestors", + "children", + "parent", + "parentDatabaseId", + "parentId", + ], + "name": "HierarchicalContentNode", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "HierarchicalContentNodeToContentNodeAncestorsConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "HierarchicalContentNodeToContentNodeAncestorsConnectionEdge", + }, + Object { + "fields": null, + "name": "HierarchicalContentNodeToContentNodeAncestorsConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "HierarchicalContentNodeToContentNodeChildrenConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "HierarchicalContentNodeToContentNodeChildrenConnectionEdge", + }, + Object { + "fields": null, + "name": "HierarchicalContentNodeToContentNodeChildrenConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "HierarchicalContentNodeToParentContentNodeConnectionEdge", + }, + Object { + "fields": Array [ + "parentDatabaseId", + "parentId", + ], + "name": "HierarchicalTermNode", + }, + Object { + "fields": null, + "name": "ID", + }, + Object { + "fields": null, + "name": "Int", + }, + Object { + "fields": Array [ + "file", + "height", + "meta", + "sizes", + "width", + ], + "name": "MediaDetails", + }, + Object { + "fields": Array [ + "altText", + "ancestors", + "author", + "authorDatabaseId", + "authorId", + "caption", + "children", + "commentCount", + "commentStatus", + "comments", + "contentType", + "databaseId", + "date", + "dateGmt", + "description", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "fileSize", + "guid", + "id", + "isPreview", + "isRestricted", + "lastEditedBy", + "link", + "mediaDetails", + "mediaItemUrl", + "mediaType", + "mimeType", + "modified", + "modifiedGmt", + "parent", + "parentDatabaseId", + "parentId", + "previewRevisionDatabaseId", + "previewRevisionId", + "sizes", + "slug", + "sourceUrl", + "srcSet", + "status", + "template", + "title", + "uri", + ], + "name": "MediaItem", + }, + Object { + "fields": null, + "name": "MediaItemIdType", + }, + Object { + "fields": Array [ + "aperture", + "camera", + "caption", + "copyright", + "createdTimestamp", + "credit", + "focalLength", + "iso", + "keywords", + "orientation", + "shutterSpeed", + "title", + ], + "name": "MediaItemMeta", + }, + Object { + "fields": null, + "name": "MediaItemSizeEnum", + }, + Object { + "fields": null, + "name": "MediaItemStatusEnum", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "MediaItemToCommentConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "MediaItemToCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "MediaItemToCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "file", + "fileSize", + "height", + "mimeType", + "name", + "sourceUrl", + "width", + ], + "name": "MediaSize", + }, + Object { + "fields": Array [ + "count", + "databaseId", + "id", + "isRestricted", + "locations", + "menuItems", + "name", + "slug", + ], + "name": "Menu", + }, + Object { + "fields": Array [ + "childItems", + "connectedNode", + "cssClasses", + "databaseId", + "description", + "id", + "isRestricted", + "label", + "linkRelationship", + "locations", + "menu", + "order", + "parentDatabaseId", + "parentId", + "path", + "target", + "title", + "url", + ], + "name": "MenuItem", + }, + Object { + "fields": Array [ + "databaseId", + "id", + "uri", + ], + "name": "MenuItemLinkable", + }, + Object { + "fields": null, + "name": "MenuItemNodeIdTypeEnum", + }, + Object { + "fields": null, + "name": "MenuItemObjectUnion", + }, + Object { + "fields": Array [ + "node", + ], + "name": "MenuItemToMenuConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "MenuItemToMenuItemConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "MenuItemToMenuItemConnectionEdge", + }, + Object { + "fields": null, + "name": "MenuItemToMenuItemConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "MenuItemToMenuItemLinkableConnectionEdge", + }, + Object { + "fields": null, + "name": "MenuItemsWhereArgs", + }, + Object { + "fields": null, + "name": "MenuLocationEnum", + }, + Object { + "fields": null, + "name": "MenuNodeIdTypeEnum", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "MenuToMenuItemConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "MenuToMenuItemConnectionEdge", + }, + Object { + "fields": null, + "name": "MenuToMenuItemConnectionWhereArgs", + }, + Object { + "fields": null, + "name": "MimeTypeEnum", + }, + Object { + "fields": Array [ + "id", + ], + "name": "Node", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + ], + "name": "NodeWithAuthor", + }, + Object { + "fields": Array [ + "node", + ], + "name": "NodeWithAuthorToUserConnectionEdge", + }, + Object { + "fields": Array [ + "commentCount", + "commentStatus", + ], + "name": "NodeWithComments", + }, + Object { + "fields": Array [ + "content", + ], + "name": "NodeWithContentEditor", + }, + Object { + "fields": Array [ + "excerpt", + ], + "name": "NodeWithExcerpt", + }, + Object { + "fields": Array [ + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + ], + "name": "NodeWithFeaturedImage", + }, + Object { + "fields": Array [ + "node", + ], + "name": "NodeWithFeaturedImageToMediaItemConnectionEdge", + }, + Object { + "fields": Array [ + "menuOrder", + ], + "name": "NodeWithPageAttributes", + }, + Object { + "fields": Array [ + "isRevision", + "revisionOf", + ], + "name": "NodeWithRevisions", + }, + Object { + "fields": Array [ + "node", + ], + "name": "NodeWithRevisionsToContentNodeConnectionEdge", + }, + Object { + "fields": Array [ + "template", + ], + "name": "NodeWithTemplate", + }, + Object { + "fields": Array [ + "title", + ], + "name": "NodeWithTitle", + }, + Object { + "fields": Array [ + "pingStatus", + "pinged", + "toPing", + ], + "name": "NodeWithTrackbacks", + }, + Object { + "fields": null, + "name": "OrderEnum", + }, + Object { + "fields": Array [ + "acfPageFields", + "ancestors", + "author", + "authorDatabaseId", + "authorId", + "children", + "commentCount", + "commentStatus", + "comments", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isFrontPage", + "isPostsPage", + "isPreview", + "isRestricted", + "isRevision", + "lastEditedBy", + "link", + "menuOrder", + "modified", + "modifiedGmt", + "parent", + "parentDatabaseId", + "parentId", + "preview", + "previewRevisionDatabaseId", + "previewRevisionId", + "revisionOf", + "revisions", + "slug", + "status", + "template", + "title", + "uri", + ], + "name": "Page", + }, + Object { + "fields": null, + "name": "PageIdType", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PageToCommentConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PageToCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "PageToCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "PageToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PageToRevisionConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PageToRevisionConnectionEdge", + }, + Object { + "fields": null, + "name": "PageToRevisionConnectionWhereArgs", + }, + Object { + "fields": Array [ + "buttonGroupField", + "checkboxField", + "colorPickerField", + "datePickerField", + "dateTimePickerField", + "doc", + "fieldGroupName", + "fileField", + "flexibleContentField", + "galleryField", + "googleMapField", + "groupField", + "imageField", + "linkField", + "mov", + "mp4", + "oembedField", + "pageLinkField", + "pdf", + "postObjectField", + "radioButtonField", + "rangeField", + "relationshipField", + "repeaterField", + "selectField", + "taxonomyField", + "textAreaField", + "textField", + "timePicker", + "trueFalseField", + "userField", + "wysiwygEditorField", + ], + "name": "Page_Acfpagefields", + }, + Object { + "fields": null, + "name": "Page_Acfpagefields_FlexibleContentField", + }, + Object { + "fields": Array [ + "fieldGroupName", + "flexImage", + "flexRelationship", + "flexRepeater", + "flexTitle", + ], + "name": "Page_Acfpagefields_FlexibleContentField_FlexLayout1", + }, + Object { + "fields": Array [ + "fieldGroupName", + "flexRepeaterRelationship", + "flexRepeaterTitle", + ], + "name": "Page_Acfpagefields_FlexibleContentField_FlexLayout1_flexRepeater", + }, + Object { + "fields": Array [ + "fieldGroupName", + ], + "name": "Page_Acfpagefields_GroupField", + }, + Object { + "fields": Array [ + "fieldGroupName", + "repeaterFlex", + ], + "name": "Page_Acfpagefields_repeaterField", + }, + Object { + "fields": null, + "name": "Page_Acfpagefields_repeaterField_RepeaterFlex", + }, + Object { + "fields": Array [ + "fieldGroupName", + "repeaterFlexRelationship", + ], + "name": "Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexRelationshipLayout", + }, + Object { + "fields": Array [ + "fieldGroupName", + "repeaterFlexTitle", + ], + "name": "Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexTitleLayout", + }, + Object { + "fields": Array [ + "author", + "authorUri", + "description", + "id", + "isRestricted", + "name", + "path", + "pluginUri", + "version", + ], + "name": "Plugin", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "categories", + "commentCount", + "commentStatus", + "comments", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "excerpt", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isPreview", + "isRestricted", + "isRevision", + "isSticky", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "pingStatus", + "pinged", + "postFormats", + "preview", + "previewRevisionDatabaseId", + "previewRevisionId", + "revisionOf", + "revisions", + "slug", + "status", + "tags", + "template", + "terms", + "title", + "toPing", + "uri", + ], + "name": "Post", + }, + Object { + "fields": null, + "name": "PostCategoriesInput", + }, + Object { + "fields": null, + "name": "PostCategoriesNodeInput", + }, + Object { + "fields": Array [ + "contentNodes", + "count", + "databaseId", + "description", + "enqueuedScripts", + "enqueuedStylesheets", + "id", + "isRestricted", + "link", + "name", + "posts", + "slug", + "taxonomy", + "teamMembers", + "termGroupId", + "termTaxonomyId", + "uri", + ], + "name": "PostFormat", + }, + Object { + "fields": null, + "name": "PostFormatIdType", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostFormatToContentNodeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostFormatToContentNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "PostFormatToContentNodeConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostFormatToPostConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostFormatToPostConnectionEdge", + }, + Object { + "fields": null, + "name": "PostFormatToPostConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "PostFormatToTaxonomyConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostFormatToTeamMemberConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostFormatToTeamMemberConnectionEdge", + }, + Object { + "fields": null, + "name": "PostFormatToTeamMemberConnectionWhereArgs", + }, + Object { + "fields": null, + "name": "PostIdType", + }, + Object { + "fields": null, + "name": "PostObjectFieldFormatEnum", + }, + Object { + "fields": null, + "name": "PostObjectUnion", + }, + Object { + "fields": null, + "name": "PostObjectsConnectionDateColumnEnum", + }, + Object { + "fields": null, + "name": "PostObjectsConnectionOrderbyEnum", + }, + Object { + "fields": null, + "name": "PostObjectsConnectionOrderbyInput", + }, + Object { + "fields": null, + "name": "PostPostFormatsInput", + }, + Object { + "fields": null, + "name": "PostPostFormatsNodeInput", + }, + Object { + "fields": null, + "name": "PostStatusEnum", + }, + Object { + "fields": null, + "name": "PostTagsInput", + }, + Object { + "fields": null, + "name": "PostTagsNodeInput", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostToCategoryConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostToCategoryConnectionEdge", + }, + Object { + "fields": null, + "name": "PostToCategoryConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostToCommentConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostToCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "PostToCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostToPostFormatConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostToPostFormatConnectionEdge", + }, + Object { + "fields": null, + "name": "PostToPostFormatConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "PostToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostToRevisionConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostToRevisionConnectionEdge", + }, + Object { + "fields": null, + "name": "PostToRevisionConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostToTagConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostToTagConnectionEdge", + }, + Object { + "fields": null, + "name": "PostToTagConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "PostToTermNodeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "PostToTermNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "PostToTermNodeConnectionWhereArgs", + }, + Object { + "fields": Array [ + "addNew", + "addNewItem", + "allItems", + "archives", + "attributes", + "editItem", + "featuredImage", + "filterItemsList", + "insertIntoItem", + "itemsList", + "itemsListNavigation", + "menuName", + "name", + "newItem", + "notFound", + "notFoundInTrash", + "parentItemColon", + "removeFeaturedImage", + "searchItems", + "setFeaturedImage", + "singularName", + "uploadedToThisItem", + "useFeaturedImage", + "viewItem", + "viewItems", + ], + "name": "PostTypeLabelDetails", + }, + Object { + "fields": Array [ + "acfProject", + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isPreview", + "isRestricted", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "preview", + "previewRevisionDatabaseId", + "previewRevisionId", + "slug", + "status", + "template", + "title", + "uri", + ], + "name": "Project", + }, + Object { + "fields": null, + "name": "ProjectIdType", + }, + Object { + "fields": Array [ + "node", + ], + "name": "ProjectToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "fieldGroupName", + "image", + "projectUrl", + ], + "name": "Project_Acfproject", + }, + Object { + "fields": Array [ + "postsPerPage", + ], + "name": "ReadingSettings", + }, + Object { + "fields": null, + "name": "RegisterUserInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "user", + ], + "name": "RegisterUserPayload", + }, + Object { + "fields": null, + "name": "RelationEnum", + }, + Object { + "fields": null, + "name": "ResetUserPasswordInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "user", + ], + "name": "ResetUserPasswordPayload", + }, + Object { + "fields": null, + "name": "RestoreCommentInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "comment", + "restoredId", + ], + "name": "RestoreCommentPayload", + }, + Object { + "fields": Array [ + "updateCategory", + "updatePostFormat", + "updateTag", + "createActionMonitorAction", + "createCategory", + "createComment", + "createMediaItem", + "createPage", + "createPost", + "createPostFormat", + "createProject", + "createTag", + "createTeamMember", + "createTranslationFilterTest", + "createTypeLimit0Test", + "createTypeLimitTest", + "createUser", + "deleteActionMonitorAction", + "deleteCategory", + "deleteComment", + "deleteMediaItem", + "deletePage", + "deletePost", + "deletePostFormat", + "deleteProject", + "deleteTag", + "deleteTeamMember", + "deleteTranslationFilterTest", + "deleteTypeLimit0Test", + "deleteTypeLimitTest", + "deleteUser", + "increaseCount", + "registerUser", + "resetUserPassword", + "restoreComment", + "sendPasswordResetEmail", + "updateActionMonitorAction", + "updateComment", + "updateMediaItem", + "updatePage", + "updatePost", + "updateProject", + "updateSettings", + "updateTeamMember", + "updateTranslationFilterTest", + "updateTypeLimit0Test", + "updateTypeLimitTest", + "updateUser", + "wpGatsbyRemotePreviewStatus", + ], + "name": "RootMutation", + }, + Object { + "fields": Array [ + "actionMonitorAction", + "actionMonitorActions", + "allSettings", + "categories", + "category", + "comment", + "comments", + "contentNode", + "contentNodes", + "contentType", + "contentTypes", + "discussionSettings", + "generalSettings", + "isWpGatsby", + "mediaItem", + "mediaItems", + "menu", + "menuItem", + "menuItems", + "menus", + "node", + "nodeByUri", + "page", + "pages", + "plugin", + "plugins", + "post", + "postFormat", + "postFormats", + "posts", + "project", + "projects", + "readingSettings", + "registeredScripts", + "registeredStylesheets", + "revisions", + "schemaMd5", + "tag", + "tags", + "taxonomies", + "taxonomy", + "teamMember", + "teamMembers", + "termNode", + "terms", + "theme", + "themes", + "translationFilterTest", + "translationFilterTests", + "typeLimit0Test", + "typeLimit0Tests", + "typeLimitTest", + "typeLimitTests", + "user", + "userRole", + "userRoles", + "users", + "viewer", + "wpGatsby", + "wpGatsbyCompatibility", + "writingSettings", + ], + "name": "RootQuery", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToActionMonitorActionConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToActionMonitorActionConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToActionMonitorActionConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToCategoryConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToCategoryConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToCategoryConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToCommentConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToContentNodeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToContentNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToContentNodeConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToContentRevisionUnionConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToContentRevisionUnionConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToContentRevisionUnionConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToContentTypeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToContentTypeConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToEnqueuedScriptConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToEnqueuedScriptConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToEnqueuedStylesheetConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToEnqueuedStylesheetConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToMediaItemConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToMediaItemConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToMediaItemConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToMenuConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToMenuConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToMenuConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToMenuItemConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToMenuItemConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToMenuItemConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToPageConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToPageConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToPageConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToPluginConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToPluginConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToPostConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToPostConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToPostConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToPostFormatConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToPostFormatConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToPostFormatConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToProjectConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToProjectConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToProjectConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToTagConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToTagConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToTagConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToTaxonomyConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToTaxonomyConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToTeamMemberConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToTeamMemberConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToTeamMemberConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToTermNodeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToTermNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToTermNodeConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToThemeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToThemeConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToTranslationFilterTestConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToTranslationFilterTestConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToTranslationFilterTestConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToTypeLimit0TestConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToTypeLimit0TestConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToTypeLimit0TestConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToTypeLimitTestConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToTypeLimitTestConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToTypeLimitTestConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToUserConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToUserConnectionEdge", + }, + Object { + "fields": null, + "name": "RootQueryToUserConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "RootQueryToUserRoleConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "RootQueryToUserRoleConnectionEdge", + }, + Object { + "fields": null, + "name": "SendPasswordResetEmailInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "user", + ], + "name": "SendPasswordResetEmailPayload", + }, + Object { + "fields": Array [ + "discussionSettingsDefaultCommentStatus", + "discussionSettingsDefaultPingStatus", + "generalSettingsDateFormat", + "generalSettingsDescription", + "generalSettingsEmail", + "generalSettingsLanguage", + "generalSettingsStartOfWeek", + "generalSettingsTimeFormat", + "generalSettingsTimezone", + "generalSettingsTitle", + "generalSettingsUrl", + "readingSettingsPostsPerPage", + "writingSettingsDefaultCategory", + "writingSettingsDefaultPostFormat", + "writingSettingsUseSmilies", + ], + "name": "Settings", + }, + Object { + "fields": null, + "name": "String", + }, + Object { + "fields": Array [ + "contentNodes", + "count", + "databaseId", + "description", + "enqueuedScripts", + "enqueuedStylesheets", + "id", + "isRestricted", + "link", + "name", + "posts", + "slug", + "taxonomy", + "teamMembers", + "termGroupId", + "termTaxonomyId", + "uri", + ], + "name": "Tag", + }, + Object { + "fields": null, + "name": "TagIdType", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TagToContentNodeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TagToContentNodeConnectionEdge", + }, + Object { + "fields": null, + "name": "TagToContentNodeConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TagToPostConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TagToPostConnectionEdge", + }, + Object { + "fields": null, + "name": "TagToPostConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "TagToTaxonomyConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TagToTeamMemberConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TagToTeamMemberConnectionEdge", + }, + Object { + "fields": null, + "name": "TagToTeamMemberConnectionWhereArgs", + }, + Object { + "fields": Array [ + "archivePath", + "connectedContentTypes", + "description", + "graphqlPluralName", + "graphqlSingleName", + "hierarchical", + "id", + "isRestricted", + "label", + "name", + "public", + "restBase", + "restControllerClass", + "showCloud", + "showInAdminColumn", + "showInGraphql", + "showInMenu", + "showInNavMenus", + "showInQuickEdit", + "showInRest", + "showUi", + ], + "name": "Taxonomy", + }, + Object { + "fields": null, + "name": "TaxonomyEnum", + }, + Object { + "fields": null, + "name": "TaxonomyIdTypeEnum", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TaxonomyToContentTypeConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TaxonomyToContentTypeConnectionEdge", + }, + Object { + "fields": Array [ + "acfData", + "author", + "authorDatabaseId", + "authorId", + "categories", + "commentCount", + "commentStatus", + "comments", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "excerpt", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isPreview", + "isRestricted", + "isRevision", + "lastEditedBy", + "link", + "menuOrder", + "modified", + "modifiedGmt", + "pingStatus", + "pinged", + "postFormats", + "preview", + "previewRevisionDatabaseId", + "previewRevisionId", + "revisionOf", + "revisions", + "slug", + "status", + "tags", + "template", + "title", + "toPing", + "uri", + ], + "name": "TeamMember", + }, + Object { + "fields": null, + "name": "TeamMemberCategoriesInput", + }, + Object { + "fields": null, + "name": "TeamMemberCategoriesNodeInput", + }, + Object { + "fields": null, + "name": "TeamMemberIdType", + }, + Object { + "fields": null, + "name": "TeamMemberPostFormatsInput", + }, + Object { + "fields": null, + "name": "TeamMemberPostFormatsNodeInput", + }, + Object { + "fields": null, + "name": "TeamMemberTagsInput", + }, + Object { + "fields": null, + "name": "TeamMemberTagsNodeInput", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TeamMemberToCategoryConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TeamMemberToCategoryConnectionEdge", + }, + Object { + "fields": null, + "name": "TeamMemberToCategoryConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TeamMemberToCommentConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TeamMemberToCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "TeamMemberToCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TeamMemberToPostFormatConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TeamMemberToPostFormatConnectionEdge", + }, + Object { + "fields": null, + "name": "TeamMemberToPostFormatConnectionWhereArgs", + }, + Object { + "fields": Array [ + "node", + ], + "name": "TeamMemberToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TeamMemberToRevisionConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TeamMemberToRevisionConnectionEdge", + }, + Object { + "fields": null, + "name": "TeamMemberToRevisionConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TeamMemberToTagConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TeamMemberToTagConnectionEdge", + }, + Object { + "fields": null, + "name": "TeamMemberToTagConnectionWhereArgs", + }, + Object { + "fields": Array [ + "fieldGroupName", + "name", + "portrait", + "projects", + "title", + "twitterlink", + "webSite", + ], + "name": "TeamMember_Acfdata", + }, + Object { + "fields": null, + "name": "TeamMember_Acfdata_Projects", + }, + Object { + "fields": Array [ + "count", + "databaseId", + "description", + "enqueuedScripts", + "enqueuedStylesheets", + "id", + "isRestricted", + "link", + "name", + "slug", + "termGroupId", + "termTaxonomyId", + "uri", + ], + "name": "TermNode", + }, + Object { + "fields": null, + "name": "TermNodeIdTypeEnum", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TermNodeToEnqueuedScriptConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TermNodeToEnqueuedScriptConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "TermNodeToEnqueuedStylesheetConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "TermNodeToEnqueuedStylesheetConnectionEdge", + }, + Object { + "fields": null, + "name": "TermObjectUnion", + }, + Object { + "fields": null, + "name": "TermObjectsConnectionOrderbyEnum", + }, + Object { + "fields": Array [ + "author", + "authorUri", + "description", + "id", + "isRestricted", + "name", + "screenshot", + "slug", + "tags", + "themeUri", + "version", + ], + "name": "Theme", + }, + Object { + "fields": null, + "name": "TimezoneEnum", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isPreview", + "isRestricted", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "preview", + "previewRevisionDatabaseId", + "previewRevisionId", + "slug", + "status", + "template", + "title", + "uri", + ], + "name": "TranslationFilterTest", + }, + Object { + "fields": null, + "name": "TranslationFilterTestIdType", + }, + Object { + "fields": Array [ + "node", + ], + "name": "TranslationFilterTestToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isPreview", + "isRestricted", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "preview", + "previewRevisionDatabaseId", + "previewRevisionId", + "slug", + "status", + "template", + "title", + "uri", + ], + "name": "TypeLimit0Test", + }, + Object { + "fields": null, + "name": "TypeLimit0TestIdType", + }, + Object { + "fields": Array [ + "node", + ], + "name": "TypeLimit0TestToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "author", + "authorDatabaseId", + "authorId", + "content", + "contentType", + "databaseId", + "date", + "dateGmt", + "desiredSlug", + "editingLockedBy", + "enclosure", + "enqueuedScripts", + "enqueuedStylesheets", + "featuredImage", + "featuredImageDatabaseId", + "featuredImageId", + "guid", + "id", + "isPreview", + "isRestricted", + "lastEditedBy", + "link", + "modified", + "modifiedGmt", + "preview", + "previewRevisionDatabaseId", + "previewRevisionId", + "slug", + "status", + "template", + "title", + "uri", + ], + "name": "TypeLimitTest", + }, + Object { + "fields": null, + "name": "TypeLimitTestIdType", + }, + Object { + "fields": Array [ + "node", + ], + "name": "TypeLimitTestToPreviewConnectionEdge", + }, + Object { + "fields": Array [ + "id", + "uri", + ], + "name": "UniformResourceIdentifiable", + }, + Object { + "fields": null, + "name": "UpdateActionMonitorActionInput", + }, + Object { + "fields": Array [ + "actionMonitorAction", + "clientMutationId", + ], + "name": "UpdateActionMonitorActionPayload", + }, + Object { + "fields": null, + "name": "UpdateCategoryInput", + }, + Object { + "fields": Array [ + "category", + "clientMutationId", + ], + "name": "UpdateCategoryPayload", + }, + Object { + "fields": null, + "name": "UpdateCommentInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "comment", + "success", + ], + "name": "UpdateCommentPayload", + }, + Object { + "fields": null, + "name": "UpdateMediaItemInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "mediaItem", + ], + "name": "UpdateMediaItemPayload", + }, + Object { + "fields": null, + "name": "UpdatePageInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "page", + ], + "name": "UpdatePagePayload", + }, + Object { + "fields": null, + "name": "UpdatePostFormatInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "postFormat", + ], + "name": "UpdatePostFormatPayload", + }, + Object { + "fields": null, + "name": "UpdatePostInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "post", + ], + "name": "UpdatePostPayload", + }, + Object { + "fields": null, + "name": "UpdateProjectInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "project", + ], + "name": "UpdateProjectPayload", + }, + Object { + "fields": null, + "name": "UpdateSettingsInput", + }, + Object { + "fields": Array [ + "allSettings", + "clientMutationId", + "discussionSettings", + "generalSettings", + "readingSettings", + "writingSettings", + ], + "name": "UpdateSettingsPayload", + }, + Object { + "fields": null, + "name": "UpdateTagInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "tag", + ], + "name": "UpdateTagPayload", + }, + Object { + "fields": null, + "name": "UpdateTeamMemberInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "teamMember", + ], + "name": "UpdateTeamMemberPayload", + }, + Object { + "fields": null, + "name": "UpdateTranslationFilterTestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "translationFilterTest", + ], + "name": "UpdateTranslationFilterTestPayload", + }, + Object { + "fields": null, + "name": "UpdateTypeLimit0TestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "typeLimit0Test", + ], + "name": "UpdateTypeLimit0TestPayload", + }, + Object { + "fields": null, + "name": "UpdateTypeLimitTestInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "typeLimitTest", + ], + "name": "UpdateTypeLimitTestPayload", + }, + Object { + "fields": null, + "name": "UpdateUserInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "user", + ], + "name": "UpdateUserPayload", + }, + Object { + "fields": Array [ + "avatar", + "capKey", + "capabilities", + "comments", + "databaseId", + "description", + "email", + "enqueuedScripts", + "enqueuedStylesheets", + "extraCapabilities", + "firstName", + "id", + "isRestricted", + "lastName", + "locale", + "mediaItems", + "name", + "nicename", + "nickname", + "pages", + "posts", + "projects", + "registeredDate", + "revisions", + "roles", + "slug", + "teamMembers", + "translationFilterTests", + "typeLimit0Tests", + "typeLimitTests", + "uri", + "url", + "username", + ], + "name": "User", + }, + Object { + "fields": null, + "name": "UserNodeIdTypeEnum", + }, + Object { + "fields": Array [ + "capabilities", + "displayName", + "id", + "isRestricted", + "name", + ], + "name": "UserRole", + }, + Object { + "fields": null, + "name": "UserRoleEnum", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToCommentConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToCommentConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToCommentConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToContentRevisionUnionConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToContentRevisionUnionConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToContentRevisionUnionConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToEnqueuedScriptConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToEnqueuedScriptConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToEnqueuedStylesheetConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToEnqueuedStylesheetConnectionEdge", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToMediaItemConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToMediaItemConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToMediaItemConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToPageConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToPageConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToPageConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToPostConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToPostConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToPostConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToProjectConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToProjectConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToProjectConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToTeamMemberConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToTeamMemberConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToTeamMemberConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToTranslationFilterTestConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToTranslationFilterTestConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToTranslationFilterTestConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToTypeLimit0TestConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToTypeLimit0TestConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToTypeLimit0TestConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToTypeLimitTestConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToTypeLimitTestConnectionEdge", + }, + Object { + "fields": null, + "name": "UserToTypeLimitTestConnectionWhereArgs", + }, + Object { + "fields": Array [ + "edges", + "nodes", + "pageInfo", + ], + "name": "UserToUserRoleConnection", + }, + Object { + "fields": Array [ + "cursor", + "node", + ], + "name": "UserToUserRoleConnectionEdge", + }, + Object { + "fields": null, + "name": "UsersConnectionOrderbyEnum", + }, + Object { + "fields": null, + "name": "UsersConnectionOrderbyInput", + }, + Object { + "fields": null, + "name": "UsersConnectionSearchColumnEnum", + }, + Object { + "fields": Array [ + "arePrettyPermalinksEnabled", + "gatsbyPreviewStatus", + "isPreviewFrontendOnline", + ], + "name": "WPGatsby", + }, + Object { + "fields": Array [ + "satisfies", + ], + "name": "WPGatsbyCompatibility", + }, + Object { + "fields": Array [ + "path", + ], + "name": "WPGatsbyPageNode", + }, + Object { + "fields": Array [ + "modifiedLocal", + "modifiedRemote", + "pageNode", + "remoteStatus", + "statusContext", + "statusType", + ], + "name": "WPGatsbyPreviewStatus", + }, + Object { + "fields": null, + "name": "WPGatsbyRemotePreviewStatusEnum", + }, + Object { + "fields": Array [ + "wpGQL", + "wpGatsby", + ], + "name": "WPGatsbySatisfies", + }, + Object { + "fields": null, + "name": "WPGatsbyWPPreviewedNodeStatus", + }, + Object { + "fields": Array [ + "endCursor", + "hasNextPage", + "hasPreviousPage", + "startCursor", + ], + "name": "WPPageInfo", + }, + Object { + "fields": null, + "name": "WpGatsbyRemotePreviewStatusInput", + }, + Object { + "fields": Array [ + "clientMutationId", + "success", + ], + "name": "WpGatsbyRemotePreviewStatusPayload", + }, + Object { + "fields": Array [ + "defaultCategory", + "defaultPostFormat", + "useSmilies", + ], + "name": "WritingSettings", + }, + Object { + "fields": Array [ + "name", + "description", + "args", + "isRepeatable", + "locations", + ], + "name": "__Directive", + }, + Object { + "fields": null, + "name": "__DirectiveLocation", + }, + Object { + "fields": Array [ + "name", + "description", + "isDeprecated", + "deprecationReason", + ], + "name": "__EnumValue", + }, + Object { + "fields": Array [ + "name", + "description", + "args", + "type", + "isDeprecated", + "deprecationReason", + ], + "name": "__Field", + }, + Object { + "fields": Array [ + "name", + "description", + "type", + "defaultValue", + ], + "name": "__InputValue", + }, + Object { + "fields": Array [ + "types", + "queryType", + "mutationType", + "subscriptionType", + "directives", + ], + "name": "__Schema", + }, + Object { + "fields": Array [ + "kind", + "name", + "description", + "fields", + "interfaces", + "possibleTypes", + "enumValues", + "inputFields", + "ofType", + ], + "name": "__Type", + }, + Object { + "fields": null, + "name": "__TypeKind", + }, +] +`; diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/query-generation.test.js.snap b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/query-generation.test.js.snap new file mode 100644 index 0000000000000..0b803e4dfb3ac --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/__snapshots__/query-generation.test.js.snap @@ -0,0 +1,4112 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Category node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + categories(first: $first, after: $after) { + nodes { + ancestors(first: 100) { + nodes { + id + } + } + wpChildren: children(first: 100) { + nodes { + id + } + } + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + wpParent: parent { + node { + id + } + } + parentDatabaseId + parentId + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Category node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + category(id: $id, idType: ID, asPreview: true) { + ancestors(first: 100) { + nodes { + id + } + } + wpChildren: children(first: 100) { + nodes { + id + } + } + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + wpParent: parent { + node { + id + } + } + parentDatabaseId + parentId + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Category node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + category(id: $id) { + ancestors(first: 100) { + nodes { + id + } + } + wpChildren: children(first: 100) { + nodes { + id + } + } + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + wpParent: parent { + node { + id + } + } + parentDatabaseId + parentId + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Comment node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + comments(first: $first, after: $after) { + nodes { + agent + approved + author { + node { + id + __typename + } + } + authorIp + commentedOn { + node { + id + __typename + } + } + content + date + dateGmt + id + karma + wpParent: parent { + node { + id + } + } + parentDatabaseId + parentId + replies(first: 100) { + nodes { + id + } + } + type + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Comment node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + comment(id: $id, idType: ID, asPreview: true) { + agent + approved + author { + node { + id + __typename + } + } + authorIp + commentedOn { + node { + id + __typename + } + } + content + date + dateGmt + id + karma + wpParent: parent { + node { + id + } + } + parentDatabaseId + parentId + replies(first: 100) { + nodes { + id + } + } + type + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Comment node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + comment(id: $id) { + agent + approved + author { + node { + id + __typename + } + } + authorIp + commentedOn { + node { + id + __typename + } + } + content + date + dateGmt + id + karma + wpParent: parent { + node { + id + } + } + parentDatabaseId + parentId + replies(first: 100) { + nodes { + id + } + } + type + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] ContentType node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + contentTypes(first: $first, after: $after) { + nodes { + archivePath + canExport + connectedTaxonomies(first: 100) { + nodes { + id + } + } + contentNodes(first: 100) { + nodes { + id + __typename + } + } + deleteWithUser + description + excludeFromSearch + graphqlPluralName + graphqlSingleName + hasArchive + hierarchical + id + isFrontPage + isPostsPage + label + labels { + addNew + addNewItem + allItems + archives + attributes + editItem + featuredImage + filterItemsList + insertIntoItem + itemsList + itemsListNavigation + menuName + name + newItem + notFound + notFoundInTrash + parentItemColon + removeFeaturedImage + searchItems + setFeaturedImage + singularName + uploadedToThisItem + useFeaturedImage + viewItem + viewItems + } + menuIcon + menuPosition + name + public + publiclyQueryable + restBase + restControllerClass + showInAdminBar + showInGraphql + showInMenu + showInNavMenus + showInRest + showUi + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] ContentType node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + contentType(id: $id, idType: ID, asPreview: true) { + archivePath + canExport + connectedTaxonomies(first: 100) { + nodes { + id + } + } + contentNodes(first: 100) { + nodes { + id + __typename + } + } + deleteWithUser + description + excludeFromSearch + graphqlPluralName + graphqlSingleName + hasArchive + hierarchical + id + isFrontPage + isPostsPage + label + labels { + addNew + addNewItem + allItems + archives + attributes + editItem + featuredImage + filterItemsList + insertIntoItem + itemsList + itemsListNavigation + menuName + name + newItem + notFound + notFoundInTrash + parentItemColon + removeFeaturedImage + searchItems + setFeaturedImage + singularName + uploadedToThisItem + useFeaturedImage + viewItem + viewItems + } + menuIcon + menuPosition + name + public + publiclyQueryable + restBase + restControllerClass + showInAdminBar + showInGraphql + showInMenu + showInNavMenus + showInRest + showUi + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] ContentType node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + contentType(id: $id) { + archivePath + canExport + connectedTaxonomies(first: 100) { + nodes { + id + } + } + contentNodes(first: 100) { + nodes { + id + __typename + } + } + deleteWithUser + description + excludeFromSearch + graphqlPluralName + graphqlSingleName + hasArchive + hierarchical + id + isFrontPage + isPostsPage + label + labels { + addNew + addNewItem + allItems + archives + attributes + editItem + featuredImage + filterItemsList + insertIntoItem + itemsList + itemsListNavigation + menuName + name + newItem + notFound + notFoundInTrash + parentItemColon + removeFeaturedImage + searchItems + setFeaturedImage + singularName + uploadedToThisItem + useFeaturedImage + viewItem + viewItems + } + menuIcon + menuPosition + name + public + publiclyQueryable + restBase + restControllerClass + showInAdminBar + showInGraphql + showInMenu + showInNavMenus + showInRest + showUi + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] MediaItem node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + mediaItems(first: $first, after: $after) { + nodes { + altText + ancestors(first: 100) { + nodes { + id + __typename + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + caption + wpChildren: children(first: 100) { + nodes { + id + __typename + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + contentType { + node { + id + } + } + databaseId + date + dateGmt + description + desiredSlug + enclosure + fileSize + guid + id + lastEditedBy { + node { + id + } + } + link + mediaDetails { + file + height + meta { + aperture + camera + caption + copyright + createdTimestamp + credit + focalLength + iso + keywords + orientation + shutterSpeed + title + } + sizes { + file + fileSize + height + mimeType + name + sourceUrl + width + } + width + } + mediaItemUrl + mediaType + mimeType + modified + modifiedGmt + wpParent: parent { + node { + id + __typename + } + } + parentDatabaseId + parentId + sizes + slug + sourceUrl + srcSet + status + template { + templateName + __typename + } + title + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] MediaItem node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + mediaItem(id: $id, idType: ID, asPreview: true) { + altText + ancestors(first: 100) { + nodes { + id + __typename + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + caption + wpChildren: children(first: 100) { + nodes { + id + __typename + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + contentType { + node { + id + } + } + databaseId + date + dateGmt + description + desiredSlug + enclosure + fileSize + guid + id + lastEditedBy { + node { + id + } + } + link + mediaDetails { + file + height + meta { + aperture + camera + caption + copyright + createdTimestamp + credit + focalLength + iso + keywords + orientation + shutterSpeed + title + } + sizes { + file + fileSize + height + mimeType + name + sourceUrl + width + } + width + } + mediaItemUrl + mediaType + mimeType + modified + modifiedGmt + wpParent: parent { + node { + id + __typename + } + } + parentDatabaseId + parentId + sizes + slug + sourceUrl + srcSet + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] MediaItem node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + mediaItem(id: $id) { + altText + ancestors(first: 100) { + nodes { + id + __typename + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + caption + wpChildren: children(first: 100) { + nodes { + id + __typename + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + contentType { + node { + id + } + } + databaseId + date + dateGmt + description + desiredSlug + enclosure + fileSize + guid + id + lastEditedBy { + node { + id + } + } + link + mediaDetails { + file + height + meta { + aperture + camera + caption + copyright + createdTimestamp + credit + focalLength + iso + keywords + orientation + shutterSpeed + title + } + sizes { + file + fileSize + height + mimeType + name + sourceUrl + width + } + width + } + mediaItemUrl + mediaType + mimeType + modified + modifiedGmt + wpParent: parent { + node { + id + __typename + } + } + parentDatabaseId + parentId + sizes + slug + sourceUrl + srcSet + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Menu node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + menus(first: $first, after: $after) { + nodes { + count + databaseId + id + locations + menuItems(first: 100) { + nodes { + id + } + } + name + slug + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Menu node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + menu(id: $id, idType: ID, asPreview: true) { + count + databaseId + id + locations + menuItems(first: 100) { + nodes { + id + } + } + name + slug + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Menu node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + menu(id: $id) { + count + databaseId + id + locations + menuItems(first: 100) { + nodes { + id + } + } + name + slug + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] MenuItem node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + menuItems(first: $first, after: $after) { + nodes { + childItems(first: 100) { + nodes { + id + } + } + connectedNode { + node { + id + __typename + } + } + cssClasses + databaseId + description + id + label + linkRelationship + locations + menu { + node { + id + } + } + order + parentDatabaseId + parentId + path + target + title + url + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] MenuItem node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + menuItem(id: $id, idType: ID, asPreview: true) { + childItems(first: 100) { + nodes { + id + } + } + connectedNode { + node { + id + __typename + } + } + cssClasses + databaseId + description + id + label + linkRelationship + locations + menu { + node { + id + } + } + order + parentDatabaseId + parentId + path + target + title + url + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] MenuItem node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + menuItem(id: $id) { + childItems(first: 100) { + nodes { + id + } + } + connectedNode { + node { + id + __typename + } + } + cssClasses + databaseId + description + id + label + linkRelationship + locations + menu { + node { + id + } + } + order + parentDatabaseId + parentId + path + target + title + url + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Page node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + pages(first: $first, after: $after) { + nodes { + acfPageFields { + buttonGroupField + checkboxField + colorPickerField + datePickerField + dateTimePickerField + doc { + __typename + id + } + fieldGroupName + fileField { + __typename + id + } + flexibleContentField { + __typename + ... on Page_Acfpagefields_FlexibleContentField_FlexLayout1 { + fieldGroupName + flexImage { + __typename + id + } + flexRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + flexRepeater { + fieldGroupName + flexRepeaterRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + flexRepeaterTitle + } + flexTitle + } + } + galleryField { + __typename + id + } + googleMapField { + city + country + countryShort + latitude + longitude + placeId + postCode + state + stateShort + streetAddress + streetName + streetNumber + zoom + } + groupField { + fieldGroupName + } + imageField { + __typename + id + } + linkField { + target + title + url + } + mov { + __typename + id + } + mp4 { + __typename + id + } + oembedField + pageLinkField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + pdf { + __typename + id + } + postObjectField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + radioButtonField + rangeField + relationshipField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + repeaterField { + fieldGroupName + repeaterFlex { + __typename + ... on Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexTitleLayout { + fieldGroupName + repeaterFlexTitle + } + ... on Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexRelationshipLayout { + fieldGroupName + repeaterFlexRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + } + } + } + selectField + taxonomyField { + __typename + ... on Category { + id + } + ... on Tag { + id + } + ... on PostFormat { + id + } + } + textAreaField + textField + timePicker + trueFalseField + userField { + id + } + wysiwygEditorField + } + ancestors(first: 100) { + nodes { + id + __typename + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + wpChildren: children(first: 100) { + nodes { + id + __typename + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isFrontPage + isPostsPage + isRevision + lastEditedBy { + node { + id + } + } + link + menuOrder + modified + modifiedGmt + wpParent: parent { + node { + id + __typename + } + } + parentDatabaseId + parentId + slug + status + template { + templateName + __typename + } + title + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Page node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + page(id: $id, idType: ID, asPreview: true) { + acfPageFields { + buttonGroupField + checkboxField + colorPickerField + datePickerField + dateTimePickerField + doc { + __typename + id + } + fieldGroupName + fileField { + __typename + id + } + flexibleContentField { + __typename + ... on Page_Acfpagefields_FlexibleContentField_FlexLayout1 { + fieldGroupName + flexImage { + __typename + id + } + flexRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + flexRepeater { + fieldGroupName + flexRepeaterRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + flexRepeaterTitle + } + flexTitle + } + } + galleryField { + __typename + id + } + googleMapField { + city + country + countryShort + latitude + longitude + placeId + postCode + state + stateShort + streetAddress + streetName + streetNumber + zoom + } + groupField { + fieldGroupName + } + imageField { + __typename + id + } + linkField { + target + title + url + } + mov { + __typename + id + } + mp4 { + __typename + id + } + oembedField + pageLinkField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + pdf { + __typename + id + } + postObjectField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + radioButtonField + rangeField + relationshipField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + repeaterField { + fieldGroupName + repeaterFlex { + __typename + ... on Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexTitleLayout { + fieldGroupName + repeaterFlexTitle + } + ... on Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexRelationshipLayout { + fieldGroupName + repeaterFlexRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + } + } + } + selectField + taxonomyField { + __typename + ... on Category { + id + } + ... on Tag { + id + } + ... on PostFormat { + id + } + } + textAreaField + textField + timePicker + trueFalseField + userField { + id + } + wysiwygEditorField + } + ancestors(first: 100) { + nodes { + id + __typename + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + wpChildren: children(first: 100) { + nodes { + id + __typename + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isFrontPage + isPostsPage + isRevision + lastEditedBy { + node { + id + } + } + link + menuOrder + modified + modifiedGmt + wpParent: parent { + node { + id + __typename + } + } + parentDatabaseId + parentId + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Page node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + page(id: $id) { + acfPageFields { + buttonGroupField + checkboxField + colorPickerField + datePickerField + dateTimePickerField + doc { + __typename + id + } + fieldGroupName + fileField { + __typename + id + } + flexibleContentField { + __typename + ... on Page_Acfpagefields_FlexibleContentField_FlexLayout1 { + fieldGroupName + flexImage { + __typename + id + } + flexRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + flexRepeater { + fieldGroupName + flexRepeaterRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + flexRepeaterTitle + } + flexTitle + } + } + galleryField { + __typename + id + } + googleMapField { + city + country + countryShort + latitude + longitude + placeId + postCode + state + stateShort + streetAddress + streetName + streetNumber + zoom + } + groupField { + fieldGroupName + } + imageField { + __typename + id + } + linkField { + target + title + url + } + mov { + __typename + id + } + mp4 { + __typename + id + } + oembedField + pageLinkField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + pdf { + __typename + id + } + postObjectField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + radioButtonField + rangeField + relationshipField { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + repeaterField { + fieldGroupName + repeaterFlex { + __typename + ... on Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexTitleLayout { + fieldGroupName + repeaterFlexTitle + } + ... on Page_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexRelationshipLayout { + fieldGroupName + repeaterFlexRelationship { + __typename + ... on Post { + id + } + ... on Page { + id + } + ... on MediaItem { + id + } + ... on TeamMember { + id + } + ... on Project { + id + } + ... on TypeLimitTest { + id + } + ... on TypeLimit0Test { + id + } + ... on TranslationFilterTest { + id + } + } + } + } + } + selectField + taxonomyField { + __typename + ... on Category { + id + } + ... on Tag { + id + } + ... on PostFormat { + id + } + } + textAreaField + textField + timePicker + trueFalseField + userField { + id + } + wysiwygEditorField + } + ancestors(first: 100) { + nodes { + id + __typename + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + wpChildren: children(first: 100) { + nodes { + id + __typename + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isFrontPage + isPostsPage + isRevision + lastEditedBy { + node { + id + } + } + link + menuOrder + modified + modifiedGmt + wpParent: parent { + node { + id + __typename + } + } + parentDatabaseId + parentId + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Post node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + posts(first: $first, after: $after) { + nodes { + author { + node { + id + } + } + authorDatabaseId + authorId + categories(first: 100) { + nodes { + id + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + excerpt + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isRevision + isSticky + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + pingStatus + pinged + postFormats(first: 100) { + nodes { + id + } + } + slug + status + tags(first: 100) { + nodes { + id + } + } + template { + templateName + __typename + } + terms(first: 100) { + nodes { + id + __typename + } + } + title + toPing + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Post node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + post(id: $id, idType: ID, asPreview: true) { + author { + node { + id + } + } + authorDatabaseId + authorId + categories(first: 100) { + nodes { + id + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + excerpt + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isRevision + isSticky + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + pingStatus + pinged + postFormats(first: 100) { + nodes { + id + } + } + slug + status + tags(first: 100) { + nodes { + id + } + } + template { + templateName + __typename + } + terms(first: 100) { + nodes { + id + __typename + } + } + title + toPing + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Post node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + post(id: $id) { + author { + node { + id + } + } + authorDatabaseId + authorId + categories(first: 100) { + nodes { + id + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + excerpt + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isRevision + isSticky + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + pingStatus + pinged + postFormats(first: 100) { + nodes { + id + } + } + slug + status + tags(first: 100) { + nodes { + id + } + } + template { + templateName + __typename + } + terms(first: 100) { + nodes { + id + __typename + } + } + title + toPing + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] PostFormat node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + postFormats(first: $first, after: $after) { + nodes { + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] PostFormat node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + postFormat(id: $id, idType: ID, asPreview: true) { + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] PostFormat node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + postFormat(id: $id) { + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Project node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + projects(first: $first, after: $after) { + nodes { + acfProject { + fieldGroupName + image { + __typename + id + } + projectUrl { + target + title + url + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Project node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + project(id: $id, idType: ID, asPreview: true) { + acfProject { + fieldGroupName + image { + __typename + id + } + projectUrl { + target + title + url + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Project node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + project(id: $id) { + acfProject { + fieldGroupName + image { + __typename + id + } + projectUrl { + target + title + url + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] RootQuery node node query hasn't changed 1`] = ` +"query NON_NODE_QUERY { + allSettings { + discussionSettingsDefaultCommentStatus + discussionSettingsDefaultPingStatus + generalSettingsDateFormat + generalSettingsDescription + generalSettingsEmail + generalSettingsLanguage + generalSettingsStartOfWeek + generalSettingsTimeFormat + generalSettingsTimezone + generalSettingsTitle + generalSettingsUrl + readingSettingsPostsPerPage + writingSettingsDefaultCategory + writingSettingsDefaultPostFormat + writingSettingsUseSmilies + } + + discussionSettings { + defaultCommentStatus + defaultPingStatus + } + + generalSettings { + dateFormat + description + email + language + startOfWeek + timeFormat + timezone + title + url + } + + readingSettings { + postsPerPage + } + + wpGatsby { + arePrettyPermalinksEnabled + isPreviewFrontendOnline + } + + writingSettings { + defaultCategory + defaultPostFormat + useSmilies + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Tag node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + tags(first: $first, after: $after) { + nodes { + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Tag node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + tag(id: $id, idType: ID, asPreview: true) { + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Tag node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + tag(id: $id) { + contentNodes(first: 100) { + nodes { + id + __typename + } + } + count + databaseId + description + id + link + name + posts(first: 100) { + nodes { + id + } + } + slug + taxonomy { + node { + id + } + } + teamMembers(first: 100) { + nodes { + id + } + } + termGroupId + termTaxonomyId + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Taxonomy node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + taxonomies(first: $first, after: $after) { + nodes { + archivePath + connectedContentTypes(first: 100) { + nodes { + id + } + } + description + graphqlPluralName + graphqlSingleName + hierarchical + id + label + name + public + restBase + restControllerClass + showCloud + showInAdminColumn + showInGraphql + showInMenu + showInNavMenus + showInQuickEdit + showInRest + showUi + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Taxonomy node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + taxonomy(id: $id, idType: ID, asPreview: true) { + archivePath + connectedContentTypes(first: 100) { + nodes { + id + } + } + description + graphqlPluralName + graphqlSingleName + hierarchical + id + label + name + public + restBase + restControllerClass + showCloud + showInAdminColumn + showInGraphql + showInMenu + showInNavMenus + showInQuickEdit + showInRest + showUi + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] Taxonomy node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + taxonomy(id: $id) { + archivePath + connectedContentTypes(first: 100) { + nodes { + id + } + } + description + graphqlPluralName + graphqlSingleName + hierarchical + id + label + name + public + restBase + restControllerClass + showCloud + showInAdminColumn + showInGraphql + showInMenu + showInNavMenus + showInQuickEdit + showInRest + showUi + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TeamMember node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + teamMembers(first: $first, after: $after) { + nodes { + acfData { + fieldGroupName + name + portrait { + __typename + id + } + projects { + __typename + ... on Project { + id + } + } + title + twitterlink { + target + title + url + } + webSite { + target + title + url + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + categories(first: 100) { + nodes { + id + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + excerpt + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isRevision + lastEditedBy { + node { + id + } + } + link + menuOrder + modified + modifiedGmt + pingStatus + pinged + postFormats(first: 100) { + nodes { + id + } + } + slug + status + tags(first: 100) { + nodes { + id + } + } + template { + templateName + __typename + } + title + toPing + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TeamMember node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + teamMember(id: $id, idType: ID, asPreview: true) { + acfData { + fieldGroupName + name + portrait { + __typename + id + } + projects { + __typename + ... on Project { + id + } + } + title + twitterlink { + target + title + url + } + webSite { + target + title + url + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + categories(first: 100) { + nodes { + id + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + excerpt + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isRevision + lastEditedBy { + node { + id + } + } + link + menuOrder + modified + modifiedGmt + pingStatus + pinged + postFormats(first: 100) { + nodes { + id + } + } + slug + status + tags(first: 100) { + nodes { + id + } + } + template { + templateName + __typename + } + title + toPing + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TeamMember node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + teamMember(id: $id) { + acfData { + fieldGroupName + name + portrait { + __typename + id + } + projects { + __typename + ... on Project { + id + } + } + title + twitterlink { + target + title + url + } + webSite { + target + title + url + } + } + author { + node { + id + } + } + authorDatabaseId + authorId + categories(first: 100) { + nodes { + id + } + } + commentStatus + comments(first: 100) { + nodes { + id + } + } + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + excerpt + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + isRevision + lastEditedBy { + node { + id + } + } + link + menuOrder + modified + modifiedGmt + pingStatus + pinged + postFormats(first: 100) { + nodes { + id + } + } + slug + status + tags(first: 100) { + nodes { + id + } + } + template { + templateName + __typename + } + title + toPing + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TranslationFilterTest node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + translationFilterTests(first: $first, after: $after) { + nodes { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TranslationFilterTest node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + translationFilterTest(id: $id, idType: ID, asPreview: true) { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TranslationFilterTest node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + translationFilterTest(id: $id) { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TypeLimit0Test node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + typeLimit0Tests(first: $first, after: $after) { + nodes { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TypeLimit0Test node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + typeLimit0Test(id: $id, idType: ID, asPreview: true) { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TypeLimit0Test node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + typeLimit0Test(id: $id) { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TypeLimitTest node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + typeLimitTests(first: $first, after: $after) { + nodes { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TypeLimitTest node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + typeLimitTest(id: $id, idType: ID, asPreview: true) { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] TypeLimitTest node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + typeLimitTest(id: $id) { + author { + node { + id + } + } + authorDatabaseId + authorId + content + contentType { + node { + id + } + } + databaseId + date + dateGmt + desiredSlug + enclosure + featuredImage { + node { + __typename + id + } + } + featuredImageDatabaseId + featuredImageId + guid + id + lastEditedBy { + node { + id + } + } + link + modified + modifiedGmt + slug + status + template { + templateName + __typename + } + title + uri + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] User node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + users(first: $first, after: $after) { + nodes { + avatar { + default + extraAttr + forceDefault + foundAvatar + height + rating + scheme + size + url + width + } + capabilities + comments(first: 100) { + nodes { + id + } + } + databaseId + description + firstName + id + lastName + locale + name + nicename + nickname + pages(first: 100) { + nodes { + id + } + } + posts(first: 100) { + nodes { + id + } + } + projects(first: 100) { + nodes { + id + } + } + roles(first: 100) { + nodes { + id + } + } + slug + teamMembers(first: 100) { + nodes { + id + } + } + translationFilterTests(first: 100) { + nodes { + id + } + } + typeLimit0Tests(first: 100) { + nodes { + id + } + } + typeLimitTests(first: 100) { + nodes { + id + } + } + uri + url + username + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] User node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + user(id: $id, idType: ID, asPreview: true) { + avatar { + default + extraAttr + forceDefault + foundAvatar + height + rating + scheme + size + url + width + } + capabilities + comments(first: 100) { + nodes { + id + } + } + databaseId + description + firstName + id + lastName + locale + name + nicename + nickname + pages(first: 100) { + nodes { + id + } + } + posts(first: 100) { + nodes { + id + } + } + projects(first: 100) { + nodes { + id + } + } + roles(first: 100) { + nodes { + id + } + } + slug + teamMembers(first: 100) { + nodes { + id + } + } + translationFilterTests(first: 100) { + nodes { + id + } + } + typeLimit0Tests(first: 100) { + nodes { + id + } + } + typeLimitTests(first: 100) { + nodes { + id + } + } + uri + url + username + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] User node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + user(id: $id) { + avatar { + default + extraAttr + forceDefault + foundAvatar + height + rating + scheme + size + url + width + } + capabilities + comments(first: 100) { + nodes { + id + } + } + databaseId + description + firstName + id + lastName + locale + name + nicename + nickname + pages(first: 100) { + nodes { + id + } + } + posts(first: 100) { + nodes { + id + } + } + projects(first: 100) { + nodes { + id + } + } + roles(first: 100) { + nodes { + id + } + } + slug + teamMembers(first: 100) { + nodes { + id + } + } + translationFilterTests(first: 100) { + nodes { + id + } + } + typeLimit0Tests(first: 100) { + nodes { + id + } + } + typeLimitTests(first: 100) { + nodes { + id + } + } + uri + url + username + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] UserRole node list query hasn't changed 1`] = ` +"query NODE_LIST_QUERY($first: Int!, $after: String) { + userRoles(first: $first, after: $after) { + nodes { + capabilities + displayName + id + name + __typename + } + pageInfo { + hasNextPage + endCursor + } + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] UserRole node preview query hasn't changed 1`] = ` +"query PREVIEW_QUERY($id: ID!) { + userRole(id: $id, idType: ID, asPreview: true) { + capabilities + displayName + id + name + __typename + } +} +" +`; + +exports[`[gatsby-source-wordpress] query generation [gatsby-source-wordpress] UserRole node single query hasn't changed 1`] = ` +"query SINGLE_CONTENT_QUERY($id: ID!) { + userRole(id: $id) { + capabilities + displayName + id + name + __typename + } +} +" +`; diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/data-resolution.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/data-resolution.test.js new file mode 100644 index 0000000000000..ef7b392acedef --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/data-resolution.test.js @@ -0,0 +1,160 @@ +/** + * @jest-environment node + */ + +import fetchGraphql from "gatsby-source-wordpress/dist/utils/fetch-graphql" +import { incrementalIt } from "../../../test-utils/incremental-it" +import { testResolvedData } from "../../../test-utils/test-resolved-data" +import { queries } from "../../../test-utils/queries" + +jest.setTimeout(100000) + +const url = `http://localhost:8000/___graphql` + +describe(`[gatsby-source-wordpress] data resolution`, () => { + it(`resolves correct number of nodes`, async () => { + const { data } = await fetchGraphql({ + url, + query: queries.nodeCounts, + }) + + expect(data[`allWpMediaItem`].nodes).toBeTruthy() + expect(data[`allWpMediaItem`].nodes).toMatchSnapshot() + expect(data[`allWpMediaItem`].totalCount).toBe(36) + + expect(data[`allWpTag`].totalCount).toBe(5) + expect(data[`allWpUser`].totalCount).toBe(5) + expect(data[`allWpPage`].totalCount).toBe(20) + expect(data[`allWpPost`].totalCount).toBe(10) + expect(data[`allWpComment`].totalCount).toBe(1) + expect(data[`allWpProject`].totalCount).toBe(1) + expect(data[`allWpTaxonomy`].totalCount).toBe(3) + expect(data[`allWpCategory`].totalCount).toBe(9) + expect(data[`allWpMenu`].totalCount).toBe(3) + expect(data[`allWpMenuItem`].totalCount).toBe(4) + expect(data[`allWpTeamMember`].totalCount).toBe(1) + expect(data[`allWpPostFormat`].totalCount).toBe(0) + expect(data[`allWpContentType`].totalCount).toBe(9) + }) + + testResolvedData({ + url, + title: `resolves wp-graphql-acf data`, + gatsbyQuery: queries.acfData, + queryReplace: { + from: `wpPage(title: { eq: "ACF Field Test" }) {`, + to: `page(id: "cG9zdDo3NjQ2") {`, + }, + fields: { + gatsby: `wpPage`, + wpgql: `page`, + }, + }) + it(`resolves hierarchichal categories`, async () => { + const gatsbyResult = await fetchGraphql({ + url, + query: /* GraphQL */ ` + fragment NestedCats on WpCategory { + name + wpChildren { + nodes { + name + wpChildren { + nodes { + name + wpChildren { + nodes { + name + } + } + } + } + } + } + } + + { + allWpCategory { + nodes { + name + } + } + wpPost(id: { eq: "cG9zdDo5MzYx" }) { + id + title + categories { + nodes { + ...NestedCats + } + } + } + } + `, + }) + + const categoryNodes = gatsbyResult.data.allWpCategory.nodes + const categoryNames = categoryNodes.map(({ name }) => name) + + expect(categoryNames.includes(`h1`)).toBeTruthy() + expect(categoryNames.includes(`h2`)).toBeTruthy() + expect(categoryNames.includes(`h3`)).toBeTruthy() + expect(categoryNames.includes(`h4`)).toBeTruthy() + }) + + incrementalIt(`resolves menus`, async () => { + const result = await fetchGraphql({ + url, + query: queries.menus, + }) + + expect(result).toMatchSnapshot() + }) + + incrementalIt(`resolves pages`, async () => { + const result = await fetchGraphql({ + url, + query: queries.pages, + }) + + expect(result).toMatchSnapshot() + + expect(result.data.testPage.title).toEqual( + process.env.WPGQL_INCREMENT ? `Sample Page DELTA SYNC` : `Sample Page` + ) + }) + + incrementalIt(`resolves posts`, async () => { + const result = await fetchGraphql({ + url, + query: queries.posts, + }) + + expect(result).toMatchSnapshot() + + expect(result.data.testPost.title).toEqual( + process.env.WPGQL_INCREMENT ? `Hello world! DELTA SYNC` : `Hello world!` + ) + }) + + incrementalIt(`resolves users`, async () => { + const result = await fetchGraphql({ + url, + query: queries.users, + }) + + expect(result).toMatchSnapshot() + + expect(result.data.testUser.firstName).toEqual( + process.env.WPGQL_INCREMENT ? `Tyler DELTA SYNC` : `Tyler` + ) + }) + + incrementalIt(`resolves root fields`, async () => { + const result = await fetchGraphql({ + url, + query: queries.rootFields, + }) + + expect(result).toMatchSnapshot() + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/filtered-type-defs.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/filtered-type-defs.test.js new file mode 100644 index 0000000000000..6aefae2986e9e --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/filtered-type-defs.test.js @@ -0,0 +1,32 @@ +import fetchGraphql from "gatsby-source-wordpress/dist/utils/fetch-graphql" + +describe(`[gatsby-source-wordpress] filtered type definitions`, () => { + test(`Date field resolver is working`, async () => { + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query: /* GraphQL */ ` + { + wpPage(id: { eq: "cG9zdDoy" }) { + id + databaseId + year: date(formatString: "YYYY") + month: date(formatString: "MMMM") + dayOfMonth: date(formatString: "DD") + dayOfWeekNumber: date(formatString: "E") + dayOfWeekName: date(formatString: "dddd") + date + + yearGmt: date(formatString: "YYYY") + monthGmt: date(formatString: "MMMM") + dayOfMonthGmt: date(formatString: "DD") + dayOfWeekNumberGmt: date(formatString: "E") + dayOfWeekNameGmt: date(formatString: "dddd") + dateGmt: date + } + } + `, + }) + + expect(result).toMatchSnapshot() + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/gatsby-image.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/gatsby-image.test.js new file mode 100644 index 0000000000000..0b3262d3c5b34 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/gatsby-image.test.js @@ -0,0 +1,69 @@ +import fetchGraphql from "gatsby-source-wordpress/dist/utils/fetch-graphql" +import execall from "execall" + +const countGatsbyImgs = string => + // divide by 2 because we now have two classes gatsby-image-wrapper and inline-gatsby-image-wrapper + execall(/gatsby-image-wrapper/gim, string).length / 2 + +describe(`[gatsby-source-wordpress] Gatsby image processing`, () => { + it(`transforms inline-html images properly`, async () => { + const { + data: { + wpPage, + // gute, + editedInline, + editedMediaLibrary, + acfPage, + httpProtocolPage, + }, + } = await fetchGraphql({ + url: `http://localhost:8000/__graphql`, + query: /* GraphQL */ ` + { + # Inline gatsby-image Gutenberg test #8964 + wpPage(id: { eq: "cG9zdDo4OTY0" }) { + content + } + # edited Inline gatsby-image test + editedInline: wpPage(databaseId: { eq: 9208 }) { + content + } + # edited via media library Inline gatsby-image test + editedMediaLibrary: wpPage(databaseId: { eq: 9219 }) { + content + } + # inline html ACF test + acfPage: wpPage(databaseId: { eq: 7646 }) { + acfPageFields { + wysiwygEditorField + } + } + # Page with img src hardcoded to http isntead of https + httpProtocolPage: wpPage(databaseId: { eq: 10513 }) { + content + } + } + `, + }) + + expect(wpPage.content).toBeTruthy() + expect(countGatsbyImgs(wpPage.content)).toBe(2) + expect(wpPage.content).toMatchSnapshot() + + expect(editedInline.content).toBeTruthy() + expect(countGatsbyImgs(editedInline.content)).toBe(1) + expect(editedInline.content).toMatchSnapshot() + + expect(editedMediaLibrary.content).toBeTruthy() + expect(countGatsbyImgs(editedMediaLibrary.content)).toBe(1) + expect(editedMediaLibrary.content).toMatchSnapshot() + + expect(acfPage.acfPageFields.wysiwygEditorField).toBeTruthy() + expect(countGatsbyImgs(acfPage.acfPageFields.wysiwygEditorField)).toBe(2) + expect(acfPage.acfPageFields.wysiwygEditorField).toMatchSnapshot() + + expect(httpProtocolPage.content).toBeTruthy() + expect(countGatsbyImgs(httpProtocolPage.content)).toBe(1) + expect(httpProtocolPage.content).toMatchSnapshot() + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/integrity.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/integrity.test.js new file mode 100644 index 0000000000000..c9455f531f17f --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/integrity.test.js @@ -0,0 +1,61 @@ +/** + * @jest-environment node + */ + +import fetchGraphql from "gatsby-source-wordpress/dist/utils/fetch-graphql" +import sortBy from "lodash/sortBy" +import { authedWPGQLRequest } from "../../../test-utils/authed-wpgql-request" + +const introspectionQuery = /* GraphQL */ ` + { + __schema { + types { + name + fields { + name + } + } + } + } +` + +describe(`[gatsby-source-wordpress] schema integrity`, () => { + it(`hasn't altered the remote WPGraphQL schema`, async () => { + const data = await authedWPGQLRequest(introspectionQuery) + + const remoteWPGQLTypeNamesWithFieldNames = sortBy( + data.__schema.types.map(type => { + return { + name: type.name, + fields: + type && type.fields ? type.fields.map(field => field.name) : null, + } + }), + [`name`] + ) + + expect(remoteWPGQLTypeNamesWithFieldNames).toMatchSnapshot() + }) + + it(`hasn't altered the local Gatsby schema`, async () => { + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query: introspectionQuery, + }) + + const localWPTypeNamesWithFieldNames = sortBy( + result.data.__schema.types + .filter(({ name }) => name.startsWith(`Wp`)) + .map(type => { + return { + name: type.name, + fields: + type && type.fields ? type.fields.map(field => field.name) : null, + } + }), + [`name`] + ) + + expect(localWPTypeNamesWithFieldNames).toMatchSnapshot() + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/plugin-options.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/plugin-options.test.js new file mode 100644 index 0000000000000..5d7faa059c12b --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/plugin-options.test.js @@ -0,0 +1,170 @@ +import fetchGraphql from "gatsby-source-wordpress/dist/utils/fetch-graphql" + +jest.setTimeout(100000) + +describe(`[gatsby-source-wordpress] plugin options`, () => { + test(`Type.exclude option removes types from the schema`, async () => { + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query: /* GraphQL */ ` + { + __schema { + types { + name + } + } + } + `, + }) + + const excludedTypes = [ + `ActionMonitorAction`, + `UserToActionMonitorActionConnection`, + `Plugin`, + `Theme`, + ] + + // make sure our schema doesn't have any of the default excluded types + // in ../../src/models/gatsby-api + excludedTypes.forEach(typeName => { + expect( + !!result.data.__schema.types.find(type => type.name === `Wp${typeName}`) + ).toBe(false) + }) + }) + + test(`Type.excludeFieldNames removes fields from the schema on types by field names`, async () => { + const excludeFieldsOnTypesGroups = [ + { + typeName: `Page`, + fieldNames: [`enclosure`], + }, + { + typeName: `User`, + fieldNames: [`extraCapabilities`, `capKey`, `email`, `registeredDate`], + }, + ] + + const query = ` + { + ${excludeFieldsOnTypesGroups + .map( + group => ` + ${group.typeName}: __type(name: "Wp${group.typeName}") { + fields { + name + } + } + ` + ) + .join(` `)} + } + ` + + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query, + }) + + // for all our test type names + excludeFieldsOnTypesGroups.forEach(excludeGroup => { + // get that type from the Gatsby schema + const typeInSchema = result.data[excludeGroup.typeName] + + // for each excluded field on our type + excludeGroup.fieldNames.forEach(fieldName => { + // expect that the type in our Gatsby schema doesn't have a field + // with this excluded name + const fieldNameExistsOnType = !!typeInSchema.fields + .map(field => field.name) + .includes(fieldName) + + expect(fieldNameExistsOnType).toBe(false) + }) + }) + }) + + test(`excludeFieldNames option excludes fields from the schema globally`, async () => { + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query: /* GraphQL */ ` + { + wpPage: __type(name: "WpPage") { + fields { + name + } + } + + wpPost: __type(name: "WpPost") { + fields { + name + } + } + } + `, + }) + + const commentFieldFinder = ({ name }) => name === `commentCount` + + const wpPageCommentCountField = result.data.wpPage.fields.find( + commentFieldFinder + ) + + const wpPostCommentCountField = result.data.wpPost.fields.find( + commentFieldFinder + ) + + expect(wpPostCommentCountField && wpPageCommentCountField).toBeFalsy() + }) + + test.skip(`Type.where option works when set to filter for French posts`, async () => { + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query: /* GraphQL */ ` + { + allWpTranslationFilterTest { + totalCount + nodes { + title + } + } + } + `, + }) + + expect(result.data.allWpTranslationFilterTest.totalCount).toEqual(1) + expect(result.data.allWpTranslationFilterTest.nodes[0].title).toEqual( + `French page` + ) + }) + + test(`Type.limit option works when set to 1`, async () => { + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query: /* GraphQL */ ` + { + allWpTypeLimitTest { + totalCount + } + } + `, + }) + + expect(result.data.allWpTypeLimitTest.totalCount).toEqual(1) + }) + + test(`Type.limit option works when set to 0`, async () => { + const result = await fetchGraphql({ + url: `http://localhost:8000/___graphql`, + query: /* GraphQL */ ` + { + allWpTypeLimit0Test { + totalCount + } + } + `, + }) + + expect(result.data.allWpTypeLimit0Test.totalCount).toEqual(0) + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/query-generation.test.js b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/query-generation.test.js new file mode 100644 index 0000000000000..3104e09bcdd1e --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/__tests__/integration/schema/query-generation.test.js @@ -0,0 +1,40 @@ +import globula from "glob" +import fs from "fs-extra" + +describe(`[gatsby-source-wordpress] query generation`, () => { + const gqlDirectory = `${process.cwd()}/test-site/WordPress/GraphQL` + + const graphqlFilePaths = globula.sync(`${gqlDirectory}/**/*.graphql`) + + const graphqlQueriesByType = graphqlFilePaths.reduce((accumulator, path) => { + const relativePath = path.replace(`${gqlDirectory}/`, ``) + + // relative paths are named like Page/query.graphql and Post/query.graphql + const [typeName, fileName] = relativePath.split(`/`) + + // filenames are named like node-preview-query.graphql + // so the first index will be the type of the query + const key = fileName.split(`-`)[1] + + if (!accumulator[typeName]) { + accumulator[typeName] = { + typeName, + } + } + + accumulator[typeName][key] = path + + return accumulator + }, []) + + Object.values(graphqlQueriesByType).forEach(({ typeName, ...queries }) => { + Object.entries(queries).forEach(([queryTitle, queryFilePath]) => { + test(`[gatsby-source-wordpress] ${typeName} node ${queryTitle} query hasn't changed`, () => { + const fileContents = fs.readFileSync(queryFilePath, { + encoding: `utf8`, + }) + expect(fileContents).toMatchSnapshot() + }) + }) + }) +}) diff --git a/packages/gatsby-source-wordpress/test-site/gatsby-config.js b/packages/gatsby-source-wordpress/test-site/gatsby-config.js new file mode 100644 index 0000000000000..1f2626519581c --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/gatsby-config.js @@ -0,0 +1,121 @@ +require(`dotenv`).config({ + path: `.env.WORDPRESS_BASIC_AUTH`, +}) + +// require .env.development or .env.production +require(`dotenv`).config({ + path: `.env.test`, +}) + +// require .env.plugin versions in case we need them here ever +require(`dotenv`).config({ + path: `.env.plugins`, +}) + +// this is it's own conditional object so we can run +// an int test with all default plugin options +const wpPluginOptions = !process.env.DEFAULT_PLUGIN_OPTIONS + ? { + verbose: true, + excludeFieldNames: [`commentCount`, `commentCount`], + schema: { + queryDepth: 5, + typePrefix: `Wp`, + }, + develop: { + nodeUpdateInterval: 3000, + }, + debug: { + graphql: { + showQueryOnError: true, + showQueryVarsOnError: false, + copyQueryOnError: true, + panicOnError: false, + // a critical error is a WPGraphQL query that returns an error and response data. Currently WPGQL will error if we try to access private posts so if this is false it returns a lot of irrelevant errors. + onlyReportCriticalErrors: true, + writeQueriesToDisk: true, + }, + }, + type: { + TypeLimitTest: { + limit: 1, + }, + TypeLimit0Test: { + limit: 0, + }, + // TODO: test translation support using our own test wp graphql plugin + // TranslationFilterTest: { + // where: `language: FR`, + // beforeChangeNode: async ({ remoteNode, type }) => { + // if (remoteNode.language && remoteNode.language.slug !== `fr`) { + // return { + // cancelUpdate: true, + // } + // } + // }, + // }, + Comment: { + excludeFieldNames: [`databaseId`], + }, + Page: { + excludeFieldNames: [`enclosure`], + }, + DatabaseIdentifier: { + exclude: true, + }, + User: { + excludeFieldNames: [ + `extraCapabilities`, + `capKey`, + `email`, + `registeredDate`, + ], + }, + Post: { + limit: + process.env.NODE_ENV === `development` + ? // Lets just pull 50 posts in development to make it easy on ourselves. + 50 + : // and we don't actually need more than 1000 in production + 1000, + }, + }, + } + : {} + +module.exports = { + plugins: [ + `gatsby-plugin-sharp`, + { + resolve: `gatsby-source-filesystem`, + options: { + name: `images`, + path: `${__dirname}/src/assets/images`, + }, + }, + { + resolve: require.resolve(`../package.json`), + options: { + url: process.env.WPGRAPHQL_URL, + auth: { + htaccess: { + username: process.env.HTACCESS_USERNAME, + password: process.env.HTACCESS_PASSWORD, + }, + }, + ...wpPluginOptions, + }, + }, + `gatsby-plugin-chakra-ui`, + `gatsby-transformer-sharp`, + { + resolve: `gatsby-plugin-react-svg`, + options: { + rule: { + include: /\.inline\.svg$/, // See below to configure properly + }, + }, + }, + `gatsby-plugin-netlify-cache`, + ], +} diff --git a/packages/gatsby-source-wordpress/test-site/gatsby-node.js b/packages/gatsby-source-wordpress/test-site/gatsby-node.js new file mode 100644 index 0000000000000..a9cceb84c356f --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/gatsby-node.js @@ -0,0 +1,107 @@ +const { resolve } = require(`path`) +const path = require(`path`) +const glob = require(`glob`) +const chunk = require(`lodash/chunk`) + +const getTemplates = () => { + const sitePath = path.resolve(`./`) + return glob.sync(`./src/templates/**/*.js`, { cwd: sitePath }) +} + +// +// @todo move this to gatsby-theme-wordpress +exports.createPages = async ({ actions, graphql, reporter }) => { + const templates = getTemplates() + + const { + data: { + allWpContentNode: { nodes: contentNodes }, + }, + } = await graphql(/* GraphQL */ ` + query ALL_CONTENT_NODES { + allWpContentNode( + sort: { fields: modifiedGmt, order: DESC } + filter: { nodeType: { ne: "MediaItem" } } + ) { + nodes { + nodeType + uri + id + } + } + } + `) + + const contentTypeTemplateDirectory = `./src/templates/single/` + const contentTypeTemplates = templates.filter((path) => + path.includes(contentTypeTemplateDirectory) + ) + + await Promise.all( + contentNodes.map(async (node, i) => { + const { nodeType, uri, id } = node + // this is a super super basic template hierarchy + // this doesn't reflect what our hierarchy will look like. + // this is for testing/demo purposes + const templatePath = `${contentTypeTemplateDirectory}${nodeType}.js` + + const contentTypeTemplate = contentTypeTemplates.find( + (path) => path === templatePath + ) + + if (!contentTypeTemplate) { + reporter.log( + `No template found at ${templatePath}\nfor single ${nodeType}` + ) + return null + } + + await actions.createPage({ + component: resolve(contentTypeTemplate), + path: uri, + context: { + id, + nextPage: (contentNodes[i + 1] || {}).id, + previousPage: (contentNodes[i - 1] || {}).id, + }, + }) + }) + ) + + // create the homepage + const { + data: { allWpPost }, + } = await graphql(/* GraphQL */ ` + { + allWpPost(sort: { fields: modifiedGmt, order: DESC }) { + nodes { + uri + id + } + } + } + `) + + const perPage = 10 + const chunkedContentNodes = chunk(allWpPost.nodes, perPage) + + await Promise.all( + chunkedContentNodes.map(async (nodesChunk, index) => { + const firstNode = nodesChunk[0] + const page = index + 1 + const offset = perPage * index + + await actions.createPage({ + component: resolve(`./src/templates/index.js`), + path: page === 1 ? `/blog/` : `/blog/${page}/`, + context: { + firstId: firstNode.id, + page: page, + offset: offset, + totalPages: chunkedContentNodes.length, + perPage, + }, + }) + }) + ) +} diff --git a/packages/gatsby-source-wordpress/test-site/package.json b/packages/gatsby-source-wordpress/test-site/package.json new file mode 100644 index 0000000000000..79fa43b3fa644 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/package.json @@ -0,0 +1,43 @@ +{ + "name": "using-gatsby-source-wordpress", + "description": "Gatsby example site using gatsby-source-wordpress@next", + "license": "MIT", + "private": true, + "version": "0.0.1", + "author": { + "name": "Tyler", + "email": "tyler@gatsbyjs.com" + }, + "scripts": { + "develop": "gatsby develop", + "build": "gatsby build", + "clean-develop": "npx gatsby clean && yarn develop", + "clean-build": "npx gatsby clean && yarn build", + "serve": "gatsby serve" + }, + "dependencies": { + "@chakra-ui/core": "^0.5.2", + "@emotion/core": "^10.0.27", + "@emotion/styled": "^10.0.27", + "dotenv": "^8.2.0", + "emotion-theming": "^10.0.27", + "gatsby": "2.28.0", + "gatsby-image": "^2.4.14", + "gatsby-plugin-chakra-ui": "^0.1.2", + "gatsby-plugin-netlify-cache": "^1.2.0", + "gatsby-plugin-react-svg": "^3.0.0", + "gatsby-plugin-sharp": "^2.7.1", + "gatsby-source-filesystem": "^2.3.37", + "gatsby-source-wordpress": "^7.0.0", + "gatsby-transformer-sharp": "^2.5.21", + "parse-path": "^4.0.1", + "react": "^16.3.2", + "react-dom": "^16.3.2", + "react-paginate": "^6.3.2", + "tree-kill": "^1.2.2", + "wait-on": "^4.0.1" + }, + "devDependencies": { + "prettier": "^1.13.7" + } +} diff --git a/packages/gatsby-source-wordpress/test-site/src/assets/images/test.png b/packages/gatsby-source-wordpress/test-site/src/assets/images/test.png new file mode 100644 index 0000000000000000000000000000000000000000..143d4a5efd2371fe7b58bae2c1646cd4a9e5ff82 GIT binary patch literal 269682 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�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�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

  • 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%0DjEX9|@Yg)iIZeYMqSYA;g5CC~KCL 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⋙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

    Wvi|$qcKyU^Pxrd!d56S%B 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 + + + + diff --git a/packages/gatsby-source-wordpress/test-site/src/components/header.js b/packages/gatsby-source-wordpress/test-site/src/components/header.js new file mode 100644 index 0000000000000..3dd8355ff2bb8 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/components/header.js @@ -0,0 +1,24 @@ +import React from "react" +import { Heading, Box, Grid } from "@chakra-ui/core" +import { Link } from "gatsby" +import GatsbyLogo from "../assets/svg/gatsby.inline.svg" + +export default () => ( + + + + + + + + Gatsby Source WordPress V4 demo + + + + +) diff --git a/packages/gatsby-source-wordpress/test-site/src/components/layout.js b/packages/gatsby-source-wordpress/test-site/src/components/layout.js new file mode 100644 index 0000000000000..6d5d2f167ae8c --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/components/layout.js @@ -0,0 +1,21 @@ +import React from "react" +import { Box, Grid } from "@chakra-ui/core" +import Header from "./header" +import Menu from "./menu" + +import "../assets/style.css" + +const Layout = ({ children }) => ( +

    +) + +export default Layout diff --git a/packages/gatsby-source-wordpress/test-site/src/components/menu.js b/packages/gatsby-source-wordpress/test-site/src/components/menu.js new file mode 100644 index 0000000000000..b3dcc60924b76 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/components/menu.js @@ -0,0 +1,40 @@ +import React from "react" +import { Link, useStaticQuery, graphql } from "gatsby" +import { getUrlPath } from "../utils/get-url-path" +import { Menu, Button, Grid, Box } from "@chakra-ui/core" + +export default () => { + const { wpMenu } = useStaticQuery(graphql` + { + wpMenu(slug: { eq: "main-menu" }) { + name + menuItems { + nodes { + label + url + } + } + } + } + `) + + return !!wpMenu && !!wpMenu.menuItems && !!wpMenu.menuItems.nodes ? ( + + + + {wpMenu.menuItems.nodes.map((menuItem, i) => ( + + + + ))} + + + + ) : null +} diff --git a/packages/gatsby-source-wordpress/test-site/src/components/template-parts/blog-post.js b/packages/gatsby-source-wordpress/test-site/src/components/template-parts/blog-post.js new file mode 100644 index 0000000000000..92e4f13138720 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/components/template-parts/blog-post.js @@ -0,0 +1,41 @@ +import React from "react" + +import { Link } from "gatsby" +import { Box, Heading } from "@chakra-ui/core" +import Img from "gatsby-image" +import Layout from "../../components/layout" +import { normalizePath } from "../../utils/get-url-path" + +function BlogPost({ data }) { + const { nextPage, previousPage, page } = data + const { title, content, featuredImage } = page + + return ( + + + {title} + + + {!!featuredImage?.node?.localFile?.childImageSharp && ( + + + + )} + +

    + +
    + {!!nextPage && ( + Next: {nextPage.title} + )} +
    + {!!previousPage && ( + + Previous: {previousPage.title} + + )} + + ) +} + +export default BlogPost diff --git a/packages/gatsby-source-wordpress/test-site/src/fragments.js b/packages/gatsby-source-wordpress/test-site/src/fragments.js new file mode 100644 index 0000000000000..41f41c920f3d2 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/fragments.js @@ -0,0 +1,11 @@ +import { graphql } from "gatsby" + +export const fragments = graphql` + fragment HeroImage on File { + childImageSharp { + fluid(maxWidth: 1440) { + ...GatsbyImageSharpFluid_tracedSVG + } + } + } +` diff --git a/packages/gatsby-source-wordpress/test-site/src/pages/404.js b/packages/gatsby-source-wordpress/test-site/src/pages/404.js new file mode 100644 index 0000000000000..241df763c8ecb --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/pages/404.js @@ -0,0 +1,13 @@ +import React from "react" +import { Heading, Box } from "@chakra-ui/core" +import Layout from "../components/layout" + +export default () => ( + + + + Oops, that's a 404 + + + +) diff --git a/packages/gatsby-source-wordpress/test-site/src/templates/index.js b/packages/gatsby-source-wordpress/test-site/src/templates/index.js new file mode 100644 index 0000000000000..2161cb5b77bb8 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/templates/index.js @@ -0,0 +1,118 @@ +import React from "react" +import { graphql, Link, navigate } from "gatsby" +import Img from "gatsby-image" +import ReactPaginate from "react-paginate" + +import { Stack, Box, Heading, Text, Grid, Button } from "@chakra-ui/core" + +import Layout from "../components/layout" +import { normalizePath } from "../utils/get-url-path" + +export default ({ data, pageContext }) => ( + + + {data.allWpPost.nodes.map((page) => ( + + + + + + {!!page.featuredImage && + !!page.featuredImage.localFile && + !!page.featuredImage.localFile.childImageSharp && ( + + )} + + + + {page.title} + + {!!page.author && !!page.author.name && ( + + Author: {page.author.name} + + )} + + + + + + + + + + ))} + + + {pageContext && pageContext.totalPages > 3 && ( + + + Previous page + + ) + } + nextLabel={ + pageContext && + pageContext.totalPages !== pageContext.page && ( + + ) + } + onPageChange={({ selected }) => { + const page = selected + 1 + const path = page === 1 ? `/blog` : `/blog/${page}` + navigate(path) + }} + breakLabel={`...`} + breakClassName={`break-me`} + pageCount={pageContext.totalPages} + marginPagesDisplayed={2} + pageRangeDisplayed={5} + containerClassName={`pagination`} + subContainerClassName={`pages pagination`} + activeClassName={`active`} + /> + + )} + +) + +export const query = graphql` + fragment Thumbnail on File { + childImageSharp { + fluid(maxWidth: 500) { + ...GatsbyImageSharpFluid_tracedSVG + } + } + } + + query HomePage($offset: Int!, $perPage: Int!) { + allWpPost( + limit: $perPage + skip: $offset + filter: { nodeType: { in: ["Post", "Page", "Alot"] } } + sort: { fields: date, order: DESC } + ) { + nodes { + uri + title + featuredImage { + node { + localFile { + ...Thumbnail + } + } + } + } + } + } +` diff --git a/packages/gatsby-source-wordpress/test-site/src/templates/single/Page.js b/packages/gatsby-source-wordpress/test-site/src/templates/single/Page.js new file mode 100644 index 0000000000000..d9a7f9f775f99 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/templates/single/Page.js @@ -0,0 +1,31 @@ +import React from "react" +import { graphql } from "gatsby" +import BlogPost from "../../components/template-parts/blog-post" + +export default ({ data }) => + +export const query = graphql` + query page($id: String!, $nextPage: String, $previousPage: String) { + page: wpPage(id: { eq: $id }) { + title + content + featuredImage { + node { + localFile { + ...HeroImage + } + } + } + } + + nextPage: wpPage(id: { eq: $nextPage }) { + title + uri + } + + previousPage: wpPage(id: { eq: $previousPage }) { + title + uri + } + } +` diff --git a/packages/gatsby-source-wordpress/test-site/src/templates/single/Post.js b/packages/gatsby-source-wordpress/test-site/src/templates/single/Post.js new file mode 100644 index 0000000000000..83d6a31d5846a --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/templates/single/Post.js @@ -0,0 +1,31 @@ +import React from "react" +import { graphql } from "gatsby" +import BlogPost from "../../components/template-parts/blog-post" + +export default ({ data }) => + +export const query = graphql` + query post($id: String!, $nextPage: String, $previousPage: String) { + page: wpPost(id: { eq: $id }) { + title + content + featuredImage { + node { + localFile { + ...HeroImage + } + } + } + } + + nextPage: wpPost(id: { eq: $nextPage }) { + title + uri + } + + previousPage: wpPost(id: { eq: $previousPage }) { + title + uri + } + } +` diff --git a/packages/gatsby-source-wordpress/test-site/src/utils/get-url-path.js b/packages/gatsby-source-wordpress/test-site/src/utils/get-url-path.js new file mode 100644 index 0000000000000..1e8d598afa874 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/src/utils/get-url-path.js @@ -0,0 +1,23 @@ +import parsePath from "parse-path" +export const normalizePath = (path) => { + if (path.endsWith(`/`)) { + path = path.slice(0, -1) + } + + if (!path.startsWith(`/`)) { + path = `/${path}` + } + + return path +} + +/** + * This is temporary until we can get a path field from MenuItems https://github.com/wp-graphql/wp-graphql/issues/1137 + * + * https://stackoverflow.com/questions/736513/how-do-i-parse-a-url-into-hostname-and-path-in-javascript + */ +export const getUrlPath = (url) => { + const parsedUrl = parsePath(url) + + return normalizePath(parsedUrl.pathname) +} diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/authed-wpgql-request.js b/packages/gatsby-source-wordpress/test-site/test-utils/authed-wpgql-request.js new file mode 100644 index 0000000000000..c6d17172646a2 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/authed-wpgql-request.js @@ -0,0 +1,25 @@ +import fetchGraphql from "gatsby-source-wordpress/dist/utils/fetch-graphql" + +export const authedWPGQLRequest = async (query, { variables } = {}) => { + if (!process.env.WPGRAPHQL_URL) { + console.error(`No process.env.WPGRAPHQL_URL url found`) + process.exit(1) + } + const { errors, data } = await fetchGraphql({ + query, + variables, + url: process.env.WPGRAPHQL_URL, + headers: { + Authorization: `Basic ${process.env.WORDPRESS_BASIC_AUTH}`, + }, + }) + + if (errors && errors.length) { + errors.forEach(error => console.error(error)) + throw new Error( + `There were some problems making a request to WPGQL. See above for more info` + ) + } + + return data +} diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/global-setup-jest.js b/packages/gatsby-source-wordpress/test-site/test-utils/global-setup-jest.js new file mode 100644 index 0000000000000..1838ccd7d0e0f --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/global-setup-jest.js @@ -0,0 +1,54 @@ +// global-setup.js +import { spawn } from "child_process" +import on from "wait-on" +import path from "path" + +import { mutateSchema, resetSchema } from "./increment-remote-data" + +// require .env.development or .env.production +require(`dotenv`).config({ + path: path.resolve(process.cwd(), `test-site/.env.test`), +}) + +require(`dotenv`).config({ + path: path.resolve(process.cwd(), `test-site/.env.WORDPRESS_BASIC_AUTH`), +}) + +module.exports = async function globalSetup() { + if (!process.env.START_SERVER) { + return + } + + if (!process.env.WORDPRESS_BASIC_AUTH) { + console.log( + `Please add the env var WORDPRESS_BASIC_AUTH. It should be a string in the following pattern: base64Encode(\`\${username}:\${password}\`)` + ) + + await new Promise((resolve) => setTimeout(resolve, 100)) + process.exit(1) + } + + if (process.env.WPGQL_INCREMENT) { + const response = await mutateSchema() + console.log(response) + } else { + const response = await resetSchema() + console.log(response) + } + + console.log(`\nstarting Gatsby`) + + const gatsbyProcess = spawn(`yarn`, [`develop-test-runtime`], { + detached: true, + env: { + ...process.env, + NODE_ENV: `development`, + }, + }) + + global.__GATSBY_PROCESS = gatsbyProcess + + gatsbyProcess.stdout.pipe(process.stdout) + + await on({ resources: [`http://localhost:8000`] }) +} diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/global-teardown-jest.js b/packages/gatsby-source-wordpress/test-site/test-utils/global-teardown-jest.js new file mode 100644 index 0000000000000..07f893af85e48 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/global-teardown-jest.js @@ -0,0 +1,25 @@ +// global-teardown.js +import kill from "tree-kill" +import { resetSchema } from "./increment-remote-data" + +module.exports = async function globalTeardown() { + if (!process.env.START_SERVER) { + return + } + + const p = global.__GATSBY_PROCESS + kill(p.pid, `SIGTERM`, (err) => { + if (err) { + throw err + } else { + console.log( + `\nSuccessfuly terminated the the gatsby process tree for pid ${p.pid}` + ) + } + }) + + if (process.env.WPGQL_INCREMENT) { + await resetSchema() + console.log(`reset remote api mutations`) + } +} diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/increment-remote-data.js b/packages/gatsby-source-wordpress/test-site/test-utils/increment-remote-data.js new file mode 100644 index 0000000000000..827cae21a6b40 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/increment-remote-data.js @@ -0,0 +1,72 @@ +import { authedWPGQLRequest } from "./authed-wpgql-request" + +export const resetSchema = async () => { + console.log(`unmutating remote api`) + return authedWPGQLRequest(/* GraphQL */ ` + mutation { + updatePage( + input: { + id: "cG9zdDoy" + title: "Sample Page" + clientMutationId: "de-increment-test" + } + ) { + clientMutationId + } + updatePost( + input: { + clientMutationId: "post-test" + id: "cG9zdDox" + title: "Hello world!" + } + ) { + clientMutationId + } + updateUser( + input: { + clientMutationId: "user-test" + firstName: "Tyler" + id: "dXNlcjox" + } + ) { + clientMutationId + } + } + `) +} + +export const mutateSchema = async () => { + console.log(`mutating remote api`) + + return authedWPGQLRequest(/* GraphQL */ ` + mutation { + updatePage( + input: { + id: "cG9zdDoy" + title: "Sample Page DELTA SYNC" + clientMutationId: "increment-test" + } + ) { + clientMutationId + } + updatePost( + input: { + clientMutationId: "post-test" + id: "cG9zdDox" + title: "Hello world! DELTA SYNC" + } + ) { + clientMutationId + } + updateUser( + input: { + clientMutationId: "user-test" + firstName: "Tyler DELTA SYNC" + id: "dXNlcjox" + } + ) { + clientMutationId + } + } + `) +} diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/incremental-it.js b/packages/gatsby-source-wordpress/test-site/test-utils/incremental-it.js new file mode 100644 index 0000000000000..f4b68ef2572b6 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/incremental-it.js @@ -0,0 +1,8 @@ +const isIncrement = process.env.WPGQL_INCREMENT + +export const incrementalIt = (name, test) => { + // full fetch + ;(!isIncrement ? it : it.skip)(name, test) + // incremental data fetch + ;(isIncrement ? it : it.skip)(`${name} INCREMENTED`, test) +} diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/jest.setup.js b/packages/gatsby-source-wordpress/test-site/test-utils/jest.setup.js new file mode 100644 index 0000000000000..cc76304a1754b --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/jest.setup.js @@ -0,0 +1 @@ +jest.setTimeout(100000) diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/queries.js b/packages/gatsby-source-wordpress/test-site/test-utils/queries.js new file mode 100644 index 0000000000000..d6be0d5cf37a1 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/queries.js @@ -0,0 +1,707 @@ +export const queries = { + nodeCounts: /* GraphQL */ ` + { + allWpMenu { + totalCount + } + allWpTag { + totalCount + } + allWpUser { + totalCount + } + allWpPage { + totalCount + } + allWpPost { + totalCount + } + allWpComment { + totalCount + } + allWpProject { + totalCount + } + allWpTaxonomy { + totalCount + } + allWpCategory { + totalCount + } + allWpUserRole { + totalCount + } + allWpMenuItem { + totalCount + } + allWpMediaItem(sort: { fields: [id] }) { + totalCount + nodes { + id + mediaItemUrl + } + } + allWpTeamMember { + totalCount + } + allWpPostFormat { + totalCount + } + allWpContentType { + totalCount + } + } + `, + acfData: /* GraphQL */ ` + { + wpPage(title: { eq: "ACF Field Test" }) { + acfPageFields { + buttonGroupField + checkboxField + colorPickerField + datePickerField + dateTimePickerField + fieldGroupName + fileField { + id + title + } + galleryField { + id + title + } + googleMapField { + city + country + countryShort + latitude + longitude + placeId + postCode + state + stateShort + streetAddress + streetName + streetNumber + zoom + } + groupField { + fieldGroupName + } + imageField { + id + title + } + oembedField + radioButtonField + rangeField + repeaterField { + fieldGroupName + } + selectField + textAreaField + textField + timePicker + trueFalseField + userField { + id + name + } + + relationshipField { + ... on WpPost { + id + title + } + ... on WpPage { + id + title + } + } + postObjectField { + ... on WpPost { + id + title + } + ... on WpPage { + id + title + } + } + pageLinkField { + ... on WpPage { + id + title + } + ... on WpPost { + id + title + } + } + + flexibleContentField { + ... on WpPage_Acfpagefields_FlexibleContentField_FlexLayout1 { + fieldGroupName + flexImage { + title + } + flexRelationship { + ... on WpPost { + title + } + } + flexRepeater { + fieldGroupName + # https://github.com/wp-graphql/wp-graphql-acf/issues/165 + # flexRepeaterRelationship { + # ... on WpPost { + # id + # title + # } + # } + flexRepeaterTitle + } + } + } + repeaterField { + repeaterFlex { + ... on WpPage_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexTitleLayout { + repeaterFlexTitle + } + ... on WpPage_Acfpagefields_repeaterField_RepeaterFlex_RepeaterFlexRelationshipLayout { + repeaterFlexRelationship { + ... on WpPage { + title + } + } + } + } + } + } + } + } + `, + gutenbergColumns: /* GraphQL */ ` + fragment WpCoreColumnBlock on WpCoreColumnBlock { + name + isDynamic + order + originalContent + parentNode { + id + ... on WpPost { + title + } + } + parentNodeDatabaseId + dynamicContent + attributes { + className + verticalAlignment + width + } + } + + fragment WpCoreColumnsBlock on WpCoreColumnsBlock { + name + order + originalContent + parentNode { + id + ... on WpPost { + title + } + } + parentNodeDatabaseId + dynamicContent + attributes { + ... on WpCoreColumnsBlockAttributes { + align + backgroundColor + className + textColor + verticalAlignment + } + } + # saveContent + } + + fragment InnerBlocks on WpBlock { + ... on WpCoreColumnBlock { + ...WpCoreColumnBlock + } + ... on WpCoreColumnsBlock { + ...WpCoreColumnsBlock + } + } + + query POST_QUERY { + wpPost(title: { eq: "Gutenberg: Columns" }) { + blocks { + ... on WpCoreColumnsBlock { + ...WpCoreColumnsBlock + } + innerBlocks { + ...InnerBlocks + innerBlocks { + ...InnerBlocks + innerBlocks { + ...InnerBlocks + } + } + } + } + } + } + `, + gutenbergLayoutElements: /* GraphQL */ ` + { + wpPost(id: { eq: "cG9zdDoxMjU=" }) { + title + blocks { + name + ... on WpCoreButtonBlock { + attributes { + ... on WpCoreButtonBlockAttributes { + align + backgroundColor + borderRadius + className + gradient + linkTarget + placeholder + rel + text + textColor + title + url + } + } + } + ... on WpCoreFileBlock { + attributes { + downloadButtonText + fileName + id + showDownloadButton + textLinkTarget + } + } + ... on WpCoreSpacerBlock { + attributes { + height + } + } + ... on WpCoreSeparatorBlock { + attributes { + color + customColor + className + } + } + } + } + } + `, + gutenbergFormattingBlocks: /* GraphQL */ ` + { + wpPost(id: { eq: "cG9zdDoxMjI=" }) { + title + blocks { + name + ... on WpCoreCodeBlock { + originalContent + attributes { + content + } + } + ... on WpCoreFreeformBlock { + attributes { + content + } + } + ... on WpCoreHtmlBlock { + attributes { + content + } + } + ... on WpCorePullquoteBlock { + attributes { + ... on WpCorePullquoteBlockAttributes { + citation + value + } + } + } + ... on WpCoreTableBlock { + attributes { + ... on WpCoreTableBlockAttributes { + body { + cells { + content + scope + tag + } + } + caption + foot { + cells { + content + scope + tag + } + } + hasFixedLayout + head { + cells { + content + scope + tag + } + } + } + } + } + } + } + } + `, + gutenbergCommonBlocks: /* GraphQL */ ` + { + wpPost(id: { eq: "cG9zdDo5NA==" }) { + blocks { + name + ... on WpCoreParagraphBlock { + attributes { + ... on WpCoreParagraphBlockAttributes { + content + } + } + } + + ... on WpCoreHeadingBlock { + attributes { + ... on WpCoreHeadingBlockAttributes { + content + level + } + } + } + + ... on WpCoreImageBlock { + attributes { + ... on WpCoreImageBlockAttributes { + url + } + } + } + + ... on WpCoreGalleryBlock { + attributes { + ... on WpCoreGalleryBlockAttributes { + images { + id + url + } + } + } + } + + ... on WpCoreListBlock { + attributes { + ordered + values + } + } + } + } + } + `, + yoastRootFields: /* GraphQL */ ` + seo { + breadcrumbs { + archivePrefix + boldLast + enabled + homeText + notFoundText + prefix + searchPrefix + separator + showBlogPage + } + openGraph { + defaultImage { + id + title + } + frontPage { + description + image { + id + title + } + title + } + } + redirects { + format + origin + target + type + } + schema { + companyLogo { + id + title + } + companyName + companyOrPerson + inLanguage + logo { + id + title + } + siteName + siteUrl + wordpressSiteName + personLogo { + id + title + } + } + social { + facebook { + url + defaultImage { + title + id + } + } + instagram { + url + } + linkedIn { + url + } + mySpace { + url + } + pinterest { + url + metaTag + } + twitter { + cardType + username + } + wikipedia { + url + } + youTube { + url + } + } + webmaster { + baiduVerify + googleVerify + msVerify + yandexVerify + } + } +`, + pageYoastFields: /* GraphQL */ ` + seo { + breadcrumbs { + text + } + canonical + focuskw + metaDesc + metaKeywords + metaRobotsNofollow + metaRobotsNoindex + opengraphAuthor + opengraphDescription + opengraphImage { + id + title + } + opengraphModifiedTime + opengraphPublishedTime + opengraphPublisher + opengraphSiteName + opengraphTitle + opengraphType + title + twitterDescription + twitterImage { + id + title + } + twitterTitle + } + `, + menus: /* GraphQL */ ` + { + allWpMenu { + nodes { + name + count + id + databaseId + menuItems { + nodes { + id + label + databaseId + nodeType + target + title + url + childItems { + nodes { + label + id + databaseId + connectedNode { + node { + ... on WpPost { + title + uri + featuredImage { + node { + title + } + } + } + } + } + childItems { + nodes { + label + url + } + } + } + } + } + } + } + } + } + `, + pages: /* GraphQL */ ` + { + testPage: wpPage(id: { eq: "cG9zdDoy" }) { + title + } + allWpPage(sort: { fields: date }) { + nodes { + uri + title + wpChildren { + nodes { + ... on WpNodeWithTitle { + title + } + } + } + author { + node { + name + } + } + # TODO: re-enable translations tests once a test plugin support it + # translations { + # title + # } + acfPageFields { + fieldGroupName + } + } + } + } + `, + posts: /* GraphQL */ ` + { + testPost: wpPost(id: { eq: "cG9zdDox" }) { + title + } + allWpPost(sort: { fields: date }) { + nodes { + title + featuredImage { + node { + altText + sourceUrl + } + } + author { + node { + avatar { + url + } + comments { + nodes { + content + } + } + } + } + } + } + } + `, + users: /* GraphQL */ ` + { + testUser: wpUser(id: { eq: "dXNlcjox" }) { + firstName + } + allWpUser { + nodes { + name + databaseId + pages { + nodes { + title + } + } + posts { + nodes { + title + } + } + } + } + } + `, + rootFields: /* GraphQL */ ` + { + wp { + allSettings { + discussionSettingsDefaultCommentStatus + discussionSettingsDefaultPingStatus + generalSettingsDateFormat + generalSettingsDescription + generalSettingsLanguage + generalSettingsStartOfWeek + generalSettingsTimeFormat + generalSettingsTimezone + generalSettingsTitle + generalSettingsUrl + readingSettingsPostsPerPage + writingSettingsDefaultCategory + writingSettingsDefaultPostFormat + writingSettingsUseSmilies + } + nodeType + writingSettings { + defaultCategory + defaultPostFormat + useSmilies + } + } + } + `, +} diff --git a/packages/gatsby-source-wordpress/test-site/test-utils/test-resolved-data.js b/packages/gatsby-source-wordpress/test-site/test-utils/test-resolved-data.js new file mode 100644 index 0000000000000..21ad227b2be93 --- /dev/null +++ b/packages/gatsby-source-wordpress/test-site/test-utils/test-resolved-data.js @@ -0,0 +1,43 @@ +import fetchGraphql from "gatsby-source-wordpress/dist/utils/fetch-graphql" +import { authedWPGQLRequest } from "./authed-wpgql-request" + +const normalizeResponse = data => + JSON.parse( + JSON.stringify(data).replace(/https:\/\/gatsbyinttests.wpengine.com/gm, ``) + ) + +export const testResolvedData = ({ + url, + title, + gatsbyQuery, + queryReplace: { from, to }, + variables = {}, + fields: { gatsby, wpgql }, +}) => { + it(title, async () => { + const gatsbyResult = await fetchGraphql({ + url, + query: gatsbyQuery, + variables, + }) + + const wpGraphQLQuery = gatsbyQuery + .replace(/Wp/gm, ``) + .replace(from, to) + .replace(`$id: String!`, `$id: ID!`) + + const WPGraphQLData = await authedWPGQLRequest(wpGraphQLQuery, { + url: process.env.WPGRAPHQL_URL, + variables, + }) + + const wpgqlNode = normalizeResponse(WPGraphQLData[wpgql]) + expect(wpgqlNode).toBeTruthy() + + const gatsbyNode = normalizeResponse(gatsbyResult.data[gatsby]) + + expect(gatsbyNode).toBeTruthy() + + expect(wpgqlNode).toStrictEqual(gatsbyNode) + }) +} diff --git a/packages/gatsby-source-wordpress/tsconfig.json b/packages/gatsby-source-wordpress/tsconfig.json new file mode 100644 index 0000000000000..e8bead21abdbe --- /dev/null +++ b/packages/gatsby-source-wordpress/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "baseUrl": "./src", + "paths": { + "~/*": ["*"] + } + }, + "include": ["src"] +} diff --git a/starters/gatsby-starter-wordpress-blog/.gitignore b/starters/gatsby-starter-wordpress-blog/.gitignore new file mode 100644 index 0000000000000..0170f1351c4de --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/.gitignore @@ -0,0 +1,71 @@ +.wordpress-cache + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variable files +.env* + +# gatsby files +.cache/ +public + +# Mac files +.DS_Store + +# Yarn +yarn-error.log +.pnp/ +.pnp.js +# Yarn Integrity file +.yarn-integrity diff --git a/starters/gatsby-starter-wordpress-blog/.prettierignore b/starters/gatsby-starter-wordpress-blog/.prettierignore new file mode 100644 index 0000000000000..bb4b596850aa9 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/.prettierignore @@ -0,0 +1,5 @@ +.cache +.wordpress-cache +package.json +package-lock.json +public diff --git a/starters/gatsby-starter-wordpress-blog/.prettierrc b/starters/gatsby-starter-wordpress-blog/.prettierrc new file mode 100644 index 0000000000000..33d2cfa3f6193 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/.prettierrc @@ -0,0 +1,4 @@ +{ + "arrowParens": "avoid", + "semi": false +} diff --git a/starters/gatsby-starter-wordpress-blog/LICENSE b/starters/gatsby-starter-wordpress-blog/LICENSE new file mode 100644 index 0000000000000..7e964c1ee5f4f --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/LICENSE @@ -0,0 +1,14 @@ +The BSD Zero Clause License (0BSD) + +Copyright (c) 2020 Gatsby Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/starters/gatsby-starter-wordpress-blog/README.md b/starters/gatsby-starter-wordpress-blog/README.md new file mode 100644 index 0000000000000..6b957994a7a89 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/README.md @@ -0,0 +1,99 @@ + +

    + + Gatsby + +

    +

    + Gatsby's blog starter +

    + +Kick off your project with this blog boilerplate. This starter ships with the main Gatsby configuration files you might need to get up and running blazing fast with the blazing fast app generator for React. + +_Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.com/docs/gatsby-starters/)._ + +## 🚀 Quick start + +1. **Create a Gatsby site.** + + Use the Gatsby CLI to create a new site, specifying the blog starter. + + ```shell + # create a new Gatsby site using the blog starter + gatsby new my-blog-starter https://github.com/gatsbyjs/gatsby-starter-blog + ``` + +1. **Start developing.** + + Navigate into your new site’s directory and start it up. + + ```shell + cd my-blog-starter/ + gatsby develop + ``` + +1. **Open the source code and start editing!** + + Your site is now running at `http://localhost:8000`! + + _Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.com/tutorial/part-five/#introducing-graphiql)._ + + Open the `my-blog-starter` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time! + +## 🧐 What's inside? + +A quick look at the top-level files and directories you'll see in a Gatsby project. + + . + ├── node_modules + ├── src + ├── .gitignore + ├── .prettierrc + ├── gatsby-browser.js + ├── gatsby-config.js + ├── gatsby-node.js + ├── gatsby-ssr.js + ├── LICENSE + ├── package-lock.json + ├── package.json + └── README.md + +1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed. + +2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”. + +3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for. + +4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent. + +5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser. + +6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail). + +7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process. + +8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering. + +9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license. + +10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).** + +11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project. + +12. **`README.md`**: A text file containing useful reference information about your project. + +## 🎓 Learning Gatsby + +Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start: + +- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process. + +- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar. + +## 💫 Deploy + +[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/gatsbyjs/gatsby-starter-blog) + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/gatsbyjs/gatsby-starter-blog) + + diff --git a/starters/gatsby-starter-wordpress-blog/content/assets/gatsby-icon.png b/starters/gatsby-starter-wordpress-blog/content/assets/gatsby-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..908bc78a7f5596fab5a638d6ac07e331dc4c74d4 GIT binary patch literal 21212 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 Pwx}U%bK8?;ra1Edyv(7f literal 0 HcmV?d00001 diff --git a/starters/gatsby-starter-wordpress-blog/gatsby-browser.js b/starters/gatsby-starter-wordpress-blog/gatsby-browser.js new file mode 100644 index 0000000000000..c785c9297ada9 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/gatsby-browser.js @@ -0,0 +1,7 @@ +// custom typefaces +import "typeface-montserrat" +import "typeface-merriweather" +// normalize CSS across browsers +import "./src/normalize.css" +// custom CSS styles +import "./src/style.css" diff --git a/starters/gatsby-starter-wordpress-blog/gatsby-config.js b/starters/gatsby-starter-wordpress-blog/gatsby-config.js new file mode 100644 index 0000000000000..da93bb459e17a --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/gatsby-config.js @@ -0,0 +1,66 @@ +/** + * 👋 Hey there! + * This file is the starting point for your new WordPress/Gatsby site! 🚀 + * For more information about what this file is and does, see + * https://www.gatsbyjs.com/docs/gatsby-config/ + * + */ + +module.exports = { + /** + * Adding plugins to this array adds them to your Gatsby site. + * + * Gatsby has a rich ecosystem of plugins. + * If you need any more you can search here: https://www.gatsbyjs.com/plugins/ + */ + plugins: [ + { + /** + * First up is the WordPress source plugin that connects Gatsby + * to your WordPress site. + * + * visit the plugin docs to learn more + * https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/README.md + * + */ + resolve: `gatsby-source-wordpress-experimental`, + options: { + // the only required plugin option for WordPress is the GraphQL url. + url: + process.env.WPGRAPHQL_URL || + `https://wpgatsbydemo.wpengine.com/graphql`, + }, + }, + + /** + * The following two plugins are required if you want to use Gatsby image + * See https://www.gatsbyjs.com/docs/gatsby-image/#setting-up-gatsby-image + * if you're curious about it. + */ + `gatsby-transformer-sharp`, + `gatsby-plugin-sharp`, + + { + // See https://www.gatsbyjs.com/plugins/gatsby-plugin-manifest/?=gatsby-plugin-manifest + resolve: `gatsby-plugin-manifest`, + options: { + name: `Gatsby Starter WordPress Blog`, + short_name: `GatsbyJS & WP`, + start_url: `/`, + background_color: `#ffffff`, + theme_color: `#663399`, + display: `minimal-ui`, + icon: `content/assets/gatsby-icon.png`, + }, + }, + + // See https://www.gatsbyjs.com/plugins/gatsby-plugin-react-helmet/?=gatsby-plugin-react-helmet + `gatsby-plugin-react-helmet`, + + /** + * this (optional) plugin enables Progressive Web App + Offline functionality + * To learn more, visit: https://gatsby.dev/offline + */ + // `gatsby-plugin-offline`, + ], +} diff --git a/starters/gatsby-starter-wordpress-blog/gatsby-node.js b/starters/gatsby-starter-wordpress-blog/gatsby-node.js new file mode 100644 index 0000000000000..f53e96550f976 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/gatsby-node.js @@ -0,0 +1,192 @@ +const path = require(`path`) +const chunk = require(`lodash/chunk`) + +// This is a simple debugging tool +// dd() will prettily dump to the terminal and kill the process +// const { dd } = require(`dumper.js`) + +/** + * exports.createPages is a built-in Gatsby Node API. + * It's purpose is to allow you to create pages for your site! 💡 + * + * See https://www.gatsbyjs.com/docs/node-apis/#createPages for more info. + */ +exports.createPages = async gatsbyUtilities => { + // Query our posts from the GraphQL server + const posts = await getNodes(gatsbyUtilities) + + // If there are no posts in WordPress, don't do anything + if (!posts.length) { + return + } + + // If there are posts and pages, create Gatsby pages for them + await createSinglePages({ posts, gatsbyUtilities }) + + // And a paginated archive + await createBlogPostArchive({ posts, gatsbyUtilities }) +} + +/** + * This function creates all the individual blog pages in this site + */ +const createSinglePages = async ({ posts, gatsbyUtilities }) => + Promise.all( + posts.map(({ previous, post, next }) => + // createPage is an action passed to createPages + // See https://www.gatsbyjs.com/docs/actions#createPage for more info + gatsbyUtilities.actions.createPage({ + // Use the WordPress uri as the Gatsby page path + // This is a good idea so that internal links and menus work 👍 + path: post.uri, + + // use the blog post template as the page component + component: path.resolve( + `./src/templates/${post.__typename.replace(`Wp`, ``)}.js` + ), + + // `context` is available in the template as a prop and + // as a variable in GraphQL. + context: { + // we need to add the post id here + // so our blog post template knows which blog post + // the current page is (when you open it in a browser) + id: post.id, + + // We also use the next and previous id's to query them and add links! + previousPostId: previous ? previous.id : null, + nextPostId: next ? next.id : null, + }, + }) + ) + ) + +/** + * This function creates all the individual blog pages in this site + */ +async function createBlogPostArchive({ posts, gatsbyUtilities }) { + const graphqlResult = await gatsbyUtilities.graphql(/* GraphQL */ ` + { + wp { + readingSettings { + postsPerPage + } + } + } + `) + + const { postsPerPage } = graphqlResult.data.wp.readingSettings + + const postsChunkedIntoArchivePages = chunk(posts, postsPerPage) + const totalPages = postsChunkedIntoArchivePages.length + + return Promise.all( + postsChunkedIntoArchivePages.map(async (_posts, index) => { + const pageNumber = index + 1 + + const getPagePath = page => { + if (page > 0 && page <= totalPages) { + // Since our homepage is our blog page + // we want the first page to be "/" and any additional pages + // to be numbered. + // "/blog/2" for example + return page === 1 ? `/` : `/blog/${page}` + } + + return null + } + + // createPage is an action passed to createPages + // See https://www.gatsbyjs.com/docs/actions#createPage for more info + await gatsbyUtilities.actions.createPage({ + path: getPagePath(pageNumber), + + // use the blog post archive template as the page component + component: path.resolve(`./src/templates/blog-post-archive.js`), + + // `context` is available in the template as a prop and + // as a variable in GraphQL. + context: { + // the index of our loop is the offset of which posts we want to display + // so for page 1, 0 * 10 = 0 offset, for page 2, 1 * 10 = 10 posts offset, + // etc + offset: index * postsPerPage, + + // We need to tell the template how many posts to display too + postsPerPage, + + nextPagePath: getPagePath(pageNumber + 1), + previousPagePath: getPagePath(pageNumber - 1), + }, + }) + }) + ) +} + +/** + * This function queries Gatsby's GraphQL server and asks for + * All WordPress blog posts. If there are any GraphQL error it throws an error + * Otherwise it will return the posts 🙌 + * + * We're passing in the utilities we got from createPages. + * So see https://www.gatsbyjs.com/docs/node-apis/#createPages for more info! + */ +async function getNodes({ graphql, reporter }) { + const graphqlResult = await graphql(/* GraphQL */ ` + query WpPosts { + # Query all WordPress blog posts sorted by date + allWpPost(sort: { fields: [date], order: DESC }) { + edges { + previous { + id + } + + # note: this is a GraphQL alias. It renames "node" to "post" for this query + # We're doing this because this "node" is a post! It makes our code more readable further down the line. + post: node { + __typename + id + uri + } + + next { + id + } + } + } + + allWpPage(sort: { fields: [date], order: DESC }) { + edges { + previous { + id + } + + # note: this is a GraphQL alias. It renames "node" to "post" for this query + # We're doing this because this "node" is a post! It makes our code more readable further down the line. + post: node { + __typename + id + uri + } + + next { + id + } + } + } + } + `) + + if (graphqlResult.errors) { + reporter.panicOnBuild( + `There was an error loading your blog posts`, + graphqlResult.errors + ) + return + } + + return [ + ...graphqlResult.data.allWpPost.edges, + ...graphqlResult.data.allWpPage.edges, + ] +} diff --git a/starters/gatsby-starter-wordpress-blog/package.json b/starters/gatsby-starter-wordpress-blog/package.json new file mode 100644 index 0000000000000..12b38a04adfc5 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/package.json @@ -0,0 +1,51 @@ +{ + "name": "gatsby-starter-wordpress-blog", + "private": true, + "description": "A starter for a blog powered by Gatsby and Markdown", + "version": "1.0.0", + "author": "Kyle Mathews and Tyler Barnes ", + "bugs": { + "url": "https://github.com/gatsbyjs/gatsby/issues" + }, + "dependencies": { + "@wordpress/block-library": "^2.26.2", + "gatsby": "^2.28.0", + "gatsby-image": "^2.4.21", + "gatsby-plugin-manifest": "^2.5.2", + "gatsby-plugin-offline": "^3.3.3", + "gatsby-plugin-react-helmet": "^3.3.14", + "gatsby-plugin-sharp": "^2.7.1", + "gatsby-source-wordpress-experimental": "^7.0.0", + "gatsby-transformer-sharp": "^2.5.21", + "html-react-parser": "^0.14.1", + "lodash": "^4.17.20", + "react": "^16.12.0", + "react-dom": "^16.12.0", + "react-helmet": "^5.2.1", + "typeface-merriweather": "0.0.72", + "typeface-montserrat": "0.0.75" + }, + "devDependencies": { + "dumper.js": "^1.3.1", + "prettier": "2.1.2" + }, + "homepage": "https://github.com/gatsbyjs/gatsby-starter-blog#readme", + "keywords": [ + "gatsby" + ], + "license": "0BSD", + "main": "n/a", + "repository": { + "type": "git", + "url": "git+https://github.com/gatsbyjs/gatsby-starter-blog.git" + }, + "scripts": { + "build": "gatsby build", + "develop": "gatsby develop", + "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"", + "start": "npm run develop", + "serve": "gatsby serve", + "clean": "gatsby clean", + "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" + } +} diff --git a/starters/gatsby-starter-wordpress-blog/src/components/bio.js b/starters/gatsby-starter-wordpress-blog/src/components/bio.js new file mode 100644 index 0000000000000..16b33473c88d6 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/components/bio.js @@ -0,0 +1,54 @@ +/** + * Bio component that queries for data + * with Gatsby's useStaticQuery component + * + * See: https://www.gatsbyjs.com/docs/use-static-query/ + */ + +import React from "react" +import { useStaticQuery, graphql } from "gatsby" + +const Bio = () => { + const { author } = useStaticQuery(graphql` + query BioQuery { + # if there was more than one user, this would need to be filtered + author: wpUser { + firstName + twitter: name + description + avatar { + url + } + } + } + `) + + const avatarUrl = author?.avatar?.url + + return ( +
    + {avatarUrl && ( + {author?.firstName + )} + {author?.firstName && ( +

    + Written by {author.firstName} + {` `} + {author?.description || null} + {` `} + {author?.twitter && ( + + You should follow them on Twitter + + )} +

    + )} +
    + ) +} + +export default Bio diff --git a/starters/gatsby-starter-wordpress-blog/src/components/layout.js b/starters/gatsby-starter-wordpress-blog/src/components/layout.js new file mode 100644 index 0000000000000..12003d019a3a3 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/components/layout.js @@ -0,0 +1,48 @@ +import React from "react" +import { Link, useStaticQuery, graphql } from "gatsby" +import parse from "html-react-parser" + +const Layout = ({ isHomePage, children }) => { + const { + wp: { + generalSettings: { title }, + }, + } = useStaticQuery(graphql` + query LayoutQuery { + wp { + generalSettings { + title + description + } + } + } + `) + + return ( +
    +
    + {isHomePage ? ( +

    + {parse(title)} +

    + ) : ( + + {title} + + )} +
    + +
    {children}
    + +
    + © {new Date().getFullYear()}, Built with + {` `} + Gatsby + {` `} + And WordPress +
    +
    + ) +} + +export default Layout diff --git a/starters/gatsby-starter-wordpress-blog/src/components/seo.js b/starters/gatsby-starter-wordpress-blog/src/components/seo.js new file mode 100644 index 0000000000000..1a8798c5f25b6 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/components/seo.js @@ -0,0 +1,93 @@ +/** + * SEO component that queries for data with + * Gatsby's useStaticQuery React hook + * + * See: https://www.gatsbyjs.com/docs/use-static-query/ + */ + +import React from "react" +import PropTypes from "prop-types" +import { Helmet } from "react-helmet" +import { useStaticQuery, graphql } from "gatsby" + +const SEO = ({ description, lang, meta, title }) => { + const { wp, wpUser } = useStaticQuery( + graphql` + query { + wp { + generalSettings { + title + description + } + } + + # if there's more than one user this would need to be filtered to the main user + wpUser { + twitter: name + } + } + ` + ) + + const metaDescription = description || wp.generalSettings?.description + const defaultTitle = wp.generalSettings?.title + + return ( + + ) +} + +SEO.defaultProps = { + lang: `en`, + meta: [], + description: ``, +} + +SEO.propTypes = { + description: PropTypes.string, + lang: PropTypes.string, + meta: PropTypes.arrayOf(PropTypes.object), + title: PropTypes.string.isRequired, +} + +export default SEO diff --git a/starters/gatsby-starter-wordpress-blog/src/normalize.css b/starters/gatsby-starter-wordpress-blog/src/normalize.css new file mode 100644 index 0000000000000..5efdf4facd963 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/normalize.css @@ -0,0 +1,343 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/starters/gatsby-starter-wordpress-blog/src/pages/404.js b/starters/gatsby-starter-wordpress-blog/src/pages/404.js new file mode 100644 index 0000000000000..606eacb497e89 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/pages/404.js @@ -0,0 +1,29 @@ +import React from "react" +import { graphql } from "gatsby" + +import Layout from "../components/layout" +import SEO from "../components/seo" + +const NotFoundPage = ({ data, location }) => { + const siteTitle = data.site.siteMetadata.title + + return ( + + +

    404: Not Found

    +

    You just hit a route that doesn't exist... the sadness.

    +
    + ) +} + +export default NotFoundPage + +export const pageQuery = graphql` + query { + site { + siteMetadata { + title + } + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/src/style.css b/starters/gatsby-starter-wordpress-blog/src/style.css new file mode 100644 index 0000000000000..2074d573d6eeb --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/style.css @@ -0,0 +1,335 @@ +/* CSS Custom Properties Definitions */ + +:root { + --maxWidth-none: "none"; + --maxWidth-xs: 20rem; + --maxWidth-sm: 24rem; + --maxWidth-md: 28rem; + --maxWidth-lg: 32rem; + --maxWidth-xl: 36rem; + --maxWidth-2xl: 42rem; + --maxWidth-3xl: 48rem; + --maxWidth-4xl: 56rem; + --maxWidth-full: "100%"; + --maxWidth-wrapper: var(--maxWidth-2xl); + --spacing-px: "1px"; + --spacing-0: 0; + --spacing-1: 0.25rem; + --spacing-2: 0.5rem; + --spacing-3: 0.75rem; + --spacing-4: 1rem; + --spacing-5: 1.25rem; + --spacing-6: 1.5rem; + --spacing-8: 2rem; + --spacing-10: 2.5rem; + --spacing-12: 3rem; + --spacing-16: 4rem; + --spacing-20: 5rem; + --spacing-24: 6rem; + --spacing-32: 8rem; + --fontFamily-sans: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, + "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --fontFamily-serif: "Merriweather", "Georgia", Cambria, "Times New Roman", + Times, serif; + --font-body: var(--fontFamily-serif); + --font-heading: var(--fontFamily-sans); + --fontWeight-normal: 400; + --fontWeight-medium: 500; + --fontWeight-semibold: 600; + --fontWeight-bold: 700; + --fontWeight-extrabold: 800; + --fontWeight-black: 900; + --fontSize-root: 16px; + --lineHeight-none: 1; + --lineHeight-tight: 1.1; + --lineHeight-normal: 1.5; + --lineHeight-relaxed: 1.625; + /* 1.200 Minor Third Type Scale */ + --fontSize-0: 0.833rem; + --fontSize-1: 1rem; + --fontSize-2: 1.2rem; + --fontSize-3: 1.44rem; + --fontSize-4: 1.728rem; + --fontSize-5: 2.074rem; + --fontSize-6: 2.488rem; + --fontSize-7: 2.986rem; + --color-primary: #005b99; + --color-text: #2e353f; + --color-text-light: #4f5969; + --color-heading: #1a202c; + --color-heading-black: black; + --color-accent: #d1dce5; +} + +/* HTML elements */ + +*, +:after, +:before { + box-sizing: border-box; +} + +html { + line-height: var(--lineHeight-normal); + font-size: var(--fontSize-root); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + font-family: var(--font-body); + font-size: var(--fontSize-1); + color: var(--color-text); +} + +footer { + padding: var(--spacing-6) var(--spacing-0); +} + +hr { + background: var(--color-accent); + height: 1px; + border: 0; +} + +/* Heading */ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: var(--font-heading); + margin-top: var(--spacing-12); + margin-bottom: var(--spacing-6); + line-height: var(--lineHeight-tight); + letter-spacing: -0.025em; +} + +h2, +h3, +h4, +h5, +h6 { + font-weight: var(--fontWeight-bold); + color: var(--color-heading); +} + +h1 { + font-weight: var(--fontWeight-black); + font-size: var(--fontSize-6); + color: var(--color-heading-black); +} + +h2 { + font-size: var(--fontSize-5); +} + +h3 { + font-size: var(--fontSize-4); +} + +h4 { + font-size: var(--fontSize-3); +} + +h5 { + font-size: var(--fontSize-2); +} + +h6 { + font-size: var(--fontSize-1); +} + +h1 > a { + color: inherit; + text-decoration: none; +} + +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: inherit; +} + +/* Prose */ + +p { + line-height: var(--lineHeight-relaxed); + --baseline-multiplier: 0.179; + --x-height-multiplier: 0.35; + margin: var(--spacing-0) var(--spacing-0) var(--spacing-8) var(--spacing-0); + padding: var(--spacing-0); +} + +ul, +ol { + margin-left: var(--spacing-0); + margin-right: var(--spacing-0); + padding: var(--spacing-0); + margin-bottom: var(--spacing-8); + list-style-position: outside; + list-style-image: none; +} + +ul li, +ol li { + padding-left: var(--spacing-0); + margin-bottom: calc(var(--spacing-8) / 2); +} + +li > p { + margin-bottom: calc(var(--spacing-8) / 2); +} + +li *:last-child { + margin-bottom: var(--spacing-0); +} + +li > ul { + margin-left: var(--spacing-8); + margin-top: calc(var(--spacing-8) / 2); +} + +blockquote { + color: var(--color-text-light); + margin-left: calc(-1 * var(--spacing-6)); + margin-right: var(--spacing-8); + padding: var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-6); + border-left: var(--spacing-1) solid var(--color-primary); + font-size: var(--fontSize-2); + font-style: italic; + margin-bottom: var(--spacing-8); +} + +blockquote > :last-child { + margin-bottom: var(--spacing-0); +} + +blockquote > ul, +blockquote > ol { + list-style-position: inside; +} + +table { + width: 100%; + margin-bottom: var(--spacing-8); + border-collapse: collapse; + border-spacing: 0.25rem; +} + +table thead tr th { + border-bottom: 1px solid var(--color-accent); +} + +/* Link */ + +a { + color: var(--color-primary); + word-break: break-word; +} + +a:hover, +a:focus { + text-decoration: none; +} + +/* Custom classes */ + +.global-wrapper { + margin: var(--spacing-0) auto; + max-width: var(--maxWidth-wrapper); + padding: var(--spacing-10) var(--spacing-5); +} + +.global-wrapper[data-is-root-path="true"] .bio { + margin-bottom: var(--spacing-20); +} + +.global-header { + margin-bottom: var(--spacing-12); +} + +.main-heading { + font-size: var(--fontSize-7); + margin: 0; +} + +.post-list-item { + margin-bottom: var(--spacing-8); + margin-top: var(--spacing-8); +} + +.post-list-item p { + margin-bottom: var(--spacing-0); +} + +.post-list-item h2 { + font-size: var(--fontSize-4); + color: var(--color-primary); + margin-bottom: var(--spacing-2); + margin-top: var(--spacing-0); +} + +.post-list-item header { + margin-bottom: var(--spacing-4); +} + +.header-link-home { + font-weight: var(--fontWeight-bold); + font-family: var(--font-heading); + text-decoration: none; + font-size: var(--fontSize-2); +} + +.bio { + display: flex; + margin-bottom: var(--spacing-16); +} + +.bio p { + margin-bottom: var(--spacing-0); +} + +.bio-avatar { + margin-right: var(--spacing-4); + margin-bottom: var(--spacing-0); + max-width: 80px; + height: auto; + border-radius: 100%; +} + +.blog-post header h1 { + margin: var(--spacing-0) var(--spacing-0) var(--spacing-4) var(--spacing-0); +} + +.blog-post header p { + font-size: var(--fontSize-2); + font-family: var(--font-heading); +} + +.blog-post-nav ul { + margin: var(--spacing-0); +} + +.gatsby-highlight { + margin-bottom: var(--spacing-8); +} + +/* Media queries */ + +@media (max-width: 42rem) { + blockquote { + padding: var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-4); + margin-left: var(--spacing-0); + } + ul, + ol { + list-style-position: inside; + } +} diff --git a/starters/gatsby-starter-wordpress-blog/src/templates/Page.js b/starters/gatsby-starter-wordpress-blog/src/templates/Page.js new file mode 100644 index 0000000000000..9a92889661181 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/templates/Page.js @@ -0,0 +1,128 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import Image from "gatsby-image" +import parse from "html-react-parser" + +// We're using Gutenberg so we need the block styles +import "@wordpress/block-library/build-style/style.css" +import "@wordpress/block-library/build-style/theme.css" + +import Bio from "../components/bio" +import Layout from "../components/layout" +import SEO from "../components/seo" + +const PageTemplate = ({ data: { previous, next, post } }) => { + const featuredImage = { + fluid: post.featuredImage?.node?.localFile?.childImageSharp?.fluid, + alt: post.featuredImage?.node?.alt || ``, + } + + return ( + + + +
    +
    +

    {parse(post.title)}

    + +

    {post.date}

    + + {/* if we have a featured image for this post let's display it */} + {featuredImage?.fluid && ( + {featuredImage.alt} + )} +
    + + {!!post.content && ( +
    {parse(post.content)}
    + )} + +
    + +
    + +
    +
    + + +
    + ) +} + +export default PageTemplate + +export const pageQuery = graphql` + query PageById( + # these variables are passed in via createPage.pageContext in gatsby-node.js + $id: String! + $previousPostId: String + $nextPostId: String + ) { + # selecting the current post by id + post: wpPage(id: { eq: $id }) { + id + content + title + date(formatString: "MMMM DD, YYYY") + + featuredImage { + node { + altText + localFile { + childImageSharp { + fluid(maxWidth: 1000, quality: 100) { + ...GatsbyImageSharpFluid_tracedSVG + } + } + } + } + } + } + + # this gets us the previous post by id (if it exists) + previous: wpPage(id: { eq: $previousPostId }) { + uri + title + } + + # this gets us the next post by id (if it exists) + next: wpPage(id: { eq: $nextPostId }) { + uri + title + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/src/templates/Post.js b/starters/gatsby-starter-wordpress-blog/src/templates/Post.js new file mode 100644 index 0000000000000..688105759b8ee --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/templates/Post.js @@ -0,0 +1,129 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import Image from "gatsby-image" +import parse from "html-react-parser" + +// We're using Gutenberg so we need the block styles +import "@wordpress/block-library/build-style/style.css" +import "@wordpress/block-library/build-style/theme.css" + +import Bio from "../components/bio" +import Layout from "../components/layout" +import SEO from "../components/seo" + +const BlogPostTemplate = ({ data: { previous, next, post } }) => { + const featuredImage = { + fluid: post.featuredImage?.node?.localFile?.childImageSharp?.fluid, + alt: post.featuredImage?.node?.alt || ``, + } + + return ( + + + +
    +
    +

    {parse(post.title)}

    + +

    {post.date}

    + + {/* if we have a featured image for this post let's display it */} + {featuredImage?.fluid && ( + {featuredImage.alt} + )} +
    + + {!!post.content && ( +
    {parse(post.content)}
    + )} + +
    + +
    + +
    +
    + + +
    + ) +} + +export default BlogPostTemplate + +export const pageQuery = graphql` + query BlogPostById( + # these variables are passed in via createPage.pageContext in gatsby-node.js + $id: String! + $previousPostId: String + $nextPostId: String + ) { + # selecting the current post by id + post: wpPost(id: { eq: $id }) { + id + excerpt + content + title + date(formatString: "MMMM DD, YYYY") + + featuredImage { + node { + altText + localFile { + childImageSharp { + fluid(maxWidth: 1000, quality: 100) { + ...GatsbyImageSharpFluid_tracedSVG + } + } + } + } + } + } + + # this gets us the previous post by id (if it exists) + previous: wpPost(id: { eq: $previousPostId }) { + uri + title + } + + # this gets us the next post by id (if it exists) + next: wpPost(id: { eq: $nextPostId }) { + uri + title + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js b/starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js new file mode 100644 index 0000000000000..42e5bcf217ced --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js @@ -0,0 +1,89 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import parse from "html-react-parser" + +import Bio from "../components/bio" +import Layout from "../components/layout" +import SEO from "../components/seo" + +const BlogIndex = ({ + data, + pageContext: { nextPagePath, previousPagePath }, +}) => { + const posts = data.allWpPost.nodes + + if (!posts.length) { + return ( + + + +

    + No blog posts found. Add posts to your WordPress site and they'll + appear here! +

    +
    + ) + } + + return ( + + + + + +
      + {posts.map(post => { + const title = post.title + + return ( +
    1. +
      +
      +

      + + {parse(title)} + +

      + {post.date} +
      +
      {parse(post.excerpt)}
      +
      +
    2. + ) + })} +
    + + {previousPagePath && ( + <> + Previous page +
    + + )} + {nextPagePath && Next page} +
    + ) +} + +export default BlogIndex + +export const pageQuery = graphql` + query WordPressPostArchive($offset: Int!, $postsPerPage: Int!) { + allWpPost( + sort: { fields: [date], order: DESC } + limit: $postsPerPage + skip: $offset + ) { + nodes { + excerpt + uri + date(formatString: "MMMM DD, YYYY") + title + excerpt + } + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/static/favicon.ico b/starters/gatsby-starter-wordpress-blog/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..85a4d9fac03ba838f37feca9d583478bd4afd647 GIT binary patch literal 198 xcmZQzU<5(|0VXiLfq{WR42U&=SOAC>fEXkX0u5jillcGtKc*mwA|N9u!2sz^B%}ZU literal 0 HcmV?d00001 diff --git a/starters/gatsby-starter-wordpress-blog/static/robots.txt b/starters/gatsby-starter-wordpress-blog/static/robots.txt new file mode 100644 index 0000000000000..eb0536286f308 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: From bc2707ada016a775403a7a9e24ad04734a674b41 Mon Sep 17 00:00:00 2001 From: Tyler Barnes Date: Fri, 22 Jan 2021 15:59:18 -0800 Subject: [PATCH 02/32] Update tsconfig.json --- packages/gatsby-source-wordpress/tsconfig.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/gatsby-source-wordpress/tsconfig.json b/packages/gatsby-source-wordpress/tsconfig.json index e8bead21abdbe..da2e858380af0 100644 --- a/packages/gatsby-source-wordpress/tsconfig.json +++ b/packages/gatsby-source-wordpress/tsconfig.json @@ -1,10 +1,13 @@ { - "extends": "../tsconfig.json", "compilerOptions": { "baseUrl": "./src", "paths": { "~/*": ["*"] - } + }, + "lib": ["ESNext", "DOM"], + "target": "ES6", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true }, "include": ["src"] } From c1061a1e1d435667baf66a9bb21bca7ad1e62e8b Mon Sep 17 00:00:00 2001 From: Tyler Barnes Date: Fri, 22 Jan 2021 16:06:31 -0800 Subject: [PATCH 03/32] remove wordpress recipe --- packages/gatsby-recipes/recipes/wordpress.mdx | 93 ------------------- packages/gatsby-recipes/src/recipes-list.js | 4 - 2 files changed, 97 deletions(-) delete mode 100644 packages/gatsby-recipes/recipes/wordpress.mdx diff --git a/packages/gatsby-recipes/recipes/wordpress.mdx b/packages/gatsby-recipes/recipes/wordpress.mdx deleted file mode 100644 index 799a23b172a93..0000000000000 --- a/packages/gatsby-recipes/recipes/wordpress.mdx +++ /dev/null @@ -1,93 +0,0 @@ -# Setup Gatsby with WordPress REST API - -This recipes sets up and configures `gatsby-source-wordpress` and starter page templates for a WordPress-powered Gatsby site. - -This recipe: - ---- - -Installs necessary NPM packages. - - - ---- - -Installs `gatsby-source-wordpress` to pull the WordPress data into Gatsby. Note, once this recipe finishes, you will need to update the config to point to your actual WordPress URL. - - - - ---- - -Creates a local Gatsby plugin that create pages for the WordPress data. - - - - - ---- - -Installs the local plugin. - - - ---- - -Creates basic post, page, category, tag, and user templates. - - - - - - - - - - - - ---- - -After installing this recipe, update `gatsby-config.js` to point to your WordPress instance. Then start Gatsby and check out your new pages powered by WordPress! - -Be sure to have one of each post type on your WordPress site for the site to build without errors: -- Post -- Page -- Category -- Tag -- User - -Also, be sure to import your custom layout component at the top of each page template. diff --git a/packages/gatsby-recipes/src/recipes-list.js b/packages/gatsby-recipes/src/recipes-list.js index d14ccaeadd2a3..9e38d544a5d8e 100644 --- a/packages/gatsby-recipes/src/recipes-list.js +++ b/packages/gatsby-recipes/src/recipes-list.js @@ -89,10 +89,6 @@ export default [ label: `Add GitHub Pages deployment with Travis CI`, value: `travis-deploy-github-pages`, }, - { - label: `Add Headless WordPress integration`, - value: `wordpress`, - }, { label: `Add e-commerce powered by Snipcart`, value: `snipcart.mdx`, From b5d00be127d99539c984dd88e07f141d6d2cfb15 Mon Sep 17 00:00:00 2001 From: Tyler Barnes Date: Fri, 22 Jan 2021 16:21:33 -0800 Subject: [PATCH 04/32] replace monorepo references to gatsby-source-wordpress-experimental --- benchmarks/source-wordpress/gatsby-config.js | 2 +- benchmarks/source-wordpress/package.json | 2 +- .../source-wordpress/scripts/updater.js | 2 +- dictionary.txt | 2 +- .../docs/how-to/sourcing-data/headless-cms.md | 56 ++++++------- .../sourcing-data/sourcing-from-wordpress.md | 24 +++--- docs/docs/sourcing-from-woocommerce.md | 2 +- docs/tutorial/wordpress-image-tutorial.md | 2 +- .../wordpress-source-plugin-tutorial.md | 2 +- packages/create-gatsby/src/cmses.json | 7 +- .../create-gatsby/src/plugin-schemas.json | 2 +- .../docs/tutorials/configuring-wp-gatsby.md | 2 +- .../test-site/README.md | 78 ------------------- .../gatsby-config.js | 4 +- .../package.json | 2 +- 15 files changed, 57 insertions(+), 132 deletions(-) delete mode 100644 packages/gatsby-source-wordpress/test-site/README.md diff --git a/benchmarks/source-wordpress/gatsby-config.js b/benchmarks/source-wordpress/gatsby-config.js index 18756833d2749..c361ca5875566 100644 --- a/benchmarks/source-wordpress/gatsby-config.js +++ b/benchmarks/source-wordpress/gatsby-config.js @@ -18,7 +18,7 @@ module.exports = { }, }, { - resolve: `gatsby-source-wordpress-experimental`, + resolve: `gatsby-source-wordpress`, options: { url: process.env.BENCHMARK_WPGRAPHQL_URL, type: { diff --git a/benchmarks/source-wordpress/package.json b/benchmarks/source-wordpress/package.json index 6aa3ad5d20e35..3de6f14f19e1d 100644 --- a/benchmarks/source-wordpress/package.json +++ b/benchmarks/source-wordpress/package.json @@ -23,7 +23,7 @@ "gatsby-plugin-benchmark-reporting": "*", "gatsby-plugin-sharp": "^2.6.2", "gatsby-source-filesystem": "^2.1.48", - "gatsby-source-wordpress-experimental": "^5.0.0", + "gatsby-source-wordpress": "^4.0.0", "gatsby-transformer-sharp": "^2.5.2", "react": "^16.12.0", "react-dom": "^16.12.0" diff --git a/benchmarks/source-wordpress/scripts/updater.js b/benchmarks/source-wordpress/scripts/updater.js index 653d4f469435f..8705ff6aaf340 100644 --- a/benchmarks/source-wordpress/scripts/updater.js +++ b/benchmarks/source-wordpress/scripts/updater.js @@ -1,4 +1,4 @@ -const fetchGraphql = require(`gatsby-source-wordpress-experimental/dist/utils/fetch-graphql`) +const fetchGraphql = require(`gatsby-source-wordpress/dist/utils/fetch-graphql`) .default const faker = require(`faker`) diff --git a/dictionary.txt b/dictionary.txt index e12020c82264e..a9854b19476ed 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -407,7 +407,7 @@ gatsby-source-flotiq gatsby-source-graphql gatsby-source-sanity gatsby-source-tmdb -gatsby-source-wordpress-experimental +gatsby-source-wordpress gatsby-source-x-cms gatsby-starter-blog gatsby-starter-buttercms diff --git a/docs/docs/how-to/sourcing-data/headless-cms.md b/docs/docs/how-to/sourcing-data/headless-cms.md index 6c03583784e23..5377bb67277e6 100644 --- a/docs/docs/how-to/sourcing-data/headless-cms.md +++ b/docs/docs/how-to/sourcing-data/headless-cms.md @@ -21,34 +21,34 @@ The guides in this section will walk through the process of setting up content s Here are more resources for guides, plugins, and starters for CMS systems you can connect to: -| CMS | Guides | Plugin Docs | Official Starter | -| --------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------- | -| [Contentful](https://www.contentful.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-contentful/) | [docs](/plugins/gatsby-source-contentful) | [starter](/starters/contentful/starter-gatsby-blog/) | -| [NetlifyCMS](https://www.netlifycms.org/) | [guide](/docs/how-to/sourcing-data/sourcing-from-netlify-cms/) | [docs](/plugins/gatsby-plugin-netlify-cms) | [starter](/starters/netlify-templates/gatsby-starter-netlify-cms/) | -| [WordPress](https://www.wordpress.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-wordpress/) | [docs](/plugins/gatsby-source-wordpress-experimental) | | -| [Prismic](https://www.prismic.io/) | [guide](/docs/how-to/sourcing-data/sourcing-from-prismic/) | [docs](/plugins/gatsby-source-prismic) | | -| [Strapi](https://strapi.io/) | [guide](/blog/2018-1-18-strapi-and-gatsby/) | [docs](/plugins/gatsby-source-strapi) | | -| [DatoCMS](https://www.datocms.com/) | [guide](https://www.gatsbyjs.com/guides/datocms/) | [docs](/plugins/gatsby-source-datocms) | [starter](/starters/datocms/gatsby-portfolio/) | -| [Sanity](https://www.sanity.io/) | [guide](/docs/sourcing-from-sanity) | [docs](/plugins/gatsby-source-sanity/) | | -| [Drupal](https://www.drupal.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-drupal/) | [docs](/plugins/gatsby-source-drupal) | | -| [Shopify](https://www.shopify.com/) | | [docs](/plugins/gatsby-source-shopify) | | -| [Cosmic](https://cosmicjs.com/) | [guide](/blog/2018-06-07-build-a-gatsby-blog-using-the-cosmic-js-source-plugin/) | [docs](/plugins/gatsby-source-cosmicjs) | [starters](/starters/?s=cosmic&v=2) | -| [Contentstack](https://www.contentstack.com/) | [guide](/docs/sourcing-from-contentstack) | [docs](/plugins/gatsby-source-contentstack) | [starter](/starters/contentstack/gatsby-starter-contentstack/) | -| [ButterCMS](https://buttercms.com/) | [guide](/docs/sourcing-from-buttercms/) | [docs](/plugins/gatsby-source-buttercms) | [starter](/starters/ButterCMS/gatsby-starter-buttercms/) | -| [Ghost](https://ghost.org/) | [guide](/docs/sourcing-from-ghost/) | [docs](/plugins/gatsby-source-ghost/) | [starter](/starters/TryGhost/gatsby-starter-ghost/) | -| [Kentico Kontent](https://kontent.ai/) | [guide](/docs/sourcing-from-kentico-kontent) | [docs](/plugins/@kentico/gatsby-source-kontent) | [starter](/starters/Kentico/gatsby-starter-kontent-lumen/) | -| [Directus](https://directus.io/) | | [docs](/plugins/gatsby-source-directus) | | -| [GraphCMS](https://graphcms.com/) | [guide](/docs/sourcing-from-graphcms) | [docs](/plugins/gatsby-source-graphql) | [starter](/starters/GraphCMS/gatsby-graphcms-tailwindcss-example/) | -| [Storyblok](https://www.storyblok.com/) | [guide](https://www.storyblok.com/tp/gatsby-multilanguage-website-tutorial) | [docs](/plugins/gatsby-source-storyblok) | [starter](https://github.com/storyblok/gatsby-storyblok-boilerplate) | -| [Cockpit](https://getcockpit.com/) | | [docs](/plugins/gatsby-plugin-cockpit) | | -| [CraftCMS](https://craftcms.com/) | | [docs](/plugins/gatsby-source-craftcms) | | -| [Agility CMS](https://agilitycms.com/) | [guide](/docs/sourcing-from-agilitycms/) | [docs](/plugins/@agility/gatsby-source-agilitycms/) | [starter](/starters/agility/agility-gatsby-starter/) | -| [Forestry](https://forestry.io/) | [guide](/docs/sourcing-from-forestry/) | | | -| [Gentics Mesh](https://getmesh.io) | [guide](/docs/sourcing-from-gentics-mesh) | | | -| [Seams-CMS](https://seams-cms.com/) | [guide](/docs/sourcing-from-seams-cms) | | | -| [Builder.io](https://www.builder.io/) | [guide](/docs/sourcing-from-builder-io/) | [docs](/plugins/@builder.io/gatsby/) | [starter](https://github.com/BuilderIO/gatsby-starter-builder) | -| [Flotiq](https://flotiq.com/) | [guide](/docs/sourcing-from-flotiq/) | [docs](/plugins/gatsby-source-flotiq) | [starter](https://github.com/flotiq/gatsby-starter-blog) | -| [Tina](https://tina.io) | [guide](https://tina.io/guides/#gatsby) | [docs](https://tina.io/docs/integrations/gatsby/) | | +| CMS | Guides | Plugin Docs | Official Starter | +| --------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------- | +| [Contentful](https://www.contentful.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-contentful/) | [docs](/plugins/gatsby-source-contentful) | [starter](/starters/contentful/starter-gatsby-blog/) | +| [NetlifyCMS](https://www.netlifycms.org/) | [guide](/docs/how-to/sourcing-data/sourcing-from-netlify-cms/) | [docs](/plugins/gatsby-plugin-netlify-cms) | [starter](/starters/netlify-templates/gatsby-starter-netlify-cms/) | +| [WordPress](https://www.wordpress.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-wordpress/) | [docs](/plugins/gatsby-source-wordpress) | | +| [Prismic](https://www.prismic.io/) | [guide](/docs/how-to/sourcing-data/sourcing-from-prismic/) | [docs](/plugins/gatsby-source-prismic) | | +| [Strapi](https://strapi.io/) | [guide](/blog/2018-1-18-strapi-and-gatsby/) | [docs](/plugins/gatsby-source-strapi) | | +| [DatoCMS](https://www.datocms.com/) | [guide](https://www.gatsbyjs.com/guides/datocms/) | [docs](/plugins/gatsby-source-datocms) | [starter](/starters/datocms/gatsby-portfolio/) | +| [Sanity](https://www.sanity.io/) | [guide](/docs/sourcing-from-sanity) | [docs](/plugins/gatsby-source-sanity/) | | +| [Drupal](https://www.drupal.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-drupal/) | [docs](/plugins/gatsby-source-drupal) | | +| [Shopify](https://www.shopify.com/) | | [docs](/plugins/gatsby-source-shopify) | | +| [Cosmic](https://cosmicjs.com/) | [guide](/blog/2018-06-07-build-a-gatsby-blog-using-the-cosmic-js-source-plugin/) | [docs](/plugins/gatsby-source-cosmicjs) | [starters](/starters/?s=cosmic&v=2) | +| [Contentstack](https://www.contentstack.com/) | [guide](/docs/sourcing-from-contentstack) | [docs](/plugins/gatsby-source-contentstack) | [starter](/starters/contentstack/gatsby-starter-contentstack/) | +| [ButterCMS](https://buttercms.com/) | [guide](/docs/sourcing-from-buttercms/) | [docs](/plugins/gatsby-source-buttercms) | [starter](/starters/ButterCMS/gatsby-starter-buttercms/) | +| [Ghost](https://ghost.org/) | [guide](/docs/sourcing-from-ghost/) | [docs](/plugins/gatsby-source-ghost/) | [starter](/starters/TryGhost/gatsby-starter-ghost/) | +| [Kentico Kontent](https://kontent.ai/) | [guide](/docs/sourcing-from-kentico-kontent) | [docs](/plugins/@kentico/gatsby-source-kontent) | [starter](/starters/Kentico/gatsby-starter-kontent-lumen/) | +| [Directus](https://directus.io/) | | [docs](/plugins/gatsby-source-directus) | | +| [GraphCMS](https://graphcms.com/) | [guide](/docs/sourcing-from-graphcms) | [docs](/plugins/gatsby-source-graphql) | [starter](/starters/GraphCMS/gatsby-graphcms-tailwindcss-example/) | +| [Storyblok](https://www.storyblok.com/) | [guide](https://www.storyblok.com/tp/gatsby-multilanguage-website-tutorial) | [docs](/plugins/gatsby-source-storyblok) | [starter](https://github.com/storyblok/gatsby-storyblok-boilerplate) | +| [Cockpit](https://getcockpit.com/) | | [docs](/plugins/gatsby-plugin-cockpit) | | +| [CraftCMS](https://craftcms.com/) | | [docs](/plugins/gatsby-source-craftcms) | | +| [Agility CMS](https://agilitycms.com/) | [guide](/docs/sourcing-from-agilitycms/) | [docs](/plugins/@agility/gatsby-source-agilitycms/) | [starter](/starters/agility/agility-gatsby-starter/) | +| [Forestry](https://forestry.io/) | [guide](/docs/sourcing-from-forestry/) | | | +| [Gentics Mesh](https://getmesh.io) | [guide](/docs/sourcing-from-gentics-mesh) | | | +| [Seams-CMS](https://seams-cms.com/) | [guide](/docs/sourcing-from-seams-cms) | | | +| [Builder.io](https://www.builder.io/) | [guide](/docs/sourcing-from-builder-io/) | [docs](/plugins/@builder.io/gatsby/) | [starter](https://github.com/BuilderIO/gatsby-starter-builder) | +| [Flotiq](https://flotiq.com/) | [guide](/docs/sourcing-from-flotiq/) | [docs](/plugins/gatsby-source-flotiq) | [starter](https://github.com/flotiq/gatsby-starter-blog) | +| [Tina](https://tina.io) | [guide](https://tina.io/guides/#gatsby) | [docs](https://tina.io/docs/integrations/gatsby/) | | ## How to add new guides to this section diff --git a/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md b/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md index 7036d0047908d..f9c6c18bdef89 100644 --- a/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md +++ b/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md @@ -4,16 +4,16 @@ title: Sourcing from WordPress This guide will walk you through the process of using Gatsby with WordPress and [WPGraphQL](https://www.wpgraphql.com/). -WordPress is a free and open-source content management system (CMS). Let's say you have a site built with WordPress and you want to pull the existing data into your static Gatsby site. You can do that with [gatsby-source-wordpress-experimental](/plugins/gatsby-source-wordpress-experimental/?=wordpress). Let's begin! +WordPress is a free and open-source content management system (CMS). Let's say you have a site built with WordPress and you want to pull the existing data into your static Gatsby site. You can do that with [gatsby-source-wordpress](/plugins/gatsby-source-wordpress/?=wordpress). Let's begin! _Note: this guide uses the `gatsby-starter-default` to provide you with the knowledge necessary to start working with WordPress but if you get stuck at some point of the guide feel free to use -[this example](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental) to gain extra insights._ +[this example](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog) to gain extra insights._ ## Setup ### Quick start -This guide assumes that you have a Gatsby project set up along with a WordPress instance with the [appropriate plugins](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/getting-started.md#required-wordpress-dependencies). If you need to set up a Gatsby project, head to the [Quick Start guide](/docs/quick-start), then come back. For information on configuring your WordPress instance, checkout the [docs](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/getting-started.md#required-wordpress-dependencies) before continuing. +This guide assumes that you have a Gatsby project set up along with a WordPress instance with the [appropriate plugins](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress-experimental/docs/getting-started.md#required-wordpress-dependencies). If you need to set up a Gatsby project, head to the [Quick Start guide](/docs/quick-start), then come back. For information on configuring your WordPress instance, checkout the [docs](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress-experimental/docs/getting-started.md#required-wordpress-dependencies) before continuing. ### gatsby-config.js @@ -29,12 +29,12 @@ module.exports = { } ``` -### Gatsby Plugin: gatsby-source-wordpress-experimental +### Gatsby Plugin: gatsby-source-wordpress -Now that you have some understanding of project structure let's add fetching WordPress data functionality. There's a plugin for that. [`gatsby-source-wordpress-experimental`](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental) is Gatsby's plugin for sourcing data from WordPress sites using the WPGraphQL API. You can install it by running the following command: +Now that you have some understanding of project structure let's add fetching WordPress data functionality. There's a plugin for that. [`gatsby-source-wordpress`](https://github.com/gatsbyjs/gatsby-source-wordpress) is Gatsby's plugin for sourcing data from WordPress sites using the WPGraphQL API. You can install it by running the following command: ```shell -npm install gatsby-source-wordpress-experimental +npm install gatsby-source-wordpress ``` ### Configuring the plugin @@ -47,7 +47,7 @@ module.exports = { plugins: [ ..., { - resolve: `gatsby-source-wordpress-experimental`, + resolve: `gatsby-source-wordpress`, options: { url: // allows a fallback url if WPGRAPHQL_URL is not set in the env, this may be a local or remote WP instance. @@ -77,17 +77,17 @@ module.exports = { } ``` -**Note**: If your config varies from what it shown above, for instance, if you are securing your WordPress instance with Basic Auth, please refer to the [plugin docs](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/plugin-options.md) for more information on how to setup other options required for your use case. +**Note**: If your config varies from what it shown above, for instance, if you are securing your WordPress instance with Basic Auth, please refer to the [plugin docs](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress-experimental/docs/plugin-options.md) for more information on how to setup other options required for your use case. ## Using WordPress data -Once your source plugin is pulling data, you can construct your site pages by implementing the `createPages` API in `gatsby-node.js`. When this is called, your data has already been fetched and is available to query with GraphQL. Gatsby uses [GraphQL at build time](/docs/conceptual/graphql-concepts/#how-do-graphql-and-gatsby-work-together); Your source plugin (in this case, `gatsby-source-wordpress-experimental`) fetches your data, and Gatsby uses that data to "[automatically _infer_ a GraphQL schema](/docs/conceptual/graphql-concepts/#how-does-graphql-and-gatsby-work-together)" that you can query against. +Once your source plugin is pulling data, you can construct your site pages by implementing the `createPages` API in `gatsby-node.js`. When this is called, your data has already been fetched and is available to query with GraphQL. Gatsby uses [GraphQL at build time](/docs/conceptual/graphql-concepts/#how-do-graphql-and-gatsby-work-together); Your source plugin (in this case, `gatsby-source-wordpress`) fetches your data, and Gatsby uses that data to "[automatically _infer_ a GraphQL schema](/docs/conceptual/graphql-concepts/#how-does-graphql-and-gatsby-work-together)" that you can query against. The `createPages` API exposes the `graphql` function: -> The GraphQL function allows us to run arbitrary queries against the local WordPress GraphQL schema... like the site has a built-in database constructed from the fetched data that you can run queries against. ([Source](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental/blob/master/gatsby-node.js#L21)) +> The GraphQL function allows us to run arbitrary queries against the local WordPress GraphQL schema... like the site has a built-in database constructed from the fetched data that you can run queries against. ([Source](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog/gatsby-node.js#L21)) -You can use the [`gatsby-node.js`](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental/blob/master/gatsby-node.js) from the plugin demo to get started. For the purpose of this guide, the code to construct posts works out of the box. It queries your local WordPress GraphQL schema for all Posts, [iterates through each Post node](/docs/programmatically-create-pages-from-data/) and constructs a static page for each, [based on the defined template](/docs/how-to/routing/layout-components/). +You can use the [`gatsby-node.js`](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog/gatsby-node.js) from the plugin demo to get started. For the purpose of this guide, the code to construct posts works out of the box. It queries your local WordPress GraphQL schema for all Posts, [iterates through each Post node](/docs/programmatically-create-pages-from-data/) and constructs a static page for each, [based on the defined template](/docs/how-to/routing/layout-components/). For example: @@ -143,7 +143,7 @@ In the GraphiQL IDE at `http://localhost:8000/__graphql` you should now see quer ## Wrapping up This was a very basic example meant to help you understand how you can fetch data from WordPress and use it with Gatsby. As -the guide mentioned already, if you got stuck, you can have a look at [example repo](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental), which is a working example +the guide mentioned already, if you got stuck, you can have a look at [example repo](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog), which is a working example created to support this guide. ## Other resources diff --git a/docs/docs/sourcing-from-woocommerce.md b/docs/docs/sourcing-from-woocommerce.md index de05f6d68b50d..8841a3bb992b2 100644 --- a/docs/docs/sourcing-from-woocommerce.md +++ b/docs/docs/sourcing-from-woocommerce.md @@ -86,5 +86,5 @@ The WPGraphQL plugin is also undergoing significant changes. It has not yet hit - [`gatsby-source-woocommerce`](/plugins/@pasdo501/gatsby-source-woocommerce/) - [`gatsby-theme-woocommerce`](/plugins/@ccerda0520/gatsby-theme-woocommerce/) - [`wp-graphql-woocommerce` plugin](https://github.com/wp-graphql/wp-graphql-woocommerce) -- [experimental `gatsby-source-wordpress` starter](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental) +- [`gatsby-source-wordpress` starter](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog) - [Sourcing from WordPress](/docs/how-to/sourcing-data/sourcing-from-wordpress/) diff --git a/docs/tutorial/wordpress-image-tutorial.md b/docs/tutorial/wordpress-image-tutorial.md index 1907e7c6bf653..1019b2004a59c 100644 --- a/docs/tutorial/wordpress-image-tutorial.md +++ b/docs/tutorial/wordpress-image-tutorial.md @@ -6,7 +6,7 @@ title: "Adding Images to a WordPress Site" The version of `gatsby-source-wordpress` that this tutorial uses will soon be deprecated and replaced with a complete rewrite in the next major version (v4). The reason for this is that we've adopted the use of WPGraphQL to support Preview and incremental builds as well as to make the schema generally more stable and consistent. -Please follow the tutorial on [creating a new site with `gatsby-source-wordpress-experimental`](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. +Please follow the tutorial on [creating a new site with `gatsby-source-wordpress`](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress-experimental/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. ## What this tutorial covers: diff --git a/docs/tutorial/wordpress-source-plugin-tutorial.md b/docs/tutorial/wordpress-source-plugin-tutorial.md index 4625102d52bd0..06f87a3f45bf2 100644 --- a/docs/tutorial/wordpress-source-plugin-tutorial.md +++ b/docs/tutorial/wordpress-source-plugin-tutorial.md @@ -8,7 +8,7 @@ title: "WordPress Source Plugin Tutorial" The version of `gatsby-source-wordpress` that this tutorial uses will soon be deprecated and replaced with a complete rewrite in the next major version (v4). The reason for this is that we've adopted the use of WPGraphQL to support Preview and incremental builds as well as to make the schema generally more stable and consistent. -Please follow the tutorial on [creating a new site with `gatsby-source-wordpress-experimental`](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. +Please follow the tutorial on [creating a new site with `gatsby-source-wordpress`](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress-experimental/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. ### What this tutorial covers: diff --git a/packages/create-gatsby/src/cmses.json b/packages/create-gatsby/src/cmses.json index 292b8234ba7b5..376975793a8fd 100644 --- a/packages/create-gatsby/src/cmses.json +++ b/packages/create-gatsby/src/cmses.json @@ -1,8 +1,11 @@ { - "gatsby-source-wordpress-experimental": { "message": "WordPress" }, + "gatsby-source-wordpress": { "message": "WordPress" }, "gatsby-source-contentful": { "message": "Contentful" }, "gatsby-source-sanity": { "message": "Sanity" }, "gatsby-source-datocms": { "message": "DatoCMS" }, "gatsby-source-shopify": { "message": "Shopify" }, - "gatsby-plugin-netlify-cms": {"message": "Netlify CMS", "dependencies": ["netlify-cms-app"]} + "gatsby-plugin-netlify-cms": { + "message": "Netlify CMS", + "dependencies": ["netlify-cms-app"] + } } diff --git a/packages/create-gatsby/src/plugin-schemas.json b/packages/create-gatsby/src/plugin-schemas.json index 26285c5a06597..b54be1ad6ac77 100644 --- a/packages/create-gatsby/src/plugin-schemas.json +++ b/packages/create-gatsby/src/plugin-schemas.json @@ -1,5 +1,5 @@ { - "gatsby-source-wordpress-experimental": { + "gatsby-source-wordpress": { "type": "object", "keys": { "url": { diff --git a/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md b/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md index 1eb6d92f6cf65..3153dee9db0d0 100644 --- a/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md +++ b/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md @@ -27,7 +27,7 @@ Now that your Builds webhook is set up, when content is updated in WordPress you ## Setting Up Preview -Once configured in the GatsbyJS settings page in wp-admin, Previews will work out of the box as long as your Gatsby pages have the corresponding node id as part of their pageContext. See [this starter's gatsby-node.js](https://github.com/TylerBarnes/using-gatsby-source-wordpress/tree/master/gatsby-node.js) for an example of how to set up your Gatsby pages. See the [feature page on Preview](../features/preview.md) for more information about how Preview works, considerations you should keep in mind while writing Preview-ready templates, and how to debug Preview templates. +Once configured in the GatsbyJS settings page in wp-admin, Previews will work out of the box as long as your Gatsby pages have the corresponding node id as part of their pageContext. See [this starter's gatsby-node.js](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog/tree/master/gatsby-node.js) for an example of how to set up your Gatsby pages. See the [feature page on Preview](../features/preview.md) for more information about how Preview works, considerations you should keep in mind while writing Preview-ready templates, and how to debug Preview templates. ### Connecting Preview diff --git a/packages/gatsby-source-wordpress/test-site/README.md b/packages/gatsby-source-wordpress/test-site/README.md deleted file mode 100644 index e3cdda95df41e..0000000000000 --- a/packages/gatsby-source-wordpress/test-site/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# gatsby-source-wordpress V4 (alpha) starter - -**WARNING:** this is a work in progress. There will be bugs. Features and api's may dramatically change in this starter and the new source plugin it's using. Don't use this in production. Do try this if you know what you're doing and are experienced with Gatsby and WPGraphQL. This starter is also not thoroughly considered and was written quickly to show how to set-up the new plugin. - -## Intro - -This starter uses an early alpha version of the upcoming `gatsby-source-wordpress@v4`. For now, the only documentation that exists is here in this starter. That will soon change - better docs will be written and moved to the Gatsby repo as features solidify and things become more stable. - -## Installation - -- Install Gatsby and gatsby-cli -- Set up this starter locally `gatsby new wordpress-v4 https://github.com/TylerBarnes/using-gatsby-source-wordpress` -- In the `WordPress/plugins/` directory of this starter there are two plugins which both need to be installed into a live WordPress installation - - WPGraphQL v0.6.1 - this adds GraphQL to our WordPress server - - WPGatsby v0.0.1 - this modifies the WPGQL schema and records when user actions have happened to allow us to do selective cache invalidation in Gatsby (to speed up builds). - - For now, ignore the update notification for WPGatsby on the plugins page in wp-admin https://github.com/TylerBarnes/using-gatsby-source-wordpress/issues/1. - -## Getting started - -- In `gatsby-config.js`, update the plugin options for `gatsby-source-wordpress` - - Change `url` to point to your WordPress install. This should be the full url of your graphql endpoint. Eg `https://yoursite.com/graphql` - - The `nodeUpdateInterval` option specifies in milliseconds how often Gatsby will ask WP what data has changed during development. If you want to see data update in near-realtime while you're developing, set this low. Your server may have trouble responding to too many requests over a long period of time and in that case, set this high. Setting it higher saves electricity too ⚡️🌲 -- in .env.GATSBY_CONCURRENT_DOWNLOAD, set how many concurrent connections your server can handle. If this plugin knocks your server over and it stops responding, lower the concurrent connections. - -## Cool features - -- Automatically pulls as much of the remote WPGQL schema as possible and creates Gatsby nodes from that data. Data is never fetched twice. If we will already have data, for example on a connection field between an Author and a Post, we only pull the id of the Post and link the field to the Post node in Gatsby. -- After the first build or run of develop only changed data is pulled. -- Only referenced media items and files are downloaded. If you have a site where an admin has uploaded 10k images but there are only 1k pages, we don't want to have to pull all those images, just the ones that are used. That's the default behaviour of the source plugin. There is also an option to lazily download files as they're queried for, but it's currently problematic for some CI providers, it messes up cli output, and Gatsby currently only runs 4 gql queries concurrently which slows down file fetching. This will work in the future though! -- Potentially works with all (or most) WPGQL plugins. So ACF, polylang, etc will work. See "known issues" below if a plugin doesn't work. -- Do you have a site with 50k posts and you want to do some quick development on it? You can limit the amount of nodes that will be pulled by setting an option to limit the amount of posts that will be pulled (by typename) in the plugin options. For example, you can get working quickly by setting the plugin to only pull 10 posts. -- If the remote schema changes between builds, the entire cache will be invalidated and the plugin will start a fresh pull/build. -- Lot's of other things :p will write more/actual documentation as features solidify - -## Recommendations - -- For now I recommend hosting on pantheon (or another high-performance WP host) for your remote WP server, and using Local by Flywheel (upgrade to the latest version for ultra-speed) to do local development. You can use this with other setups, but it may be less enjoyable if your server is slower than the recommended setup. More work will be done in the future to ensure this works well on all types of hosts. -- Stick to WPGraphQL v0.6.x for now, as previous or future versions may not yet work with the new source plugin (untested) - -## Debugging - -If you're getting errors while the nodes are being sourced, you can see which query had the error with the following options: - -```js -{ - resolve: `gatsby-source-wordpress`, - options: { - debug: { - graphql: { - showQueryOnError: true, - showQueryVarsOnError: true, - copyQueryOnError: true, - panicOnError: true, - }, - }, - } -} -``` - -## Super rough and unscientific benchmarks using pantheon as a host - -- With a 6k page site that has 5k images and 12k image transforms - Gatsby cloud built this in 20 minutes. A second rebuild with some changed content took 2 minutes. -- With a 500 page site with 500 images - Gatsby cloud built this in 3:30 and a second rebuild with changed content took 1 minute. -- locally these both build in 20 seconds on a second run. re-starting your development server always takes around 12 seconds regardless of the size of your site. - -## Known issues - -- This starter doesn't build it's Styled components properly -- WPGatsby doesn't use the build webhook in settings -- The cache isn't selectively invalidated for every possible user interaction. For now this only works for creating/updating/deleting/reattributing users and adding or removing them based on if their profile is public or not, creating/deleting/drafting/updating posts/pages/CPT's, editing/creating/deleting media items, and adding/editing/deleting categories/terms/tags. -- Changing the homepage doesn't invalidate the cache -- If you use any additional plugins that modify the WPGQL schema, and those plugins API's haven't been designed to have all their fields fetched at once, you may get errors. The reason this happens is that `gatsby-source-wordpress` looks at the remote schema, constructs a GraphQL query for every possible field we could fetch, and then attempts to fetch that data. This only happens on the first build or first run of develop, and then on subsequent builds/develops it only pulls changed data since the last time. This has the effect of validating the remote schema in ways that are normally tedious or difficult to do for plugin authors, so you may see errors related to this. If you do, you can get around it by omitting certain fields from the remote schema in plugin options. For example, to support wp-graphql-gutenberg, I've excluded the `attributes` field here, as it's problematic to fetch all attributes at once. The api for working around this will be changed and future work to prevent these kinds of errors will be done to `gatsby-source-wordpress` to mitigate this. -- Probably other things :p - -## gatsby-source-wordpress - -Currently the source plugin code lives here -> https://github.com/TylerBarnes/gatsby/tree/feat/source-wordpress-v4/packages/gatsby-source-wordpress -And the WPGatsby code lives here -> https://github.com/TylerBarnes/gatsby/tree/feat/source-wordpress-v4/packages/wp-gatsby diff --git a/starters/gatsby-starter-wordpress-blog/gatsby-config.js b/starters/gatsby-starter-wordpress-blog/gatsby-config.js index da93bb459e17a..c80ae634cb271 100644 --- a/starters/gatsby-starter-wordpress-blog/gatsby-config.js +++ b/starters/gatsby-starter-wordpress-blog/gatsby-config.js @@ -20,10 +20,10 @@ module.exports = { * to your WordPress site. * * visit the plugin docs to learn more - * https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/README.md + * https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress-experimental/README.md * */ - resolve: `gatsby-source-wordpress-experimental`, + resolve: `gatsby-source-wordpress`, options: { // the only required plugin option for WordPress is the GraphQL url. url: diff --git a/starters/gatsby-starter-wordpress-blog/package.json b/starters/gatsby-starter-wordpress-blog/package.json index 12b38a04adfc5..eab107770e3d4 100644 --- a/starters/gatsby-starter-wordpress-blog/package.json +++ b/starters/gatsby-starter-wordpress-blog/package.json @@ -15,7 +15,7 @@ "gatsby-plugin-offline": "^3.3.3", "gatsby-plugin-react-helmet": "^3.3.14", "gatsby-plugin-sharp": "^2.7.1", - "gatsby-source-wordpress-experimental": "^7.0.0", + "gatsby-source-wordpress": "^4.0.0", "gatsby-transformer-sharp": "^2.5.21", "html-react-parser": "^0.14.1", "lodash": "^4.17.20", From 5d82cb11114f339867e302fcd3989c69bd88c10b Mon Sep 17 00:00:00 2001 From: Tyler Barnes Date: Fri, 29 Jan 2021 16:43:38 -0800 Subject: [PATCH 05/32] Pull in latest updates from the experimental repo --- .../assets/acf-gatsby-post-field-query.png | Bin 0 -> 68930 bytes .../docs/assets/acf-graphql-settings.png | Bin 0 -> 34828 bytes .../docs/assets/acf-new-field-group.png | Bin 0 -> 52179 bytes .../docs/assets/acf-new-post-with-field.png | Bin 0 -> 59897 bytes .../assets/acf-wpgraphql-post-field-query.png | Bin 0 -> 54783 bytes .../gatsby-source-wordpress-data-fetching.png | Bin 0 -> 92831 bytes ...-source-wordpress-graphiql-docs-search.gif | Bin 0 -> 1471925 bytes ...sby-source-wordpress-graphiql-explorer.gif | Bin 0 -> 2939156 bytes ...-source-wordpress-template-with-author.png | Bin 0 -> 45732 bytes ...by-source-wordpress-template-with-data.png | Bin 0 -> 31167 bytes .../gatsby-source-wordpress-template.png | Bin 0 -> 18702 bytes ...sby-source-wordpress-test-field-gatsby.png | Bin 0 -> 236543 bytes .../gatsby-source-wordpress-test-field.png | Bin 0 -> 138160 bytes .../assets/wordpress-nav-menu-manager.png | Bin 0 -> 122633 bytes .../wordpress-query-menu-by-location.png | Bin 0 -> 146181 bytes ...wordpress-query-menu-items-by-location.png | Bin 0 -> 133277 bytes .../assets/wordpress-test-header-menu.png | Bin 0 -> 162620 bytes .../wpgatsby-enable-gatsby-menu-locations.png | Bin 0 -> 7064 bytes .../assets/wpgatsby-nav-menu-locations.png | Bin 0 -> 7317 bytes .../docs/community-and-support.md | 6 +- .../docs/contribution.md | 39 - .../docs/debugging-and-troubleshooting.md | 7 +- .../docs/features/caching.md | 77 +- .../docs/features/fast-builds.md | 19 - .../docs/features/gatsby-link.md | 7 + .../features/graphql-wordpress-and-gatsby.md | 229 +++++ .../docs/features/html-processing.md | 19 - .../docs/features/incremental-builds.md | 19 - .../docs/features/index.md | 18 +- .../docs/features/media-item-processing.md | 92 +- .../docs/features/preview.md | 111 ++- .../docs/features/schema-merging.md | 22 - .../docs/features/security.md | 2 +- .../docs/getting-started.md | 1 - .../gatsby-source-wordpress/docs/hosting.md | 15 +- .../migrating-from-other-wp-source-plugins.md | 3 +- .../docs/plugin-options.md | 146 +-- .../gatsby-source-wordpress/docs/tests.md | 17 + .../docs/themes-starters-examples.md | 16 +- ...uilding-a-new-site-wordpress-and-gatsby.md | 10 +- .../creating-a-new-site-from-a-starter.md | 129 +++ .../docs/tutorials/index.md | 11 +- .../docs/tutorials/querying-data.md | 492 ++++++++++ .../docs/tutorials/transforming-data.md | 106 +++ .../tutorials/using-advanced-custom-fields.md | 113 +++ .../using-self-signed-certificates.md | 16 + .../docs/tutorials/using-wordpress-menus.md | 229 +++++ ...sage-with-popular-wp-graphql-extensions.md | 5 +- .../docs/using-data.md | 21 - .../docs/why-use-this-plugin.md | 1 - .../generate-plugin-options-docs.js | 45 +- ...ma.js => declare-plugin-options-schema.ts} | 889 +++++++++--------- .../src/steps/index.ts | 2 - .../steps/temp-prevent-multiple-instances.ts | 7 +- .../src/utils/fetch-graphql.ts | 2 +- 55 files changed, 2173 insertions(+), 770 deletions(-) create mode 100644 packages/gatsby-source-wordpress/docs/assets/acf-gatsby-post-field-query.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/acf-graphql-settings.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/acf-new-field-group.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/acf-new-post-with-field.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/acf-wpgraphql-post-field-query.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-data-fetching.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-docs-search.gif create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-explorer.gif create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-author.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-data.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field-gatsby.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wordpress-nav-menu-manager.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-by-location.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-items-by-location.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wordpress-test-header-menu.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wpgatsby-enable-gatsby-menu-locations.png create mode 100644 packages/gatsby-source-wordpress/docs/assets/wpgatsby-nav-menu-locations.png delete mode 100644 packages/gatsby-source-wordpress/docs/contribution.md delete mode 100644 packages/gatsby-source-wordpress/docs/features/fast-builds.md create mode 100644 packages/gatsby-source-wordpress/docs/features/gatsby-link.md create mode 100644 packages/gatsby-source-wordpress/docs/features/graphql-wordpress-and-gatsby.md delete mode 100644 packages/gatsby-source-wordpress/docs/features/html-processing.md delete mode 100644 packages/gatsby-source-wordpress/docs/features/incremental-builds.md delete mode 100644 packages/gatsby-source-wordpress/docs/features/schema-merging.md create mode 100644 packages/gatsby-source-wordpress/docs/tests.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/creating-a-new-site-from-a-starter.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/querying-data.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/using-advanced-custom-fields.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/using-self-signed-certificates.md create mode 100644 packages/gatsby-source-wordpress/docs/tutorials/using-wordpress-menus.md delete mode 100644 packages/gatsby-source-wordpress/docs/using-data.md rename packages/gatsby-source-wordpress/src/steps/{declare-plugin-options-schema.js => declare-plugin-options-schema.ts} (61%) diff --git a/packages/gatsby-source-wordpress/docs/assets/acf-gatsby-post-field-query.png b/packages/gatsby-source-wordpress/docs/assets/acf-gatsby-post-field-query.png new file mode 100644 index 0000000000000000000000000000000000000000..34a259eec4dd4c3a218f78535b8c5be2155ffb32 GIT binary patch literal 68930 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

  • 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�(^>jYzV93 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 z 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 OKY1DDd)ap%dHp{Yk@j!^ literal 0 HcmV?d00001 diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-wapuus.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-wapuus.png new file mode 100644 index 0000000000000000000000000000000000000000..7470a2d8111d7281fd1c8764176160a9d08019ad GIT binary patch literal 39100 zcmV(cLH)joP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY3labT3lag+-G2N4000McNliruw$Elv_o@uL@9_iV>`87M;Wv8l6-Szk*NF$9AKxkUcUB z1h^ngVv_}F!b&3|LI}!=BB43Ja$p6p2$%*Gp(Lw`G>;^Tq#98KwgcD#>_L%QAEXH^ zRWXq!S{maFgQPT|5SS0F1=ayefvG??sX1qSC@E|o@Cxt}iojX`nI^B)K`KtZG?Ii6 zDawYjH?09K0@eewQL5c!oFl!!5#R;jX<#d9@=6Iz#>tpQ3=ATv8Nm6#Vf-#KLWdfK$^J54{5@hL@!0X7?C zXF^s6WM@E5HsoYNPL?FY0U1uPSs~L2nuyG40`U64?NuL_8+!Vn$0g|Lg|1%cbwQsS z+#c`;Kl2(eMEMG@7tK>lbQFO;BcHpt6?s#2IU zRWhRrW>mnm3aBiV6y_>Yayr0aS0p8bA}JwAXr@VNd~^ut;PHXS3oZ|I_dr`0G`9)r zn&DIf)YQYt20>jDw01&oAN2FZ*b>+g;F~BLS5i}d2IX+ZynM+#?nFhJuu=daUcUvv zhk>`D^81pCP=d1Cp`rv9&z7uQ0L$mW-0704QYgp)s|^*^)xYt;wnzGtASRb(5V z(7!W{<-x@9Oq9b!GuDfC1`-wQsvDm^GC-GnWf$ zn_%Bj!REd2+AhJqW6;)NNMNH&UM}Dms%k_%ia?4`<#qCnPq4g>1F$ndN~1L@$pD%8 z0WXTkJSfuYLIusXp;D9@jZZzQ;zhHuyxZ7z+z2gASQ8WmSvi4gfKQ`RXOa@05K29+%_iUmCBF|NNHUt zBC7>Xpj6G;px`|4{sFgIG}7_Y2q>s4@x4dK~=tZ9aYBXD5IE*nZ896 z2nJbY0Ph68fU1}+NE~7#A|8MY* zqX-fCw^1el9e5o0C`xr4F=?d@^d8bzX8r)CCSPr zElni~4Nla;#kXnH)EbV5VW6LoLa(_IlV;JtZULti99GD%LZ(f9oK|pJB@PQ@*ubi( zM=}c} zFT3C`sJOuqX9QSBJd`v{BSZzP1nxrR|2c-cKdD1@7F=eJE(O})_E3(b9k zmOkk6K#y0EoD2!d1ye+JBk&JYb=MIgO;}@$5VBf|%0;`3VM@AES5f8Xt&)7~9ZIsw zOcT|J@XTw1hSt~*V`x}Nz5}M^!Te&$k`kC-3^Vd2<=K$$ge*f+Vz9IpN#czs1xHyP zI@JDg8~@rZ5mxH|K4^zVmVr-)UZ14fqe!fwS8%cej<>_ncBt+U)OACfi+MgutA$;`hk{d3Q6y%d8su9BPg_n1zhc?y& zSdjzksw5Z9fVEYU*#%IT0agnG#4uRJ8gJWSf;KZD42jRGq{M0YfRO#$_yW-7k<@p? zp;p1RdU*AeU~3)pdSep(N>n|zu92KZny|(Q23c89aaG?#b)hj0sY7WI+;)THLpMpL zRgosDWI(9g#g>lfPn=bQ53G`WaJ6J!5jcW1Tjik7WPptPw@rhhO!Zk(E_w4J=QjWR-lK|hHK z1~nbEE_IkW1wQ?5$t~APa&u8cHPIfJU^bj#fCf^^L+P}`^or2Ihr<(4p0-pupD}|} z4uhGoE3x&UqT@$|G+~V*46@1wz6g8*l^d8aq*QPGH(V_F^6iq9i;PEUqDfT({5l*w ztn&3vH9&>~md=H9R!E8qnRw(H=`^gcei{7fp^&14!DRxDw!tr77kuk7iEWr650e!h zAM9(2xk@b~R0knVSfd7mtnz`cp<+->b*Yg$l$XG#Zr^f$qu z9u(9!57eY`IAF~Z!B_5(T((|L{GdMx7p|7fs1zJOHPrAfCH!u?V0k&*vRtMmtspdb z{iI-HP0UEt9jHncBSN}4!6?8Wt3u#AsFE;=zZi^%;GC84%R41+zeZK=oRANPQ1z%j z_d~%??iFF*n zm~Gk;IXThmg)crQ*jg*1c~|>TRauXYG;lOcSV@G?G=!SvrKqrlcVprjOR4NA?|qZx zXJ3#kUpU}Vo{-SsUr!3|`HjFAi0mB_0=l~4M6KYu3nf{Z<2~ru5EhtG2^%)65;T!W ztJ4EpY6Z*6VEUL>(4SxsaPMxxk2eYYGOB>J1?3rc4bintB28FH!l3B&pP;IOCT!^l zhAVvS!;&xFE-5ZxVyb{4aJk_tKNlQ0E@H+l2>}hQuzE2pn#+WjvWf~+jrwO^Q#pl^ zNUNm}Hk}qMDS;VhDrsr3r4~N%q()P3)NqCXimYA)7%5?;O@~Q92w6=BegWKsNwQir z2mbhV$;aL$$#gQ|$qEfx+TmbzVwNed7j_+DVv|)665f8b8=qwwZ{lXS)MQ5F1hA>IkZEM0U=bn%I%K|ez#rV)f2xKDGi}= z4nO_0;Dzd#WYq`!7}bO}DM%C62r#HR=pRsh0TV(nz2@y#Oa6S1WcdOnzEl-<0+5%j zN-QTzuoWew&I7GOSuy*w5Rsh@?h?^{2 zQV5@apK5B6DiS0TiV9)PV#(Hhs-0Lg$AUKiubmPcY=NbvP@0sY))Nc@PIbb^pA`Ii zUtBeK8}Mp8s=Lg;_x%GNg&ncxKp{xYfE|Kg!Bskp=owOuyuto5EwV*f?<`t{@SCax7>}iA# zKPGtWaNNp&b->3^_Nx&a+Cz~hERzVS5c(G2mnhp+LXc8*MgG$5lFz+YlHnv}$x5A& zQuAh1!sb1Sv<4^5+AMI>Rg!x?YLIg(LPB{dtY0SCe_T*qOH5;Yb1yt~Owim5i%TId zgVepxLJ9v*92R`&F^x^9$QTHP6|pgVOD`rekPS5pwkUM-K;7xRCmNJ+UEkkj&eSYO53kg6VS&6Au3=2 zs+93ZQKgL&f|M$*=bn#BKJre9%|dd!BL|0P^bzcTkV0E?j&>5V27W&@w?SvO%7H8` zR6PzSRoN8{TH4^A-wJ;FUxCXLzt~@{1Kzeo@`-hlg{6^e=S?UW>g}$2xcf!HBZs30 z28W;z_y(#drDwEy6s8F)4noLkF7Qp@224h;XF8P{_~~~iQL@t1zT4X2U^N^#E~u%4 zmQF<+b{iDs!}JPRFjKN{78K?)`o{f`F3gjPs0N**%L9MBU+|6Jsr<=UfwMsq&a6VX zW0mCA<&yH;33`1rXzzo+?h^cDv*1K~LZy(qQDpUFMv<%_O;|AzVz0U!_!g>aV!{Yk zTll}*BwxBi4itRTKpHi&H7n{aBwB&Nc>5hb0snkL@YqX&!!^*;JCJl73Qbe>-j~i% ziPUerM53kd`p99}c3#*l_~Oq5n|B*kb>c`{76Gd&;e%&M-n2kcn8m~(E=|SMJ$FLz zqfPL_34u>fh^(4{FQHm``9{0@b9(AVK!{Y8kFr;N3MetXAK;F+s?de(O!Y%;13dPU zV9Q?UbHmIkxawTVx@AW3I2n6~9xwdmVZrzQEI4-3czcWZ4@%HL{_pSWoOc!}8AdT7 zVS$si@a;bc{`!cZw=aIT9Vt~A;&oFbx2=F{=E{LEh_NOvO_e>~Rx9|`R(R-;pwpFb z$DqT&=YU5TqgM5)W(FK}7-S`Y)u;sKJ5Z%vO+iX{%N3IEe@2pTbXb1=b$I{RG=Bd- z!M1&ZJx2sDZ4*57f}qa@YnG~}644OQRT-B%euCUQvI#~vWB}) zDOI}47jKuWUyd@Q3ux&N#vv6jOB( za0{xLscAda5J@nrA4F( zYb+2@*ZkwRO0K<7^2Y}R_dcdld*Tuo^pjAp5B4^}-bTUSb}N!9$r4oLKvj;UB3t!D z%&{Aix>Vho8+zbGyWm*6QaQbT222r&6O|X(hzgQ^o-yzO#={vwSRsb=Twoq52k?!k z9KeiZ97F0bdzy;u&d6YZ6r^g%ke7hmrU}T8k-l=x1(M(WPte$!_@tA%iod%1qpDO& znykhUQdNwdGac^vf0B1xE&0pCg8w|N8g)n+|33D&s5c0%#|J&_aH0*u^g|JT+|b`m zk`yT2U^hzj`!7nu8aJsb6qC}1W!R-OAw+=?Vli+Pswd!QQQd2yv+qOS?9+s3)UaXR$%ZrEZ0|`|nkdXnKcMDwZfptRn84O`SDv#s2 zD<$9i6uj*!srneEG4?P@2bYy7Z{n5bND6YHxn1R7>M|i45@2wbF!wQm0I&~LA@qwV z51@NIY*n$&e^MYM$a5;H)XPP{S->nHkKuUx61+fCSKhY=f1)duYw*3*V9OqO>!&qp z>LPbz(S#zaZ+uKf&+r%E55RMq1%G-FUf(NdZU?uQeos|)22_^9Sqmjsp9hz$l@z8x zx#cqoMwY_KI=Jsi!H@41G_;r|mt?|+GN}I@B~hJ*i6K!9M#>YGK~z>?74RI1MrxTEaPzg2Z~Q-*SV25Z zl^m{bf>Vvq(Jk-?R3(U#0!d{F6y$@&N=h{{J>y`!nEv{Z;KSb#^t#5Jv^s%Tfct=_ zfF_ujL={BJ5>|-ud@8D|^34n*8a)(2NoQsOynV6cq8X|T?C!?s6G`f@emOk+Go6wG z;zp_;I0pZDMzCd{iocp!1#h?jt~kf2m0q$H8<#u66Jfv?Pwcs(lj&u%yJ35O#IMLJ$8yn-y?a>28&3AXKr z3(kUz)|{a^j#A}%-h3@=*sSX0j{;mk4e%=PBuc7kV2sjfl8KZftPrwV2K*jaZgw9* zk`e++vf#XFlD95`OJ|1UbP3p4EvW5^EnQ8Yg7Us43S)lQL(TmoZ9Q*X61Q7PZB`3p zWf_5n6REAe1-u^EvP1Ce|GsZgXGVHwB+?j}L9k|8RR#RA1yu&4wsnIXAqj$}!x zN`nYhrF;Q+_PCOQVojh6R!L?}Vf<7YO&M?h^R!^YX61Qu+F{u|$xTPdO+g{pS^FyKOY_5KRDjo*C6 zM?z|-dx;>W2rERox(*ep5EVg^vRPG9>6}7XQ7&0sss5dr58003%7i~80#3B6NaI*4 zmes1#Ff2C4M>5dhrET!3?`dq`A6{PONG_}AB zTLu4mQbqf>b*SZ`F9D&!i`(F*e;0h|c8OzfN#RhN+(fs{jR4nOB>DBf1r4pHjqm$W zWYs!Zh$$LUim(jWQN8~n)-?#$9GX=G7tc_J^A%;1sdx5tbTk!A;g6l7my!8rLy-1RqtIjcL#_kXU zdcY6Ot+4yB;F(RTd-A~(;PEhos6r8}L~-IYT(}zYb5u#`oGeufKKMP$305272K!WS zGQ@)pOJ>6bXG#A3RNN*HLoOd@h+LXdW==!GDo3RWEEv38N~p+z|F>51_9c>O`N}A6 zc0zjt@Xq@M|JxVcYa?|ycO^XjOP$=Y?tG&`Z6mzq857ljLl5gWTdX{nWicA-Cfjigf;Py zjY_c@0wLhz>m>hoz8oMav-eNHffji6RQ$Kxtf@v}zOf`Lp$Ov6p9r4YoR}Ltm{i-< zt5nFBwhJ9cE2|sTE3U%*&Q!I0nj_`28w4wa*P*Jt|oBbR*Q%!ST~j zT_>n(hRz<9q#YdRaE!-7Q#O&Qw^nNV0YbET1o# zRt|P2sTYGL;k;FnSyKduPMErW`M{;X%RX%}ASJwf65i1c)8fTM z#lXXd1ohqV?FdyRh9_>U=7&(EanElB|9ITA+R#s2plXsII|;{53Z8jQEwfmZwB>XN zY*uCe6GGX>e17F}cYD;o{=lH?JG`8=#KsH}&$ZX3q`2x@cy^P(Zik8z!K#Il%hthl z7fPm9kUFHL!_+b*0UtVHTKTyIRZSs*H2c&=N@bTBb*lm>gZr$Z%i&0y;PpDelpL6r zuO7mLC#=!g_Dj!cH1@_JEU60NT{KqJJB6yb{k=a4e(+a;&mY6ShD5|+v%xuO2u1i_ zpCZMcKGprEvs+0xJ$;Jge1UK?U~f}m58#;13!|3%5B@Cp&L0IHZ?y4AteTx1doh}@AfzpL9qm2@5HMQdT{xhE-{#)r0_-54P6} z9y%o0bQ-$cs=;T5O*H@z!Rn31WbXCC{rgqP*e*{3ge76=JhW~XM04+PdVOv9b#KsYJqiO357G@D#$r(=cCs=cI}>uV)V~={)u%Dj zIdEPcud%YjnWDFX{U^NQexPnb@KZUL?Y zwog{Wd&(KzrLG4_>))tW@n1!G4kM!9J_9uMDsp=5q%i|R8-9{-5&r&d_a1@6HLzkK z$tNs}>OJ^{9}6COUJ%e@+pMPME@eTyw-l!UM z?l=&eNF|c8tT`+#y9&D{6B(=)7hG;MF3hmzl4;AQENc!fUl%=|mY{k)jO(xd)ifx` zQy~#6=1b061dC_Gj7mvSzKWlU7~d5yYTcre!m|MKptAqIsSR{L^tmJrEpV_}J=Cx5 zhP_8rHP%2tsq44DMUJf(H(8J>=Ir9N!%Ee;5cmzMD#N5h%Bh55gC8i`cOLL%l+kg_ zNLWfJDS*G+Bf0v*5hm^$(c%qF@QeEdzxub4Zx^!#x=wM{3|3d(NRGWkk(KdK%ON|5 zZch`(+h6BY=PtYfm+5mwDye8{IjmVMx!^2iAf7c`#!tqwTSmkQR7}>1$tYo^G+{xQO{)-P*SZ~8#27ggqz?0E z!mqz9xoE94|DYN~)z=44y{tkOHti;+3J8j<3Nxp1R^<)kJ1US-#0Vh-ZhsFo9XmMQ z{yIJ0)`V?XL6Wjsm5O)XN~w(4%Oq3E!4^!8ng{`!p#%o09r13QPeTh_afim9!=@WY zyaTvDO;{5cA;dKW)nMW#R29XPA zRnkG+R2w8EnKM~gaXopC@+f4bM33g);~Z>xf#%*5=;#S~3Zk2Tk~d$bsyt)_(~l($dEb#HtQ0~Bd3^)8bJPzg6>()|sKnf5^Hi;@+${CHclAI`JsheQ9IjE-6r`Rw zQ3+vTdfrNwlwMATHP@i0LFbI1+uO{Zrl+av+MkeAC5_6bD;K~!uaR7Tkz{(MVK6@v z3+hc2XmF$&F26l;^O6{7Lp257HrWU(CB1|uQ35O-lOq{!b(b4<9)z6-BZp6fuA9gt zlv2lG&0=2B`OGak2dn0Y7{x9Sw76>6+3+ZBuG0wPzo`2)h-%$Z$@^|ll~YTKjD4e^B0ga~RStUai zWK^-Z^l~b5<`b-;5*CtRgf2An9$`oQ!*qL^W2%5ssut%f7Q+YMD!K7eNnx9$mOPmgs1bnDk zu0-chtd`A(?|n*g+1WBJRiz*_ zE1bOy{_?Qtl16J#M$gH?R!kzoGNdaD@KIo8q;;fJDJ0+dq~x|6C031uAKnbRYJw0Q z607D!6Bc~B8(sHD8K}S_tk^A?7PxfGklNw=qkZf^^2e>c8>8yy|1uwk=g zkZH>!+g?PDy@*U(J~mC&R*_O4B2kG5f5Cv(TGP3c9&cMzvRbW74zu9AHC?dHh}4fY>bM)ydQ#ilt}RD3bz z+4GP{3NxmvLx$O(0HKAEi!}aYP=$ryc%z;#0=K`5y6*i%QbDCu@jKuDOq#4F1tb*Y z!t!~Nt$R(`u?m1Cz>e`gg=Aqe)lyvvydly8sl$Sq@P+qDvWC&+M)$)58=xyfV+x5R z)0RiBvkZwI_EGUznzAn$HYOQj*;fJX!Qjq8pI|-W!AZTSgys%+1Kr+MM1)(YY4DME zNX}nHnye-XgcZ(OWI85L1D3($DVv<~XAyEE-i!(q9RjOWJ-`cxQ_Rf*I}X7Ao{dr) zTuKTurYMh|8W96D6p@M|pGU;cpgn{XRqymP;Ma$iJd!%hpAK)oTAEQE(ntZUm@moA zHf?xc3OL7m?8!pP6PAH;qO`7;I;>s{H(fc54$T63d*KIv6`XE}Z0xjXRw{EAV9{)G zNolwkOkx0izRsvKcg<4C)G{WKZzzqR9jmGov-5ZssuJm>z+@q;mB8Fc3oI76p$_4&h)t~7Y^6~Q-tCvZn;tECAGGYi&`Va0XeVk6soQJ zWVpL&3_!rrIjT&xxvf|Xlf&?y`e&e$oFj_7ngz~X5mIYB!7H+92i);>jRVIcdu1dN zhc%0ZB^Tqc=8Tw}5=H1S@|~3tr7WSru~YEFzY6+XqdcHA#ugIhPFJ0WOd8(j1CH?? zeljo_2rCN}ZxRM6RlmEr(-OS1LJ47yz94wdmo;`Bita)d2<8@^LwWYxffh2cc08ib zP)I2$a8{7#D22r&<6}wS6I^$+nLkw_mC?Pj1hXcN8AM4{ zOEpY}z|jnpS~zrpQ>Eg>y}256_rP!etGX*UwMHi^iLQD87GHpd7R7cI;hUKUP=@{) zDWX*3v}Q9kcNuN2+98_@VYIgYtKeh`R3RxtT7`{vN1llaBeiVS6v^&GrWm~p)dsI| zyiZ}Im<)vFh;|-6Ke)U^CkstUV!IE(H~%1b@HwNqax}6s+G?#Re*=zS4?qYzfPj%p z2O`3sGWgGcmvKh^Do%FpQq@HV4O$3w{(pZ=@cJIX``;{i>*bQ^RSfj%8%CH%|3_DZ z)Y1;MO;BAYIDQ&VHmL8d?Sl4hMOGd!czvpCvu{v}r4XuehSegl+Z1_aXF@>^6ctD+ zOH|bU%u1MEDVb6R#rdk8dq0s)gswef1e;xzn=y%8l$5n|yvILMOa{W52ILI>Q3zE- zeft5yx)mX_IYiw!T@Uv@Ciu;N1l6^18kQO%467^NL~g$-7Sb>)E=dhj#2U2uKtEAQ zmaTxrrI)h#^uO`y?ua>sLco!eaOY11f4E<8)wz1jYG^z!uDuET0F<=1OKy zQ~e>W6RGXkXhFb&8S15D!j5G_)y5*#OUzXxnE?`^EE#o88DU4NMSWLE zGkcq!L6`oB+X?}?gu^v(xLWZ0`(b*eVDW6p;@L2J3X~N?ZkEJm%!q&vy?uh_cBrm{ z11DhbQPnEGqiayugo*m}5wFY8sEwibQmSr4-92#PG`zS~wZ6*96ig{s#I=5zs!zXQ zCgkNB7V@(1*082AxaaQFUDa@E+)Ub+wDU*3&Wz1g$0o}*G=4Uz3yb-_j#qT{R!{5#p zi*l7a?W)#0D1r!8Jo9J3`Ku(CtW{-MN{S{Cd1-Ls6kPm% zjhb3hFNr6CHvyhhmarz!)H5;Yffn`O20j~a{UOaI5_sq&5)F-MdCOT|ehu07B7@8F1M;$u;LI z^2*CKR!r4rRzPPrT>W8<*LIpBtUag}_RXnGSSgvnVRVdH349Y}P>i$w&`&H#spGWf zu&DGBmX}>crp<6QhHW=s42$lC53y29F+enu2;MGXoLBs?hVUiE7=(r5%xM&4RMP8h zr_a}cM8=o4VqK@C+^q=J=w-;sM{+QX;K-rl_xYirSq0MG|D523ErO0tD9nZYT$Ay6 z69_g7Y}gF@jtVo9P-xna@*YSA+c-=nyKAnKysG}u> z@$f~iJUaAOL1oSY3Y?W3Z{NbPw%6(QwjiZGEQ!n9m196e69NqlAuL!lD;8lz6TyEi zh>$o1T?UMgA6@zhNIwDHkCXv)^ss%#zw+S-ZBX0Y3omYkm$wUk{CC0C=Stpom9lwd zW|30rqQ$0C&P*Z)l~;IhyvIKhq?*JZB&>D7!$d3AXA(g|%C;9Vr(hkk3f7Wo%N^7P zKKlD#N|3rD7-xo!{NgN1r{qyFqkyt$`4m;;kXw*RX0{zirVWcl!(!FYb%`F3cs+jH zeO`Jy-LyCN(tNs;hMIQjYuah8@202AO~9`sgg|J~%O-~gSxBJA+rr7t-JI;)O{aUH z9F0h<)pYFZWe|y`S+Q#wIIY=a*z(D;7m#Vq!)eRGVa>*_Ik8$CXu@WYm?~l@`}d_P zt?DvBK>G0M9((~89)B-xe>Z);4*GnZxO|;>0zLQwZUWNZUk~4m1Q~k2kdT)H7p|7v zdL3N0UXqtbY7mzNe)n&|9e0~LcOAGD_i&N^nw&4x9 zkut>97d@UMWEFu$*vYWvkmD#N-&sMvvx01U5l%}EHjC4cpauoh%7NOdA^!_mV~__l zBv)OLnIE6-!Q=0x*Vjh3r-@EaBi){6T)s~Hx<`eXBuHREzV7USho2Wb^BSDJ9NvGU zN|et}0pglgp<>oN-h?;NfGLpLp$#b|VHt$A0(cClOmw@@^c5ilny})qW>Mg*q#}Dh z6*=?Cu@@WFJ0sbuLdd|7rW_eIrp+&5<%P3Yx_%m!vx;zLn#)Qx13e&VZ|>pf?s|5- zaGd>HPSMuXgOs3Y;lu@l$v{2GQtG$^z4Uln>2x>H>1m?Z+lI^EjW6KBFTI8;t66IP6R;ucCn3M!5KW8b@kO zc?$0b-Uj&7gf-d&RZrtAR6I$7Re=OcN-tw^$t7t0E+J!*he-q?CRynLNk+Dv73a_5 zlD8~n?(zz3BT)B}1_`YV-E4m9FfTl~m%0F(pyE{9UxUPSezLnAW};-2QGPIwFxwaKl8GmjgFmCi#Ew zlq_Emnq@G~5URhxRpvt*UIwlPdQz3JQX;G&M7nx6@D36nT8X5)>Jm-UShQve@A%Y(Tz%^*%BL4#u}+X87XmVK9L!x&$?|h&Vslt&JlTP(*V}KL z4-dW=*e;S)ZYYU`e~%lG9yeq?c6NY>v%7d<51}KsX-;yTWt3&jp)`9AnYMiVx({!l z4_yXAJgv~@e0QHPK@udp0osv=ly>~BQWJuaagh_ z%$Q19_I&c3o!#)l7Qw5#1!V;=a|&3jj4N?z8f@Gq*t*XY zVfj#m)s`l#Q9_7xbt%eV7}v5bk>oi_Syp}(c1y5way+s!z9?@wOV&^4y|?_ zXbtsnS~NR3juO>rJ7Wq6f!p6rKzd`wcnLKvI9UgezpU~r7tKP2L5$aPZ-H%lRWPgx z!U_QY1!~iTHA*lZHY@Odz?ww2n_F}?Q*xIw;3W&&tFiAvzZu@YE8e++cYWqUDrXkP zRvi*VAfV&!_0rv;;;dR5dgy5GrK7o*u67q5m#;t0O0$R&AJguzGIvEK)8~~?d#siA z=H5a3j3-qMx(7qPkCs$5^vGt_!gyz;!nZWC?1hwM&FOD?>+*FP5?2h$6yWy2=G}sq zb_mJ~Vb-*P{L3+g1_zD_9)H=?ToJ$nz_C;%tO;N_P6)GrOA=Wz*w}Ph?y^B<uiNC8GQBnR~+~r?dlq#4q@94vW10y6Ubo;DzWZyEJ&%N35~*xY2-UAsmfhK zO~*Exdyf-{kw6}tH(U3@yT2s(;9KDnw@AuL81oQ_(n6KEZld9c4JaDhQ6?7?ny^CD z!OMZE32h`L<=OL8&8jHU)!^?^my}lJar5UcV%0^nh9%+neF5rEw6k~9N%n6(#i=8$ zbhWwgdsV3eAwr~uA?>3jvH>{KqQVI@fg{64VR;U-mX@*foaxM8RY`tHmg%uo&MM>s zU%i}v{p1y1esq7oT`TM%kMPt-psP6F&Ct#OSq|MK)}G>%WaKrXZx^(46=%&NFQba) zo}*NEY@x$dXLuE(5SIoW-SFK%3AXHmdp;^zw|s0piG{gfw?bbaVYyX9*@9CR6IvxS z9?lHli@>}@wy|35EG@l)TxS{KkvcF`6;xzZIkS-4zI++W&zotQ5Zt|9_HH`KL%)5U zhkv()ts9QhP}8n#M-nuPK+}W~nXVbc72%@^gr=cs8bYX8tFAT|H3ys7xv`pEFW1oC z*h5aflbnK#kQANxaAw+BuzCuvUN1F=nnR572^ic5e^2nRgRkQV(wSq}Xhve!8Vrdh zEaW&#Db1XN&5}W%w;f-U!iee|)xXD237**`$jOAobBv;hqfJ^Gv~|FJPYPUaQ^BK~ zfEUFODL6Hd3WT*7WxvXbx4x7*#hKGtSaKnnP^C17NLL|0=sHwP%jf-fUCyGli3xB) z_&k30yi&uze*6kg{%r@<`qmCULt7&WK zrl2gF+`^263D)kgvS3veyX1!D|pDz?<7KBaRVKqE=%0l9&b-3*AlV!AW_Eo z0_Ri;Gp7;Iz4ZCo(Fw#PuFfuaZnL1h3sxZ>Yp=;CJ9R%C)*MQ*W|3*jr`OktH_#W8w7hUP6!D2bacONgja-;gF##ZG$H8g@^El# zEywpZQdE&kaYar-(w5y}WzMn+YLB;4U(=2@C~YO4lojDl#kz@!t~rvU3^|@Kv4?p3 z6~aQUql}`=83d%4UT-UU6x&wtbdS^sUfv;?RRy!BnIaQY7sTs>e?28=Xfbt+W2h7z znTmupp^fgqOjM!1_>hvKjH%>0N+P!23ca5etHvANvzoK7nxF7MTI#!b@K>97?TJJ9 zy*irV%MK+fm2aqHwOc5jlEF4B>-(i!oM@>6;~%w=m{*VIIn4Bi6CiY|6G5v8eP)@|{&2Z+i`w zzcZ#me$QdJ?JI)2KMJ>8XVl71^7!p`)jh~0a!`WGL`>_BiwP-Vg{XsX0NzCcFIXW2 z^NP=~G@FcW+?F3&)K*@F8z<5loDRtXv06 z&z;V-?>&p_Kd_ebu3y0HWfc@x=8~1`!0u3F6)X)Cw0Bu;7Mz(j@`^L5nqA1^_0w2= z=^PfXn@VnB2EAP#dOF?chQtnn9Imn9{a;}yi-P$HbHbX}5}?O^p~v$^RL=W@lnRxo2xDVaGA zQ=YuRu-PpXmglf=?NnA?IE#X^Y&u)|=xTGRu03Lav=9P4AgSKpNYm*~<}9xuGdq4~ z^0KM<_@{g}34p%LVO*YB5O@*#Jyn7RzYeiWzky59}(-hSpA8cs*>P|sN z7pz+b85ty1(t7v>!GYtZ2&)PB2jET#62p{4^@uWt}(sg>)FwNYQ)&iqwXWac>H>{~EpP7&1ynrJxLF+i{; zpXJdo(G2^D2|T&USi`E>Daf3L!Fy0Q)^r#J@&@)QbxBsPldEoC!P`G|9@7_;U>Sq_jLd8Y^Utbc_R?}%>$+*F>sG$d z5DiTTL1Rrjtqt8QTsaqA;fFVn@RnnPm}eq1avWvk zI?CwrHscBOL?tZ=>^UqrT%$-UKM8q=Lcr6nnNEOi2mVHiR&1DXgcV}HdLwXSBHP$B zCyPohBFnCVcn1eFNGU0)%;nbqyM)5BoVfdIsA=bqU*EvVLoHbP(_#j^e`VA1dDrJI z;F6n`;>@zg-Ct6#j}R1B3F?7X@|+cPx@++SdZQDzfJ4=) zdGETVP*ljsNK3$TuM1w=Ws0!6fWH9UX~IeZLhM%`LX|^~300Y)g!#qiW7X^t)j=Ty zSKo3L>l5$__I7!=_q!X}yXjO!vYN4|l-s^?2}{qJJ|Y{{Na4)1DG4gW#__$4_`HE3 zG5x0wH>-MC%PZnu^OCAucE4IfPltOH-0%tPa2Url6MPYWKO@M@Q z?tl{lj-3+hIjZW&7mtLrEb#I+!He5W5mpcIXP`3`32UMjc*;jbxW|W-ISR)6* z>rzrVtB~`rTa>`AB+uTri|x-JH`Kt8{pgZeOUrow*DhmD90C|C*qv6cymiMK#|oliMj;nmzbK4^6H*I@{1tPx2w%sB^pkazX!}uF7BeZ%niDst zQfRPoi{Os03l5!NL{FjByvSiT?P5Y3l%r4^AJ1=JHyyEe`Hes+>H7>kyF*kf@J&sH}Qc84PQaUA< z_kQ_OE_h>nq7GvHRr4vEmakftMY@&={}^+D2@I!+*Jz9*F<3MkW!dvpbB=hUN)l;h znr|s!B@w&u1SFkvRA%qn#dA;AgvqvDGugJy$+m5~CfjamvTZj_wvCDJ`TpLuTC3GR z&pO@DeQsQP@6RR-tC`3x9&GGHuv?O}GQAg#t*~Y<5(VBP1-|sJFH7>s%D{yG` z+<{ZPOryuhk7<*`!s2EjSzdNIhZ~(Vhl43P)GWi{Aas6*C(P<@mtQn3EjCvC)=WPq z>LH3?`eOe1c!Yn|ijo)hjzf*cL{OG?!Y|>j;ek`D1yR%tEFqp*Hfzh~wc%_gQo>L! z_KF~0B1qLYT7+?Ed|f9y*+W;)=1RUjx%q8>rxFehoz*8Jd8l*a4H#1jv*)VzzWs2}_BNA(+6*-EN1}h8>lJ#@_SF~ux zB+o9xCa;P2RZ-NNfbu4#BBb0smfl-3%YncgUv(c&~dN`%R87{8mX}zh* zLiRwVs(^p#AWwV4DDO7Wjs7qkMq>SVU|Z%GdgRnD@j@DxD0G5yg|k|d@yhxNWYPs* z{GQ`$KT{MX_fgirFKJY1#C&Up4OWu|TA^ZiynK_PoFT-AO?2p*BZCb|oseuglD+1R zxQ>By3XyTBV!kkd7W9bCvk|ss9@>%!Ju*!$xDQ?Y!Y4(qs4kO7{1E z4F2t|Y4|zt?X+K2xs)TfrHYSzUgp>GTuIW76T##+;uDw?o3^ww_ zzU}%tpnsl4$?aJl>hJR@_UEV9$g6e?UgKSMiu_bOT70TFJBY+Vv(W_iQ|FJ-nC|nv zZIZhl6V2!lyH+5HQD(5cheQ@mhDC@OIJ(;ePtBS|u)L78lzLon;q9~9SKw)}S= z3*xdl3p4rqniKnj-V!+8jh9jEzeT$;_^V)2e>gZIS=MO(=$92}fsH zpOhbt8pvvc>=i9lG5$H+WB^{>ZG(LEavr*mWsdB)g8;6>g@3Sl)#)&tq%NhV@3HSM zil_jQ4ELFlRd3m#Q}616B9ns<4)t`c+TWbcEai|85RNLCZ`6ud)5}!yUs>S?L`_`? zYPRpgce^-g?f!&j{rs+flVmmh^XDW($YgG6gbnTrl=bq9;2Gcdaq0`9s)how7~r%8 z>(&$E#0?2k(7p6Zxtzf_=XyXz!I9#cZo~!r#1Mf~=sYLisRSUS8CZ&bqXs=_%&?Ky z#6%Rg*bcB%u+uFMkc17;VaM3KGq6L(K$!R$$=P!<4FN}&FVgDSe@bfWqJV2dE~$x|l_WpygGOH^+i(j}akC<948GbmIwdrNecW_mpIDuVSZMpFXeiD@v>n`GCmAGh zRPQ0eDyO4$Ws(J&&l#6)XxU^XHnJCEi8m|7eYi?mlssEYq51Oh?4vl7DQn0?E2*Nt z`8mYTChgw{$9uw6nV3ot7|62sHztPg-bH?)zxIaIv`Hg5L#ALzhtEy{^76$L0Y66) znt}RyQ0&tc7jHcjoawgFSC7%K!FP#CsL^rP+h6f{GDb1iDA9BG9NBfG_|73X*hhvj z!H))7ef6+qxCi3t@~#!C?TNh?1ZmQ%$dw|Vw8n*KX*uMmX)_pGrO&4ruoW3fI1NG~ zA8A4YkLoaD4#Wa zo5MuikBGp{R#caeyv9B3PxF2+3y5XVJth$N`s+2Jv&07GKb5vx60Xwf4@AkZzcvWCcb-;+48a2SWV1gt^uaMq+BTb;34VL{870t3&8gZVQJsNeZXnG1L#rYZMBOYfn5*}j81 zK649aNRo`Ab8c8O+4_h}(}xguyO1P28f=Xf@uGwwk$cNJZ&Lc@Mewzxpfbgiu*)fOR54$Q z+E-kWZl@b9X%56;)odoiS<-oiy=_ZNrKN=Z))RaxlHsdlwQUI);16n$F1M$=iNFX| zS3NpP83N8JA^0uI(r;c+b{IjI$k-Qhe88nce1pG^Iyq@vSNpWRmlQ_w>=NnkFa`P?m``2o+^INQo6>-GvDZ;G!V&9mg9bSw;~{BDRgmeiZ~Xe2WR4JEjmT#gR5 z!8_CIH*t!^6El*kAq9ZwVeL}JB9d<{DGE4SwC(!zk_H^9Kem&g03;4l=}5;I_2Q0kixL`zx2Qyxa;=AwB6Ug3O+@zisSB^P(#n&!c18 zDe)X9{QJlxWa0DW^y(Bcw(ZsUh<{RBSKd+VGNIf+P9$-8CC_ZDG#RZGDY+Rw%nN0RJ2`FS zz+@t<=-D^0{>-ESD2+bexA6p(#r>MyIN`K0m^ADl`L0Yp*8DwBfF*gTo225NV zONi_LDnLhuh0x~BZ-Hccq$A*ltH3)z#)z*6LtmcU_#nJTRgiTMhLcm&*bsNN)tJ19 z9(UGk^OE+TR6h<;<*af0aCm}w?9|3^d_5*XY4rc+K_N@DsWh@f&=O{1NZj95%*s{p z_#@nXapz9_wjY@?e)UFwZUrB1NsP}h##KV6579nw@8)SZg%jb9{Odq!J=7u>Lc2GM zh^F24V!3_@OK%8CHR`gxqzhha4{Xn+$#yLgs+fijlZ4yK&|iIvpr!QbzD%=t=CxF= zniCf)|BqqkLrEFqbA>pWRM@)pnY*W}lDc&a&b*Qkv!m(!Vp^`l$Bhd{!8-qx^ z_2e>SX$%PhzTj7fc=ALKhz%ALb@gJzs{t|BoG2$QqoGr%Qw#%NW8;2Qb__Ji3O zxKCct$>8{X3c*PzR0tYlSdb4bI2jtFt3y`CSj&QXt2!KBy+N_1h}}O!DY-kF;=+;% zSe}wIFSa|+u#B9c$i9b-BMp!+SSF~Kn^~{pEJoPdUmisE*bFS4!6C4wwwtc~X3OX* z{(i~t*6kD2O=uso;!bb!x_u?33M+wCYwEWVq8mDwMuSqoHH*hlsA9p~5@hs4;MLdR zzW8KHz98zUgnc-+KBN>{0IR@~6ZkRto=X0OsFYGX&)(uWNEA)d+Zm-ppP$fOp^7nk zs1q~wnB;*UM!-;L{zav~n4|eG>pRD;gv31jvup0lD{|ar?Nwb{WwVMD;4MhsY(})s zo}UA%HRpZ@P!S%P(dLs^4O({Or`x@xcK{gT>)#?VcCcUxo@z~plg+FgIYHIq8^l0c4Xo*G>m2Fh-JkvRuP$H*T*DU?(58D zfjkrq&l3_tMn^R(For$Ka=vojnvo|TT@=){gPgypWC&t&>5)pgLs+}{q_hPrNef>HGfaqCLJF8UL>@FDBq6LHj1Qs*n?uXZZ{&=$ z>*iS-ahNHnTOb2L>V3*)QOthNqqzfIX?eSW5WqiAvMS(o-?fz7T!+Zm#0pJ|ff z)CGeBqwON?2m%>eOM*Z86aIdW@U?a*!iZ4br|r|t|0r~C;!>5AZD3|sE_PB!P(%j48v0qxn-{tWUpD56m4|i^L}#MTN`@Q#0Wn3PIruFj!o%ri!e>;(zU< zk;93>HG-y~B_RVuw25oIjr0A$}L^U z0oevr7pIt-u6gdgt|;+RFkSlnr(ezSAyv9K)oZt)g4jbqA6T%gLY`KWi+z%cN0f?c zLIeDL&X}Za;vtEH@CUOeH@}8s`m&U0#%4G;wwdv{kqMn$>$L-(?JvIcMpSu=3rqTK zK&1S6Qp%4ZPh9K`1S3~*!rp5(4?hZoe-I#n0(ME+OqIb!o`$<4CwSITno+|UYpNUX z_ux)T(*4iVi)COeuj6S$m#;mt$hG9bWfb<3I=wr@l zcz&CxD;Wv2Z+!=QC$DaerWY#L1u4UoEvS4IEwyqAdwFl3>x8(M{ zn25&J^?n;XR8T}@p;|Kp=_dt78Amw1HyU69XuKFQ)x4{>ieo-dAqHZ34*z(Iq>Hkk z(fnkFmI-Zbtg@S00KkUYk9n(WBw`77z zOsfYWUsWHJNIW@CF;tmc&KNJX9WFNkg#zO}kym1yQ=|ke>Rnvonj^5LVoXFAq$Di3 z#Q!$_J;+y&XOy~yxxaYA0gz}HcN*%qaSD3OA^CcY*eC*T%stNsOlys12zKdo+@l$> z7!dOcb#=k|_TP~B!nqe;Sk1JWGIM*PlBzQ`LmBL-2d+i%cB_JgEVWmB?_YQ=-1C6q zEP2i)jP3`r5BQ9rFD)7^Lv+L|Vm=1w`Fgki;Hq$<#+Z@AsLy4J(D>}dE-7cLJoIZ+=&OoRRjx*Wh<{<(in$Iu|>;!%>d=?L)`a;p$uw6a=`LHTx*-M+tH* z73i3d_wU1^D-rM_iH32+BkI_Fx+XdnSFH++lguv}I(rDneT6!^b)Q>xjwrINb7+1r zv+8)9-KibGI6mPDfSqyf<;1+ohFwPL5(hsSI=Cv{aLqd0Bx~-F-$~amMs#Sm#^&2h zD?i=-dvbl_KDMJ~HETFP*(Z?4JfzOo8y}FR`h+Ts4mXidd)~Ve@UyUnDt7dW#?0a0 zT2iY4l6?n!Z3pTyQ}8YN^;uA@{!+&jvzVAbZ2{Jw7DPbpMb@7Gq!JcXDEryXh%zyq z6FEirx|oycc34+kSh7jXP`HK|^VE#mhB!}KJ6_~u-iL|~N>UfHl<$#~2@!RNPm!}` zwv>XadC>dryv2C=dLx7XS3i95tF(H%>GUo9=2PlKW_LdO`Rc>NgU`JQ(cY%_)zHyh z#j9CA2>oUpA&~Lir5(@Wm?wr260o_|TLqWYJo||?4Z8(~rGU48kIg>z$Pr` z(z}H5nP2el!XPU(%I>(yV}xvbBWQkHnq72`AXJdKFOq6=$=TOip&prXxK0m;s=H)1 z>!}3yLv$%=e}_*hMh`0wN{4I}*HJiCR0jPAKHFH4I+TZ9&yRTsK*7}}XSzatduQ?Z za1~M@8nn0x6LqTg#Q=;2G&7ml%4dA49ICG#z5{57^i|tgKQ%^jMxaXofj&ANkTkc4 z!k;j%&xS=%{ap5FiP?p8Oi=zicmlSA>25DS(Rtq2Q_q0?t1SYX1^CMFame>+1%rT& zm5DRFxa*e%iSloAVT%-}PT`~YVHz&L8LaKV85=3_T9*;q;Qh}^+vmqCS&aXnyFp@0 zPqeSx% zf1PLep5H#oEA#MOh{Aj#7!siCoYPw)0qb2O!I0@XLS*^n&>JBGuJlFE`oiGOays|y z+xMDU3@8`-#p_^A5JGFTUW_vLT;J9O1Zdq1T@x$;3A_XH! z@50f+?4vgPgwt-)a=`_fjke$qojM_N#5H|sF?BPQJCC!G>4WyC>PSuD-!(O{Gd_<^ z_}{$PJF}ff{h$;R5TcKI0TN7lb?}`=-=7j@YxsRrI3GWU-$E-URVNUE-)7~Ux8NGj z|Lt>2zg+zo6%c*FV#w0Z-$A-p-e?Hzl2ZUuf?xE!kj5wju}p&_Mhhz-yr6$qTJR4qVk^$P8&+XyPdR?xk+V#^&$k$ruqQyS4u{(6_ zz*Y#6Tt6BTGRSVH@cqJ;`D|+XK(Lh5-W35#El!l~YYZVdJyT32P%PGplpDwQ;jGHm z?PgQFMB$xW5jl)(?$uF)p4ad0J{Po6#?96!!c7+0u5&h}Q*=8OJ@!Wj5>F`24Jes? z@8Aeo`BgRX-aW4nf`|_e{9sRhPoX5I1z3HvB;b7cd!x;c%VJHxFT1QW_Ka|omLn80QxuiKuDbPa(~0XwzZ zqCgCzYo${-xt!Ft|cIvE2Z*IPVt3DjwTqIjY8&-TFPIW z=L@#vZDXI2h8)SujFtvPM2A;?g&e@Ecq9nc3x|G)&#o7_ngL++*f zhSXuVt8LF$@1G%&oq*F&Z{6AQ19B#R-oBsMwe5y=%%I1zQ%jsQ)$01qylUrAQCoqJEK?e)-- ztCYSGC71tYVMHVvamXf~>PbEIz5{!Mz9OiPx*DcE;Ft#Y z(p0$u86lHEq*V^@l(zfQjr`FcxVVxZ<;O%EnwSYSbKcqINV-$+@7GF7f~fz7qsz~r zz7rbg>bivWVanIpE^|FN5!H*Q6EybdI80$=#q<3UA*bYyx-d#YEr}EA^6u^yqYuy&pc-jG3t1@e;DpAv*v)X*8?LFQE7%nh5MX zqxA>M8EE=?Y_fb%RtnAYbAKn^)KnbI$<>wQ7NCYwe^+-JVmYU46l$fgADli^?kl6+ z?@|Xhcg&pmb?>KARAfFy9*A`!F!WMBtek3^KZl@~g^BQ14o+*gznlrYV8V%#FO z-2m*{BPZWbuvm37&=#qebkOP+8v#XMkbz!Mx`g1G_ za}<`&iNFUP-KBFIkC4($6SOOh)wK3Tj+`#x+o7j{6#;tBy%OdcY1h(78EJF0=3uS- z&M%Bwuo`)Ej;lMzG(z?UHuJm=vWgk7M>Xt@vf%#yy4TM#rTt&qmE`NC(EKq6M?o@r ze0bMJs+)$~$0X1bXRU=~zsDS*ZV*`fcp~+CQFKLH{?%JdxJN7Z#yXd`7;ObRFZINX5(Pl zd2DaqWQyolp;hGJ*4wKmqbMn;LHz!(-2p%6tJf@y=9QoO&N@))t9F#yJ7dF?_{P5^ zj9)gp(fo&L?ck^8ac^NwquO7Tf%|+v~6b>ih`m* zb?)jz$>F@1rk@w=4fXgZ{X8c5$Z;;TD7}PvL+|`=L?(M$LLiU*eQbpvBJVjae+4tJ zIYb<|v&OaB8wokKf#H}(Nbsq47}Om8$n#He_q`QP%i$yIY;q2AFkJmw$b+AQyWQA%7Cr3Gz0fQ;{x3;bzhzn9zw$=5I@9sU(ayR=q#bT=xe z{3cm*rdK+q6+H@SN%EfzBl=LQu-^zSX0Vhrufh&Cr(nT|3?SpEze`}YcJzytQbhM; zP9ibF1S5j#mnM-^#Vh)@3C|W@ z{3m8JrMRffw(=~Tuh%?!puj0R61o*BB{4?efB+QYvbAK!_i!g9AZT_5yTw1Q_h46> zUwKHyjO7`^b?Vr7TVtLB67pb==)-ehp*dO-OJE6d>=f9BGTBD!aSQbXv@XmQ_L4my zx|GxeEkoM>I#ldqyGz@3;y1E={cX!`iLJj@%BWd$s%N{&mQN}T1OkbCs`i2Odv;`& zBzxNxT;DsMtds_Sic5<6HgFB-UA#Oiu zQB@>gaBTezG0#UIdQw(!Xd-koa*awITUWe;1^7{>X=&;eJJS5Rk^ig~Q(N6n5FPFp z2dXQV1qGSt<54?lT%$W3Yp^21Lg3Zeb&X%Lw2P`v_%}qfrgiE2AwZ|?PfZ;+H>;*4 zBAzUNAB2DzMVhJ4Q50S3lRt10es z$V;hSuf56Vr3c`e4XEA!9LH=8(3;&ud$6hgv@%otfCCT{=eAy~j9N9Cpsm;9{iKJ= z)3cDoN>XG^OM5PTMlE)osfiQJqyvN)kGeqw&xTKKn+2o6MEsiWQ`(zWg3WGW(K-1Zr@N-@O@;We!pC)K@)2C3SrD2p_xrqD0oM z8+fV#Q76o0^{fAJ`~G4g7UA;-<;PvLMmhhig=)v_^|N>R$=^^$5pOP9Zi4ISDhe@Z z@(mJJcV3Uq>-k@!Pr`)@Kwe941{`>KSa3N-H6WP;ByKx8$j{Vebt`Dmp%j&i8#!oY z!j(2P%1w{L4VWqPpcPNIkqzfV*q{<)sAl9sb`6EgrPh~uIH^bjP&&05jo7}wX5pag zQvHu%F#iHiH(n>p@n2_cAO_UG$$in{ZFG6PIBNCMZB zvXOP%j;x>%JjTSg{X6BBAzY@S7fEJaDMdjEs_!33pou*NFe(5Om}1Y31~*1r&7aRO z50SS;&B=+CFy8g{@2PJ(cy=CbEDVAp=NnL!ko25>3zSY~p>vP+BfWlwIQOi{3SL)W zv(<;QX3Uuwzx$!W(c~ao%t%9#Q{#*OM`_~l2TFteofNOO7n<GxfCmZ1L;j1%HtHYo2cKpyv(y0q3dRsE3fF?6N zD9aNN8H1mFzutyXQyvzjjl=dx5#=o_qfQdiMCZo0-2r0I(}Yr+Ac!why~awXqil6> zZumG}O`)?Er+m{uJaUpom#AS<*JfAQ8Y;4|sU^K;hQR1`*aT2YY4X&20oRUfo`LjG z3`Eqp)9ASK?qt15%h#^2us_C*lLQ4v&TjTjALiHo$N)B5c>>!~AeIPdVe`w2u`4CF ztn6}#mb5J8w<+ydSySZ@xZv$1?{T|)4Vv4JtR)ZDr`tHD&R+}3Ds$IeMK2ib|H zp)e9vI~5voJ@;|UkxN22Bt}wtD5Xc|Vhyj`4o-2|As8*=6Ks@oBfPS8AqpF`zu&DP zG(w!%+Yud_FF1gdY?3Wgly(74`#5WTC@O@}{p;DK!`#y0F0h=?V0&@kGntSJdI!;~aL@I8fm){cqEpF;>xJI0%4My`=zGgy`0<<5pP7CaZk{ zpR^+Rz+O-FAHPGTE@<7%DV{74$WuH6PN=A)(Of;aMHid04Lw+D1;hJpIFZ+@A^nBt z84EV7lsI}v{wy&Oi>PWCc<9lDy%B|^$;X}bdF#~G#qB8lXBH_w%MfxZk2O$fXJ3Sx?Z<88Z904UohhHhMbTA4a#ss z+2aYXh=T?7{vR*T@~_B%IW;j-3{u9snzfRX&&iapAU@$|2;fSD^79bCT^8tkv&hBv z0!6aTpdnc)Z4wTh(<7~{)}LwF3ZZ6S4g2v}4iCo~2zG5?Xv#3C0!CJvfO>Q1NgBch zDxhWOf9qfE;pB*pn$l(+p+4s{wF&xj`QH4f7G5ED6H(<)u&|%{9g(7S^o*N66G#t> zETahz8RwMa1-}*!^k-JeC|4VMI+w9Yca5q*Wm&b~&buunUW5mf89G%3C+KGWAgbrs zMTbMNLtW%x{k7YT+*H~RYoBCf<`0{1#X(@bh2O9@2IiQlG$0<{FH0a)nZZCqp*~dr ze*Wf7+B{W4o-HPrnB&@zEt`0FGe6$-PIiX#kJX2=r4cTuQ7 zeTz!UM>4#j)yhyX^i8)CphwPJF}+$)>F+1a`#4raR6%2#l#G7tU!QF{7 zU`iKOcKvLLdB=7-YxM3k)~_Y1{*OG{&h$R!6N3QPW|bb`6Iz~BB0rZCaee9PLuS!wf#sT- zw)!|mu<;-VgPO(~6au63A7MteM@Sr*VAG*{KdD9Ok0e|ya35iRqUm`RJokpE%$J1; zq=+DaN{u+D0Pa-b9D5)!Up5!F_}jMNSyi*?$run5azXJmMj6i?NG5nh|I7D|wfm+y z_%|d_HXLx$POOhXpj3**BQr;R@xA`}36kd`zZ;E2M0RpgW$8Pw9#u{g*e+-{@y=kN z`}>*(;t0Xe?0KhCDl@Ra#^!M`h@=ZA883z^hV ziBjBKHSbQ5wh|F^j;>TZb;?Yu&4tn@x>CWBiGi^_?*|#;Ar|yai(HSu4z8}#y0n?* z#GF>33(u}Pr!048MVzX%Ev7zihp(2I#-Nx-(!5C~GUx-K6@(57lTrTAfJ=T08v?SV zgv#81r$dP|@+iHBeA!w;MG%+1vOrIy1xF2nULvKhls^ywu_P=76UDqQ(t@(>y$m9x*_d60)2l7a(NoKq_SG=U(U`VPeyAg+R1F3FO?zF6Y7>*=)O_=qwUi-izG!69Y>$@O-e*WP{ zcsQ-K>rE~(mN!yB$LHSo4Qu(lIaL{ysBA@wp}ns_YJ_?t&a8QgE<9i~7TGRlLT7@l zXIFeG8>@I^fHU_bp^yviMvp}3DRf;&74BO5DOR$Ztu&7rQ>*NT`izN2k1iarUSy?y z!OJ~fgoCKp!X)7B=~Acf`vm^dd0`|qQ;@=nPD4v*hU6ZPrY2%i27y$@;l=lI=tf}~ z3-=#dsq-XpW_d3#c*%r4?Is9jscc)vA9VoEggY{+_U#9*Rv)#J*l6e*ostt`XlY?} z&x_2`q4(rwIr{DGww}FW%}96*f>3;GY*_BV`x%OP@~B&NL*oxIbzw3@#&g&X3N|Zx zb#LtFk=a?>mcF3Oxpbn6$W<;AC&7Sqq^*x4!&mTy%6zDg04JNAL>$|-Qs`%7C24BF z2JNeKediAkVe+qWcBj&rBD!cFNBV32FK>ZO!Fsp~{AVf%CNY)MFe-r|6%4X-8hEMD z@nB9F@kLgi4PRl3^|&P&k#b(Gxl@Ona?G}kL$^#;RG_K}mvccQ@{VgIAo(%hjYF&j~72;q}b9!i^= zN_QCt`;KF&Q*{_o>D~6X()3o-SQ}c24bU9&ty#r8bqw$9o`n|qac7N=-aV+zJKDVREVD|k4d7!u8B1E!47)K6}f+GErgdKKcQii z8FEJ#U!~8=P6MGJS5t&wEroGlX^91gr{)#KTqPp^-BV7rqCzr)JH8BL`qaJdUp7iy za@_8qra6llE>{`I_tM%TlQylL-5#>N{!IkZ{xf21YUteilMy_etlt9_kf(X(8ZdLf z4v$H4jriR(2S(|Q4&O6Bz+xU`zR^L#-;wIN4+Q^R=8;;JrgnXW^+$VqZ!pS9#x8-s z3}e%24`NBG7rsUG7fA_FR!n{Xx*T=Cu?anCihetDxP%`ACUNW)*wV#%`Nbb1){LDK zPje_b=XrS-9{XdjM584^ygd)@aDrQB()ckV#T(6JfPb^~E^!^)1M=}(aHCVS+BP7O zQ)doCQyd<;6sicT14O0t>u^{ogU^wA~+L=^cxYqTIFR0WLq>;D^r-2v9qU6-DCpe{w+*QJ*QVgsW>&Q7BL1$ z{OR7W1k4odHirp5EqCbhRF;lX*p@hq)Nwz+tw`By_Sf3?Knt?OX_a9<5(x@Px_UL!H znZ~-4uYi9cxLI5WDTej9FHbQjiWwiskX53an@OMlV&O*umzTI7^1WmsRA@9zSPH*H zQ(Zxht`_9O6WB(S>xm4#QG^r0DE3G3`AMyHBwT(=CGc6coxFv{{wroWA{3gDo6f0n zI-g_CEWpI}=c>{ts$MQ72Ql0jLO(o5m&8^&zNjMWY4_p?c5uBD>qr532$)U`XZMRo zCv1{~yh3OBs8vRTdOrNEZ!Yy3$q(M)(E9wmW*_SG3zP_~OJd^u0Ruv;&QHd^9Sm}T zHr4(p=%jh!U5?Qc3B4!qUyC2%VYwnv=*2kFq)HHcd+0insmfmuFz!rY5{pHpH0L-c z$D;J}tk_vBLtqOwyFY!k9Y$6pMAfMR6u>2jYv9HE+t9G?w@|UKU3yu1b-J{l#fQC&lC`$;CN(Q8U{ zM<nb027~f!4wm3kI@L)=x;gyHXikE6z&;)h%%Mm15=-lK+VnS9Yh{~V^gBz z=JQSdsYOd;#|{esz7*}~ARK}qRhn1=3F8&kVXDFvEmsgxIf0;5lbp#daQ6=~*0(Z* zz;JEWAzL?To(CWywnj%!@u;08|Bz*XQ6d@%30VFPBmyU*k|smIiJ0E(#IyTXxa}-} zn$2yNowznewz&S`vNt-2Xyk#W02I<5{=9O}KSsg(OA0DT>S9I9nIuLkQW2A3q?K0W zud#$GVv-gfAZW8wkK^sJP(a9e)?E3DUjLf0v{@y8nfZYON?JkzQ^=}D9|$4+e;P6N zHfN0FmIZ2-m&)h9e&55V!XDQrRPv5rBP=26LIpwz!^bCVw5*~yjSJvn|1juF`ygE9uKy7s@cYDX zua2Sd(9WB3$jXB7mJM+@86vH|XhqZ3I6^CdI7cD9<9k0})3&>*R2LSjrc?KiigNcY zoP`4>fEE;ByzNOx3>aayRV}Sq^6q>9xgjI5C#*k)#-cxpeeR)evFIDQi%=m3F)<|C zm?qw@3p-Kl@HAvKScdrwr^fu|-t)+KboP>N{?Djw>mIDmc9o%sSi{`={LWngayj)< z77}2dOCcDdT-&MA&JYN?HQR>3bc1!)i`84ARO`TBb>h~3*I;ddU`N;~jDR8JdfUwl z@)zLa&Cw2-1s(ItyI&Uke&WXDLC8#NP3nw+7t?iu!r+vj&CsTeIjl~MC)*Xxj)w=F zFp6skA~pi((zgY~@i!Fo1L|rkU_EUL*Xy5f+J6@D@k+bkRnhM>0t_HF*|jo9LMZ5Q z9IoKytRXH%AHKc8GYc%c39DH0;kAPF*T9=f;Ta96e&6b9vKS~QRN0_~TdSHy`198$ zRZB3V?FoaB?DOMK<7^k*i3&-7@T=SbM8awSG%CUurCbS4fjcIBZ{Z#p#|SBEY)XWh%l!hMvyfB`Bfe-G5sG`R7of*GLxAkBa_NM5zqo2RJWpcAk* zAb^3XeTsCCGw2$SRJ{iHp`?w5Rc)};SPSzyjT6+2g-T8{luywpcxcqTCN*U=+lkx= zIKyyu+Gl=(yLk&!W$NObZvD~&a&aIa9>?)YP@sxAm={QtOj(6SLIFbPR~>xsz362t zXXS{FESiMgiXp7CB5^IIY$LuDJr}Mh{ABAE2%-Jwh{Oyrp^(t_0-VHu0!#B3?yB-h zEm5gu8&;ct<4x2>EA_Z8uHyABF(mmlkZweAK06!;^gp8;)#KEvnB+>}2)KA8T~g!BP> zCRb!>WJ3p$0J8@mnEY3BO=HO0tzP>N5HX`=d5@vmplTjWL`lwGf=u{rDq$rirPAg$ ziN}Q93jylQVVfCXHT3x^fGW=x3&~4qUBS16IRxcQLL_PW;YmZ<AxoJQohG z)otC72(`UC?*S#8q!jQNtKza2f6NVGE9ow6sZ$w9BIzK!l#-UX0^<6TCl%#fRWpx% zD!J9fvyrYZgM}27!4${4wVuXmZZw1femkI&39y000Rvwd19o(MAZi3NL~^1V?u8+6 zp8EC7+CK9AE-S*SN4rB+8K>muv}9a#>3m?8j?tcaUr(;`=KeDBiyUN8@A^eKy7b9) zC^-qxy$NK(>JeJn71M}K4{irm3yFm~!foFhe=Ga}_MjfaJ0?utiM)N(3$u;UD`p*Xt6kY*`ya1uU1rqzzZZ#kT|ZR3=B^)m=16_ zxpfquFC|%i=xrd$$}0wHPpOK9qqE|fbs?22CHnp-fVxu35DyF`04`*;4Fw1u4LVJ8 zv)oH980mFnPXF-6GFn1c-mkZQs0K&&iITWxa6m6JBm*AFp`US_u`Dg{w8b@=$+OK80V4qrhP;ZoUoktQP#KS?Lk>&8pe8-P3{*j?KdX=G^7gIU9+i6NU|*bJ zxkPqBUj1E$r_ZB?>GPB>hh)Tkrm znm2s%@*9PdC-C^f;%DIFfexwY!Vy)3W-_nX;~PKf*UvZxcDP*;Ra;Y!4#k3kmYG1fiRHi9tnq( zCH~gih9@pJ-y>P>8_wCG{13($WDH>t$|=$t4sHH5`#78;XjQ@?#E2|^04ZHkI$Dy^ z$Py@6KpT8`8jl?aBfi88v?PG>nywjXeQkr>zWs?SgI(F>yD|+IO9;UB#RwPP=^~qBeCChE3i~3KyQ}`CHC1mx$Sw z5T&S{tBge&=vN9QG5Yfl5+-*#KL?)TAl#69q_Ux>g?iWfiw0LcI61K^5|FvMo6nPY_m5z@sjgJNCKRw zdC}|`lA|9Y2hv!Dsw41wDsf5E>ILI65`Icj^_trN4L$da;s;ZD3Z`(FbG~-d2m--| zq6&)66I`x0f&My!g(cT8tI&@WC>w}wpimo)EqUJe@*%=V+5Fh|^K!xC_wW~^cMLT; z2E8iZFDyc38tC$}e1j0w;8@@jN>+=ys{BU$(hv<|ZOFV)ZS9JB-fjiA{rbWsI#9}H z%E+W=PTM)<(|-=;ekJm*+9;|+sg)$;(KX-<-(T`$nr$w^Z}?hmz~OfC92akQ(NPF= zk1K)~@m#Y%Z>aZ45Mn=L^bGNpOA}bWE>W8lDzM#Av0n$M7X-0wg(_#VN_cdGs|ug( zmH*mZmuj%Xb4)0jzp+wqbTlRtO1Iu7I7EW7clskrlo5YyzV_`d*r6@%(DA5syM%7$e;kQt~4 z@>8g!<7AnBEx=6RBdDb2e*!-fnsy9QqTh~3rs1=r^>IRLd<{|$C4x*%y zVEMivN!bQ{59Z+cP@d9zflG#W&akEmet2aZvNG_Gy@GA^rpU^Ts!lr=H80M1ObWsZ zk*cNxccCP!(d=hjimEbtDXJ;OLqgM1LfQ(cnEFeUg!5^X^qFjUQH2e^jS7k#tVTntcHHdzTc(h9%ZCJ5-J2IJ#A|Db7%DpH!TLda?jN-SS9 z4#RMw0z317O+pBFN=#fuS^;1is{2qT%9A)8$yB0>A#Ommv$_W*RjD%5Ca*^bS$!Hs z2&O7qNC^cQ@PjKPZ&@tkryFVT@=3v$o)h%?Oi5SI8Rwg>**-={S)+RhSmA)3s5ORg~sopc0e7a!gZrUKK7%?=_Qnn$_>L;kBsqT zqPih{8j}PnC1l&-o0m#HyheF9V;>N@JaEhXf`<jO2XNFo#sPVdbLU z=HpFPprq9gpgdq-6PlJ1Z{3hFdW5EJLX~*V1}cH63X}1-GK=r%x2v zP{#Pvz^{a+nYP`GCql;BgR(sx9*g6K+|M#pFUVUkIX5L>x4@^)mVD~$7=fW-2ZjU9 z@Wa;x9=|D7upL#Dv3D%4PZ|T5fZ1LNV-70BVAuxs{z@ozet{D*RZmj-e9+tnO})@(gf9*win|=ui1jFNe7vvOM8zPd z$&XPLDNI2ERskPgBl+6Jl59JPy=?^id!OLn`%G5~Jb{v~d}*>8d!!s;87KvAG_ygl zoXCaKCF`cZ;u4saCn?EPWM#LgdF$1o(+x-31kWCa2M!93wlW;|#A@J+z(<9qxzdw6 z90plwz_q~lP|g!mkSN39Z7U^Ty*N(FP1wOvyIi<-CN( zM867EC@moml9aHb9KL#ylK-|A&eX zOREnCLOg*VK#_Wh*?k1n!1tde`Nk!Zf(#NSt1b_G;9(_QnY^Dbp|U8N()V(FkWz72 zgN*H$CbEr`uzm{s`As_K&rs?Ev2x`4H&onJlnIy3QvbeoTHrEAS~gVCy^TPl2$noJ zLm@OR*gvrn6~FWulvmIc`fXNgCEvVMlIJ90qoV|Vx=HZMt-`FGvJ(|%u|w_X%)O7} ziPR!2HQDW`=;yfhD=DEQ3x0jAWbIUj*8&}|YH(H+6guI>8q*%7LX-;oB;YwyCwfTY z^*O+=P%6D?hl!Nnu)-(SOYXYJgc=B-!P7?tpL<5o?J+Ga{{hu!Qcp`)l2HB_CTSN9+#OfE5+$fqCVWARtZY({oU+@J(l;log@^z90ArDkLLH`$ z<;5Bggb-CG%HH?@Dj3u`oc&1&6*=&et0f;@D{*L;dSQ6{@U52w4;?gZWCvCI>_JF7 zO(p_Tk+2dTvk;&q+Yc&Xc99~jf(+B7bv7!MD0i|-Ss}Kn<)}c=U!&^H4+~O<`9<*i z>m;`D@3X)13m{lgsS#B?7C!9!nxDoZ#U{(GfyJS5{`iX?H7D~qv?1n zP}L{y0&2$cI;IgDsTerghpM$67k(WM53BTBd<5-Tn@$T}IAN+;ffe`!Di7`Zsgfie z4I!kP3tWeCh^%G=4jn1g^?mbV$+s?*%q+lsu9Scc#|58#TF}yGnymaNds{lWd4eGo zy@V2#@H`{#21a!I4GYu*kZfc-VR{}sbxhFXH65R|9z|YTgb*p$);uJpDjQXj=DR4e zn!yMpcWKxOKYfmhu}Y+@@zBA+=F@P;qZ&uedjvt{3VsD}r^#w!Ar%SBk1CkADv@pa ze1hxeONvaDfJ+b(X5=e7$;N77Hq6V0ib=Z(Drb5U=2vHTFB&u(rT>c9gp~NnA zm{kbhzg+T>wUR6|VGBWMu(JU^@UX_-reTrQHdIo5y&BZSz8_~AQjxGgHBh)F{`%1E zf%(O-b_ydZ!4T^hOH1KM8|-T`?S-j=aToSHj6+TGV-3WI)qM2{rEG=hLq%45qESQ-O&mK2z&kDj0EJ4}l&Ovo>b_*eT$BMjy z>Yfn7DugHp&IRs3)%W_SF|InKp62gRr&ddq-ysQT{H8HILf!Mf}3S|<72Ig(k0 z4F8@8c&P?H^0>yH22c;1QJZH!iH2>Z0Ofs>d`=s`wWAtC^rD(X3_eR6ihOd6YgUG`1=LM~ zGEL@WPEAZ47!fDgByk|CjPW!c?4V^(T4>Alf%dLFp9LbWPiDv_-Z&UV6gcN#X=CN*vo(;)<_1NvDV ztg=Pf2`u`ftRN~rZ(tB+a0ZR*96WDWJPGDjk47OpSom?VxYQf zy5+Ie@Wa)Xr8RO0P3c^F-RqBR_p$A`nsifu)x#*laI+UhR zR0qI7ZvR+3 z$SAb*!)k@t)?V(a;hUeZiv~{PH0s_2(R;~RH z9IUckBjnd2#e;Y+HCzk4gf=e^=_K60$nw<3EK@UF)4Jk?4Ri(JU^DDIW!TlA)#+^k zh(r>H^MO9C{ZrFPkqNzny z5%eF}chJ>j2df-VP5=uMta%?rmM24V5U}v^1&Xw0SCYPnVX*Ri%DZ}%svbITIM57- zFF<{};X=1A7DS?4x%Ab$f4w);UVbMIHpZwoZG5Rbz7|$nmQ8`BQ!Mi)=-+)YFZFZ+ z-RS8~w7}2bF#Pd|p(BuTR22Yzg~qr14ph0LoBU z@I_iz9EkVFLLjV$*E5}P%5OO3hlX}&?1I)FgFgV>VRhGsB5K}QP1uf97B-67}UGy4^A4 zm;X21!qc2ot^y0xo3#ZQJ2@il+!;@0{;&LtHa>xRk^C10~TD-pY>bhNH8Q>tG$MwTWs01$}(pH!(Z3R z1$oh7PcQuYUBhqo!_Je2&R|+V1#+l(7I+e+gAP_XtegZEBtYw4;5i0k_BVj6g(Z_= z(<;k-3oOO4t7A^rmItbifFh|E4#2JkfeK&RK6uBF1L|LZume@@D`$ZP3DEj9a+9n{ z=6S4D&F2fZS{_|)nNu12!i_${5h$O|S7Qh4c*pRE!%*9()Gv*o>P6d_e*_!_7ggnp zavE5W0Ig2}&yeJ*cx!dC7EOe2EVq1ip=C@dE=`2~Xet;|8^+e-hHWPdCt9H|lD5<@ zrUsP$Z9!Jq4pw=joCg*pKx-X}wB{%KT(R2L+S!(`-vMi8SwU6^W>0f7fZl z%g15Q8AEHg*RY@7PgfB5E9$X32v`TI{8L^43lgApC+gE$mdf+lD2y2e8|GUcUaB#b zl3WLu2dQWjn!1$g?RZDEsd~SnsSJ!2S(NrYg$CTa!9`X1s=NUfBtYwC;HPNwPV!rd z0irN|G_0FrdGJ=v*;T|GHM70O71#e23d=li-#Npp^;&6m(ht31GCBL$3cLtx22Ozk zRlX~)fCUNAnuOMof004#H@uc&^LOPX@WE-8`xn8w+43#V$T&;JP7eK_h)4u32B5AD z-e@%Jei!yP8yY*+w3^`o?Evsk;AhBbq0fQJ3GxtF{RjTuB8x8pKVXOh(*r3MaTOM5 z)a4_yEgR;+vZqJ56YQ$kq9Hds$T-zaYc2f z%apgkf`ozTHNcNieJd^Jq~C?JSlfD5++ViJInc8Cqs1#eY<>Io}) zYV48&>f0@Fv<2!e8k)MGE2J9TFuFuUP$B)-X!Ejb0CgHrc?~Q`ND*s*Z=)2kBAu@h zgI94OOe%+)tK@=k%S4zzLBq!5MrkP7=Oejy#p-pUQ4K-&gyrtg7Jv)ghQ=iUPffbVnu41${?E7f*aoW#Myx&w|0aTP| zZgFY_)Kmyw)nzb#l(r+670G2GrceZe5eR!wih-%47uti0ocsZUKM4MSqNVPT9+$v@ z;fGVaLddds3-B@yR8E7G16G{kqOIw`M&Kc|(=TJP0}Ub@*}?d{no<0lWWC2&WN>G% zmQKb!Xr#E8qPf4_!0(Y0s7w8vhNO}6Q653^z*PvW0KSPDPE)#)n8&in@$(hnPrzPW zG2JOiIbdByanV)YWejSPxUewi#3g?Frr2c~jk}u+16P$)o4p?bWT*v%G)GfarMP0MVzN?ECMNm!1(eq8T zG5IKP4yAyuCgpTP9rTM)^i}PBt%%IL7ZEg2+=IZ>3Y-T{BS4+>?l+qTJ)pTGEFc$%A8cHk2qW-VZ3>=YJWWf^hZhKJQlOKVn6}W&v)Qli? z!TWlr_c&L3a>_dWAD~R+N7!lx(*OVfC3HntbYx+4WjbSWWnpw>05UK#FfA}OEiyS& zGBP?dIXW~rD=;uRFfeE_3E=<$03~!qSaf7zbY(hiZ)9m^c>ppnGB7PLH7znZR5CI; eGdVgmI4dwPIxsL9Y_VMc00000^iZT% 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 literal 0 HcmV?d00001 diff --git a/packages/gatsby-source-wordpress/docs/assets/wp-gatsby-builds-webhook-settings.png b/packages/gatsby-source-wordpress/docs/assets/wp-gatsby-builds-webhook-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..5ffe697bc5564077119f31ad2838f218958a8f81 GIT binary patch literal 43855 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 bBbssuMkzuYTu#|w=LG1s!7YTQL*)Mf4qrx* literal 0 HcmV?d00001 diff --git a/packages/gatsby-source-wordpress/docs/assets/wp-gatsbyjs-preview-settings.png b/packages/gatsby-source-wordpress/docs/assets/wp-gatsbyjs-preview-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..636e6143d753cf5611bf7def63a9cbbc98121743 GIT binary patch literal 202688 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 inDevelopPreview || inPreviewRunner, + + // these options will be merged into the global default options and your options will be merged into these options + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + // all nodes are limited to 50 in cold builds + limit: 50, + }, + Comment: { + // all comments are excluded + limit: 0, + }, + // there's no limit to the following three types in cold builds + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, +} +``` + +## Debugging Previews in React + +Since a Previewed post might have a lot less data attached to it than what you're testing with during development, you might get errors in previews when that data is missing. You can debug your previews by running Gatsby in preview mode locally. + +- Run Gatsby in refresh mode with `ENABLE_GATSBY_REFRESH_ENDPOINT=true gatsby develop` +- Install ngrok with `npm i -g ngrok` +- In a new terminal window run `ngrok http 8000` +- In your WP instance's GatsbyJS settings, set your Preview instance URL to `https://your-ngrok-url.ngrok.io` and your Preview webhook to `https://your-ngrok-url.ngrok.io/__refresh` + +Now when you click the preview button in `wp-admin` it will use your local instance of Gatsby. You can inspect the preview template to see which Gatsby page is being loaded in the preview iframe and open it directly to do further debugging. + +## Debugging the build process of Previews + +If you enable the plugin option `options.debug.preview` by setting it to `true`, you will see additional logging through the Preview build process with information such as the contents of the webhook body that was sent to Gatsby, the preview node data, and the list of preview actions that were pulled from WordPress. See the [plugin options](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md#debugpreview-boolean) documentation for more info. + +## How Preview works behind the scenes + +When the WP "preview" button is pressed, a JWT is generated (with an expiry time of 1 hour) and POST'ed to the Gatsby Preview instance webhook. The Preview instance then uses this short-lived JWT to request a list of pending previews for all users. Gatsby starts processing each pending preview. At the same time, WordPress automatically opens the WP preview template which has been overridden by WPGatsby. Within the WP preview template you will see the admin bar at the top of the page as usual. The WordPress preview template displays a loader and waits for Gatsby to send back the preview status for the preview you're observing - it will receive a response when the preview has been processed on the Gatsby side. On the Gatsby side, it matches up the node being previewed with the Gatsby page that was created from it, once that page has been updated or created, it sends back the Gatsby page path for that page. WordPress then starts watching for the changed page to be deployed. Once it's deployed, the WordPress preview template loads the right Gatsby page in an iframe and removes the loader. In the case that there are errors on the Gatsby side, or no page is created for the node that's being previewed, Gatsby will send back an appropriate status and WPGatsby will display an error in the browser with instructions on how to resolve the issue. + +## Preview Security Considerations + +In order to support multiple users previewing simultaneously (and/or content updates happening at the same time as previews), WPGatsby needs to generate a user-agnostic JWT token and post that to Gatsby to pull all pending previews for any variety of users. This JWT can authenticate as any user. What this means is your Gatsby instance is being trusted at the same level as WP core code or WP plugins/themes. You should make sure that only trusted individuals or teams have code-level access to your WP server code/hosting and your Gatsby code/hosting. You should always use SSL for your WP host and your Gatsby Preview instance (on Gatsby Cloud this is taken care of for you). This JWT is only accessible when POST'ed to your Gatsby Preview instance during previews. The settings for where this JWT is POST'ed to can only be configured by administrators (via the WPGatsby settings page) or by anyone with code-level access to your WP instance. + +Additionally Gatsby Preview has no conception of user access roles. This means anyone with frontend, GraphiQL, or code level access to your Preview instance can see any currently existing Gatsby Previews that have been processed. + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/schema-merging.md b/packages/gatsby-source-wordpress/docs/features/schema-merging.md new file mode 100644 index 0000000000000..27355cab021d6 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/schema-merging.md @@ -0,0 +1,22 @@ +# Schema Merging + +Schema Merging is the magic that makes this source plugin work! + +The WPGraphQL and Gatsby GraphQL schemas are automagically merged behind the scenes for you by using GraphQL introspection and logic that understands WPGraphQL and Gatsby. + +As much of the remote WPGQL schema as possible is fetched, queries are built automatically, the queries are sent to WPGraphQL, and then Gatsby nodes are created from the returned data. Data is never fetched twice. If we will already have data, for example on a connection field between an Author and a Post, we only pull the id of the Post and link the field to the Post node on the Gatsby side. + +## So which schema am I querying? + +You're querying the Gatsby GraphQL API, but using the schema definitions and data of WPGraphQL. +This means you will have the power of both systems! But data is coming from the Gatsby cache. + +## Caveats + +WPGraphQL field input arguments are currently not supported. + +## Considerations + +This plugin works with all (or most) WPGQL plugins. So ACF, polylang, etc will work. Not all popular WPGraphQL extensions have been tested yet. For example we know that`wp-graphql-woocommerce` can source data, but we haven't yet tested it beyond that point. + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/security.md b/packages/gatsby-source-wordpress/docs/features/security.md new file mode 100644 index 0000000000000..1e7601c02c8bf --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/security.md @@ -0,0 +1,10 @@ +# Security + +This plugin is built with your WP site security in mind. For that reason, we've intentionally left out any authentication options. The reason is that any data fetched by Gatsby should be considered public data. Any Gatsby site may potentially have a publically queryable GraphQL server running when Gatsby is running in Preview mode (either via self-hosted Preview or on Gatsby Cloud). If we were to source data from WordPress while authenticated, all of the data we sourced would be available in Gatsby, which means it could easily be leaked to anyone who happens upon your Preview instance. For this reason, auth options have been intentionally excluded. + +If you have a requirement where you need some private data in Gatsby, you should either + +1. If your private data requirements are related to specific user accounts and will require different data depending on who's logged in to your site, add client-side authentication and make live GraphQL requests to WPGraphQL in-browser (using [Apollo](https://www.apollographql.com/docs/react/) or similar). +2. Filter your data to be public in WPGraphQL. If you need some data during a Gatsby build, you need to consider it as public data. This means you need to make it public in WPGraphQL. Think very carefully before you do this, and make sure you understand the security implications before you change anything. To filter private data to make it public, visit the [WPGraphQL docs](https://docs.wpgraphql.com/) to learn more. + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/getting-started.md b/packages/gatsby-source-wordpress/docs/getting-started.md new file mode 100644 index 0000000000000..0258cb4ef94b1 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/getting-started.md @@ -0,0 +1,61 @@ +# Installation & Getting Started :baby_chick: + +If you've had previous experience with Gatsby or you like to move fast, you can use the quick start steps below to get up and running quickly. If you'd like to take a step back and learn more first, head over to our [tutorials](./tutorials/index.md) :footprints: + +## Quick start + +1. [Install Node, Gatsby, and gatsby-cli](https://www.gatsbyjs.org/docs/) +2. Install [a starter](https://github.com/gatsbyjs/gatsby-starter-wordpress-blog) `gatsby new my-wordpress-gatsby-site https://github.com/gatsbyjs/gatsby-starter-wordpress-blog` +3. Install and activate both of the following plugins in a live WordPress instance. + + - [WPGraphQL](https://wordpress.org/plugins/wp-graphql/) + - [WPGatsby](https://wordpress.org/plugins/wp-gatsby/) + +4. In the `gatsby-config.js` of the starter you just set up, update the plugin options for `gatsby-source-wordpress`. Change the `url` option so that it points to your WordPress instance GraphQL url. This should be the full url of your GraphQL endpoint. Eg `https://yoursite.com/graphql` +5. Run `gatsby develop` and experience the magic :star2: +6. Create your beautiful and accessible app :nail_care: +7. Build with [Gatsby Cloud](https://www.gatsbyjs.com/) & deploy to [Netlify](https://www.gatsbyjs.com/guides/netlify/) for a fast, wonderful, _and_ affordable CI/CD experience :boom: :rocket: + +### Hot tip + +For a fast, easy, and reliable WordPress local dev server, use [Local by Flywheel](https://localwp.com/). This will save you time setting up WordPress on your computer and you can easily push and pull to and from Flywheel/WPEngine hosting! + +## Required WordPress Dependencies + +In addition to WordPress, there are 2 other required plugins on the PHP side of things. If you're on the latest version of the source plugin and these plugins, everything will work great. If there is a version mismatch, you'll be notified and provided a download link for the correct versions in your terminal via our [compatibility API](./features/compatibility-api.md) when you run a build :smile: + +### WPGraphQL + +This plugin turns your WordPress instance into a GraphQL server. + +- [Source code](https://github.com/wp-graphql/wp-graphql) +- [Docs](https://docs.wpgraphql.com/) +- [Website](https://www.wpgraphql.com/) + +### WPGatsby + +This plugin modifies the WPGraphQL schema in Gatsby-specific ways and also keeps a record of when user actions happened. This allows us to do selective cache invalidation in Gatsby (to speed up builds) and add Preview support. + +- [Source code](https://github.com/gatsbyjs/wp-gatsby) + +### WordPress + +Please note that we only officially support the latest version of WordPress. However, WordPress is great at keeping backwards compatibility and older versions may work. + +- [Source code](https://wordpress.org/download/source/) +- [Docs](https://codex.wordpress.org/) +- [Website](https://wordpress.org) + +# Up Next :point_right: + +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :computer: [Using Data](./using-data.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/hosting.md b/packages/gatsby-source-wordpress/docs/hosting.md new file mode 100644 index 0000000000000..5a3963d06d26a --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/hosting.md @@ -0,0 +1,17 @@ +# Hosting WordPress :house: + +Any mid-to-high performance WordPress host will work great. You may also have success on low performance WordPress hosts for smaller or medium sized sites, but a better server is recommended. + +A great Gatsby/WordPress workflow is to use [Local by Flywheel](https://localwp.com/) for hosting your local WordPress server and then pushing from there to [Flywheel](https://getflywheel.com/) or [WPEngine](https://wpengine.com/) hosting for your live/staging WordPress servers. + +If you have a very large site (with a lot of images), you may need to ask your hosting provider to remove IP rate limiting for your IP addresses as this source plugin will try to fetch them as fast as it can to speed up your build times. + +If your server becomes overwhelmed by the number of requests being made from Gatsby to WP during an uncached build, your build may fail. You can fix this by lowering the `GATSBY_CONCURRENT_DOWNLOAD` env var. It is set to 200 by default and a good server can handle this. Some servers may require this to be set as low as 5 or 10. Try a few different settings to determine how many concurrent requests your server can handle. The higher this number can be set, the faster your uncached builds will become. + +# Up Next :point_right: + +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md b/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md new file mode 100644 index 0000000000000..eaff53fd7b6c1 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md @@ -0,0 +1,71 @@ +# Migrating from Other WP Source Plugins :bird: + +From what we've seen migrating is a fairly painless process as the GraphQL schema structure is not too different from older Gatsby WordPress source plugins. + +## Migrating from `gatsby-source-wordpress@v3` + +[Graphiql](https://www.gatsbyjs.org/docs/running-queries-with-graphiql/) is your best friend when migrating from the last major version of this plugin. Run `gatsby develop` and visit `http://localhost:8000/___graphiql` + +Any node list queries such as `allWordpressPage { nodes { title } }` will need to be updated to match the new WordPress types in the Gatsby schema. The new pattern for type names is `Wp` and then the capitalized type such as `Page`. So to replace the node list query above, you would write `allWpPage { nodes { title } }`. + +Since `v3` used the WP REST API and `v4` uses WPGraphQL, the data shape and available fields for each type will vary. For example `featured_image` in `v3` becomes `featuredImage` in `v4`. Many of the core WordPress data fields remain the same, but if you're using any custom data, or fields added by extensions to access additional data (like ACF fields), you will need to use Graphiql to determine what the new data shape will be. If you find you're missing data, you may need to install a [WPGraphQL extension](https://docs.wpgraphql.com/extensions/wpgraphql-advanced-custom-fields/) to add that data to the schema. In most cases you will find that you have access to more data than before! But commonly, the [WPGraphQL ACF extension](https://docs.wpgraphql.com/extensions/wpgraphql-advanced-custom-fields/) will need to be installed. + +If you have any custom code which you've added to make connections between nodes work in `v3`, you will get to delete that code (yay!) because WPGraphQL has excellent support built in for connection fields between nodes (for example `Page.author` or `User.pages`). + +## Migrating from `gatsby-source-graphql` + +You're in luck! :four_leaf_clover: This will likely be a very easy migration! + +`gatsby-source-graphql` works in a very similar way to this plugin. What that means is your GraphQL queries will be nearly identical. + +You will need to remove the `wp` root field which wraps around your `gatsby-source-graphql` queries. You will also need to modify the names of fields you're querying to get access to WordPress nodes. + +For example, if you're querying for a list of pages: + +```js +{ + wp { + pages { + nodes { + title + } + } + } +} +``` + +You can modify your query so that the root field is in this pattern: `allWp[fieldTypename]` and the `wp` wrapper is removed. + +So your query would change to look like this: + +``` +{ + allWpPage { + nodes { + title + } + } +} +``` + +### `gatsby-source-graphql` and inline fragments + +Any inline fragments will need to be updated since type names have changed. Use Gatsby's [Graphiql](https://www.gatsbyjs.org/docs/running-queries-with-graphiql/) at `http://localhost:8000/___graphiql` with `gatsby develop` running to determine how your inline fragment typenames should be modified. + +### `gatsby-source-graphql` and `gatsby-image` + +If you're using any plugins or additional schema customization code to enable the use of `gatsby-image`, you can delete that code and uninstall those plugins. `gatsby-source-wordpress@v4` handles that for you out of the box! + +### `gatsby-source-graphql` and WPGraphQL input arguments + +If you're using any WPGraphQL input arguments, you will need to rethink how you're accessing data. Input arguments are not currently supported as finding a good way to cache data with various input arguments is very tricky. We have some ideas on supporting this but for now it's not supported. + +# Up Next :point_right: + +- :computer: [Using Data](./using-data.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/plugin-options.md b/packages/gatsby-source-wordpress/docs/plugin-options.md new file mode 100644 index 0000000000000..71061b8c425cb --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/plugin-options.md @@ -0,0 +1,1274 @@ +# Plugin Options + +[comment]: # "This file is automatically generated. Do not edit it directly. Instead, edit the Joi schema in ./plugin/src/steps/declare-plugin-options-schema.js" + +- [Plugin Options](#plugin-options) + - [url (**required**)](#url-required) + - [verbose](#verbose) + - [debug](#debug) + - [debug.preview](#debugpreview) + - [debug.timeBuildSteps](#debugtimebuildsteps) + - [debug.disableCompatibilityCheck](#debugdisablecompatibilitycheck) + - [debug.throwRefetchErrors](#debugthrowrefetcherrors) + - [debug.graphql](#debuggraphql) + - [debug.graphql.showQueryVarsOnError](#debuggraphqlshowqueryvarsonerror) + - [debug.graphql.showQueryOnError](#debuggraphqlshowqueryonerror) + - [debug.graphql.copyQueryOnError](#debuggraphqlcopyqueryonerror) + - [debug.graphql.panicOnError](#debuggraphqlpaniconerror) + - [debug.graphql.onlyReportCriticalErrors](#debuggraphqlonlyreportcriticalerrors) + - [debug.graphql.copyNodeSourcingQueryAndExit](#debuggraphqlcopynodesourcingqueryandexit) + - [debug.graphql.writeQueriesToDisk](#debuggraphqlwritequeriestodisk) + - [debug.graphql.printIntrospectionDiff](#debuggraphqlprintintrospectiondiff) + - [production](#production) + - [production.hardCacheMediaFiles](#productionhardcachemediafiles) + - [production.allow404Images](#productionallow404images) + - [develop](#develop) + - [develop.nodeUpdateInterval](#developnodeupdateinterval) + - [develop.hardCacheMediaFiles](#develophardcachemediafiles) + - [develop.hardCacheData](#develophardcachedata) + - [auth](#auth) + - [auth.htaccess](#authhtaccess) + - [auth.htaccess.username](#authhtaccessusername) + - [auth.htaccess.password](#authhtaccesspassword) + - [schema](#schema) + - [schema.queryDepth](#schemaquerydepth) + - [schema.circularQueryLimit](#schemacircularquerylimit) + - [schema.typePrefix](#schematypeprefix) + - [schema.timeout](#schematimeout) + - [schema.perPage](#schemaperpage) + - [schema.requestConcurrency](#schemarequestconcurrency) + - [schema.previewRequestConcurrency](#schemapreviewrequestconcurrency) + - [excludeFieldNames](#excludefieldnames) + - [html](#html) + - [html.useGatsbyImage](#htmlusegatsbyimage) + - [html.imageMaxWidth](#htmlimagemaxwidth) + - [html.fallbackImageMaxWidth](#htmlfallbackimagemaxwidth) + - [html.imageQuality](#htmlimagequality) + - [html.createStaticFiles](#htmlcreatestaticfiles) + - [type](#type) + - [type.\_\_all](#type__all) + - [type.\_\_all.exclude](#type__allexclude) + - [type.\_\_all.limit](#type__alllimit) + - [type.\_\_all.excludeFieldNames](#type__allexcludefieldnames) + - [type.\_\_all.nodeInterface](#type__allnodeinterface) + - [type.\_\_all.beforeChangeNode](#type__allbeforechangenode) + - [type.RootQuery](#typerootquery) + - [type.MediaItem](#typemediaitem) + - [type.MediaItem.lazyNodes](#typemediaitemlazynodes) + - [type.MediaItem.localFile](#typemediaitemlocalfile) + - [type.MediaItem.localFile.excludeByMimeTypes](#typemediaitemlocalfileexcludebymimetypes) + - [type.MediaItem.localFile.maxFileSizeBytes](#typemediaitemlocalfilemaxfilesizebytes) + - [type.MediaItem.localFile.requestConcurrency](#typemediaitemlocalfilerequestconcurrency) + - [presets](#presets) + - [presets[].presetName](#presetspresetname) + - [presets[].useIf](#presetsuseif) + - [presets[].options](#presetsoptions) +- [Up Next :point_right:](#up-next-point_right) + +## url (**required**) + +This is the only plugin option which is required for the plugin to work properly. + +This should be the full url of your GraphQL endpoint. + +**Required:** yes + +**Field type**: `String` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + url: `https://yoursite.com/graphql`, + }, +} + +``` + +## verbose + +Enables verbose logging in the terminal. Set to `false` to turn it off. + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + verbose: true, + }, +} + +``` + +## debug + +An object which contains options related to debugging. See below for options. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + // Add your options here :) + }, + }, +} + +``` + +### debug.preview + +When set to true, this option will display additional information in the terminal output about the running preview process. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + preview: true, + }, + }, +} + +``` + +### debug.timeBuildSteps + +When set to true, this option will display how long each internal step took during the build process. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + timeBuildSteps: true, + }, + }, +} + +``` + +### debug.disableCompatibilityCheck + +This option disables the compatibility API check against the remote WPGraphQL and WPGatsby plugin versions. Note that it's highly recommended to not disable this setting. If you disable this setting you will receive no support until it's re-enabled. It's also highly likely that you'll run into major bugs without initially realizing that this was the cause. + +This option should only be used for debugging. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + disableCompatibilityCheck: true, + }, + }, +} + +``` + +### debug.throwRefetchErrors + +When this is set to true, errors thrown while updating data in gatsby develop will fail the build process instead of automatically attempting to recover. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + throwRefetchErrors: true, + }, + }, +} + +``` + +### debug.graphql + +An object which contains GraphQL debugging options. See below for options. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + // Add your options here :) + }, + }, + }, +} + +``` + +#### debug.graphql.showQueryVarsOnError + +When a GraphQL error is returned and the process exits, this plugin option determines wether or not to log out the query vars that were used in the query that returned GraphQL errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + showQueryVarsOnError: true, + }, + }, + }, +} + +``` + +#### debug.graphql.showQueryOnError + +If enabled, GraphQL queries will be printed to the terminal output when the query returned errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + showQueryOnError: true, + }, + }, + }, +} + +``` + +#### debug.graphql.copyQueryOnError + +If enabled, GraphQL queries will be copied to your OS clipboard (if supported) when the query returned errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + copyQueryOnError: true, + }, + }, + }, +} + +``` + +#### debug.graphql.panicOnError + +Determines wether or not to panic when any GraphQL error is returned. + +Default is false because sometimes non-critical errors are returned alongside valid data. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + panicOnError: false, + }, + }, + }, +} + +``` + +#### debug.graphql.onlyReportCriticalErrors + +Determines wether or not to log non-critical errors. A non-critical error is any error which is returned alongside valid data. In previous versions of WPGraphQL this was very noisy because trying to access an entity that was private returned errors. + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + onlyReportCriticalErrors: true, + }, + }, + }, +} + +``` + +#### debug.graphql.copyNodeSourcingQueryAndExit + +When a type name from the remote schema is entered here, the node sourcing query will be copied to the clipboard, and the process will exit. + +**Field type**: `String` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + copyNodeSourcingQueryAndExit: true, + }, + }, + }, +} + +``` + +#### debug.graphql.writeQueriesToDisk + +When true, all internal GraphQL queries generated during node sourcing will be written out to `./WordPress/GraphQL/[TypeName]/*.graphql` for every type that is sourced. This is very useful for debugging GraphQL errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + writeQueriesToDisk: true, + }, + }, + }, +} + +``` + +#### debug.graphql.printIntrospectionDiff + +When this is set to true it will print out the diff between types in the previous and new schema when the schema changes. This is enabled by default when debug.preview is enabled. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + printIntrospectionDiff: true, + }, + }, + }, +} + +``` + +## production + +**Field type**: `Object` + +### production.hardCacheMediaFiles + +This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at ./.wordpress-cache/path/to/media/file.jpeg. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + production: { + hardCacheMediaFiles: true, + }, + }, +} + +``` + +### production.allow404Images + +This option allows images url's that return a 404 to not fail production builds. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + production: { + allow404Images: true, + }, + }, +} + +``` + +## develop + +Options related to the gatsby develop process. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + // options related to `gatsby develop` + }, + }, +} + +``` + +### develop.nodeUpdateInterval + +Specifies in milliseconds how often Gatsby will ask WP if data has changed during development. If you want to see data update in near-realtime while you're developing, set this low. Your server may have trouble responding to too many requests over a long period of time and in that case, set this high. Setting it higher saves electricity too ⚡️🌲. + +**Field type**: `Number` + +**Default value**: `5000` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + nodeUpdateInterval: 300, + }, + }, +} + +``` + +### develop.hardCacheMediaFiles + +This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at `./.wordpress-cache/path/to/media/file.jpeg`. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + hardCacheMediaFiles: true, + }, + }, +} + +``` + +### develop.hardCacheData + +This option is experimental. When set to true, WordPress data will be hard-cached outside the Gatsby cache in `./.wordpress-cache/caches`. This is useful for preventing the need to re-fetch all data when the Gatsby cache automatically clears. This hard cache will automatically clear itself when your remote WPGraphQL schema changes, or when you change your plugin options. + +When using this option, be sure to gitignore the wordpress-cache directory in the root of your project. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + hardCacheData: false, + }, + }, +} + +``` + +## auth + +Options related to authentication. See below for options. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + // Add your options here :) + }, + }, +} + +``` + +### auth.htaccess + +Options related to htaccess authentication. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + htaccess: { + // Add your options here :) + }, + }, + }, +} + +``` + +#### auth.htaccess.username + +The username for your .htpassword protected site. + +**Field type**: `String` + +**Default value**: `null` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + htaccess: { + username: `admin`, + }, + }, + }, +} + +``` + +#### auth.htaccess.password + +The password for your .htpassword protected site. + +**Field type**: `String` + +**Default value**: `null` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + htaccess: { + password: `1234strong_password`, + }, + }, + }, +} + +``` + +## schema + +Options related to fetching and ingesting the remote schema. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + // Add your options here :) + }, + }, +} + +``` + +### schema.queryDepth + +The maximum field depth the remote schema will be queried to. + +**Field type**: `Number` + +**Default value**: `15` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + queryDepth: 15, + }, + }, +} + +``` + +### schema.circularQueryLimit + +The maximum number times a type can appear as it's own descendant. + +**Field type**: `Number` + +**Default value**: `5` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + circularQueryLimit: 5, + }, + }, +} + +``` + +### schema.typePrefix + +The prefix for all ingested types from the remote schema. For example Post becomes WpPost. + +**Field type**: `String` + +**Default value**: `Wp` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + typePrefix: `Wp`, + }, + }, +} + +``` + +### schema.timeout + +The amount of time in ms before GraphQL requests will time out. + +**Field type**: `Number` + +**Default value**: `30000` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + timeout: 30000, + }, + }, +} + +``` + +### schema.perPage + +The number of nodes to fetch per page during node sourcing. + +**Field type**: `Number` + +**Default value**: `100` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + perPage: 100, + }, + }, +} + +``` + +### schema.requestConcurrency + +The number of concurrent GraphQL requests to make at any time during node sourcing. Try lowering this if your WordPress server crashes while sourcing data. + +**Field type**: `Number` + +**Default value**: `15` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + requestConcurrency: 50, + }, + }, +} + +``` + +### schema.previewRequestConcurrency + +The number of concurrent GraphQL requests to make at any time during preview sourcing. Try lowering this if your WordPress server crashes during previews. Normally this wont be needed and only comes into effect when multiple users are previewing simultaneously. + +**Field type**: `Number` + +**Default value**: `5` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + previewRequestConcurrency: 50, + }, + }, +} + +``` + +## excludeFieldNames + +A list of field names to globally exclude from the ingested schema. + +**Field type**: `Array` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + excludeFieldNames: [`viewer`], + }, +} + +``` + +## html + +Options related to html field processing. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + // Add your options here :) + }, + }, +} + +``` + +### html.useGatsbyImage + +Causes the source plugin to find/replace images in html with Gatsby images. + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + useGatsbyImage: true, + }, + }, +} + +``` + +### html.imageMaxWidth + +Adds a limit to the max width an image can be. If the image size selected in WP is smaller or the image file width is smaller than this those values will be used instead. + +**Field type**: `Number` + +**Default value**: `null` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + imageMaxWidth: 1024, + }, + }, +} + +``` + +### html.fallbackImageMaxWidth + +If a max width can't be inferred from html this value will be passed to Sharp. If the image is smaller than this, the image file's width will be used instead. + +**Field type**: `Number` + +**Default value**: `100` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + fallbackImageMaxWidth: 800, + }, + }, +} + +``` + +### html.imageQuality + +Determines the image quality that Sharp will use when generating inline html image thumbnails. + +**Field type**: `Number` + +**Default value**: `90` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + imageQuality: 90, + }, + }, +} + +``` + +### html.createStaticFiles + +When this is true, any url's which are wrapped in "", '', or () and which contain /wp-content/uploads will be transformed into static files and the url's will be rewritten. This adds support for video, audio, and anchor tags which point at WP media item uploads as well as inline-html css like background-image: url(). + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + createStaticFiles: true, + }, + }, +} + +``` + +## type + +Options related to specific types in the remote schema. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + // Add your options here :) + }, + }, +} + +``` + +### type.\_\_all + +A special type setting which is applied to all types in the ingested schema. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + __all: { + limit: 10, + }, + }, + }, +} + +``` + +#### type.\_\_all.exclude + +Completely excludes a type from node sourcing and from the ingested schema. + +**Field type**: `Boolean` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + Page: { + exclude: true, + }, + }, + }, +} + +``` + +#### type.\_\_all.limit + +The maximum amount of objects of this type to fetch from WordPress. + +**Field type**: `Number` + +#### type.\_\_all.excludeFieldNames + +Excludes fields on a type by field name. + +**Field type**: `Array` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + Page: { + excludeFieldNames: [`dateGmt`, `parent`], + }, + }, + }, +} + +``` + +#### type.\_\_all.nodeInterface + +Determines wether or not this type will be treated as an interface comprised entirely of other Gatsby node types. + +**Field type**: `Boolean` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + Page: { + nodeInterface: true, + }, + }, + }, +} + +``` + +#### type.\_\_all.beforeChangeNode + +A function which is invoked before a node is created, updated, or deleted. This is a hook in point to modify the node or perform side-effects related to it. + +**Field type**: `Function` + +### type.RootQuery + +A special type which is applied to any non-node root fields that are ingested and stored under the root `wp` field. It accepts the same options as other types. + +**Field type**: `Object` + +**Default value**: `{ excludeFieldNames: ['viewer', 'node', 'schemaMd5'], },` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + RootQuery: { + excludeFieldNames: [`viewer`], + }, + }, +} + +``` + +### type.MediaItem + +**Field type**: `Object` + +#### type.MediaItem.lazyNodes + +Enables a different media item sourcing strategy. Instead of fetching Media Items that are referenced by other nodes, Media Items will be fetched in connection resolvers from other nodes. This may be desireable if you're not using all of the connected images in your WP instance. This is not currently recommended because it messes up cli output and can be slow due to query running concurrency. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + lazyNodes: true, + }, + }, + }, +} + +``` + +#### type.MediaItem.localFile + +Options related to File nodes that are attached to MediaItem nodes. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + // Add your options here :) + }, + }, + }, + }, +} + +``` + +##### type.MediaItem.localFile.excludeByMimeTypes + +Allows preventing the download of files associated with MediaItem nodes by their mime types. + +**Field type**: `Array` + +**Default value**: `[]` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + excludeByMimeTypes: [`video/mp4`], + }, + }, + }, + }, +} + +``` + +##### type.MediaItem.localFile.maxFileSizeBytes + +Allows preventing the download of files that are above a certain file size (in bytes). Default is 15mb. + +**Field type**: `Number` + +**Default value**: `15728640` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + maxFileSizeBytes: 10485760, // 10Mb + }, + }, + }, + }, +} + +``` + +##### type.MediaItem.localFile.requestConcurrency + +Amount of images to download concurrently. Try lowering this if wordpress server crashes on import. + +**Field type**: `Number` + +**Default value**: `100` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + requestConcurrency: 50, + }, + }, + }, + }, +} + +``` + +## presets + +A preset of plugin options to be applied under some circumstance determined by the useIf function property. + +**Field type**: `Array` + +**Default value**: + +```js +;[ + { + presetName: `PREVIEW_OPTIMIZATION`, + useIf: (): boolean => + (process.env.NODE_ENV === `development` && + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT) || + process.env.RUNNER_TYPE === `PREVIEW`, + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + limit: 50, + }, + Comment: { + limit: 0, + }, + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, + }, +] +``` + +### presets[].presetName + +The name of the plugin options preset. + +**Field type**: `String` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + presets: [ + { + presetName: `DEVELOP`, + }, + ], + }, +} + +``` + +### presets[].useIf + +A function used to determine wether or not to apply this plugin options preset. It should return a boolean value. True will cause the preset to apply, false will disclude it. + +**Field type**: `Function` + +**Default value**: `() => false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + presets: [ + { + useIf: () => process.env.NODE_ENV === `development`, + }, + ], + }, +} + +``` + +### presets[].options + +Any valid options except for `url` and `presets`. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + presets: [ + { + name: `DEVELOP`, + useIf: () => process.env.NODE_ENV === `development`, + options: { + type: { + __all: { + limit: 1, + }, + }, + }, + }, + ], + }, +} + +``` + +# Up Next :point_right: + +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :computer: [Using Data](./using-data.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md b/packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md new file mode 100644 index 0000000000000..7d5525cab1d3f --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md @@ -0,0 +1,24 @@ +# Problems with `gatsby-source-graphql` :broken_heart: + +`gatsby-source-graphql` skips the Gatsby Node model altogether, and allows you to directly pull data from WPGraphQL. At first this seems really attractive as things just work, but as your site grows beyond a handful of pages, a few problems arise. + +- There's no way to use Gatsby Preview effectively as the Preview instance will have to run every query in your Gatsby site again. This means in many cases you would need to wait nearly the length of an entire uncached build for your preview to show up. +- There's no way to cache data. This means incremental builds can't work their magic, but it also means regular builds are very slow. Every content change in WordPress requires all the data to be refetched, making things very slow. +- Using `gatsby-image` is difficult and the images can't be cached and need to be constantly refetched during every build. +- Because the Gatsby node model is bypassed and queries are made directly to WPGraphQL, there's no simple way to build Gatsby plugins that transform data as it's sourced. Things like image replacement and link handling sometimes needed to be done client-side which added unnecessary bloat in the browser. + +All of the above issues are fixed by using this plugin! :smile_cat: + +# Up Next :point_right: + +- :runner: [Installation & Getting started](./getting-started.md) +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/problems-with-v3.md b/packages/gatsby-source-wordpress/docs/problems-with-v3.md new file mode 100644 index 0000000000000..e25186b2f9282 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/problems-with-v3.md @@ -0,0 +1,29 @@ +# Problems with Gatsby Source WordPress v3 :broken_heart: + +`gatsby-source-wordpress@v3`, the last major version of this plugin, utilized the [WP REST API](https://developer.wordpress.org/rest-api/) for sourcing WP data into Gatsby. This worked but was problematic for a few reasons. + +- The inflexibility and lack of an enforced schema for this API made proper node caching technically possible but functionally impossible. It also made it impossible to know beforehand the shape and type of data to expect which made it impossible to programmatically determine how to use the returned data. +- The REST API is largely untyped, and REST does not enforce typing even if it was. + - This means Gatsby needed to use [inference](https://www.gatsbyjs.org/docs/glossary/#inference) to automatically build GraphQL types for the data that was returned from WP. The big issue with this is: if all data of a type is removed from WP, your Gatsby site's GraphQL queries will break because no data means Gatsby can no longer can infer the data structure. This led to a lot of odd and counterintuitive issues and a poor developer/content creator experience. + - If we were to manually write out types for the entire core WP REST API so that we no longer needed to use inference, any custom WP REST plugins would not work and would require a lot of additional tedious and error prone work to support these plugins changing their data structure over time. +- REST does not have a popularly used standard way of implementing connections between nodes + - For example if you fetch 100 posts, you will also be fetching repeated data if each post includes data about the posts author including their name and email, etc. Perhaps all the posts had the same author and so we fetched 100x more data than we needed to. + - Even if WP REST API core implemented a standard way to retrieve connections to prevent overfetching connected data, any WP REST API extensions, community or otherwise, may or may not adhere to this standard, causing a large problem and stunting the ability for the community to easily extend the integration between WP and Gatsby. This would also mean a Gatsby plugin would need to be written for every single WP REST API extension, ballooning the amount of support needed for the WP/Gatsby integration to flourish. +- Being that the WP REST API is part of WordPress core, developments, bug fixes, and improvements to it move very slowly. There has been an open issue about broken media items for 4 years with no resolution in sight. This bug occasionally breaks Gatsby builds due to improperly missing media items. This leads to poor DX and cryptic error messages. Fixing this bug in a WP instance requires opening an SQL client and manually patching your DB each time this bug occurs. +- The WP REST API does not support many basic types of WP data such as menus, previews, plugins, themes. + +All of the above points are fixed by using this plugin and WPGraphQL :smile_cat: + +# Up Next :point_right: + +- :runner: [Installation & Getting started](./getting-started.md) +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/themes-starters-examples.md b/packages/gatsby-source-wordpress/docs/themes-starters-examples.md new file mode 100644 index 0000000000000..f17236b80a3fe --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/themes-starters-examples.md @@ -0,0 +1,38 @@ +# Official Themes & Starters + +Currently there are none! We will be creating some soon. In the meantime check out the awesome work form the community below. + +# Official Starters + +[gatsby-starter-wordpress-blog](https://github.com/gatsbyjs/gatsby-starter-wordpress-blog) + +# Community Starters + +[gatsby-starter-wordpress-twenty-twenty](https://github.com/henrikwirth/gatsby-starter-wordpress-twenty-twenty) + +[gatsby-starter-wordpress-blog](https://github.com/zeevosec/gatsby-starter-wordpress-blog) + +# Community Themes + +[GatsbyWPThemes](https://gatsbywpthemes.com/) + +[Gatsby WooCommerce Theme](https://gatsby-woocommerce-theme.netlify.app/) [[source]](https://github.com/imranhsayed/gatsby-woocommerce-themes) + +# WP/Gatsby In the Wild + +[Apollo Blog](https://github.com/apollographql/blog) [[source]](https://github.com/apollographql/blog) + +[Gatsby News](https://gatsby-news2.netlify.app/) [[source]](https://github.com/DSchau/gatsby-news) + +[moonmeister.net](https://moonmeister.net/) [[source]](https://github.com/moonmeister/moonmeister.net) + +muhammadmuhsin.com [[source]](https://github.com/m-muhsin/muhammadmuhsin.com) + +[thoughtsandstuff.com](https://thoughtsandstuff.com) [[source]](https://github.com/robmarshall/tns-gatsby) + +# Up Next :point_right: + +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md b/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md new file mode 100644 index 0000000000000..9173706ab0211 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md @@ -0,0 +1,348 @@ +## Creating a new site from scratch + +### What this tutorial covers: + +In this tutorial, you will install the `gatsby-source-wordpress` plugin in order to pull blog and image data from a WordPress install into your Gatsby site and render that data. This [Gatsby + WordPress starter](https://github.com/henrikwirth/gatsby-starter-wordpress-twenty-twenty) shows you the source code for an example site similar to what you’re going to be building in this tutorial. + +### Creating a site with the `gatsby-source-wordpress` plugin + +Create a new Gatsby project and change directories into the new project you just created: + +```shell +gatsby new wordpress-tutorial-site +cd wordpress-tutorial-site +``` + +Install the `gatsby-source-wordpress` plugin. For extra reading on the plugin’s features and examples of GraphQL queries not included in this tutorial, see the [`gatsby-source-wordpress` plugin’s README file](https://www.gatsbyjs.org/packages/gatsby-source-wordpress). + +```shell +npm install gatsby-source-wordpress +``` + +Add the `gatsby-source-wordpress` plugin to `gatsby-config.js` using the following code, which you can also find in this [starter’s source code](https://github.com/henrikwirth/gatsby-starter-wordpress-twenty-twenty/blob/master/gatsby-config.js#L29). + +```js:title=gatsby-config.js +module.exports = { + siteMetadata: { + title: `Gatsby WordPress Tutorial`, + description: `An example to learn how to source data from WordPress.`, + author: `@gatsbyjs`, + }, + plugins: [ + /* + * Gatsby's data processing layer begins with “source” + * plugins. Here the site sources its data from WordPress. + */ + // highlight-start + { + resolve: `gatsby-source-wordpress`, + options: { + /* + * The full URL of the WordPress site's GraphQL API. + * Example : 'https://www.example-site.com/graphql' + */ + url: `https://wpgatsbydemo.wpengine.com/graphql`, + }, + }, + // highlight-end + /** + * The following plugins aren't required for gatsby-source-wordpress, + * but we need them so the default starter we installed above will keep working. + **/ + `gatsby-plugin-react-helmet`, + { + resolve: `gatsby-source-filesystem`, + options: { + name: `images`, + path: `${__dirname}/src/images`, + }, + }, + `gatsby-transformer-sharp`, + `gatsby-plugin-sharp`, + { + resolve: `gatsby-plugin-manifest`, + options: { + name: `gatsby-starter-default`, + short_name: `starter`, + start_url: `/`, + background_color: `#663399`, + theme_color: `#663399`, + display: `minimal-ui`, + icon: `src/images/gatsby-icon.png`, // This path is relative to the root of the site. + }, + }, + ], +} +``` + +### Creating GraphQL queries that pull data from WordPress + +Now you are ready to create a GraphQL query to pull in some data from the WordPress site. You will create a query that pulls in the title of the blog posts, date they were posted, and blogpost content. + +Run: + +```shell +gatsby develop +``` + +In your browser, open `http://localhost:8000` to see your site, and `http://localhost:8000/___graphql` to see Graphiql. You can use Graphiql to create your GraphQL queries. + +As an exercise, try re-creating the following queries in your GraphiQL explorer. + +Tip: If you've never used Graphiql before, try pressing `shift+space` to be given a list of available fields you can query for. Press up and down on your keyboard to select a field and press enter to write it to your query. Alternatively you can use the explorer pane to the left side of the page. If your explorer pane isn't open, you can open it by clicking "Explorer" at the top of the screen. + +This first query will pull in the blogpost content from WordPress: + +```graphql +query { + allWpPost { + nodes { + id + title + excerpt + slug + date(formatString: "MMMM DD, YYYY") + } + } +} +``` + +This next query will pull in a sorted list of the blog posts: + +```graphql +{ + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + slug + } + } +} +``` + +## Rendering the blog posts to `index.js` + +Now that you've created GraphQL queries that pull in the data you want, you'll use that second query to create a list of sorted blogpost titles on your site's homepage. Here's what your home page component in `src/pages/index.js` should look like: + +```jsx:title=src/pages/index.js +import React from "react" +import { graphql } from "gatsby" +import Layout from "../components/layout" +import SEO from "../components/seo" + +export default function Home({ data }) { + //highlight-line + return ( + + + {/* highlight-start */} +