{"_id":"gatsby-theme-landing-page","_rev":"30-84ac5b9a4747564a7f79df7ed17000a0","name":"gatsby-theme-landing-page","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"gatsby-theme-landing-page","version":"1.0.0","keywords":["gatsby"],"author":{"name":"Kyle Gill","email":"kyle.robert.gill@gmail.com"},"license":"MIT","_id":"gatsby-theme-landing-page@1.0.0","maintainers":[{"name":"gillkyle","email":"kylerobertgill+npm@gmail.com"}],"homepage":"https://github.com/gatsbyjs/gatsby-starter-default#readme","bugs":{"url":"https://github.com/gatsbyjs/gatsby/issues"},"dist":{"shasum":"c6f2c3d74827d18d4f26dffe9522375e2c8d3d16","tarball":"https://registry.npmjs.org/gatsby-theme-landing-page/-/gatsby-theme-landing-page-1.0.0.tgz","fileCount":39,"integrity":"sha512-431VmsoREmsjIS74eu2rOZ1ydzx2Hh44WItzIER+e8VgKiZ4eUd96+CsRXDS4IvwQt7+IJgoOL7r1g06zlGSWw==","signatures":[{"sig":"MEQCIB3+yjHa1Y9FFpSjAbamPT7VvMBddVupsDcd8KvvPodbAiA3G4LEcmSO7RmtmLDh9SuAnDdBPzva9SRKr/6+K6Hyjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":154163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdITcTCRA9TVsSAnZWagAA9gsP/iriSyLQAljSZEqhP/GW\nmMFQO5hE1/iJqU11NDgbZi0+tG+HMDlW8J6qW7nM0OpSq8WjTj4rCIcAi0qr\nREh+wsTOM6dhPvvxfZyyqU7o/bA4Tgcg+kOieJjevX/8LaRU5khLIZMqYZQk\na0gaKSvWrbHS1nwFk6fg9FAAKR/S0CknmXWvGXJ2pDdeQDQbB6zGBbBxGti0\nKwOVJKnK+xnadkU6KnclRUSYYwe+892C5fBPlrwKPcckvR2UAstvQ7DoiIMY\noTky/DLLwyJ7ZsKna77/N28fa3fBlODnxnztlzvOFbrLs3Y7zVlM/NfmAycI\njeT5x+3DUwhfdEO27m9PIIukb888I8fXdzATlL+++tg/SEXeqM8L/UnQwJIX\nhPlPbsNyuc78Bp84kj3RXKlk7xj09FGjFHw0IzOicR3PP1p9nM6kUCFpTHdD\nqJ8Ksyku67fSGUVXMOYWH2lPUAATqxKOC4v3OG89WBElEC/gDfAWQCe3h9+S\nDqzwFgdnQK4y+z23l/xU/a8xLePw8Mu2KA7AQfZnMrUFwYmGZvKpyW6ZHx+K\nENQ01JUBETsuya7YlQGfX++b5tchmr2d2S9npdh0h6icOf7LCKdgjofyF3/H\nV7mQdDOVFJO/ofxU4kLV+G7mXMslmXC4KUXlU7Swu/Fc11vxsZpJcGuRS2Lv\niEC0\r\n=ezAx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Write tests! -> https://gatsby.dev/unit-testing\"","build":"gatsby build","serve":"gatsby serve","start":"npm run develop","format":"prettier --write src/**/*.{js,jsx}","develop":"gatsby develop"},"_npmUser":{"name":"gillkyle","email":"kylerobertgill+npm@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/gatsby-starter-default.git","type":"git"},"_npmVersion":"6.9.0","description":"A simple theme to create a minimal landing page with Gatsby","directories":{},"_nodeVersion":"11.14.0","dependencies":{"react":"^16.8.4","sharp":"^0.22.0","gatsby":"^2.1.37","theme-ui":"^0.2.6","react-dom":"^16.8.4","prop-types":"^15.7.2","gatsby-image":"^2.0.34","react-helmet":"^5.2.0","@emotion/core":"^10.0.14","@mdx-js/react":"^1.0.21","@emotion/styled":"^10.0.14","gatsby-plugin-sharp":"^2.0.29","gatsby-plugin-sitemap":"^2.0.10","gatsby-plugin-theme-ui":"^0.2.6","gatsby-transformer-yaml":"^2.2.0","gatsby-source-filesystem":"^2.0.27","gatsby-transformer-sharp":"^2.1.17","gatsby-plugin-page-creator":"^2.1.2","gatsby-plugin-react-helmet":"^3.0.10","gatsby-plugin-google-analytics":"^2.0.17"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^1.16.4"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-landing-page_1.0.0_1562457875323_0.22563264425264506","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"gatsby-theme-landing-page","version":"0.0.1","keywords":["gatsby"],"author":{"name":"Kyle Gill","email":"kyle.robert.gill@gmail.com"},"license":"MIT","_id":"gatsby-theme-landing-page@0.0.1","maintainers":[{"name":"gillkyle","email":"kylerobertgill+npm@gmail.com"}],"homepage":"https://github.com/gatsbyjs/gatsby-starter-default#readme","bugs":{"url":"https://github.com/gatsbyjs/gatsby/issues"},"dist":{"shasum":"60605fcd72602fd552e2cde06e0850b27f6e76b0","tarball":"https://registry.npmjs.org/gatsby-theme-landing-page/-/gatsby-theme-landing-page-0.0.1.tgz","fileCount":39,"integrity":"sha512-hxCUfyuuQ/XLFFJl0BbePe9dVMAeqOgdupPt/PIWwGvn0GPDcdw0ORIkOQvPo+zsGD5i4nivTAQ3TKCQhvdCdg==","signatures":[{"sig":"MEYCIQC0bqFdRWa283OIfV2yyaPtqtYPZsv/G0Br5THPbDlGdQIhAM5mOv35thEqVh6U7wNmNSZFLWklqcuWrT136zGMc+md","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":155651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdIVJxCRA9TVsSAnZWagAANiMP/0UnzASROLmPK+n3OAP9\ndEPKF+hYYRz5WDeM2elKsY567rgOri82mJ7gyAiESs3KSVZdoW7qcgWY++Q4\nqUKc/sI+pwxO/3TQw06Nlo7zxauwLW+REmDw0slMRYV6yEMk7RCJwHp873qi\n6mTlNwA0Oo34tSjGZbM0kDo0/3UQs+IXLYZ2oWZsRM6rSksC6tFTb9UYnw2b\naN22YbkWZIUlG+kY+t0+rGy/f+Ydtd2pZbpog6sTYgSlYfAXOQXj8zhpCiRR\nUF+PT0hZzHm1wq+wlGtkFQzF5WYYxlEUIVR33OyI8v7evnZgWsYXuM3RQQiQ\nSdt/4hH1VfuvsI7PYaIDGvaREYiD1U9GWcupXgQxtxtMk3GtJitokA3CYHb6\nMK3h7eFlYHhM/olHEbSEONdpvIMkGmhlEJsUW+/MS+4580fbfA1h5X2QSNPm\nyBXIh4tJlyL6e+6eQOsZ6JuKSspH8kS9UxtW6bwhekH844u0ifI5qKzOKgj9\nQngk8CWydv5SKB26/SdyKq1PgX9QExeCEwJCwnyukpnsiV/RsIhZK8aWCaK0\nGNMhQbB1wy7tmykQkAIDQyJ7N26vEj4zomkLEiM/XqxA1BJij/p/PUXOri27\nce1oHcLEB5H+ZRmwAmAv8Zdrg9DaBMYWJZhBxCpxINFHCa/fhQadGQXDxbmF\nilDc\r\n=obW6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"echo \"Write tests! -> https://gatsby.dev/unit-testing\"","build":"gatsby build","serve":"gatsby serve","start":"npm run develop","format":"prettier --write src/**/*.{js,jsx}","develop":"gatsby develop"},"_npmUser":{"name":"gillkyle","email":"kylerobertgill+npm@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/gatsby-starter-default.git","type":"git"},"_npmVersion":"6.9.0","description":"A simple theme to create a minimal landing page with Gatsby","directories":{},"_nodeVersion":"11.14.0","dependencies":{"react":"^16.8.4","sharp":"^0.22.0","gatsby":"^2.1.37","theme-ui":"^0.2.6","react-dom":"^16.8.4","prop-types":"^15.7.2","gatsby-image":"^2.0.34","react-helmet":"^5.2.0","@emotion/core":"^10.0.14","@mdx-js/react":"^1.0.21","@emotion/styled":"^10.0.14","gatsby-plugin-sharp":"^2.0.29","gatsby-plugin-sitemap":"^2.0.10","gatsby-plugin-theme-ui":"^0.2.6","gatsby-transformer-yaml":"^2.2.0","gatsby-source-filesystem":"^2.0.27","gatsby-transformer-sharp":"^2.1.17","gatsby-plugin-page-creator":"^2.1.2","gatsby-plugin-react-helmet":"^3.0.10","gatsby-plugin-google-analytics":"^2.0.17"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^1.16.4"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-landing-page_0.0.1_1562464880613_0.5347564672778873","host":"s3://npm-registry-packages"}},"1.0.0-0":{"name":"gatsby-theme-landing-page","version":"1.0.0-0","keywords":["gatsby","gatsby-plugin","gatsby-theme"],"license":"MIT","_id":"gatsby-theme-landing-page@1.0.0-0","maintainers":[{"name":"jxnblk","email":"jxnblk@gmail.com"},{"name":"gillkyle","email":"kylerobertgill+npm@gmail.com"}],"dist":{"shasum":"f02616128f7d95bf6b11731e360d92abda79d584","tarball":"https://registry.npmjs.org/gatsby-theme-landing-page/-/gatsby-theme-landing-page-1.0.0-0.tgz","fileCount":41,"integrity":"sha512-LiegrGmgt/3YyZsUhxAY87vFPDmjkBfLdcdLbHUaRg1ja5pZNMja7EamNxpqlmvXtparHkGxTNFLxcTTqphncg==","signatures":[{"sig":"MEUCIQCwz7OXwKmRfJLv1iPS2uk7VN5QGTOKRSBYRD+2wJyk3QIgO5it6uuK5SysnguTodF5/zFblaFvCsdzshJ3TR9lZ5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJht50jCRA9TVsSAnZWagAAvsIP/RyYukk8ELgvWjh7tqhJ\ncjbdjaGjlDd70Abbe6z6Ba8he8nbOJXiP4BGWb8kpnKsOgTGqT/JuDDA67Zg\nveLQgo935DVToxciX9Ol6xFGP7FBm2T5bATpcM9wvlxzmE0+rhJ9fWxjuSnC\nF9SZg9y9gUmoQprwLjFPS1oIQS+6ktDvXZ8c1VXBSkjNTVN8xGzWc5UPZA9j\nHG8FtzMZCQ23VVooHuwWnKn4Ur3qf7jsvU9c12sV+wo1OjPd3+PdE9BJHIZC\npPuPxJSAByJq0TyD3gZLfDmnhs2BNJrhlnSahRZy+8OtEYa0a6+xoWDnh0pF\nuNgZAuc1bHrWQnsgsxpIQ4wunuqoW9xNBlWk4LWFOX4czvCHHu5t4oNu8nya\nEJskQSJoexotPytZ2En72c4uFtRdtecAaRXaSKsi7Vn7qWVnLlIRiGTLmubG\nhxdJsVe6IPDvM2Hv54INIKJRg+MKkvqhkf2IWu4eoeZ0Lh7cjEccWXYzC3N1\n6BX7xb7TUKYNej46KYtU0cOwnXeC/k7ScoGeVt+3J9jfi3r7i9nHMbKdvo/A\nJQXaM0yltchAUQQ5K2uP5PapMlaNuaUzQ32gjuH1xFeMDFDXH9KDokNP2RCq\nRvnhyrtcZTd8a+AfOaE6DQ2XkMCE01cpiVc1UQm39vyj9T7Fi1IUo3tI1gN7\nCw8K\r\n=ddXw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{},"_npmUser":{"name":"jxnblk","email":"jxnblk@gmail.com"},"_npmVersion":"6.14.15","description":"A Contentful-backed dynamic landing page theme for Gatsby","directories":{},"_nodeVersion":"14.18.1","dependencies":{"react-helmet":"^6.1.0","sanitize-html":"^2.6.0","is-absolute-url":"^4.0.1","gatsby-plugin-image":"^2.3.0","gatsby-plugin-sharp":"^4.3.0","gatsby-source-contentful":"^7.0.0","gatsby-source-filesystem":"^4.3.0","gatsby-transformer-sharp":"^4.3.0","gatsby-transformer-remark":"^5.3.0","gatsby-plugin-react-helmet":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","gatsby":"^4.2.0","react-dom":"^17.0.2","sanitize-html":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-landing-page_1.0.0-0_1639423266814_0.6877753973094451","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"gatsby-theme-landing-page","version":"1.0.1","keywords":["gatsby","gatsby-plugin","gatsby-theme"],"license":"MIT","_id":"gatsby-theme-landing-page@1.0.1","maintainers":[{"name":"kgarbaya","email":"kgarbaya@gmail.com"},{"name":"marvinjudehk","email":"marvinjudehk@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"rachelbahl","email":"rachel@gatsbyjs.com"},{"name":"daniellewgatsby","email":"daniel.lew@gatsbyjs.com"},{"name":"veryspry","email":"ehlinger.matt@gmail.com"},{"name":"abhiaiyer","email":"abhiaiyer91+npm@gmail.com"},{"name":"jxnblk","email":"jxnblk@gmail.com"},{"name":"gillkyle","email":"kylerobertgill+npm@gmail.com"},{"name":"thinkybeast","email":"thinkybeast@gmail.com"}],"dist":{"shasum":"76f3f4afe971f4cc82fc9e308ae117a59eb96a8b","tarball":"https://registry.npmjs.org/gatsby-theme-landing-page/-/gatsby-theme-landing-page-1.0.1.tgz","fileCount":41,"integrity":"sha512-4c/7jurJzUC6R3O/98DYGmcT8jEH0XMkSpMYPyjo/WyksSiqDKSlx34S9KcKt/kRHuaCs9+tqwYjGk72zHnY6w==","signatures":[{"sig":"MEQCIH5uDq9wSx4Autckcvfospuvh8GMAVLBeGq3tbuxO/YOAiBN7Z90bYZXqQ6x31KLzpSwuhr9BfUz8CBZh74W13gY4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvQmFCRA9TVsSAnZWagAA+BgP/RzaGdIJ7sGwpHoPYT3m\nSu1mmNZ0kZPvGr4G0St6MKcA/hibJfSUYr6MnEPAywVURAAziQmIDaJU+xbS\nZEWASnMMscIggKAKQ9C6wK3EwM5sBxgf6fKoArtnZ1fOflej0rdU6qBP3gQi\nwcqUdxg+3qOsSUybacmL8Vk+xUqenLcgi+9fB5dBrmVMdH+ATA1F0yqFdzbu\nrlmyFgG65UitkLMuEZT69kM2Rla8IQeSkYR3EAGC+QBi9TuFwc6OURJE6OEv\nrhMC6sxdSxaZjQ4LImXF/cuxpeBZH/DRYmONkQL1py5fjnPCCK68nLDvu7VT\nQ4mwaTHSatdanMBs2rTKmBNrBQq/RpYIkgC16LAVAJ+cUw4sA9G82LPuIi4Y\n4OaS9h1YKTGscNrzh56n84KY0R4VoDkyykrgGNv9QOFhtUMngbTln15qFRac\nBRzmxhRByAWWZVDqjBQs5PqOd9gljmKH0Q2PO+SnHoKc6bB0ochyryJsk4o4\nvImFRD3cMtqgFDSMnAyBMuz3dWKS8R2iTyu3aJTZSvSzLeOTZ9uGqDnrbrtI\nHyd8C9L5AYpPaUnTDK5eZJqdgEyGDTCAElKr2O3YRvjriZb3hmikfZo4vyck\nJIr1vSveCSnFnULCIsbdjzQa9k2ApepJs4sJvign7JKgLOO0zRbbrIsnWTn6\ng2LV\r\n=lLcn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{},"_npmUser":{"name":"jxnblk","email":"jxnblk@gmail.com"},"_npmVersion":"6.14.15","description":"A Contentful-backed dynamic landing page theme for Gatsby","directories":{},"_nodeVersion":"14.18.1","dependencies":{"react-helmet":"^6.1.0","sanitize-html":"^2.6.0","is-absolute-url":"^4.0.1","gatsby-plugin-image":"^2.3.0","gatsby-plugin-sharp":"^4.3.0","gatsby-source-contentful":"^7.0.0","gatsby-source-filesystem":"^4.3.0","gatsby-transformer-sharp":"^4.3.0","gatsby-transformer-remark":"^5.3.0","gatsby-plugin-react-helmet":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","gatsby":"^4.2.0","react-dom":"^17.0.2","sanitize-html":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-landing-page_1.0.1_1639778693259_0.9415261825309402","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"gatsby-theme-landing-page","version":"1.0.2","keywords":["gatsby","gatsby-plugin","gatsby-theme"],"license":"MIT","_id":"gatsby-theme-landing-page@1.0.2","maintainers":[{"name":"kgarbaya","email":"kgarbaya@gmail.com"},{"name":"marvinjudehk","email":"marvinjudehk@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"rachelbahl","email":"rachel@gatsbyjs.com"},{"name":"daniellewgatsby","email":"daniel.lew@gatsbyjs.com"},{"name":"veryspry","email":"ehlinger.matt@gmail.com"},{"name":"abhiaiyer","email":"abhiaiyer91+npm@gmail.com"},{"name":"jxnblk","email":"jxnblk@gmail.com"},{"name":"gillkyle","email":"kylerobertgill+npm@gmail.com"},{"name":"thinkybeast","email":"thinkybeast@gmail.com"}],"dist":{"shasum":"5b9e04a97195681f5e4b626d8d751cf9b2bdc685","tarball":"https://registry.npmjs.org/gatsby-theme-landing-page/-/gatsby-theme-landing-page-1.0.2.tgz","fileCount":41,"integrity":"sha512-IUO/68/xhC3OhwdXywtFr1IFtZAHio3otTWEAaKKOV4NDQU4PX+5SlGqA0plDMnx/M/9rw8eQVedHkM9SUpVRg==","signatures":[{"sig":"MEYCIQDDlXEfn3G3fwigXe7gTuUUoXrCvVyw0a3GJLOK6BWIWgIhAIOry7ZZWteFqfxGAj7OGqoNbW3fKuRWzQgSIlFtDRor","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvQrTCRA9TVsSAnZWagAAztAP/314OvuczInKewX+YvAW\nJ632jPQb3nSUV6qnepl+0zaRbvnOou3nV5cAxev94c22Crp4PT71ApNkcSkd\nFGKe8YdBzskksUBJYhKm3c8Lm/7eCskzN6J0/fRFtw3Kh0AxJSW+oJCmLtb/\nDor3MV4IaL9fHAw9UQsN9Q3rQ0SXLzKPr2lpZ7ImVHQSikTx7x3md9G6P/O3\n9b56AHoNNhLPa9PIomqfWO5wR6OW6yn82JKe6HOO5WHu8lZiSpAqSvyt5oyL\nlUpVGHgVAsaS0F5iSTB4M/9cEPhpWf0ySNFk2hpmmFpWUPV3+8ZpPpi81da8\njPF+NBw5p2UOJrOI6RLVoRC6g0weiJng5gsrZH53viZjAyMa5qcxq10eJfWe\nzPVEYhKyYD5pJjqREe8knWlAEvebzryW9xeyVfkkFMOqufP8MaGIv2kr3/EZ\n53azRJCN1+PCZCqxM0RxG88Tz8iGadmAo+ETcxiBrrCCdigU0okA1mXGRdSz\nx9BeYc/u0pzwnnAINWTndJlHR0F7HQ0MzzN5MJajuHyQk4cJZqwRiUPL9zsu\nnkwj/4loTADUQalCGxdJ8Fzsv5VLAY5M+JcEbxIcrWCzde7xLGCd+OSE3Poq\noSRa4Zr8k4j2HyjgltSp6QIRjIfRXJQi26O+fqC7jX3UOEEQWuGT7vSKh24V\ny5Dv\r\n=Knjp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{},"_npmUser":{"name":"thinkybeast","email":"thinkybeast@gmail.com"},"_npmVersion":"6.14.14","description":"A Contentful-backed dynamic landing page theme for Gatsby","directories":{},"_nodeVersion":"14.17.5","dependencies":{"react-helmet":"^6.1.0","sanitize-html":"^2.6.0","is-absolute-url":"^4.0.1","gatsby-plugin-image":"^2.3.0","gatsby-plugin-sharp":"^4.3.0","gatsby-source-contentful":"^7.0.0","gatsby-source-filesystem":"^4.3.0","gatsby-transformer-sharp":"^4.3.0","gatsby-transformer-remark":"^5.3.0","gatsby-plugin-react-helmet":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","gatsby":"^4.2.0","react-dom":"^17.0.2","sanitize-html":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-landing-page_1.0.2_1639779027233_0.09925032380245313","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-07-07T00:04:35.323Z","modified":"2026-06-30T21:54:30.025Z","1.0.0":"2019-07-07T00:04:35.420Z","0.0.1":"2019-07-07T02:01:20.736Z","1.0.0-0":"2021-12-13T19:21:07.016Z","1.0.1":"2021-12-17T22:04:53.482Z","1.0.2":"2021-12-17T22:10:27.423Z"},"license":"MIT","keywords":["gatsby","gatsby-plugin","gatsby-theme"],"description":"A Contentful-backed dynamic landing page theme for Gatsby","maintainers":[{"email":"misiek.piechowiak@gmail.com","name":"pieh"},{"email":"philippe.serhal@netlify.com","name":"serhalp-netlify"},{"email":"mike.gualtieri@netlify.com","name":"mlgualtieri-gatsby"}],"readme":"<h1 align=\"center\">\n  Gatsby Theme Landing Page\n</h1>\n\nThe official Contentful-backed dynamic landing page theme for Gatsby sites\n\n## Getting Started\n\n1. **Install the theme in your Gatsby site.**\n\n   ```sh\n   npm install gatsby-theme-landing-page\n   ```\n\n2. **Add the theme to your `gatsby-config.js`.**\n\n   ```js\n   // gatsby-config.js\n   require(\"dotenv\").config();\n\n   const contentfulConfig = {\n     spaceId: process.env.CONTENTFUL_SPACE_ID,\n     accessToken: process.env.CONTENTFUL_DELIVERY_ACCESS_TOKEN,\n   };\n\n   // Use preview env vars in development\n   if (\n     process.env.NODE_ENV === \"development\" &&\n     !!process.env.CONTENTFUL_PREVIEW_ACCESS_TOKEN\n   ) {\n     contentfulConfig.accessToken = process.env.CONTENTFUL_PREVIEW_ACCESS_TOKEN;\n     contentfulConfig.host = process.env.CONTENTFUL_HOST;\n   }\n\n   module.exports = {\n     plugins: [\n       {\n         resolve: \"gatsby-theme-landing-page\",\n         options: contentfulConfig,\n       },\n     ],\n   };\n   ```\n\n3. **Create a `.env` file with your Contentful space ID and API keys.**\n\n   ```sh\n   # .env\n   CONTENTFUL_SPACE_ID=\"<SPACE_ID>\"\n   CONTENTFUL_DELIVERY_ACCESS_TOKEN=\"<ACCESS_TOKEN>\"\n   # Optional env vars for use with Contentful Preview API\n   CONTENTFUL_PREVIEW_ACCESS_TOKEN=\"<ACCESS_TOKEN>\"\n   CONTENTFUL_HOST=\"preview.contentful.com\"\n   ```\n\n4. **Import the content model to your Contentful space**\n\n   - Install the [Contentful CLI (installation instructions)](https://www.contentful.com/developers/docs/tutorials/cli/installation/)\n\n   - Download [the Landing Page content model JSON](https://github.com/gatsbyjs/gatsby-starter-landing-page/blob/import-script/.contentful/landing-page-model-and-content.json) to a local directory\n\n   - From that directory, run the following command:\n\n   ```sh\n   contentful space import --content-model-only --config landing-page-model-and-content.json\n   ```\n\n   Your Contentful space will now contain the content model used by the starter. You can begin creating landing pages in Contentful!\n\n## Content model\n\n![content model diagram](https://user-images.githubusercontent.com/1227297/145318779-4b2cca42-4ae9-407c-b8f6-db934628c51c.png)\n\nEach landing page is represented by a hierarchical content model:\n\n**Landing Page**: Represents a single page and its metadata. Landing pages contain a list of content **Sections**.\n\n**Section**: Represents a distinct section of the landing page, its layout and the content it contains. The layout of the section is determined by the **component** field. The components available as drop down options map to the components available in `src/gatsby-theme-landing-pages/src/sections` .\n\nEach section contains up to two headings, and at least one **Content** block*.*\n\n**Content**: which represents the content in a given section. Content blocks contain _primary text, secondary text, an image, and up to two links._ How these content fields are rendered depends on the type of Section (e.g. which component) they belong to.\n\n## Components\n\n### Section Components\n\nThere are 6 built-in section components available:\n\n- **Hero**: A two-column component with headings, an image, and CTA links. Intended to state the purpose of the landing page.\n- **Copy**: Long form text with blockquotes and full-column images, best for articles and instructions.\n- **CallToAction**: Centered text with CTA links\n- **Features**: large section with image and text side-by-side, often used to list features of a product offering\n- **Benefits**: Tiled cards, often used to list the benefits of a given offering.\n- **Testimonial** Centered text with separate sections for quote and author, often used for social proof.\n\nContent authors can choose any one of these components to render a content _Section_ when creating and editing landing pages.\n\n### Shared Components\n\nThese section components use several shared components internally for a consistent look and feel. These components are also exported for use when creating custom section components, custom layouts, or for general use.\n\n#### `MarkdownText` Component\n\n```jsx\n// example usage\nimport { MarkdownText } from \"gatsby-theme-landing-page\";\n\n<MarkdownText {...primaryText} />;\n```\n\nUse the `MarkdownText` component to sanitize and render rich text fields from Contentful.\n\n**Props:**\n\n- `childMarkdownRemark`: HTML returned from `gatsby-source-contentful`\n- `as`: renders this component as a different HTML element and removes block level elements from HTML\n- `className`: pass an additional HTML class attribute, which can be used for styling\n- All other props are passed directly to the root element\n\n#### `Head` Component\n\n```jsx\n// example usage\nimport { Head } from \"gatsby-theme-landing-page\";\n\n<Head>\n  <title>Example</title>\n</Head>;\n```\n\nThe `Head` component is a wrapper around [React Helmet][] to add page-level metadata to your pages in your site.\n\n[react helmet]: https://www.gatsbyjs.com/docs/add-page-metadata/\n\n**Props:**\n\n- `title`: sets the page title, as well as Open Graph metadata\n- `description`: sets the page description, as well as Open Graph metadata\n- `image`: sets the Open Graph image\n- `noIndex` (boolean): set this as `true` to prevent search engine indexing\n\n#### `Link` Component\n\n```jsx\n// example usage\nimport { Link } from \"gatsby-theme-landing-page\";\n\n<Link href=\"/\">Home</Link>;\n```\n\nThe `Link` component is a wrapper around [Gatsby Link][] with minimal styling.\n\n[gatsby link]: https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-link/\n\n**Props:**\n\n- `href`: URL for the link, which can handle absolute or relative links\n- `children` or `text`: text or React node to render as a link\n\n#### `Button` Component\n\n```jsx\n// example usage\nimport { Button } from \"gatsby-theme-landing-page\";\n\n<Button href=\"/sign-up\">Get Started</Button>;\n```\n\nThe `Button` component is similar to the `Link` component, but styled to look like a call-to-action button.\n\n**Props:**\n\n- `href`: URL for the link, which can handle absolute or relative links\n- `children` or `text`: text or React node to render as a link\n- `variant`: string for button style variant, either `primary` or `secondary`\n\n#### `Container` Component\n\n```jsx\n// example usage\nimport { Container } from \"gatsby-theme-landing-page\";\n\n<Container>Centered content</Container>;\n```\n\nThe `Container` component is used to set a max-width and center content on the page. It's used internally by the `Section` component that wraps all _Section_ components.\n\n**Props:**\n\n- `className`: pass an additional HTML class attribute, which can be used for styling\n- All other props are passed directly to the root element.\n\n#### `Section` Component\n\n```jsx\n// example usage\nimport { Section } from \"gatsby-theme-landing-page\";\n\n<Section>Hello</Section>;\n```\n\nThe `Section` component is used as the root element in all built-in section components, adding vertical padding and using the `Container` component to control max-width.\n\n**Props:**\n\n- `className`: pass an additional HTML class attribute, which can be used for styling\n- All other props are passed directly to the root element.\n\n#### `Heading` Component\n\n```jsx\nimport { Heading } from \"gatsby-theme-landing-page\";\n\n<Heading>Hello</Heading>;\n```\n\nThe `Heading` component is used to render styled heading elements.\n\n**Props:**\n\n- `as`: renders this component as a different HTML element\n- `secondary` (boolean): renders the heading with styles for subheadings\n- `center` (boolean): sets text-align center\n- `className`: pass an additional HTML class attribute, which can be used for styling\n- All other props are passed directly to the root element.\n\n## Customization\n\n### Typography, colors, and layout\n\nTo customize the built-in components' typography, colors, and layout, shadow the `variables.module.css` file by creating a file in your site with this path:\n\n```sh\nsrc/gatsby-theme-landing-page/styles/variables.module.css\n```\n\nThe components use [CSS Modules][] with CSS custom properties that can be customized.\n\n[css modules]: https://www.gatsbyjs.com/docs/how-to/styling/css-modules/\n\n```css\n/* example src/gatsby-theme-landing-page/styles/variables.module.css */\n.root {\n  /* typography */\n  --font: \"Inter\", sans-serif;\n  --font-heading: \"Poppins\", sans-serif;\n  --line-height: 1.5;\n  --font-size-1: 12px;\n  --font-size-2: 14px;\n  --font-size-3: 16px;\n  --font-size-4: 24px;\n  --font-size-5: 32px;\n  --font-size-6: 48px;\n  --letter-spacing-caps: 0.03em;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-bold: 700;\n  /* colors */\n  --text-color: black;\n  --text-color-secondary: #555;\n  --background-color: white;\n  --link-color: #07c;\n  --link-hover-color: #05a;\n  --primary-color: #08d;\n  --secondary-color: #70c;\n  --button-color: white;\n  --button-background-color: #07c;\n  --button-hover-color: #05a;\n  --button-secondary-color: #07c;\n  --button-secondary-background-color: white;\n  --button-secondary-hover-color: rgb(215, 232, 250);\n  /* layout */\n  --space-1: 4px;\n  --space-2: 8px;\n  --space-3: 16px;\n  --space-4: 32px;\n  --space-5: 64px;\n  --space-6: 128px;\n  --max-width: 1024px;\n  --max-width-narrow: 768px;\n  --border-radius: 4px;\n  /* shadows */\n  --box-shadow-raised: 0px 1px 2px rgba(46, 41, 51, 0.08), 0px 2px 4px rgba(71, 63, 79, 0.08);\n  --box-shadow-floating: 0px 2px 4px rgba(46, 41, 51, 0.08), 0px 4px 8px rgba(71, 63, 79, 0.16);\n}\n```\n\n**Note:** when shadowing files, you may need to clear cache by running `gatsby clean` and restart your Gatsby development server to see new shadow files.\n\nThese custom properties are scoped to the pages created by the theme and should not leak out to existing pages on your site.\nTo reuse the same CSS custom properties across your site, add a file similar to the one above to your site with a selector on an HTML element that will wrap the theme, such as your site's layout component.\n\nTo completely ignore the default CSS custom properties defined in the theme, add a blank CSS rule with the `.root` selector to your shadowed file.\n\n```css\n/* example src/gatsby-theme-landing-page/styles/variables.module.css */\n/* this will disable all built-in custom properties */\n.root {\n}\n```\n\n### Section components\n\nThere are 6 components available:\n\n- **Hero**: A two-column component with headings, an image, and CTA links. Intended to state the purpose of the landing page.\n- **Copy**: Long form text with blockquotes and full-column images, best for articles and instructions.\n- **CallToAction**: Centered text with CTA links\n- **Features**: large section with image and text side-by-side, often used to list features of a product offering\n- **Benefits**: Tiled cards, often used to list the benefits of a given offering.\n- **Testimonial** Centered text with separate sections for quote and author, often used for social proof.\n\nTo customize any of the built-in section components, add components to your site's `src/gatsby-theme-landing-page/sections` directory. For example, to create a custom Hero section component, create a file at the following path:\n\n```sh\nsrc/gatsby-theme-landing-page/sections/hero.js\n```\n\n```js\n// example src/gatsby-theme-landing-page/sections/hero.js\nimport * as React from \"react\";\nimport { Link } from \"gatsby\";\nimport { MarkdownText } from \"gatsby-theme-landing-page\";\n\nexport default function MyHero(props) {\n  return (\n    <section>\n      <h1>{props.heading}</h1>\n      <h2>{props.secondaryHeading}</h2>\n      {props.content.map((item) => (\n        <div key={item.id}>\n          <MarkdownText {...item.primaryText} />\n          <MarkdownText {...item.secondaryText} />\n          <div>\n            {item.links.map((link) => (\n              <Link key={link.id} to={link.href}>\n                {link.text}\n              </Link>\n            ))}\n          </div>\n        </div>\n      ))}\n    </section>\n  );\n}\n```\n\n### Adding new section components\n\nTo add new section components, you can shadow the main section component `index.js` file by creating a file at the following path:\n\n```sh\nsrc/gatsby-theme-landing/page/components/index.js\n```\n\n```js\n// example src/gatsby-theme-landing/page/components/index.js\nexport {\n  Hero,\n  Features,\n  Copy,\n  CallToAction,\n  Benefits,\n  Testimonials,\n  NewsletterForm, // example new section component\n} from \"../../components/custom-landing-page-components\";\n```\n\nWhen adding new custom components, be sure to update your Contentful space's content model to reflect these changes by ensuring the LandingPageSection's _Component_ filed validation includes all possible options.\n\n![contentful component validation](https://user-images.githubusercontent.com/1227297/145876531-b0658f9c-b6ed-428a-be99-1cd29029f0a6.png)\n\n### GraphQL page query\n\nEach page in the theme uses the following query for data. Use this as a reference for the props passed into each section component.\n\n```graphql\nquery ($id: String!) {\n  page: contentfulLandingPage(id: { eq: $id }) {\n    title\n    description\n    image {\n      gatsbyImageData(layout: CONSTRAINED)\n    }\n    sections {\n      id\n      component\n      heading\n      secondaryHeading\n      content {\n        id\n        primaryText {\n          childMarkdownRemark {\n            html\n          }\n        }\n        secondaryText {\n          childMarkdownRemark {\n            html\n          }\n        }\n        image {\n          gatsbyImageData(layout: CONSTRAINED)\n        }\n        links {\n          id\n          href\n          text\n        }\n      }\n    }\n  }\n}\n```\n\nYou can read more about querying data in the [Gatsby docs](https://www.gatsbyjs.com/docs/how-to/querying-data/page-query/).\n\n### Buttons, links, and other components\n\nTo custom any of the built-in components used within sections, including headings, links, and buttons, add components to your site's `src/gatsby-theme-landing-page/components` directory.\nFor example, to create a custom Button component, create a file at the following path:\n\n```sh\nsrc/gatsby-theme-landing-page/components/button.js\n```\n\n```js\n// example src/gatsby-theme-landing-page/components/button.js\nimport * as React from \"react\";\nimport { Link } from \"gatsby\";\n\nexport default function Button(props) {\n  return <Link to={props.href}>{props.text}</Link>;\n}\n```\n\n### Using other styling libraries\n\nIf you'd like to use another styling library instead of CSS Modules, shadow the components as shown above and ensure your site is configured to use whatever styling solution you choose.\nBe sure to shadow `src/gatsby-theme-landing-page/styles/variables.module.css` with a blank CSS rule as well to disable the top-level styles of the landing pages created by the theme.\n\n<!-- TODO add Emotion/etc. example -->\n<!-- TODO consider simpler way to disable default styles -->\n","readmeFilename":"README.md"}