From a383252691d0454ed2422a4cb29ee97423b858e1 Mon Sep 17 00:00:00 2001 From: Felix Delval Date: Wed, 22 Nov 2023 14:11:55 +0100 Subject: [PATCH] Blog import --- tools/importer/import.js | 15 +-------------- tools/importer/transformers/blogArticle.js | 19 +++++++++++++++++++ tools/importer/transformers/cleanBlog.js | 13 +++++++++++++ tools/importer/transformers/index.js | 4 ++++ 4 files changed, 37 insertions(+), 14 deletions(-) create mode 100644 tools/importer/transformers/blogArticle.js create mode 100644 tools/importer/transformers/cleanBlog.js diff --git a/tools/importer/import.js b/tools/importer/import.js index 64935b22..c2382d15 100644 --- a/tools/importer/import.js +++ b/tools/importer/import.js @@ -13,6 +13,7 @@ /* eslint-disable class-methods-use-this */ // helix-importer-ui <-> node compatibility: + import { xfTransformers, xfAsyncTransformers, transformers, postTransformers, } from './transformers/index.js'; @@ -69,20 +70,6 @@ export default { (fn) => fn.call(this, main, document, params, url), ); - - // Try to remove dts and dds that are not needed - const dts = document.querySelectorAll('dt'); - const dds = document.querySelectorAll('dd'); - if ( dts ) { - for( let i = 0; i < dts.length; i += 1) { - if( dts[i].textContent === 'Image' || dts[i].textContent === 'Title' || dts[i].textContent === 'Author Bio' || dts[i].textContent === 'Tag' ) - { - dts[i].remove(); - dds[i].remove(); - } - } - } - return main; }, diff --git a/tools/importer/transformers/blogArticle.js b/tools/importer/transformers/blogArticle.js new file mode 100644 index 00000000..7a9f88bf --- /dev/null +++ b/tools/importer/transformers/blogArticle.js @@ -0,0 +1,19 @@ +function createBlogArticle(main, document) { + // Try to remove dts and dds that are not needed + const dts = document.querySelectorAll('dt'); + const dds = document.querySelectorAll('dd'); + if ( dts ) { + for( let i = 0; i < dts.length; i += 1) { + if( dts[i].textContent === 'Text') + { + const div = document.createElement('div'); + div.innerHTML = dds[i].innerHTML; + dts[i].closest('article').appendChild(div); + dts[i].remove(); + dds[i].remove(); + } + } + } +} + +export default createBlogArticle; diff --git a/tools/importer/transformers/cleanBlog.js b/tools/importer/transformers/cleanBlog.js new file mode 100644 index 00000000..7242ee1b --- /dev/null +++ b/tools/importer/transformers/cleanBlog.js @@ -0,0 +1,13 @@ +function cleanBlog(main, document) { + // Try to remove dts and dds that are not needed + const dts = document.querySelectorAll('dt'); + const dds = document.querySelectorAll('dd'); + if (dts) { + for (let i = 0; i < dts.length; i += 1) { + dts[i].remove(); + dds[i].remove(); + } + } +} + +export default cleanBlog; diff --git a/tools/importer/transformers/index.js b/tools/importer/transformers/index.js index ea8741ae..89883ccf 100644 --- a/tools/importer/transformers/index.js +++ b/tools/importer/transformers/index.js @@ -8,11 +8,14 @@ import createHero from './hero.js'; import createMetadata from './metadata.js'; import createBold from './bold.js'; import blogBanner from './blogBanner.js'; +import createBlogArticle from './blogArticle.js'; +import cleanBlog from './cleanBlog.js'; export const transformers = [ createBold, createFullLayoutSection, blogBanner, + createBlogArticle, // createHero, createHomepage, createCards, @@ -33,4 +36,5 @@ export const preTransformers = [ export const postTransformers = [ createMetadata, + cleanBlog ];