webflow-json-dump
v2.2.0
Published
Simple script that dumps all items in a Webflow CMS Collection to JSON. Useful for creating a file-system based cache of your CMS or other hackery.
Downloads
6
Maintainers
Readme
Webflow JSON dump
Why?
Because (choose one or more)
- Webflow doesn't have a public GraphQL API yet, and
- Webflow's REST API is very chatty, requiring many round trips
- You want to cache some infrequently changing content used someplace
- You need a quick & simple way to cache or backup content
- You cringe at the idea of parsing CSV files
How
# Install it globally, if you like)
npm install -g webflow-json-dump
webflow-json-dump Posts --api-key [your API key] --site-id [your site ID]
# or use env variables to make it easier
export WEBFLOW_API_TOKEN="[your Webflow API token]"
export WEBFLOW_SITE_ID="[your Webflow site ID]"
webflow-json-dump Posts
You can redirect stdout to a file to create an instantly, usable JSON cache version:
webflow-json-dump Posts > posts.json
CLI Usage
Basic usage:
# this will show you how:
webflow-json-dump Posts
Change some of the output property names:
# this would move the "alt" property of each image
# to the "altText" property
webflow-json-dump Posts --map.image.alt image.altText
This is useful for sometimes when webflow creates annoying names like "summary_2" due to merge conflict.
API & Programmatic Usage
const webflowJsonDump = require('webflow-json-dump');
(async () => {
// bootstrap the lib
const { getCollectionByName, getItemsForCollectionById, getPopulatedItems } = webflowJsonDump({
apiKey: '[your api key]',
siteId: '[your site ID]'
});
// use it
const collection = await getCollectionByName('Posts');
const items = await getItemsForCollectionById(collection._id);
const populatedItems = await getPopulatedItems(items, collection._id);
})();