Files
xrpl-dev-portal/docs/filterCodeSamples.js
mDuo13 7645140477 Re-levelization: move non-docs content, rename content→docs
For better URLs, the content folder has been renamed 'docs' and all
other files have been moved up a level. Also, non-docs images have been
moved to the static folder at the top level where they belong.

Many relative paths had to be fixed to make this work.
2024-01-31 17:53:52 -08:00

86 lines
2.4 KiB
JavaScript

// const fs = require('fs');
// const path = require('path');
// const MarkdownIt = require('markdown-it');
// const { JSDOM } = require('jsdom');
// const csDir = 'content/_code-samples/';
// const skipDirs = ['node_modules', '.git', '__pycache__'];
// const wordsToCaps = ['xrp'];
// const markdown = new MarkdownIt();
// let net, tls;
// if (typeof window === 'undefined') {
// net = require('net');
// tls = require('tls');
// }
// const toTitleCase = (s) => {
// const words = s.split(/_|[^\w']/);
// return words
// .filter((word) => word)
// .map((word) => (wordsToCaps.includes(word) ? word.toUpperCase() : word.charAt(0).toUpperCase() + word.slice(1)))
// .join(' ')
// .replace("'S", "'s")
// .replace(" A ", " a ");
// };
// let langs = [];
// const sortfunc = (cs) => {
// if (cs.title.includes('Intro') || cs.title.includes('Quickstart')) {
// return ` ${cs.title}`;
// }
// return cs.title;
// };
// const allCodeSamples = () => {
// const cses = [];
// const walkDir = (dirPath) => {
// const filenames = fs.readdirSync(dirPath);
// for (const skip of skipDirs) {
// const index = filenames.indexOf(skip);
// if (index > -1) filenames.splice(index, 1);
// }
// filenames.forEach((file) => {
// const fullPath = path.join(dirPath, file);
// if (fs.statSync(fullPath).isDirectory()) {
// walkDir(fullPath);
// } else if (file === 'README.md') {
// const md = fs.readFileSync(fullPath, 'utf-8');
// const html = markdown.render(md);
// const dom = new JSDOM(html);
// const document = dom.window.document;
// const h = document.querySelector('h1, h2, h3');
// const p = document.querySelector('p');
// const cs = {
// path: dirPath,
// title: h ? h.textContent : toTitleCase(path.basename(dirPath)),
// description: p ? p.textContent : '',
// href: dirPath,
// // you can fill the 'langs' array as per your logic
// langs: [],
// };
// // Add unique names to list for sorting
// if (!langs.includes(cs.langs)) {
// langs.push(cs.langs);
// }
// cses.push(cs);
// }
// });
// };
// walkDir(csDir);
// return cses.sort((a, b) => sortfunc(a).localeCompare(sortfunc(b)));
// };
// export { allCodeSamples, langs as allLangs };