mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-10 15:47:23 +02:00
feat(plugin-docs): docs sidebar item link: support "autoAddBaseUrl" attribute (#7949)
This commit is contained in:
parent
53bb0307dd
commit
de526e1ab2
4 changed files with 24 additions and 4 deletions
|
@ -44,6 +44,7 @@ export type SidebarItemLink = SidebarItemBase & {
|
|||
type: 'link';
|
||||
href: string;
|
||||
label: string;
|
||||
autoAddBaseUrl?: boolean;
|
||||
};
|
||||
|
||||
export type SidebarItemAutogenerated = SidebarItemBase & {
|
||||
|
|
|
@ -59,6 +59,7 @@ const sidebarItemHtmlSchema = sidebarItemBaseSchema.append<SidebarItemHtml>({
|
|||
const sidebarItemLinkSchema = sidebarItemBaseSchema.append<SidebarItemLink>({
|
||||
type: 'link',
|
||||
href: URISchema.required(),
|
||||
autoAddBaseUrl: Joi.boolean(),
|
||||
label: Joi.string()
|
||||
.required()
|
||||
.messages({'any.unknown': '"label" must be a string'}),
|
||||
|
|
|
@ -24,7 +24,7 @@ export default function DocSidebarItemLink({
|
|||
index,
|
||||
...props
|
||||
}: Props): JSX.Element {
|
||||
const {href, label, className} = item;
|
||||
const {href, label, className, autoAddBaseUrl} = item;
|
||||
const isActive = isActiveSidebarItem(item, activePath);
|
||||
const isInternalLink = isInternalUrl(href);
|
||||
return (
|
||||
|
@ -44,6 +44,7 @@ export default function DocSidebarItemLink({
|
|||
'menu__link--active': isActive,
|
||||
},
|
||||
)}
|
||||
autoAddBaseUrl={autoAddBaseUrl}
|
||||
aria-current={isActive ? 'page' : undefined}
|
||||
to={href}
|
||||
{...(isInternalLink && {
|
||||
|
|
|
@ -71,10 +71,27 @@ const sidebars = {
|
|||
],
|
||||
},
|
||||
{
|
||||
type: 'link',
|
||||
label: 'External link',
|
||||
href: 'https://github.com/facebook/docusaurus',
|
||||
type: 'category',
|
||||
label: 'Link tests',
|
||||
className: 'red',
|
||||
items: [
|
||||
{
|
||||
type: 'link',
|
||||
label: 'External link absolute',
|
||||
href: 'https://github.com/facebook/docusaurus',
|
||||
},
|
||||
{
|
||||
type: 'link',
|
||||
label: 'pathname:/// link',
|
||||
href: 'pathname:///some/local/path',
|
||||
},
|
||||
{
|
||||
type: 'link',
|
||||
label: 'pathname:/// link (no baseUrl)',
|
||||
href: 'pathname:///some/local/path',
|
||||
autoAddBaseUrl: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue