forked from adobecom/bulk-updater
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
64 lines (53 loc) · 2.12 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
* Copyright 2022 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
import { writeFile } from 'fs/promises';
import { fetch } from '@adobe/fetch';
import { mdast2docx } from '@adobe/helix-md2docx';
import parseMarkdown from '@adobe/helix-html-pipeline/src/steps/parse-markdown.js';
const entries = [
'https://main--bacom--adobecom.hlx.page/drafts/cmillar/ben-and-jerrys-case-study',
];
const textToChange = '';
const textToChangeTo = '';
async function main() {
console.log('Fetching entries and saving locally');
for (const entry of entries) {
const response = await fetch(`${entry}.md`);
const content = await response.text();
const state = { content: { data: content }, log: '' };
await parseMarkdown(state);
const { mdast } = state.content;
mdast.children.forEach((child) => {
if (child.type === 'gridTable') {
child.children[0].children.forEach((gridChild) => {
gridChild.children.forEach((gtCell, idx) => {
if (gtCell.children[0]) {
console.log(gtCell.children[0].children);
if (gtCell.children[0].children[0].value === 'Tags') {
console.log('TAG VALUES');
console.log(gridChild.children[idx + 1].children[0].children[0].value);
}
} else {
console.log(gtCell);
}
});
});
}
});
const fileName = `${entry.split('/').pop()}.docx`;
const buffer = await mdast2docx(mdast);
await writeFile(fileName, buffer);
console.log(`Saved ${fileName}`);
}
process.exit(0);
}
await main();