Это должно быть легко, но я изо всех сил пытаюсь заставить это работать ..
Я использую gatsby-source-wordpress
для загрузки содержимого блога на мой сайт gatsby. Проблема в том, что HTML сущностей не декодируются, поэтому вместо символа '&' я вижу что-то вроде '& 8466;'.
Я хочу реализовать нормализованную функцию внутри моего gatsby-config.js
файла.
Я нашел в сети эту функцию, которая должна исправить проблему HTML сущностей:
const decodeHTML = ({input}) => {
let txt = document.createElement('textarea');
txt.innerHTML = input;
return txt.value;
}
Я пробовал импортировать ее в свой gatsby-config.js
из отдельного файла; Я также поместил функцию прямо в файл gatsby-config.js
. В идеале я бы хотел импортировать эту функцию из отдельного файла проекта, но это не главная проблема.
Чтобы эта функция работала, я встроил ее прямо в свой файл конфигурации:
{
resolve: `gatsby-source-wordpress`,
options: {
baseUrl: `peakwebsites.ca`,
protocol: `https`,
useACF: false,
verboseOutput: false,
hostingWPCOM: false,
normalizer: function decodeHTML({entities}) {
let txt = document.createElement('textarea');
txt.innerHTML = entities;
return txt.value;
}
}
},
Но я столкнулся с этой ошибкой:
success Downloading remote files - 7.158s - 205/205 28.64/s
ERROR #11321 PLUGIN
"gatsby-source-wordpress" threw an error while running the sourceNodes lifecycle:
Cannot read property 'forEach' of undefined
299 | createNode,
300 | createContentDigest
> 301 | }) => normalize.createNodesFromEntities({
| ^
302 | entities,
303 | createNode,
304 | createContentDigest
File: node_modules\gatsby-source-wordpress\gatsby-node.js:301:21
Я не очень хорошо знаком с внутренним устройством плагина исходного кода Wordpress, поэтому может быть какое-то свойство объекта, которое мне нужно проанализировать. Я действительно не уверен.
Есть ли у кого-нибудь решение для декодирования HTML сущностей с помощью нормализованной функции в gatsby-config?
Спасибо,