parent
ed8bf11150
commit
18e4804a51
2 changed files with 46 additions and 1 deletions
@ -0,0 +1,44 @@ |
||||
const fs = require('fs'); |
||||
const path = require('path'); |
||||
|
||||
const roadmapId = process.argv[2]; |
||||
if (!roadmapId) { |
||||
console.error('Error: roadmapId is required'); |
||||
} |
||||
|
||||
const fullPath = path.join(__dirname, `../src/roadmaps/${roadmapId}`); |
||||
if (!fs.existsSync(fullPath)) { |
||||
console.error(`Error: path not found: ${fullPath}!`); |
||||
process.exit(1); |
||||
} |
||||
|
||||
function readFiles(folderPath) { |
||||
const stats = fs.lstatSync(folderPath); |
||||
|
||||
if (stats.isFile()) { |
||||
return [folderPath]; |
||||
} |
||||
|
||||
const folderContent = fs.readdirSync(folderPath); |
||||
let files = []; |
||||
|
||||
for (const file of folderContent) { |
||||
const filePath = path.join(folderPath, file); |
||||
|
||||
files = [...files, ...readFiles(filePath)]; |
||||
} |
||||
|
||||
return files; |
||||
} |
||||
|
||||
const files = readFiles(fullPath); |
||||
let allLinks = []; |
||||
|
||||
files.forEach((file) => { |
||||
const fileContent = fs.readFileSync(file, 'utf-8'); |
||||
const matches = [...fileContent.matchAll(/\[[^\]]+]\((https?:\/\/[^)]+)\)/g)]; |
||||
|
||||
allLinks = [...allLinks, ...matches.map((match) => match[1])]; |
||||
}); |
||||
|
||||
allLinks.map((link) => console.log(link)); |
Loading…
Reference in new issue