mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-04 20:05:50 +00:00
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.
86 lines
2.4 KiB
JavaScript
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 };
|