mirror of
https://github.com/Snigdha-OS/documentation.git
synced 2025-09-11 20:04:55 +02:00
35 lines
1.5 KiB
JavaScript
35 lines
1.5 KiB
JavaScript
"use strict";
|
|
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.linkify = void 0;
|
|
const utils_1 = require("@docusaurus/utils");
|
|
function getVersion(filePath, options) {
|
|
const versionFound = options.versionsMetadata.find((version) => (0, utils_1.getContentPathList)(version).some((docsDirPath) => filePath.startsWith(docsDirPath)));
|
|
// At this point, this should never happen, because the MDX loaders' paths are
|
|
// literally using the version content paths; but if we allow sourcing content
|
|
// from outside the docs directory (through the `include` option, for example;
|
|
// is there a compelling use-case?), this would actually be testable
|
|
if (!versionFound) {
|
|
throw new Error(`Unexpected error: Markdown file at "${filePath}" does not belong to any docs version!`);
|
|
}
|
|
return versionFound;
|
|
}
|
|
function linkify(fileString, filePath, options) {
|
|
const { siteDir, sourceToPermalink, onBrokenMarkdownLink } = options;
|
|
const { newContent, brokenMarkdownLinks } = (0, utils_1.replaceMarkdownLinks)({
|
|
siteDir,
|
|
fileString,
|
|
filePath,
|
|
contentPaths: getVersion(filePath, options),
|
|
sourceToPermalink,
|
|
});
|
|
brokenMarkdownLinks.forEach((l) => onBrokenMarkdownLink(l));
|
|
return newContent;
|
|
}
|
|
exports.linkify = linkify;
|