UNPKG

docusaurus-plugin-typedoc-api

Version:

Docusaurus plugin that provides source code API documentation powered by TypeDoc.

37 lines (35 loc) 1.44 kB
'use strict'; const useDocusaurusContext = require('@docusaurus/useDocusaurusContext'); const useGitRefName = require('../hooks/useGitRefName.js'); const jsxRuntime = require('react/jsx-runtime'); const _interopDefault = e => e && e.__esModule ? e : { default: e }; const useDocusaurusContext__default = /*#__PURE__*/_interopDefault(useDocusaurusContext); function replaceWithSrc(url) { // Always link the source file return url.replace(/\/(dts|dist|lib|build|es|esm|cjs|mjs)\//, '/src/'); } function SourceLink({ sources = [] }) { const _useDocusaurusContext = useDocusaurusContext__default.default(), siteConfig = _useDocusaurusContext.siteConfig; const gitRefName = useGitRefName.useGitRefName(); if (sources.length === 0) { return null; } return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, { children: sources.map(source => /*#__PURE__*/jsxRuntime.jsx("a", { className: "tsd-anchor", href: source.url || `https://${siteConfig.githubHost}${siteConfig.githubPort ? `:${siteConfig.githubPort}` : ''}/${siteConfig.organizationName}/${siteConfig.projectName}/blob/${gitRefName}/${replaceWithSrc(source.fileName)}#L${source.line}`, rel: "noreferrer", target: "_blank", children: /*#__PURE__*/jsxRuntime.jsx("i", { className: "codicon codicon-file-code" }) }, source.fileName)) }); } exports.SourceLink = SourceLink; //# sourceMappingURL=SourceLink.js.map