@mintlify/scraping 3.0.187 → 3.0.189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/README.md +0 -5
  2. package/bin/assert.d.ts +5 -0
  3. package/bin/assert.js +13 -0
  4. package/bin/assert.js.map +1 -0
  5. package/bin/cli.js +43 -72
  6. package/bin/cli.js.map +1 -1
  7. package/bin/components/Accordion.d.ts +5 -0
  8. package/bin/components/Accordion.js +54 -0
  9. package/bin/components/Accordion.js.map +1 -0
  10. package/bin/components/AccordionGroup.d.ts +5 -0
  11. package/bin/components/AccordionGroup.js +52 -0
  12. package/bin/components/AccordionGroup.js.map +1 -0
  13. package/bin/components/Callout.d.ts +5 -0
  14. package/bin/components/Callout.js +114 -0
  15. package/bin/components/Callout.js.map +1 -0
  16. package/bin/components/Card.d.ts +5 -0
  17. package/bin/components/Card.js +135 -0
  18. package/bin/components/Card.js.map +1 -0
  19. package/bin/components/CardGroup.d.ts +5 -0
  20. package/bin/components/CardGroup.js +52 -0
  21. package/bin/components/CardGroup.js.map +1 -0
  22. package/bin/components/CodeGroup.d.ts +5 -0
  23. package/bin/components/CodeGroup.js +166 -0
  24. package/bin/components/CodeGroup.js.map +1 -0
  25. package/bin/components/Frame.d.ts +5 -0
  26. package/bin/components/Frame.js +51 -0
  27. package/bin/components/Frame.js.map +1 -0
  28. package/bin/components/Tabs.d.ts +5 -0
  29. package/bin/components/Tabs.js +122 -0
  30. package/bin/components/Tabs.js.map +1 -0
  31. package/bin/components/link.d.ts +2 -0
  32. package/bin/components/link.js +16 -0
  33. package/bin/components/link.js.map +1 -0
  34. package/bin/constants.d.ts +6 -7
  35. package/bin/constants.js +31 -12
  36. package/bin/constants.js.map +1 -1
  37. package/bin/customComponents/create.d.ts +10 -0
  38. package/bin/customComponents/create.js +69 -0
  39. package/bin/customComponents/create.js.map +1 -0
  40. package/bin/customComponents/plugin.d.ts +2 -0
  41. package/bin/customComponents/plugin.js +26 -0
  42. package/bin/customComponents/plugin.js.map +1 -0
  43. package/bin/customComponents/selective.d.ts +6 -0
  44. package/bin/customComponents/selective.js +29 -0
  45. package/bin/customComponents/selective.js.map +1 -0
  46. package/bin/nav/iterate.d.ts +2 -0
  47. package/bin/nav/iterate.js +15 -0
  48. package/bin/nav/iterate.js.map +1 -0
  49. package/bin/nav/listItems.d.ts +8 -0
  50. package/bin/nav/listItems.js +62 -0
  51. package/bin/nav/listItems.js.map +1 -0
  52. package/bin/nav/retrieve.d.ts +3 -0
  53. package/bin/nav/retrieve.js +75 -0
  54. package/bin/nav/retrieve.js.map +1 -0
  55. package/bin/nav/root.d.ts +2 -0
  56. package/bin/nav/root.js +40 -0
  57. package/bin/nav/root.js.map +1 -0
  58. package/bin/openapi/generateOpenApiPages.js +2 -2
  59. package/bin/openapi/generateOpenApiPages.js.map +1 -1
  60. package/bin/root/retrieve.d.ts +2 -0
  61. package/bin/root/retrieve.js +46 -0
  62. package/bin/root/retrieve.js.map +1 -0
  63. package/bin/scrapingPipeline/group.d.ts +5 -0
  64. package/bin/scrapingPipeline/group.js +46 -0
  65. package/bin/scrapingPipeline/group.js.map +1 -0
  66. package/bin/scrapingPipeline/icon.d.ts +2 -0
  67. package/bin/scrapingPipeline/icon.js +22 -0
  68. package/bin/scrapingPipeline/icon.js.map +1 -0
  69. package/bin/scrapingPipeline/images.d.ts +3 -0
  70. package/bin/scrapingPipeline/images.js +50 -0
  71. package/bin/scrapingPipeline/images.js.map +1 -0
  72. package/bin/scrapingPipeline/logo.d.ts +5 -0
  73. package/bin/scrapingPipeline/logo.js +92 -0
  74. package/bin/scrapingPipeline/logo.js.map +1 -0
  75. package/bin/scrapingPipeline/page.d.ts +6 -0
  76. package/bin/scrapingPipeline/page.js +102 -0
  77. package/bin/scrapingPipeline/page.js.map +1 -0
  78. package/bin/scrapingPipeline/root.d.ts +2 -0
  79. package/bin/scrapingPipeline/root.js +8 -0
  80. package/bin/scrapingPipeline/root.js.map +1 -0
  81. package/bin/scrapingPipeline/site.d.ts +7 -0
  82. package/bin/scrapingPipeline/site.js +129 -0
  83. package/bin/scrapingPipeline/site.js.map +1 -0
  84. package/bin/scrapingPipeline/tabs.d.ts +3 -0
  85. package/bin/scrapingPipeline/tabs.js +67 -0
  86. package/bin/scrapingPipeline/tabs.js.map +1 -0
  87. package/bin/tabs/retrieveReadme.d.ts +3 -0
  88. package/bin/tabs/retrieveReadme.js +78 -0
  89. package/bin/tabs/retrieveReadme.js.map +1 -0
  90. package/bin/tsconfig.build.tsbuildinfo +1 -1
  91. package/bin/types/components.d.ts +2 -0
  92. package/bin/types/components.js +2 -0
  93. package/bin/types/components.js.map +1 -0
  94. package/bin/types/framework.d.ts +8 -0
  95. package/bin/types/framework.js +3 -0
  96. package/bin/types/framework.js.map +1 -0
  97. package/bin/types/hast.d.ts +6 -0
  98. package/bin/types/hast.js +2 -0
  99. package/bin/types/hast.js.map +1 -0
  100. package/bin/types/result.d.ts +7 -0
  101. package/bin/types/result.js +2 -0
  102. package/bin/types/result.js.map +1 -0
  103. package/bin/types/scrapeFunc.d.ts +3 -0
  104. package/bin/types/scrapeFunc.js +2 -0
  105. package/bin/types/scrapeFunc.js.map +1 -0
  106. package/bin/utils/append.d.ts +1 -0
  107. package/bin/utils/append.js +12 -0
  108. package/bin/utils/append.js.map +1 -0
  109. package/bin/utils/children.d.ts +5 -0
  110. package/bin/utils/children.js +35 -0
  111. package/bin/utils/children.js.map +1 -0
  112. package/bin/utils/className.d.ts +3 -0
  113. package/bin/utils/className.js +13 -0
  114. package/bin/utils/className.js.map +1 -0
  115. package/bin/utils/detectFramework.d.ts +4 -0
  116. package/bin/utils/detectFramework.js +60 -0
  117. package/bin/utils/detectFramework.js.map +1 -0
  118. package/bin/utils/emptyParagraphs.d.ts +3 -0
  119. package/bin/utils/emptyParagraphs.js +19 -0
  120. package/bin/utils/emptyParagraphs.js.map +1 -0
  121. package/bin/utils/errors.d.ts +3 -0
  122. package/bin/utils/errors.js +16 -0
  123. package/bin/utils/errors.js.map +1 -0
  124. package/bin/utils/escape.d.ts +2 -0
  125. package/bin/utils/escape.js +25 -0
  126. package/bin/utils/escape.js.map +1 -0
  127. package/bin/utils/extension.d.ts +3 -0
  128. package/bin/utils/extension.js +18 -0
  129. package/bin/utils/extension.js.map +1 -0
  130. package/bin/utils/file.d.ts +4 -0
  131. package/bin/utils/file.js +43 -0
  132. package/bin/utils/file.js.map +1 -0
  133. package/bin/utils/firstChild.d.ts +2 -0
  134. package/bin/utils/firstChild.js +12 -0
  135. package/bin/utils/firstChild.js.map +1 -0
  136. package/bin/utils/images.d.ts +5 -0
  137. package/bin/utils/images.js +86 -0
  138. package/bin/utils/images.js.map +1 -0
  139. package/bin/utils/img.d.ts +2 -0
  140. package/bin/utils/img.js +15 -0
  141. package/bin/utils/img.js.map +1 -0
  142. package/bin/utils/log.d.ts +18 -0
  143. package/bin/utils/log.js +68 -0
  144. package/bin/utils/log.js.map +1 -0
  145. package/bin/utils/nestedRoots.d.ts +7 -0
  146. package/bin/utils/nestedRoots.js +19 -0
  147. package/bin/utils/nestedRoots.js.map +1 -0
  148. package/bin/utils/network.d.ts +5 -0
  149. package/bin/utils/network.js +82 -0
  150. package/bin/utils/network.js.map +1 -0
  151. package/bin/utils/path.d.ts +1 -0
  152. package/bin/utils/path.js +22 -0
  153. package/bin/utils/path.js.map +1 -0
  154. package/bin/utils/position.d.ts +3 -0
  155. package/bin/utils/position.js +12 -0
  156. package/bin/utils/position.js.map +1 -0
  157. package/bin/utils/reservedNames.d.ts +4 -0
  158. package/bin/utils/reservedNames.js +27 -0
  159. package/bin/utils/reservedNames.js.map +1 -0
  160. package/bin/utils/strings.d.ts +2 -0
  161. package/bin/utils/strings.js +7 -0
  162. package/bin/utils/strings.js.map +1 -0
  163. package/bin/utils/text.d.ts +2 -0
  164. package/bin/utils/text.js +11 -0
  165. package/bin/utils/text.js.map +1 -0
  166. package/bin/utils/title.d.ts +10 -0
  167. package/bin/utils/title.js +58 -0
  168. package/bin/utils/title.js.map +1 -0
  169. package/bin/utils/url.d.ts +3 -0
  170. package/bin/utils/url.js +10 -0
  171. package/bin/utils/url.js.map +1 -0
  172. package/package.json +20 -11
  173. package/src/assert.ts +15 -0
  174. package/src/cli.ts +53 -90
  175. package/src/components/Accordion.ts +84 -0
  176. package/src/components/AccordionGroup.ts +69 -0
  177. package/src/components/Callout.ts +159 -0
  178. package/src/components/Card.ts +168 -0
  179. package/src/components/CardGroup.ts +69 -0
  180. package/src/components/CodeGroup.ts +209 -0
  181. package/src/components/Frame.ts +86 -0
  182. package/src/components/Tabs.ts +154 -0
  183. package/src/components/link.ts +17 -0
  184. package/src/constants.ts +37 -19
  185. package/src/customComponents/create.ts +106 -0
  186. package/src/customComponents/plugin.ts +31 -0
  187. package/src/customComponents/selective.ts +37 -0
  188. package/src/nav/iterate.ts +18 -0
  189. package/src/nav/listItems.ts +82 -0
  190. package/src/nav/retrieve.ts +88 -0
  191. package/src/nav/root.ts +47 -0
  192. package/src/openapi/generateOpenApiPages.ts +2 -2
  193. package/src/root/retrieve.ts +52 -0
  194. package/src/scrapingPipeline/group.ts +62 -0
  195. package/src/scrapingPipeline/icon.ts +26 -0
  196. package/src/scrapingPipeline/images.ts +67 -0
  197. package/src/scrapingPipeline/logo.ts +127 -0
  198. package/src/scrapingPipeline/page.ts +130 -0
  199. package/src/scrapingPipeline/root.ts +10 -0
  200. package/src/scrapingPipeline/site.ts +161 -0
  201. package/src/scrapingPipeline/tabs.ts +87 -0
  202. package/src/tabs/retrieveReadme.ts +99 -0
  203. package/src/types/components.ts +3 -0
  204. package/src/types/framework.ts +10 -0
  205. package/src/types/hast.ts +12 -0
  206. package/src/types/result.ts +1 -0
  207. package/src/types/scrapeFunc.ts +9 -0
  208. package/src/utils/append.ts +9 -0
  209. package/src/utils/children.ts +51 -0
  210. package/src/utils/className.ts +14 -0
  211. package/src/utils/detectFramework.ts +72 -0
  212. package/src/utils/emptyParagraphs.ts +21 -0
  213. package/src/utils/errors.ts +24 -0
  214. package/src/utils/escape.ts +30 -0
  215. package/src/utils/extension.ts +19 -0
  216. package/src/utils/file.ts +58 -0
  217. package/src/utils/firstChild.ts +13 -0
  218. package/src/utils/images.ts +101 -0
  219. package/src/utils/img.ts +17 -0
  220. package/src/utils/log.ts +82 -0
  221. package/src/utils/nestedRoots.ts +20 -0
  222. package/src/utils/network.ts +95 -0
  223. package/src/utils/path.ts +27 -0
  224. package/src/utils/position.ts +14 -0
  225. package/src/utils/reservedNames.ts +31 -0
  226. package/src/utils/strings.ts +7 -0
  227. package/src/utils/text.ts +11 -0
  228. package/src/utils/title.ts +68 -0
  229. package/src/utils/url.ts +8 -0
  230. package/bin/browser.d.ts +0 -2
  231. package/bin/browser.js +0 -24
  232. package/bin/browser.js.map +0 -1
  233. package/bin/checks.d.ts +0 -8
  234. package/bin/checks.js +0 -24
  235. package/bin/checks.js.map +0 -1
  236. package/bin/downloadImage.d.ts +0 -5
  237. package/bin/downloadImage.js +0 -88
  238. package/bin/downloadImage.js.map +0 -1
  239. package/bin/scraping/combineNavWithEmptyGroupTitles.d.ts +0 -2
  240. package/bin/scraping/combineNavWithEmptyGroupTitles.js +0 -20
  241. package/bin/scraping/combineNavWithEmptyGroupTitles.js.map +0 -1
  242. package/bin/scraping/detectFramework.d.ts +0 -9
  243. package/bin/scraping/detectFramework.js +0 -36
  244. package/bin/scraping/detectFramework.js.map +0 -1
  245. package/bin/scraping/downloadAllImages.d.ts +0 -4
  246. package/bin/scraping/downloadAllImages.js +0 -36
  247. package/bin/scraping/downloadAllImages.js.map +0 -1
  248. package/bin/scraping/downloadLogoImage.d.ts +0 -1
  249. package/bin/scraping/downloadLogoImage.js +0 -12
  250. package/bin/scraping/downloadLogoImage.js.map +0 -1
  251. package/bin/scraping/replaceImagePaths.d.ts +0 -1
  252. package/bin/scraping/replaceImagePaths.js +0 -14
  253. package/bin/scraping/replaceImagePaths.js.map +0 -1
  254. package/bin/scraping/scrapeFileGettingFileNameFromUrl.d.ts +0 -6
  255. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js +0 -46
  256. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js.map +0 -1
  257. package/bin/scraping/scrapeGettingFileNameFromUrl.d.ts +0 -6
  258. package/bin/scraping/scrapeGettingFileNameFromUrl.js +0 -13
  259. package/bin/scraping/scrapeGettingFileNameFromUrl.js.map +0 -1
  260. package/bin/scraping/scrapePage.d.ts +0 -8
  261. package/bin/scraping/scrapePage.js +0 -10
  262. package/bin/scraping/scrapePage.js.map +0 -1
  263. package/bin/scraping/scrapePageCommands.d.ts +0 -7
  264. package/bin/scraping/scrapePageCommands.js +0 -50
  265. package/bin/scraping/scrapePageCommands.js.map +0 -1
  266. package/bin/scraping/scrapeSection.d.ts +0 -3
  267. package/bin/scraping/scrapeSection.js +0 -12
  268. package/bin/scraping/scrapeSection.js.map +0 -1
  269. package/bin/scraping/scrapeSectionCommands.d.ts +0 -6
  270. package/bin/scraping/scrapeSectionCommands.js +0 -63
  271. package/bin/scraping/scrapeSectionCommands.js.map +0 -1
  272. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.d.ts +0 -5
  273. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.js +0 -29
  274. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.js.map +0 -1
  275. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.d.ts +0 -2
  276. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.js +0 -31
  277. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.js.map +0 -1
  278. package/bin/scraping/site-scrapers/alternateGroupTitle.d.ts +0 -3
  279. package/bin/scraping/site-scrapers/alternateGroupTitle.js +0 -9
  280. package/bin/scraping/site-scrapers/alternateGroupTitle.js.map +0 -1
  281. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.d.ts +0 -5
  282. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.js +0 -33
  283. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.js.map +0 -1
  284. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.d.ts +0 -3
  285. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.js +0 -35
  286. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.js.map +0 -1
  287. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.d.ts +0 -3
  288. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.js +0 -33
  289. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.js.map +0 -1
  290. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.d.ts +0 -2
  291. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.js +0 -30
  292. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.js.map +0 -1
  293. package/bin/scraping/site-scrapers/openNestedGitbookMenus.d.ts +0 -2
  294. package/bin/scraping/site-scrapers/openNestedGitbookMenus.js +0 -21
  295. package/bin/scraping/site-scrapers/openNestedGitbookMenus.js.map +0 -1
  296. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.d.ts +0 -5
  297. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.js +0 -53
  298. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.js.map +0 -1
  299. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.d.ts +0 -2
  300. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js +0 -32
  301. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js.map +0 -1
  302. package/bin/scraping/site-scrapers/scrapeGitBookPage.d.ts +0 -5
  303. package/bin/scraping/site-scrapers/scrapeGitBookPage.js +0 -56
  304. package/bin/scraping/site-scrapers/scrapeGitBookPage.js.map +0 -1
  305. package/bin/scraping/site-scrapers/scrapeGitBookSection.d.ts +0 -2
  306. package/bin/scraping/site-scrapers/scrapeGitBookSection.js +0 -42
  307. package/bin/scraping/site-scrapers/scrapeGitBookSection.js.map +0 -1
  308. package/bin/scraping/site-scrapers/scrapeReadMePage.d.ts +0 -5
  309. package/bin/scraping/site-scrapers/scrapeReadMePage.js +0 -38
  310. package/bin/scraping/site-scrapers/scrapeReadMePage.js.map +0 -1
  311. package/bin/scraping/site-scrapers/scrapeReadMeSection.d.ts +0 -2
  312. package/bin/scraping/site-scrapers/scrapeReadMeSection.js +0 -39
  313. package/bin/scraping/site-scrapers/scrapeReadMeSection.js.map +0 -1
  314. package/bin/util.d.ts +0 -29
  315. package/bin/util.js +0 -97
  316. package/bin/util.js.map +0 -1
  317. package/src/browser.ts +0 -24
  318. package/src/checks.ts +0 -32
  319. package/src/downloadImage.ts +0 -102
  320. package/src/scraping/combineNavWithEmptyGroupTitles.ts +0 -21
  321. package/src/scraping/detectFramework.ts +0 -55
  322. package/src/scraping/downloadAllImages.ts +0 -61
  323. package/src/scraping/downloadLogoImage.ts +0 -24
  324. package/src/scraping/replaceImagePaths.ts +0 -17
  325. package/src/scraping/scrapeFileGettingFileNameFromUrl.ts +0 -84
  326. package/src/scraping/scrapeGettingFileNameFromUrl.ts +0 -56
  327. package/src/scraping/scrapePage.ts +0 -40
  328. package/src/scraping/scrapePageCommands.ts +0 -68
  329. package/src/scraping/scrapeSection.ts +0 -30
  330. package/src/scraping/scrapeSectionCommands.ts +0 -98
  331. package/src/scraping/site-scrapers/Intercom/scrapeIntercomPage.ts +0 -52
  332. package/src/scraping/site-scrapers/Intercom/scrapeIntercomSection.ts +0 -54
  333. package/src/scraping/site-scrapers/alternateGroupTitle.ts +0 -11
  334. package/src/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.ts +0 -45
  335. package/src/scraping/site-scrapers/links-per-group/getLinksRecursively.ts +0 -47
  336. package/src/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.ts +0 -44
  337. package/src/scraping/site-scrapers/openNestedDocusaurusMenus.ts +0 -42
  338. package/src/scraping/site-scrapers/openNestedGitbookMenus.ts +0 -27
  339. package/src/scraping/site-scrapers/scrapeDocusaurusPage.ts +0 -85
  340. package/src/scraping/site-scrapers/scrapeDocusaurusSection.ts +0 -63
  341. package/src/scraping/site-scrapers/scrapeGitBookPage.ts +0 -82
  342. package/src/scraping/site-scrapers/scrapeGitBookSection.ts +0 -69
  343. package/src/scraping/site-scrapers/scrapeReadMePage.ts +0 -56
  344. package/src/scraping/site-scrapers/scrapeReadMeSection.ts +0 -66
  345. package/src/util.ts +0 -122
