{"_id":"@gatsbyjs/gatsby-source-datocms","_rev":"71-d9b024703492e6d2f0192064afa23c2a","name":"@gatsbyjs/gatsby-source-datocms","dist-tags":{"latest":"2.2.2"},"versions":{"2.2.0":{"name":"@gatsbyjs/gatsby-source-datocms","version":"2.2.0","keywords":["gatsby","gatsby-plugin","gatsby-source-plugin"],"author":{"name":"DatoCMS","email":"support@datocms.com"},"license":"ISC","_id":"@gatsbyjs/gatsby-source-datocms@2.2.0","maintainers":[{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"danabrit","email":"djones@larkfarm.com"},{"name":"ascorbic","email":"m@mk.gg"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/sidharthachatterjee/gatsby-source-datocms#readme","bugs":{"url":"https://github.com/sidharthachatterjee/gatsby-source-datocms/issues"},"dist":{"shasum":"314dc88355155d55583ed768106eb7521734cbca","tarball":"https://registry.npmjs.org/@gatsbyjs/gatsby-source-datocms/-/gatsby-source-datocms-2.2.0.tgz","fileCount":126,"integrity":"sha512-9/vyM/vEy25abpcIJHlW6Ob6EYraN5pvgt/Lke1NDI97Dq7tMWdHpeAnNeuS/kdHmS3unidbVEPYTF3UWHl8/A==","signatures":[{"sig":"MEYCIQDGPrUHT1kdl8xXm51W3menkf7gb6mvY7ZeKyLkdPdUdAIhAPQ0hpSngu8Rly8+h0awS+sESF02G00G5NZAkko99dy8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":158966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJea5mUCRA9TVsSAnZWagAAc/MP/3vUNwQEPlGLf7z9lyVI\nFftXi+tUrN2HSs9iCIJ+OUopUO5p7Enw6SRqbkmaxAmf43xNK592dNo9sq6R\nC42ZjESiWDfLNAvWRh9VwtXKlTn/QPSetNwrsy0F3vLveclgtu7noiT/JxKp\nk4imK7J+G05D/X7QhvyTcqBTW9WrK589F4IDeMFkVbcBvmrIdE/8317xLimF\nF+MSPK7rg7lijn9JCsy8fdHamqn/f1NXPaKw+Ek1YRONaaAyaiexR6wjPQr1\nLY7jf+MWlwwAAWNnkabasU0wWiVpaJacPCVJ5fo8fTkNBF+XjMkU4TXdxaot\nPw52Q5GzvcG3esBfmOn6VHPlzDRBdV42SjQ7wNhMO1WZV3AExed6qL7nwW06\nlXz9i9apIQyW3ATbWU9gGL30gwz3DwLdKl1AT/G1fj9FHq4LdYGLgmGaVWb8\nXARrrmkIDPmacrbKJEf1ZcXYHZwvjTLLqwpcHXMjXtrW2juIFheaGSBzA0+l\n+lctxDMmT2A3HAmtx/xVyqacM4PkaeHrFZU9in5yqfBrLvWM43REH+tJdHHh\nWN17aetZkmp47inpM7+1t8s9oetjB+dBOWub3pOJyWtqCFsQTbtrIhis3ZH/\nn04dlrHFya2RCHXa/VLXeQQhMDrTmEOtAgaN3UCen2SD7jHK8+k8HSfa1Gzm\nWcwg\r\n=jO7h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"bf5e4210dbdfdef1ebdb90739a51756c8a1b5be0","scripts":{"test":"echo 1","build":"babel src --out-dir . --ignore __tests__","watch":"babel -w src --out-dir . --ignore __tests__","prettier":"prettier --write \"src/**/*.{js,jsx}\"","prepublish":"cross-env NODE_ENV=production npm run build"},"_npmUser":{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},"repository":{"url":"git+https://github.com/sidharthachatterjee/gatsby-source-datocms.git","type":"git"},"_npmVersion":"6.13.4","description":"Gatsby source plugin for building websites using DatoCMS as data source","directories":{},"_nodeVersion":"12.16.0","dependencies":{"md5":"2.2.1","humps":">=2.0.1","core-js":"^3.2.1","fs-extra":">=8.1.0","query-string":"6.8.3","object-assign":"^4.1.1","promise-queue":"2.2.5","datocms-client":">=3.0.16","object.entries":"^1.1.0","imgix-url-params":"11.2.0","json-stringify-safe":">=5.0.1","regenerator-runtime":"^0.13.3","request-promise-native":"1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"np":"^5.1.0","react":"^16.10.2","prettier":"^1.18.2","cross-env":"^6.0.3","@babel/cli":"^7.6.2","@babel/core":"^7.6.2","react-helmet":"^5.2.0","@babel/preset-env":"^7.6.2","@babel/plugin-proposal-object-rest-spread":"7.6.2"},"peerDependencies":{"react":"*","gatsby":"^2.12.1","react-helmet":"*"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-source-datocms_2.2.0_1584109971028_0.32016773747106453","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"@gatsbyjs/gatsby-source-datocms","version":"2.2.1","keywords":["gatsby","gatsby-plugin","gatsby-source-plugin"],"author":{"name":"DatoCMS","email":"support@datocms.com"},"license":"ISC","_id":"@gatsbyjs/gatsby-source-datocms@2.2.1","maintainers":[{"name":"ascorbic","email":"m@mk.gg"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"danabrit","email":"djones@larkfarm.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"}],"homepage":"https://github.com/sidharthachatterjee/gatsby-source-datocms#readme","bugs":{"url":"https://github.com/sidharthachatterjee/gatsby-source-datocms/issues"},"dist":{"shasum":"ab66341ae25cbb35c13736075303e7286895be9f","tarball":"https://registry.npmjs.org/@gatsbyjs/gatsby-source-datocms/-/gatsby-source-datocms-2.2.1.tgz","fileCount":168,"integrity":"sha512-EMO8colZxhcKB1NlQhXvnRYTXZzKUYgZ4yqhOYADKCQesG7drmrEBYvDePRZcHC6bMKgPPmvJW5ktUlIol/p+w==","signatures":[{"sig":"MEYCIQCwXHbZ5EG4hH2xKBq0Yx9B9qHrchpzCs30r2YgvjRJbgIhAMMB9ytFG3EUWM9J6V4ePczdvvoZXHNhbxcQRC4Lbytv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":161813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegfgDCRA9TVsSAnZWagAAu9MP/21RCU1q2gK86o6lqnSt\nqlDLK52O7u3q2y5Ibn8w94UnJxAbZ1yJKiE+R/qb1nUXGGXmoEFgsYXGTYo7\ngPAeR2c0kgANwsEYhyoso/U2Mpjk8unaVi1MqEScy3r5ae+wigdEv+F1YV82\nbUt4SWhCdvJqPQzM7ScVOlRNsvB0XkvluOJniFWyyn+kkh97C/8G0KM0dvdj\nsPZuOH7vcX5ihqYa5sD4Xmz9Hsep5f8JBdbQMPqJIpG1qmgVgpcsRmx07KQA\nUtJJ2zXkEmGp6OhQf6789NkytcfMEWS3GMMogiSXolhqAyeHIb3ISCEjJApo\njpPhUTSmKhqfrJHxUNSrJCmcPZydCL9MwR3bN7BjOzm/o+z1Q00XEjEvdgc1\nNqv0UxpHARgNec6hVicKD4a7l0oncszXAvfvExqPQENSz72Th2jBLAaMTfL3\nkZ7D5hsPX/YhmUW1+uPx8C8d01TBZ7FO7E3LqR6tVbQeVNirHrYNMi0anGi1\nXiEltEcLWe6x6dGikXbu3YP88j2bSn/ZWwQKRENpcTE5FbMupftaynKFYU0r\n2lMG6tBwKbnSShgvPeMRRYpY4jKSMrwVDG1MfuPTA2IxLzioGneeRmXYMk5S\nYxB4GR0djTDZ0Y8nNQmFYfJWFfKwfQXB1RFTYDgAbwkDtfxhyHNxnEeTtI/k\n7JW9\r\n=tBsd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo 1","build":"babel src --out-dir . --ignore __tests__","watch":"babel -w src --out-dir . --ignore __tests__","prettier":"prettier --write \"src/**/*.{js,jsx}\"","prepublish":"cross-env NODE_ENV=production npm run build"},"_npmUser":{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},"repository":{"url":"git+https://github.com/sidharthachatterjee/gatsby-source-datocms.git","type":"git"},"description":"Gatsby source plugin for building websites using DatoCMS as data source","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Cantiere Creativo SRL\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"md5":"2.2.1","humps":">=2.0.1","core-js":"^3.2.1","fs-extra":">=8.1.0","query-string":"6.8.3","object-assign":"^4.1.1","promise-queue":"2.2.5","datocms-client":">=3.0.16","object.entries":"^1.1.0","imgix-url-params":"11.2.0","json-stringify-safe":">=5.0.1","regenerator-runtime":"^0.13.3","request-promise-native":"1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"np":"^5.1.0","react":"^16.10.2","prettier":"^1.18.2","cross-env":"^6.0.3","@babel/cli":"^7.6.2","@babel/core":"^7.6.2","react-helmet":"^5.2.0","@babel/preset-env":"^7.6.2","@babel/plugin-proposal-object-rest-spread":"7.6.2"},"peerDependencies":{"react":"*","gatsby":"^2.12.1","react-helmet":"*"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-source-datocms_2.2.1_1585575938716_0.47581810303504146","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"@gatsbyjs/gatsby-source-datocms","version":"2.2.2","keywords":["gatsby","gatsby-plugin","gatsby-source-plugin"],"author":{"name":"DatoCMS","email":"support@datocms.com"},"license":"ISC","_id":"@gatsbyjs/gatsby-source-datocms@2.2.2","maintainers":[{"name":"ascorbic","email":"m@mk.gg"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"danabrit","email":"djones@larkfarm.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"}],"homepage":"https://github.com/sidharthachatterjee/gatsby-source-datocms#readme","bugs":{"url":"https://github.com/sidharthachatterjee/gatsby-source-datocms/issues"},"dist":{"shasum":"584663eca0393e7352f887f57f058c12b7789f5d","tarball":"https://registry.npmjs.org/@gatsbyjs/gatsby-source-datocms/-/gatsby-source-datocms-2.2.2.tgz","fileCount":168,"integrity":"sha512-vj2WA6f7yM2Gla9dqwB2uHmWAAka8Jdz+ScQW5KjpqsaQif/HDk0aM1YVP0tjXbLBVpOwQ0c6hZmvzrUdMzL5w==","signatures":[{"sig":"MEUCIQCnLISCJzDaDc7q14qR9Ol4H2jQTLA0dKRCxyAzG557cwIgejdbQu9m/brw1jEroXY+cmzyBLJ7t6LebBuiAe6YriU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":161813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei2xeCRA9TVsSAnZWagAAlJcP/1CBzWbuSdj1bFaXBXXv\nwSL3pfuq5rNo1K2IArIbnh7dkYoq5EKNjF8xCcs38Nbf9edzhu5AA1HHn6bR\nYWdlgbfCJUFDXGel2ArDvFodMsr249EsVxgT/5ln4MIIZ31MNqU4L1IFyaiN\nDNjdxa+vRFuOVLjG1Janq4o5bCTAKC27g+EjHIzg3WTw7DTlNC21cAljsBa6\nyvfcpLSJneSvnN1WUioPaivv0g0Z/qx+yl/kfeN7jFd6FaCfF9QQxJnBwusm\nlFHLiRgjb0f8BWcCUOQ/krATT5n5tCNx2fBhIEV3/BWyX0AJc6VHX8UzwTfX\nSr9hlHL4XW7yVdmYxKVpwQ2eCb7sId6XXLhgayal3TGkv2dejOfYYFs/pcxk\nT6BtIFJpzu3ISzrD86XZz6vBfiMEhAyADKQ1ya4eVvcv5McK8bONpVZ/+Usn\nr+XxHyhJf9qM4cQF3VPOz68ZxS/bBQKNlhsHec3tqXnJKWV8dzLAgiHhMlCe\n3fEFhkmLdqxVaMuPqXfO+kPxS7skT/mbYk7Xlj/iQP/969pJYSjl5VuWyaAY\n8NOOQptlNAGhwXq/4DZFa3ZXgVe6EsO+1Ts0PSC1Y3wez9uBjeis07RPFCBJ\n3R8Ft5rfySjPbFFClQ5eLkwgBn9FHL9HB0bKMlrHowDnsSbKVYRs20fhY4hJ\nExEL\r\n=MkWp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo 1","build":"babel src --out-dir . --ignore __tests__","watch":"babel -w src --out-dir . --ignore __tests__","prettier":"prettier --write \"src/**/*.{js,jsx}\"","prepublish":"cross-env NODE_ENV=production npm run build"},"_npmUser":{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},"repository":{"url":"git+https://github.com/sidharthachatterjee/gatsby-source-datocms.git","type":"git"},"description":"Gatsby source plugin for building websites using DatoCMS as data source","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Cantiere Creativo SRL\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"md5":"2.2.1","humps":">=2.0.1","core-js":"^3.2.1","fs-extra":">=8.1.0","query-string":"6.8.3","object-assign":"^4.1.1","promise-queue":"2.2.5","datocms-client":">=3.0.18","object.entries":"^1.1.0","imgix-url-params":"11.2.0","json-stringify-safe":">=5.0.1","regenerator-runtime":"^0.13.3","request-promise-native":"1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"np":"^5.1.0","react":"^16.10.2","prettier":"^1.18.2","cross-env":"^6.0.3","@babel/cli":"^7.6.2","@babel/core":"^7.6.2","react-helmet":"^5.2.0","@babel/preset-env":"^7.6.2","@babel/plugin-proposal-object-rest-spread":"7.6.2"},"peerDependencies":{"react":"*","gatsby":"^2.12.1","react-helmet":"*"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-source-datocms_2.2.2_1586195549558_0.8707020770911591","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-03-13T14:32:50.849Z","modified":"2026-06-30T21:59:40.698Z","2.2.0":"2020-03-13T14:32:51.172Z","2.2.1":"2020-03-30T13:45:38.951Z","2.2.2":"2020-04-06T17:52:29.723Z"},"bugs":{"url":"https://github.com/sidharthachatterjee/gatsby-source-datocms/issues"},"author":{"name":"DatoCMS","email":"support@datocms.com"},"license":"ISC","homepage":"https://github.com/sidharthachatterjee/gatsby-source-datocms#readme","keywords":["gatsby","gatsby-plugin","gatsby-source-plugin"],"repository":{"url":"git+https://github.com/sidharthachatterjee/gatsby-source-datocms.git","type":"git"},"description":"Gatsby source plugin for building websites using DatoCMS as data source","maintainers":[{"email":"misiek.piechowiak@gmail.com","name":"pieh"},{"email":"mike.gualtieri@netlify.com","name":"mlgualtieri-gatsby"},{"email":"philippe.serhal@netlify.com","name":"serhalp-netlify"}],"readme":"# gatsby-source-datocms\n\nSource plugin for pulling models and records into Gatsby from DatoCMS administrative areas. It creates links between records so they can be queried in Gatsby using GraphQL.\n\n**IMPORTANT**: If you use this plugin, you will not be able to write queries as described in the [DatoCMS Content Delivery API documentation](https://www.datocms.com/docs/content-delivery-api/). Content will be exposed using [Gatsby's schema-generation](https://www.gatsbyjs.org/docs/schema-generation/). If you want to directly use our GraphQL API in Gatsby, consider using the [gatsby-source-graphql](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-graphql) plugin instead.\n\n## Table of Contents\n\n* [Install](#install)\n* [Sample project](#sample-project)\n* [How to use](#how-to-use)\n* [How to query](#how-to-query)\n   * [Accessing records](#accessing-records)\n   * [Multiple-paragraph text fields](#multiple-paragraph-text-fields)\n   * [Modular content fields](#modular-content-fields)\n   * [Favicon meta tags](#favicon-meta-tags)\n   * [SEO meta tags](#seo-meta-tags)\n   * [Tree-like collections](#tree-like-collections)\n   * [Single instance models](#single-instance-models)\n   * [Localized fields](#localized-fields)\n* [Integration with gatsby-image](#integration-with-gatsby-image)\n   * [Responsive fluid](#responsive-fluid)\n   * [Responsive fixed](#responsive-fixed)\n\n## Install\n\n`npm install --save gatsby-source-datocms`\n\n## Sample project\n\nWe've prepared a [sample Gatsby project](https://github.com/datocms/gatsby-portfolio) for you!\n\n## How to use\n\n```javascript\n// In your gatsby-config.js\nplugins: [\n  {\n    resolve: `gatsby-source-datocms`,\n    options: {\n      // You can find your read-only API token under the Settings > API tokens\n      // section of your administrative area:\n      apiToken: `YOUR_READONLY_API_TOKEN`,\n\n      // If you are working on development/staging environment, you might want to\n      // preview the latest version of records instead of the published one:\n      previewMode: false,\n\n      // Disable automatic reloading of content when some change occurs on DatoCMS:\n      disableLiveReload: false,\n\n      // Custom API base URL\n      apiUrl: 'https://site-api.datocms.com',\n\n      // Setup locale fallbacks\n      // In this example, if some field value is missing in Italian, fall back to English\n      localeFallbacks: {\n        it: ['en'],\n      },\n    },\n  },\n]\n```\n\n## How to query\n\nTwo standard data types will be available from DatoCMS: `DatoCmsModel` and `DatoCmsSite`. You can query model nodes created from DatoCMS like the following:\n\n```graphql\n{\n  allDatoCmsModel {\n    edges {\n      node {\n        apiKey\n        name\n        fields {\n          apiKey\n          fieldType\n        }\n      }\n    }\n  }\n}\n```\n\nYour site global settings can be queried like this:\n\n```graphql\n{\n  datoCmsSite {\n    name\n    internalDomain\n    locales\n  }\n}\n```\n\n### Accessing records\n\nNon-standard data types, i.e. models you define in DatoCMS, will also be\navailable in Gatsby. They'll be created in your site's GraphQL schema under\n`datoCms{modelApiKey}` and `allDatoCms{modelApiKey}`. For example,\nif you have a `blog_post` model, you will be able to query it like the following:\n\n```graphql\n{\n  allDatoCmsBlogPost(sort: { fields: [publicationDate], order: DESC }, limit: 5) {\n    edges {\n      node {\n        title\n        excerpt\n        publicationDate(formatString: \"MM-DD-YYYY\")\n        author {\n          name\n          avatar {\n            url\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Multiple-paragraph text fields\n\nFields of type *Multiple-paragraph text* will be available both as simple\nstrings (ie. `excerpt`) and nodes (ie. `excerptNode`). You can use the latter\nif you want to apply further transformations, like converting markdown with [`gatsby-transformer-remark`](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-transformer-remark)):\n\n```graphql\n{\n  allDatoCmsBlogPost {\n    edges {\n      node {\n        excerptNode {\n          childMarkdownRemark {\n            html\n            timeToRead\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Modular content fields\n\n[Modular-content fields](https://docs.datocms.com/schema/modular-content.html) can be queried this way:\n\n```graphql\n{\n  datoCmsBlogPost {\n    title\n    content {\n      ... on DatoCmsText {\n        model { apiKey }\n        text\n      }\n      ... on DatoCmsImage {\n        model { apiKey }\n        image {\n          url\n        }\n      }\n    }\n  }\n}\n```\n\nYou can then present your blocks in a similar manner:\n\n```jsx\n<div>\n  {\n    data.datoCmsBlogPost.content.map((block) => (\n      <div key={block.id}>\n        {\n          block.model.apiKey === 'text' &&\n            <div>{block.text}</div>\n        }\n        {\n          block.model.apiKey === 'image' &&\n            <img src={block.image.url} />\n        }\n      </div>\n    ))\n  }\n</div>\n```\n\n### SEO meta tags\n\nAll records have a `seoMetaTags` field that you can use to build SEO meta tags\nfor your record's pages:\n\n```graphql\n{\n  allDatoCmsBlogPost {\n    edges {\n      node {\n        title\n        seoMetaTags {\n          tags {\n            tagName\n            content\n            attributes {\n              property\n              content\n              name\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nThis package exposes a `HelmetDatoCms` component and a `GatsbyDatoCmsSeoMetaTags`\nGraphQL fragment to make it easier use these information in your website:\n\nPS. [Due to a limitation of GraphiQL](https://github.com/graphql/graphiql/issues/612),\nyou can not currently use the `GatsbyDatoCmsSeoMetaTags` fragment in the GraphiQL IDE.\n\n```js\nimport React from 'react'\nimport Link from 'gatsby-link'\nimport { HelmetDatoCms } from 'gatsby-source-datocms'\n\nconst About = ({ data }) => (\n  <article className=\"sheet\">\n    <HelmetDatoCms seo={data.datoCmsAboutPage.seoMetaTags} />\n    <h1>{data.datoCmsAboutPage.title}</h1>\n    <p>{data.datoCmsAboutPage.subtitle}</p>\n  </article>\n)\n\nexport default About;\n\nexport const query = graphql`\n  query AboutQuery {\n    datoCmsAboutPage {\n      title\n      subtitle\n      seoMetaTags {\n        ...GatsbyDatoCmsSeoMetaTags\n      }\n    }\n  }\n```\n\nIf you need to pass additional meta tags to the underlying `Helmet` component, you can add them as children and props to `HelmetDatoCms`:\n\n```js\n<HelmetDatoCms seo={data.datoCmsAboutPage.seoMetaTags}>\n  <link rel=\"alternate\" href=\"http://www.mysite.com/it/\" hreflang=\"it\" />\n  <link rel=\"alternate\" href=\"http://www.mysite.com/fr/\" hreflang=\"fr\" />\n</HelmetDatoCms>\n```\n\nThe `datoCmsSite` global settings has also the `globalSeo` field that contains the fallback fields:\n\n```graphql\n{\n  datoCmsSite {\n    globalSeo {\n      siteName\n      titleSuffix\n      twitterAccount\n      facebookPageUrl\n      fallbackSeo {\n        title\n        description\n        image {\n          url\n        }\n        twitterCard\n      }\n    }\n  }\n}\n```\n\n### Favicon meta tags\n\nYou can get the complete set of meta tags related to your site favicon this way:\n\n```graphql\n{\n  datoCmsSite {\n    faviconMetaTags {\n      tagName\n      attributes {\n        rel\n        sizes\n        href\n        name\n        content\n        type\n      }\n    }\n  }\n}\n```\n\nSimilarly to what happens with SEO meta tags, you can use the `HelmetDatoCms` component with the `GatsbyDatoCmsFaviconMetaTags` fragment to make it easier use these information in your website:\n\n```js\nimport React from 'react'\nimport Link from 'gatsby-link'\nimport { HelmetDatoCms } from 'gatsby-source-datocms'\n\nconst TemplateWrapper = ({ data }) => (\n  <article className=\"sheet\">\n    <HelmetDatoCms favicon={data.datoCmsSite.faviconMetaTags} />\n    <h1>{data.datoCmsAboutPage.title}</h1>\n    <p>{data.datoCmsAboutPage.subtitle}</p>\n  </article>\n)\n\nexport default TemplateWrapper\n\nexport const query = graphql`\n  query LayoutQuery {\n    datoCmsSite {\n      faviconMetaTags {\n        ...GatsbyDatoCmsFaviconMetaTags\n      }\n    }\n  }\n```\n\n### Tree-like collections\n\nIf you have a model configured as a tree, you can navigate the hierarchy with\n`treeChildren` and `treeParent` this way:\n\n```graphql\n{\n  allDatoCmsCategory(filter: { root: { eq: true } }) {\n    edges {\n      node {\n        title\n        treeChildren {\n          title\n          treeChildren {\n            title\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Single instance models\n\nYou can access to single instance models like this:\n\n```graphql\n{\n  datoCmsHomepage {\n    title\n    content\n  }\n}\n```\n\n### Localized fields\n\nIf your site is multi-lingual, records will be duplicated for every locale\navailable, so you can query them like this. The same applies for the `DatoCmsSite`\nnode:\n\n\n```graphql\n{\n  allDatoCmsBlogPost(filter: { locale: { eq: \"it\" } }) {\n    edges {\n      node {\n        title\n        excerpt\n      }\n    }\n  }\n\n  datoCmsHomepage(locale: { eq: \"it\" }) {\n    title\n    content\n  }\n}\n```\n\nIf you need to get every locale for a specific field, you can use the `_all<FIELD>Locales` query:\n\n```graphql\n{\n  allDatoCmsBlogPost(filter: { locale: { eq: \"en\" } }) {\n    edges {\n      node {\n        _allTitleLocales {\n          locale\n          value\n        }\n        _allExcerptLocales {\n          locale\n          value\n        }\n      }\n    }\n  }\n}\n```\n\n## Integration with `gatsby-image`\n\nImages coming from DatoCMS can be queried so that they can be used with [gatsby-image](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-image), a React component specially designed to work seamlessly with Gatsby's GraphQL queries that implements advanced image loading techniques to easily and completely optimize image loading for your sites.\n\n**NOTE:** [gatsby-plugin-sharp](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-sharp) needs to be listed as a dependancy for the `_tracedSVG` fragments to function.\n\n### Responsive fluid\n\nThis GraphQL option allows you to generate responsive images that automatically respond to different device screen resolution and widths. E.g. a smartphone browser will download a much smaller image than a desktop device.\n\nInstead of specifying a width and height, with `fluid` you specify a `maxWidth`, the max width the container of the images reaches.\n\n```jsx\nimport React from 'react'\nimport Img from 'gatsby-image'\n\nconst About = ({ data }) => (\n  <article>\n    <Img fluid={data.datoCmsAboutPage.photo.fluid} />\n  </article>\n)\n\nexport default About\n\nexport const query = graphql`\n  query AboutQuery {\n    datoCmsAboutPage {\n      photo {\n        fluid(maxWidth: 600, imgixParams: { fm: \"jpg\", auto: \"compress\" }) {\n          ...GatsbyDatoCmsFluid\n        }\n      }\n    }\n  }\n`\n```\n\nThe fragments you can use are:\n\n- `GatsbyDatoCmsFluid`: \"blur-up\" technique to show a preview of the image while it loads;\n- `GatsbyDatoCmsFluid_tracedSVG`: \"traced placeholder\" SVG technique to show a preview of the image while it loads;\n- `GatsbyDatoCmsFluid_noBase64`: no preview effects.\n\n`gatsby-image` will automatically use WebP images when the browser supports the file format. If the browser doesn’t support WebP, `gatsby-image` will fall back to the default image format.\n\n### Responsive fixed\n\nIf you make queries with resolutions then Gatsby automatically generates images with 1x, 1.5x, 2x, and 3x versions so your images look great on whatever screen resolution of device they're on. If you're on a retina class screen, notice how much sharper these images are.\n\n```jsx\nimport React from 'react'\nimport Img from 'gatsby-image'\n\nconst About = ({ data }) => (\n  <article>\n    <Img fixed={data.datoCmsAboutPage.photo.fixed} />\n  </article>\n)\n\nexport default About\n\nexport const query = graphql`\n  query AboutQuery {\n    datoCmsAboutPage {\n      photo {\n        fixed(width: 200, imgixParams: { fm: \"jpg\", auto: \"compress\" }) {\n          ...GatsbyDatoCmsFixed\n        }\n      }\n    }\n  }\n`\n```\n\nThe fragments you can use are:\n\n- `GatsbyDatoCmsFixed`: \"blur-up\" technique to show a preview of the image while it loads;\n- `GatsbyDatoCmsFixed_tracedSVG`: \"traced placeholder\" SVG technique to show a preview of the image while it loads;\n- `GatsbyDatoCmsFixed_noBase64`: no preview effects.\n\n`gatsby-image` will automatically use WebP images when the browser supports the file format. If the browser doesn’t support WebP, `gatsby-image` will fall back to the default image format.\n","readmeFilename":"README.md"}