Skip to content

Commit

Permalink
Merge d8cf1a4 into e283802
Browse files Browse the repository at this point in the history
  • Loading branch information
ajayns committed Jun 29, 2018
2 parents e283802 + d8cf1a4 commit c21793a
Showing 1 changed file with 30 additions and 6 deletions.
36 changes: 30 additions & 6 deletions src/gatsby-node.js
Expand Up @@ -109,11 +109,10 @@ const processData = (data, baseUrl) => {
};

// Handle file nodes
// Currently only handles images, all other types TODO
const processFileNodes = async (nodes, store, cache, createNode) => {
const updatedNodes = await Promise.all(
nodes.map(async node => {
let fileNode;
let imageNode, fileNode;

// Wrapper function for createNode
// Adds 'png' extension to node so that gatsby-tranform-sharp recognizes it
Expand All @@ -122,21 +121,46 @@ const processFileNodes = async (nodes, store, cache, createNode) => {
createNode({ ...fileNode, ...node.image, extension: 'png' }, source);
};

if (['PloneNewsItem', 'PloneImage'].indexOf(node.internal.type) > -1) {
const createFileNode = (fileNode, source) => {
createNode({ ...fileNode, ...node.file }, source);
};

if (node.image) {
try {
fileNode = await createRemoteFileNode({
imageNode = await createRemoteFileNode({
url: node.image.download,
store,
cache,
createNode: createImageNode,
});
} catch (e) {
console.error('Error creating image file nodes: ', e);
}
}

if (node.file) {
try {
fileNode = await createRemoteFileNode({
url: node.file.download,
store,
cache,
createNode: createFileNode,
});
} catch (e) {
console.error('Error creating file nodes: ', e);
}
}

if (fileNode) {
return { ...node, image___NODE: fileNode.id };
if (imageNode && fileNode) {
return {
...node,
image___NODE: imageNode.id,
file___NODE: fileNode.id,
};
} else if (imageNode) {
return { ...node, image___NODE: imageNode.id };
} else if (fileNode) {
return { ...node, file___NODE: fileNode.id };
} else {
return node;
}
Expand Down

0 comments on commit c21793a

Please sign in to comment.