mirror of
https://github.com/Snigdha-OS/documentation.git
synced 2025-09-11 20:04:55 +02:00
29 lines
1.0 KiB
JavaScript
29 lines
1.0 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 });
|
|
const utils_1 = require("@docusaurus/utils");
|
|
/**
|
|
* In the blog list view, each post will be compiled separately. However, they
|
|
* may use the same footnote IDs. This leads to duplicated DOM IDs and inability
|
|
* to navigate to footnote references. This plugin fixes it by appending a
|
|
* unique hash to each reference/definition.
|
|
*/
|
|
function plugin() {
|
|
return async (root, vfile) => {
|
|
const { visit } = await import('unist-util-visit');
|
|
const suffix = `-${(0, utils_1.simpleHash)(vfile.path, 6)}`;
|
|
visit(root, 'footnoteReference', (node) => {
|
|
node.identifier += suffix;
|
|
});
|
|
visit(root, 'footnoteDefinition', (node) => {
|
|
node.identifier += suffix;
|
|
});
|
|
};
|
|
}
|
|
exports.default = plugin;
|