package/bin/browser.js DELETED
@@ -1,24 +0,0 @@
1
- import { launch } from 'puppeteer';
2
- export async function startBrowser() {
3
- try {
4
- return await launch({
5
- headless: true,
6
- ignoreHTTPSErrors: true,
7
- });
8
- }
9
- catch (err) {
10
- console.log('Could not create a browser instance: ', err);
11
- process.exit(1);
12
- }
13
- }
14
- export async function getHtmlWithPuppeteer(href) {
15
- const browser = await startBrowser();
16
- const page = await browser.newPage();
17
- await page.goto(href, {
18
- waitUntil: 'networkidle2',
19
- });
20
- const html = await page.content();
21
- void browser.close();
22
- return html;
23
- }
24
- //# sourceMappingURL=browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC;YAClB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY;IACrD,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACpB,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAClC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC"}
package/bin/checks.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { Framework } from './scraping/detectFramework.js';
2
- export declare function checkUrl({ url }: {
3
- url: string;
4
- }): boolean;
5
- export declare function checkVersion({ tool, docusaurusVersion, }: {
6
- tool: Framework | undefined;
7
- docusaurusVersion: string | undefined;
8
- }): boolean;
package/bin/checks.js DELETED
@@ -1,24 +0,0 @@
1
- // This checks the link is written correctly, not that the page exists.
2
- export function checkUrl({ url }) {
3
- try {
4
- new URL(url);
5
- }
6
- catch {
7
- throw Error(`Invalid link: ${url}\nMake sure the link starts with http:// or https://`);
8
- }
9
- return true;
10
- }
11
- export function checkVersion({ tool, docusaurusVersion, }) {
12
- if (tool === 'docusaurus') {
13
- if (docusaurusVersion === undefined) {
14
- throw Error('When using Docusaurus, you must specify the version (1,2,3) using the --docusaurusVersion flag');
15
- }
16
- }
17
- else {
18
- if (docusaurusVersion !== undefined) {
19
- throw Error('The --docusaurusVersion flag is only applicable when using Docusaurus.');
20
- }
21
- }
22
- return true;
23
- }
24
- //# sourceMappingURL=checks.js.map
package/bin/checks.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,MAAM,UAAU,QAAQ,CAAC,EAAE,GAAG,EAAmB;IAC/C,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,CAAC,iBAAiB,GAAG,sDAAsD,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,iBAAiB,GAIlB;IACC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,CACT,gGAAgG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare function isValidImageSrc(src: string): boolean;
2
- export declare function getLengthUntilMetadata(src: string, ext: string): string;
3
- export declare function removeMetadataFromImageSrc(src: string): string;
4
- export declare function cleanImageSrc(src: string, origin: string): string;
5
- export default function downloadImage(imageSrc: string, writePath: string, overwrite?: boolean): Promise<void>;
@@ -1,88 +0,0 @@
1
- import axios from 'axios';
2
- import { existsSync, mkdirSync, createWriteStream } from 'fs';
3
- import path from 'path';
4
- import { SUPPORTED_MEDIA_EXTENSIONS } from './constants.js';
5
- import { getFileExtension } from './util.js';
6
- async function writeImageToFile(imageSrc, writePath, overwrite) {
7
- // Avoid unnecessary downloads
8
- if (existsSync(writePath) && !overwrite) {
9
- return Promise.reject({
10
- code: 'EEXIST',
11
- });
12
- }
13
- // Create the folders needed if they're missing
14
- mkdirSync(path.dirname(writePath), { recursive: true });
15
- const writer = createWriteStream(writePath);
16
- try {
17
- const response = await axios.get(imageSrc, {
18
- responseType: 'stream',
19
- });
20
- // wx prevents overwriting an image with the exact same name
21
- // being created in the time we were downloading
22
- response.data.pipe(writer, {
23
- flag: 'wx',
24
- });
25
- return new Promise((resolve, reject) => {
26
- writer.on('finish', resolve);
27
- writer.on('error', reject);
28
- });
29
- }
30
- catch (e) {
31
- return Promise.reject({
32
- code: 'ENOTFOUND',
33
- });
34
- }
35
- }
36
- export function isValidImageSrc(src) {
37
- if (!src) {
38
- return false;
39
- }
40
- // We do not support downloading base64 in-line images.
41
- if (src.startsWith('data:')) {
42
- return false;
43
- }
44
- const imageHref = removeMetadataFromImageSrc(src);
45
- const ext = getFileExtension(imageHref);
46
- if (ext && !SUPPORTED_MEDIA_EXTENSIONS.includes(ext)) {
47
- console.error('🚨 We do not support the file extension: ' + ext);
48
- return false;
49
- }
50
- return true;
51
- }
52
- export function getLengthUntilMetadata(src, ext) {
53
- const lengthUntilMetadata = src.indexOf(`.${ext}`) + `.${ext}`.length;
54
- return src.slice(0, lengthUntilMetadata);
55
- }
56
- export function removeMetadataFromImageSrc(src) {
57
- // Some frameworks add metadata after the file extension, we need to remove that.
58
- if (src.includes('gitbook/image')) {
59
- for (const ext of SUPPORTED_MEDIA_EXTENSIONS) {
60
- if (src.includes(`.${ext}`)) {
61
- return getLengthUntilMetadata(src, ext);
62
- }
63
- }
64
- }
65
- return src.split('#')[0].split('?')[0];
66
- }
67
- export function cleanImageSrc(src, origin) {
68
- // Add origin if the image tags are using relative sources
69
- return src.startsWith('http') ? src : new URL(src, origin).href;
70
- }
71
- export default async function downloadImage(imageSrc, writePath, overwrite = false) {
72
- await writeImageToFile(imageSrc, writePath, overwrite)
73
- .then(() => {
74
- console.log('🖼️ - ' + writePath);
75
- })
76
- .catch((e) => {
77
- if (e.code === 'EEXIST') {
78
- console.log(`❌ Skipping existing image ${writePath}`);
79
- }
80
- else if (e.code === 'ENOTFOUND') {
81
- console.error(`🚨 Cannot download the image, address not found ${imageSrc}`);
82
- }
83
- else {
84
- console.error(e);
85
- }
86
- });
87
- }
88
- //# sourceMappingURL=downloadImage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"downloadImage.js","sourceRoot":"","sources":["../src/downloadImage.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Navigation } from '@mintlify/models';
2
- export default function combineNavWithEmptyGroupTitles(navArray: Navigation): Navigation;
@@ -1,20 +0,0 @@
1
- export default function combineNavWithEmptyGroupTitles(navArray) {
2
- const newNavArray = [];
3
- navArray.forEach((nav) => {
4
- // The first run through the loop will always have -1 as the index.
5
- // JavaScript returns undefined when we look for an index outside the size of the array.
6
- const prev = newNavArray[newNavArray.length - 1];
7
- if (prev == null) {
8
- newNavArray.push(nav);
9
- }
10
- else if (!nav.group && !prev.group) {
11
- // Joins multiple groups without a title together IF they occur side by side
12
- prev.pages = prev.pages.concat(nav.pages);
13
- }
14
- else {
15
- newNavArray.push(nav);
16
- }
17
- });
18
- return newNavArray;
19
- }
20
- //# sourceMappingURL=combineNavWithEmptyGroupTitles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineNavWithEmptyGroupTitles.js","sourceRoot":"","sources":["../../src/scraping/combineNavWithEmptyGroupTitles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,8BAA8B,CAAC,QAAoB;IACzE,MAAM,WAAW,GAAe,EAAE,CAAC;IAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAoB,EAAE,EAAE;QACxC,mEAAmE;QACnE,wFAAwF;QACxF,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,4EAA4E;YAC5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare const frameworks: readonly ["docusaurus", "gitbook", "readme", "intercom"];
2
- export type Framework = (typeof frameworks)[number];
3
- export type FrameworkHint = {
4
- framework: 'docusaurus';
5
- version: '1' | '2' | '3';
6
- } | {
7
- framework: 'gitbook' | 'readme' | 'intercom' | undefined;
8
- };
9
- export declare function detectFramework(html: string): FrameworkHint;
@@ -1,36 +0,0 @@
1
- import * as cheerio from 'cheerio';
2
- export const frameworks = ['docusaurus', 'gitbook', 'readme', 'intercom'];
3
- export function detectFramework(html) {
4
- const $ = cheerio.load(html);
5
- const docusaurusMeta = $('meta[name="generator"]');
6
- if (docusaurusMeta.length > 0 &&
7
- docusaurusMeta.attr('content') &&
8
- typeof docusaurusMeta.attr('content') === 'string' &&
9
- docusaurusMeta.attr('content').includes('Docusaurus')) {
10
- const metaAttrString = docusaurusMeta.attr('content');
11
- if (metaAttrString.includes('v3')) {
12
- return { framework: 'docusaurus', version: '3' };
13
- }
14
- if (metaAttrString.includes('v2')) {
15
- return { framework: 'docusaurus', version: '2' };
16
- }
17
- else if (metaAttrString.includes('v1')) {
18
- console.warn('WARNING: We detected Docusaurus version 1 but we only support scraping versions 2 and 3.');
19
- return { framework: 'docusaurus', version: '1' };
20
- }
21
- }
22
- const isGitBook = $('head link[rel="preconnect"][href="https://api.gitbook.com"]').length > 0;
23
- if (isGitBook) {
24
- return { framework: 'gitbook' };
25
- }
26
- const isReadMe = $('meta[name="readme-deploy"]').length > 0;
27
- if (isReadMe) {
28
- return { framework: 'readme' };
29
- }
30
- const isIntercom = $("meta[name='intercom:trackingEvent']").length > 0;
31
- if (isIntercom) {
32
- return { framework: 'intercom' };
33
- }
34
- return { framework: undefined };
35
- }
36
- //# sourceMappingURL=detectFramework.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detectFramework.js","sourceRoot":"","sources":["../../src/scraping/detectFramework.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAYnF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,cAAc,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEnD,IACE,cAAc,CAAC,MAAM,GAAG,CAAC;QACzB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9B,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ;QACjD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EACjE,CAAC;QACD,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAW,CAAC;QAChE,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;aAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,0FAA0F,CAC3F,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,CAAC,6DAA6D,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9F,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,CAAC,qCAAqC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Cheerio, CheerioAPI, Element } from 'cheerio';
2
- export default function downloadAllImages($: CheerioAPI, content: Cheerio<Element>, origin: string, baseDir: string, overwrite: boolean, modifyFileName?: (fileName: string) => string): Promise<{
3
- [x: string]: string;
4
- } | undefined>;
@@ -1,36 +0,0 @@
1
- import path from 'path';
2
- import downloadImage, { cleanImageSrc, isValidImageSrc, removeMetadataFromImageSrc, } from '../downloadImage.js';
3
- export default async function downloadAllImages($, content, origin, baseDir, overwrite, modifyFileName) {
4
- if (!baseDir) {
5
- console.debug('Skipping image downloading');
6
- return;
7
- }
8
- // We remove duplicates because some frameworks duplicate img tags
9
- // to show the image larger when clicked on.
10
- const imageSrcs = [
11
- ...new Set(content
12
- .find('img[src]')
13
- .map((_, image) => $(image).attr('src'))
14
- .toArray()),
15
- ];
16
- // Wait to all images to download before continuing
17
- const origToNewArray = await Promise.all(imageSrcs.map(async (imageSrc) => {
18
- if (!imageSrc || !isValidImageSrc(imageSrc)) {
19
- return {};
20
- }
21
- const imageHref = cleanImageSrc(imageSrc, origin);
22
- let imageBasename = imageHref;
23
- if (!imageHref.includes('gitbook/image')) {
24
- imageBasename = path.basename(imageHref);
25
- }
26
- let fileName = removeMetadataFromImageSrc(imageBasename) || '';
27
- if (modifyFileName) {
28
- fileName = modifyFileName(fileName) || '';
29
- }
30
- const writePath = path.join(baseDir, fileName);
31
- await downloadImage(imageHref, writePath, overwrite);
32
- return { [imageSrc]: writePath };
33
- }));
34
- return origToNewArray.reduce((result, current) => Object.assign(result, current), {});
35
- }
36
- //# sourceMappingURL=downloadAllImages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"downloadAllImages.js","sourceRoot":"","sources":["../../src/scraping/downloadAllImages.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,aAAa,EAAE,EACpB,aAAa,EACb,eAAe,EACf,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,CAAa,EACb,OAAyB,EACzB,MAAc,EACd,OAAe,EACf,SAAkB,EAClB,cAA6C;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,kEAAkE;IAClE,4CAA4C;IAC5C,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI,GAAG,CACR,OAAO;aACJ,IAAI,CAAC,UAAU,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACvC,OAAO,EAAE,CACb;KACF,CAAC;IAEF,mDAAmD;IACnD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC/B,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,aAAa,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,QAAQ,GAAG,0BAA0B,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAErD,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AACxF,CAAC"}
@@ -1 +0,0 @@
1
- export default function downloadLogoImage(imageSrc: string | undefined, imageBaseDir: string, origin: string, overwrite: boolean): Promise<void>;
@@ -1,12 +0,0 @@
1
- import path from 'path';
2
- import downloadImage, { cleanImageSrc, isValidImageSrc, removeMetadataFromImageSrc, } from '../downloadImage.js';
3
- import { getFileExtension } from '../util.js';
4
- export default async function downloadLogoImage(imageSrc, imageBaseDir, origin, overwrite) {
5
- if (!imageSrc || !isValidImageSrc(imageSrc))
6
- return;
7
- const imageHref = cleanImageSrc(imageSrc, origin);
8
- const ext = getFileExtension(removeMetadataFromImageSrc(imageSrc));
9
- const imagePath = path.join(imageBaseDir, 'logo', 'logo-light-mode.' + ext);
10
- await downloadImage(imageHref, imagePath, overwrite);
11
- }
12
- //# sourceMappingURL=downloadLogoImage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"downloadLogoImage.js","sourceRoot":"","sources":["../../src/scraping/downloadLogoImage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,aAAa,EAAE,EACpB,aAAa,EACb,eAAe,EACf,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,QAA4B,EAC5B,YAAoB,EACpB,MAAc,EACd,SAAkB;IAElB,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,OAAO;IAEpD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,GAAG,GAAG,CAAC,CAAC;IAE5E,MAAM,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC"}
@@ -1 +0,0 @@
1
- export default function replaceImagePaths(origToWritePath: Record<string, string>, cliDir: string, markdown: string): string;
@@ -1,14 +0,0 @@
1
- export default function replaceImagePaths(origToWritePath, cliDir, markdown) {
2
- // Change image paths to use the downloaded locations
3
- for (const [origHref, writePath] of Object.entries(origToWritePath)) {
4
- // Use relative paths within the folder we are in
5
- if (writePath.startsWith(cliDir)) {
6
- markdown = markdown.replaceAll(origHref, writePath.slice(cliDir.length));
7
- }
8
- else {
9
- markdown = markdown.replaceAll(origHref, writePath);
10
- }
11
- }
12
- return markdown;
13
- }
14
- //# sourceMappingURL=replaceImagePaths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceImagePaths.js","sourceRoot":"","sources":["../../src/scraping/replaceImagePaths.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,eAAuC,EACvC,MAAc,EACd,QAAgB;IAEhB,qDAAqD;IACrD,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACpE,iDAAiD;QACjD,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { NavigationEntry } from '@mintlify/models';
2
- export declare function scrapeFileGettingFileNameFromUrl(pathname: string, cliDir: string, origin: string, overwrite: boolean, scrapePageFunc: (html: string, origin: string, cliDir: string, imageBaseDir: string, overwrite: boolean, version: string | undefined) => Promise<{
3
- title?: string;
4
- description?: string;
5
- markdown?: string;
6
- }>, puppeteer: boolean | undefined, version: string | undefined, baseToRemove?: string): Promise<NavigationEntry>;
@@ -1,46 +0,0 @@
1
- import axios from 'axios';
2
- import path from 'path';
3
- import { getHtmlWithPuppeteer } from '../browser.js';
4
- import { createPage } from '../util.js';
5
- export async function scrapeFileGettingFileNameFromUrl(pathname, cliDir, origin, overwrite, scrapePageFunc, puppeteer = false, version, baseToRemove) {
6
- // Skip scraping external links
7
- if (pathname.startsWith('https://') || pathname.startsWith('http://')) {
8
- return pathname;
9
- }
10
- // Removes file name from the end
11
- const splitSubpath = pathname.split('/');
12
- let folders = splitSubpath.slice(0, splitSubpath.length - 1).join('/');
13
- // Remove base dir if passed in
14
- if (baseToRemove && folders.startsWith(baseToRemove)) {
15
- folders = folders.replace(baseToRemove, '');
16
- }
17
- // TO DO: Improve this by putting each page's images in a separate
18
- // folder named after the title of the page.
19
- const imageBaseDir = path.join(cliDir, 'images', folders);
20
- // Scrape each page separately
21
- const href = new URL(pathname, origin).href;
22
- let html;
23
- if (puppeteer) {
24
- html = await getHtmlWithPuppeteer(href);
25
- }
26
- else {
27
- const res = await axios.get(href);
28
- html = res.data;
29
- }
30
- const { title, description, markdown } = await scrapePageFunc(html, origin, cliDir, imageBaseDir, overwrite, version);
31
- // Check if page didn't have content
32
- if (!title && !markdown) {
33
- return {
34
- group: '',
35
- pages: [],
36
- };
37
- }
38
- const newFileLocation = folders ? path.join(cliDir, folders) : cliDir;
39
- // Default to introduction.mdx if we encountered index.html
40
- const fileName = splitSubpath[splitSubpath.length - 1] || 'introduction';
41
- // Will create subfolders as needed
42
- createPage(title ?? '', description, markdown, overwrite, newFileLocation, fileName);
43
- // Removes first slash if we are in a folder, Mintlify doesn't need it
44
- return folders ? path.join(folders, fileName).substring(1) : fileName;
45
- }
46
- //# sourceMappingURL=scrapeFileGettingFileNameFromUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrapeFileGettingFileNameFromUrl.js","sourceRoot":"","sources":["../../src/scraping/scrapeFileGettingFileNameFromUrl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,QAAgB,EAChB,MAAc,EACd,MAAc,EACd,SAAkB,EAClB,cAWE,EACF,SAAS,GAAG,KAAK,EACjB,OAA2B,EAC3B,YAAqB;IAErB,+BAA+B;IAC/B,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEvE,+BAA+B;IAC/B,IAAI,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,kEAAkE;IAClE,4CAA4C;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE1D,8BAA8B;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC;IAC5C,IAAI,IAAY,CAAC;IACjB,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAC3D,IAAI,EACJ,MAAM,EACN,MAAM,EACN,YAAY,EACZ,SAAS,EACT,OAAO,CACR,CAAC;IAEF,oCAAoC;IACpC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEtE,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,cAAc,CAAC;IAEzE,mCAAmC;IACnC,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAErF,sEAAsE;IACtE,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxE,CAAC"}
@@ -1,6 +0,0 @@
1
- import { NavigationEntry } from '@mintlify/models';
2
- export declare function scrapeGettingFileNameFromUrl(navEntry: NavigationEntry, cliDir: string, origin: string, overwrite: boolean, scrapePageFunc: (html: string, origin: string, cliDir: string, imageBaseDir: string, overwrite: boolean, version: string | undefined) => Promise<{
3
- title?: string;
4
- description?: string;
5
- markdown?: string;
6
- }>, puppeteer: boolean | undefined, version: string | undefined, baseToRemove?: string): Promise<NavigationEntry>;
@@ -1,13 +0,0 @@
1
- import { scrapeFileGettingFileNameFromUrl } from './scrapeFileGettingFileNameFromUrl.js';
2
- export async function scrapeGettingFileNameFromUrl(navEntry, cliDir, origin, overwrite, scrapePageFunc, puppeteer = false, version, baseToRemove) {
3
- if (typeof navEntry !== 'string') {
4
- const newPages = [];
5
- for (const nestedNavEntry of navEntry.pages) {
6
- newPages.push(await scrapeGettingFileNameFromUrl(nestedNavEntry, cliDir, origin, overwrite, scrapePageFunc, puppeteer, version, baseToRemove));
7
- }
8
- navEntry.pages = newPages;
9
- return navEntry;
10
- }
11
- return await scrapeFileGettingFileNameFromUrl(navEntry, cliDir, origin, overwrite, scrapePageFunc, puppeteer, version, baseToRemove);
12
- }
13
- //# sourceMappingURL=scrapeGettingFileNameFromUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrapeGettingFileNameFromUrl.js","sourceRoot":"","sources":["../../src/scraping/scrapeGettingFileNameFromUrl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,QAAyB,EACzB,MAAc,EACd,MAAc,EACd,SAAkB,EAClB,cAWE,EACF,SAAS,GAAG,KAAK,EACjB,OAA2B,EAC3B,YAAqB;IAErB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,KAAK,MAAM,cAAc,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CACX,MAAM,4BAA4B,CAChC,cAAc,EACd,MAAM,EACN,MAAM,EACN,SAAS,EACT,cAAc,EACd,SAAS,EACT,OAAO,EACP,YAAY,CACb,CACF,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,gCAAgC,CAC3C,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,cAAc,EACd,SAAS,EACT,OAAO,EACP,YAAY,CACb,CAAC;AACJ,CAAC"}
@@ -1,8 +0,0 @@
1
- type ScrapePageResult = {
2
- title: string;
3
- description?: string;
4
- markdown?: string;
5
- };
6
- export type ScrapePageFn = (html: string, origin: string, cliDir: string, imageBaseDir: string, overwrite: boolean, version: string | undefined) => Promise<ScrapePageResult>;
7
- export declare function scrapePage(scrapeFunc: ScrapePageFn, href: string, html: string, overwrite: boolean, version: string | undefined): Promise<void>;
8
- export {};
@@ -1,10 +0,0 @@
1
- import path from 'path';
2
- import { createPage, getOrigin } from '../util.js';
3
- export async function scrapePage(scrapeFunc, href, html, overwrite, version) {
4
- const origin = getOrigin(href);
5
- const cwd = process.cwd();
6
- const imageBaseDir = path.join(cwd, 'images');
7
- const { title, description, markdown } = await scrapeFunc(html, origin, cwd, imageBaseDir, overwrite, version);
8
- createPage(title, description, markdown, overwrite, process.cwd());
9
- }
10
- //# sourceMappingURL=scrapePage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrapePage.js","sourceRoot":"","sources":["../../src/scraping/scrapePage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiBnD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAwB,EACxB,IAAY,EACZ,IAAY,EACZ,SAAkB,EAClB,OAA2B;IAE3B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE9C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CACvD,IAAI,EACJ,MAAM,EACN,GAAG,EACH,YAAY,EACZ,SAAS,EACT,OAAO,CACR,CAAC;IACF,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACrE,CAAC"}
@@ -1,7 +0,0 @@
1
- import { FrameworkHint } from './detectFramework.js';
2
- import { ScrapePageFn } from './scrapePage.js';
3
- export declare function scrapePageWrapper(url: string, overwrite: boolean, scrapeFunc: ScrapePageFn, options?: {
4
- version?: string;
5
- puppeteer?: boolean;
6
- }): Promise<void>;
7
- export declare function scrapePageAutomatically(url: string, overwrite: boolean, frameworkHint: FrameworkHint): Promise<void>;
@@ -1,50 +0,0 @@
1
- import axios from 'axios';
2
- import { getHtmlWithPuppeteer } from '../browser.js';
3
- import { detectFramework, frameworks } from './detectFramework.js';
4
- import { scrapePage } from './scrapePage.js';
5
- import { scrapeIntercomPage } from './site-scrapers/Intercom/scrapeIntercomPage.js';
6
- import { scrapeDocusaurusPage } from './site-scrapers/scrapeDocusaurusPage.js';
7
- import { scrapeGitBookPage } from './site-scrapers/scrapeGitBookPage.js';
8
- import { scrapeReadMePage } from './site-scrapers/scrapeReadMePage.js';
9
- function validateFramework(framework) {
10
- if (!framework) {
11
- console.log(`Could not detect the framework automatically. Please use the -t flag to specify one of: ${frameworks.join(', ')}`);
12
- return process.exit(1);
13
- }
14
- }
15
- export async function scrapePageWrapper(url, overwrite, scrapeFunc, options) {
16
- let html;
17
- if (options?.puppeteer) {
18
- html = await getHtmlWithPuppeteer(url);
19
- }
20
- else {
21
- const res = await axios.get(url);
22
- html = res.data;
23
- }
24
- await scrapePage(scrapeFunc, url, html, overwrite, options?.version);
25
- process.exit(0);
26
- }
27
- export async function scrapePageAutomatically(url, overwrite, frameworkHint) {
28
- const res = await axios.get(url);
29
- const html = res.data;
30
- frameworkHint = frameworkHint.framework ? frameworkHint : detectFramework(html);
31
- validateFramework(frameworkHint.framework);
32
- console.log('Detected framework: ' + frameworkHint.framework);
33
- switch (frameworkHint.framework) {
34
- case 'docusaurus':
35
- await scrapePageWrapper(url, overwrite, scrapeDocusaurusPage, {
36
- version: frameworkHint.version,
37
- });
38
- break;
39
- case 'gitbook':
40
- await scrapePageWrapper(url, overwrite, scrapeGitBookPage, { puppeteer: true });
41
- break;
42
- case 'readme':
43
- await scrapePageWrapper(url, overwrite, scrapeReadMePage);
44
- break;
45
- case 'intercom':
46
- await scrapePageWrapper(url, overwrite, scrapeIntercomPage);
47
- break;
48
- }
49
- }
50
- //# sourceMappingURL=scrapePageCommands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrapePageCommands.js","sourceRoot":"","sources":["../../src/scraping/scrapePageCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,SAAS,iBAAiB,CAAC,SAAgC;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,2FAA2F,UAAU,CAAC,IAAI,CACxG,IAAI,CACL,EAAE,CACJ,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,SAAkB,EAClB,UAAwB,EACxB,OAAmD;IAEnD,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,MAAM,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAW,EACX,SAAkB,EAClB,aAA4B;IAE5B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAEhF,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAE9D,QAAQ,aAAa,CAAC,SAAS,EAAE,CAAC;QAChC,KAAK,YAAY;YACf,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,oBAAoB,EAAE;gBAC5D,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B,CAAC,CAAC;YACH,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC1D,MAAM;QACR,KAAK,UAAU;YACb,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAC5D,MAAM;IACV,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import { NavigationEntry } from '@mintlify/models';
2
- export type ScrapeSectionFn = (html: string, origin: string, cliDir: string, imageBaseDir: string, overwrite: boolean, version: string | undefined) => Promise<NavigationEntry[]>;
3
- export declare function scrapeSection(scrapeFunc: ScrapeSectionFn, html: string, origin: string, overwrite: boolean, version: string | undefined): Promise<void>;
@@ -1,12 +0,0 @@
1
- import path from 'path';
2
- import { objToReadableString } from '../util.js';
3
- export async function scrapeSection(scrapeFunc, html, origin, overwrite, version) {
4
- console.log(`Started scraping${overwrite ? ', overwrite mode is on' : ''}...`);
5
- const cwd = process.cwd();
6
- const imageBaseDir = path.join(cwd, 'images');
7
- const groupsConfig = await scrapeFunc(html, origin, cwd, imageBaseDir, overwrite, version);
8
- console.log('Finished scraping.');
9
- console.log('Add the following to your navigation in mint.json:');
10
- console.log(objToReadableString(groupsConfig));
11
- }
12
- //# sourceMappingURL=scrapeSection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scrapeSection.js","sourceRoot":"","sources":["../../src/scraping/scrapeSection.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAWjD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAA2B,EAC3B,IAAY,EACZ,MAAc,EACd,SAAkB,EAClB,OAA2B;IAE3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;AACjD,CAAC"}
@@ -1,6 +0,0 @@
1
- import { FrameworkHint } from './detectFramework.js';
2
- import { ScrapeSectionFn } from './scrapeSection.js';
3
- export declare function scrapeSectionAxiosWrapper(url: string, overwrite: boolean, scrapeFunc: ScrapeSectionFn): Promise<void>;
4
- export declare function scrapeDocusaurusSectionCommand(url: string, overwrite: boolean, version: string | undefined): Promise<void>;
5
- export declare function scrapeGitbookSectionCommand(url: string, overwrite: boolean): Promise<void>;
6
- export declare function scrapeSectionAutomatically(url: string, overwrite: boolean, frameworkHint: FrameworkHint): Promise<void>;
@@ -1,63 +0,0 @@
1
- import axios from 'axios';
2
- import { startBrowser } from '../browser.js';
3
- import { getOrigin } from '../util.js';
4
- import { detectFramework } from './detectFramework.js';
5
- import { scrapeSection } from './scrapeSection.js';
6
- import { scrapeIntercomSection } from './site-scrapers/Intercom/scrapeIntercomSection.js';
7
- import openNestedDocusaurusMenus from './site-scrapers/openNestedDocusaurusMenus.js';
8
- import openNestedGitbookMenus from './site-scrapers/openNestedGitbookMenus.js';
9
- import { scrapeDocusaurusSection } from './site-scrapers/scrapeDocusaurusSection.js';
10
- import { scrapeGitBookSection } from './site-scrapers/scrapeGitBookSection.js';
11
- import { scrapeReadMeSection } from './site-scrapers/scrapeReadMeSection.js';
12
- export async function scrapeSectionAxiosWrapper(url, overwrite, scrapeFunc) {
13
- const res = await axios.get(url);
14
- const html = res.data;
15
- await scrapeSection(scrapeFunc, html, getOrigin(url), overwrite, undefined);
16
- process.exit(0);
17
- }
18
- export async function scrapeDocusaurusSectionCommand(url, overwrite, version // "1" | "2" | "3"
19
- ) {
20
- await scrapeSectionOpeningAllNested(url, overwrite, openNestedDocusaurusMenus, scrapeDocusaurusSection, version);
21
- }
22
- export async function scrapeGitbookSectionCommand(url, overwrite) {
23
- await scrapeSectionOpeningAllNested(url, overwrite, openNestedGitbookMenus, scrapeGitBookSection);
24
- }
25
- async function scrapeSectionOpeningAllNested(url, overwrite, openLinks, scrapeFunc, version) {
26
- const browser = await startBrowser();
27
- const page = await browser.newPage();
28
- await page.goto(url, {
29
- waitUntil: 'networkidle2',
30
- });
31
- const html = await openLinks(page);
32
- void browser.close();
33
- await scrapeSection(scrapeFunc, html, getOrigin(url), overwrite, version);
34
- process.exit(0);
35
- }
36
- export async function scrapeSectionAutomatically(url, overwrite, frameworkHint) {
37
- const res = await axios.get(url);
38
- const html = res.data;
39
- frameworkHint = frameworkHint.framework ? frameworkHint : detectFramework(html);
40
- validateFramework(frameworkHint.framework);
41
- console.log('Detected framework: ' + frameworkHint.framework);
42
- switch (frameworkHint.framework) {
43
- case 'docusaurus':
44
- await scrapeDocusaurusSectionCommand(url, overwrite, frameworkHint.version);
45
- break;
46
- case 'gitbook':
47
- await scrapeGitbookSectionCommand(url, overwrite);
48
- break;
49
- case 'readme':
50
- await scrapeSectionAxiosWrapper(url, overwrite, scrapeReadMeSection);
51
- break;
52
- case 'intercom':
53
- await scrapeSectionAxiosWrapper(url, overwrite, scrapeIntercomSection);
54
- break;
55
- }
56
- }
57
- function validateFramework(framework) {
58
- if (!framework) {
59
- console.log('Could not detect the framework automatically. We only support Docusaurus (V2 and V3), GitBook, and ReadMe.');
60
- process.exit();
61
- }
62
- }
63
- //# sourceMappingURL=scrapeSectionCommands.js.map