This commit is contained in:
2024-03-22 03:47:51 +05:30
parent 8bcf3d211e
commit 89819f6fe2
28440 changed files with 3211033 additions and 2 deletions

View File

@@ -0,0 +1,9 @@
/**
* 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.
*/
import type { DocsMarkdownOption } from '../types';
import type { LoaderContext } from 'webpack';
export default function markdownLoader(this: LoaderContext<DocsMarkdownOption>, source: string): void;

View File

@@ -0,0 +1,16 @@
"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 });
const linkify_1 = require("./linkify");
function markdownLoader(source) {
const fileString = source;
const callback = this.async();
const options = this.getOptions();
return callback(null, (0, linkify_1.linkify)(fileString, this.resourcePath, options));
}
exports.default = markdownLoader;

View File

@@ -0,0 +1,8 @@
/**
* 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.
*/
import type { DocsMarkdownOption } from '../types';
export declare function linkify(fileString: string, filePath: string, options: DocsMarkdownOption): string;

View File

@@ -0,0 +1,34 @@
"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;