mirror of
https://github.com/Lissy93/dashy.git
synced 2026-04-18 01:06:56 -04:00
Updates all dependencies in the website, latest versions
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
|
||||
const lightCodeTheme = require('prism-react-renderer/themes/github');
|
||||
const { themes } = require('prism-react-renderer');
|
||||
const darkCodeTheme = themes.dracula;
|
||||
const lightCodeTheme = themes.github;
|
||||
|
||||
/* External URLs */
|
||||
const externalUrl = {
|
||||
@@ -21,26 +22,27 @@ module.exports = {
|
||||
baseUrl: '/',
|
||||
onBrokenLinks: 'warn',
|
||||
onBrokenMarkdownLinks: 'warn',
|
||||
markdown: {
|
||||
format: 'md',
|
||||
},
|
||||
favicon: 'img/favicon.ico',
|
||||
organizationName: 'lissy93', // Usually your GitHub org/user name.
|
||||
projectName: 'dashy', // Usually your repo name.
|
||||
plugins: ['docusaurus-plugin-sass'],
|
||||
themes: [
|
||||
[
|
||||
require.resolve('@easyops-cn/docusaurus-search-local'),
|
||||
{
|
||||
hashed: true,
|
||||
indexBlog: false,
|
||||
docsRouteBasePath: '/docs',
|
||||
},
|
||||
],
|
||||
],
|
||||
themeConfig: {
|
||||
// Dark & Light Mode
|
||||
colorMode: {
|
||||
defaultMode: 'dark',
|
||||
switchConfig: {
|
||||
darkIcon: '🌙',
|
||||
lightIcon: '☀️',
|
||||
},
|
||||
},
|
||||
// Algolia Web Search
|
||||
algolia: {
|
||||
apiKey: '97d967bd42096f2c69f015214ff36176',
|
||||
indexName: 'main',
|
||||
// contextualSearch: true,
|
||||
// appId: '9NYB4LE3DS',
|
||||
// searchParameters: {},
|
||||
},
|
||||
// Prism Code Highlighting
|
||||
prism: {
|
||||
@@ -55,8 +57,8 @@ module.exports = {
|
||||
src: 'img/dashy.png',
|
||||
},
|
||||
items: [
|
||||
{ label: 'GitHub', to: 'https://github.com/lissy93/dashy' },
|
||||
{ label: 'Live Demo', to: 'https://demo.dashy.to' },
|
||||
{ label: 'GitHub', href: 'https://github.com/lissy93/dashy' },
|
||||
{ label: 'Live Demo', href: 'https://demo.dashy.to' },
|
||||
{ label: 'Quick Start', to: '/docs/quick-start' },
|
||||
{ label: 'Documentation', to: '/docs' },
|
||||
],
|
||||
@@ -68,8 +70,8 @@ module.exports = {
|
||||
{
|
||||
title: 'Intro',
|
||||
items: [
|
||||
{ label: 'GitHub', to: 'https://github.com/lissy93/dashy' },
|
||||
{ label: 'Live Demo', to: 'https://demo.dashy.to' },
|
||||
{ label: 'GitHub', href: 'https://github.com/lissy93/dashy' },
|
||||
{ label: 'Live Demo', href: 'https://demo.dashy.to' },
|
||||
{ label: 'Quick Start', to: '/docs/quick-start' },
|
||||
{ label: 'Documentation', to: '/docs' },
|
||||
],
|
||||
@@ -116,7 +118,7 @@ module.exports = {
|
||||
items: [
|
||||
{ label: 'Privacy & Security', to: '/docs/privacy' },
|
||||
{ label: 'License', to: '/docs/license' },
|
||||
{ label: 'Legal', to: 'https://github.com/Lissy93/dashy/blob/master/.github/LEGAL.md' },
|
||||
{ label: 'Legal', href: 'https://github.com/Lissy93/dashy/blob/master/.github/LEGAL.md' },
|
||||
{ label: 'Code of Conduct', to: '/docs/code-of-conduct' },
|
||||
{ label: 'Changelog', to: '/docs/changelog' },
|
||||
],
|
||||
|
||||
23
package.json
23
package.json
@@ -14,19 +14,16 @@
|
||||
"write-heading-ids": "docusaurus write-heading-ids"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "2.0.0-beta.2",
|
||||
"@docusaurus/preset-classic": "2.0.0-beta.2",
|
||||
"@docusaurus/theme-search-algolia": "^2.0.0-beta.5",
|
||||
"@mdx-js/react": "^1.6.21",
|
||||
"@svgr/webpack": "^5.5.0",
|
||||
"clsx": "^1.1.1",
|
||||
"docusaurus-plugin-sass": "^0.2.1",
|
||||
"file-loader": "^6.2.0",
|
||||
"prism-react-renderer": "^1.2.1",
|
||||
"react": "^17.0.1",
|
||||
"react-dom": "^17.0.1",
|
||||
"sass": "^1.35.1",
|
||||
"url-loader": "^4.1.1"
|
||||
"@docusaurus/core": "^3.7.0",
|
||||
"@docusaurus/preset-classic": "^3.7.0",
|
||||
"@easyops-cn/docusaurus-search-local": "^0.55.1",
|
||||
"@mdx-js/react": "^3.1.0",
|
||||
"clsx": "^2.1.1",
|
||||
"docusaurus-plugin-sass": "^0.2.6",
|
||||
"prism-react-renderer": "^2.4.1",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"sass": "^1.83.0"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
|
||||
@@ -58,6 +58,10 @@ nav.navbar {
|
||||
font-weight: bold;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
.navbar__link--active,
|
||||
.navbar__link:hover {
|
||||
color: var(--primary);
|
||||
}
|
||||
}
|
||||
|
||||
html {
|
||||
@@ -119,8 +123,8 @@ ul.menu__list {
|
||||
margin-bottom: 1rem;
|
||||
li.menu__list-item {
|
||||
a {
|
||||
&.active {
|
||||
color: var(--hyperlink);
|
||||
&.active, &.menu__link--active {
|
||||
color: var(--primary);
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
@@ -134,11 +138,15 @@ code span {
|
||||
font-size: 0.9rem !important;
|
||||
}
|
||||
|
||||
/* Pagination Next/Previous */
|
||||
.pagination-nav__label {
|
||||
color: var(--text-color);
|
||||
}
|
||||
|
||||
html[data-theme='light'] {
|
||||
main div.container.padding-top--md.padding-bottom--lg{
|
||||
padding: 0 1rem !important;
|
||||
div > div.col.docItemCol_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocItem-styles-module {
|
||||
div > div.col[class*="docItemCol"] {
|
||||
padding: 1rem;
|
||||
background: var(--bright-white);
|
||||
border-right: 1px solid var(--ifm-toc-border-color);
|
||||
@@ -150,7 +158,7 @@ html[data-theme='light'] {
|
||||
border-left: none;
|
||||
}
|
||||
.pagination-nav__label {
|
||||
color: var(--black);
|
||||
color: var(--text-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
12
src/theme/DocSidebar/Desktop/index.js
Normal file
12
src/theme/DocSidebar/Desktop/index.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import React from 'react';
|
||||
import DocSidebarDesktop from '@theme-original/DocSidebar/Desktop';
|
||||
import CarbonAds from '@site/src/components/CarbonAd';
|
||||
|
||||
export default function DocSidebarDesktopWrapper(props) {
|
||||
return (
|
||||
<>
|
||||
<DocSidebarDesktop {...props} />
|
||||
<div className="sidebar-ad"><CarbonAds /></div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -1,353 +0,0 @@
|
||||
/**
|
||||
* 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 React, {useState, useCallback, useEffect, useRef, memo} from 'react';
|
||||
import clsx from 'clsx';
|
||||
import {
|
||||
useThemeConfig,
|
||||
isSamePath,
|
||||
usePrevious,
|
||||
useAnnouncementBar,
|
||||
} from '@docusaurus/theme-common';
|
||||
import useLockBodyScroll from '@theme/hooks/useLockBodyScroll';
|
||||
import useWindowSize, {windowSizes} from '@theme/hooks/useWindowSize';
|
||||
import useScrollPosition from '@theme/hooks/useScrollPosition';
|
||||
import Link from '@docusaurus/Link';
|
||||
import isInternalUrl from '@docusaurus/isInternalUrl';
|
||||
import Logo from '@theme/Logo';
|
||||
import IconArrow from '@theme/IconArrow';
|
||||
import IconMenu from '@theme/IconMenu';
|
||||
import IconExternalLink from '@theme/IconExternalLink';
|
||||
import {translate} from '@docusaurus/Translate';
|
||||
import styles from './styles.module.css';
|
||||
import CarbonAds from '../../components/CarbonAd';
|
||||
const MOBILE_TOGGLE_SIZE = 24;
|
||||
|
||||
const isActiveSidebarItem = (item, activePath) => {
|
||||
if (item.type === 'link') {
|
||||
return isSamePath(item.href, activePath);
|
||||
}
|
||||
|
||||
if (item.type === 'category') {
|
||||
return item.items.some((subItem) =>
|
||||
isActiveSidebarItem(subItem, activePath),
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
}; // Optimize sidebar at each "level"
|
||||
// TODO this item should probably not receive the "activePath" props
|
||||
// TODO this triggers whole sidebar re-renders on navigation
|
||||
|
||||
const DocSidebarItems = memo(function DocSidebarItems({items, ...props}) {
|
||||
return items.map((item, index) => (
|
||||
<DocSidebarItem
|
||||
key={index} // sidebar is static, the index does not change
|
||||
item={item}
|
||||
{...props}
|
||||
/>
|
||||
));
|
||||
});
|
||||
|
||||
function DocSidebarItem(props) {
|
||||
switch (props.item.type) {
|
||||
case 'category':
|
||||
return <DocSidebarItemCategory {...props} />;
|
||||
|
||||
case 'link':
|
||||
default:
|
||||
return <DocSidebarItemLink {...props} />;
|
||||
}
|
||||
}
|
||||
|
||||
function DocSidebarItemCategory({
|
||||
item,
|
||||
onItemClick,
|
||||
collapsible,
|
||||
activePath,
|
||||
...props
|
||||
}) {
|
||||
const {items, label} = item;
|
||||
const isActive = isActiveSidebarItem(item, activePath);
|
||||
const wasActive = usePrevious(isActive); // active categories are always initialized as expanded
|
||||
// the default (item.collapsed) is only used for non-active categories
|
||||
|
||||
const [collapsed, setCollapsed] = useState(() => {
|
||||
if (!collapsible) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return isActive ? false : item.collapsed;
|
||||
});
|
||||
const menuListRef = useRef(null);
|
||||
const [menuListHeight, setMenuListHeight] = useState(undefined);
|
||||
|
||||
const handleMenuListHeight = (calc = true) => {
|
||||
setMenuListHeight(
|
||||
calc ? `${menuListRef.current?.scrollHeight}px` : undefined,
|
||||
);
|
||||
}; // If we navigate to a category, it should automatically expand itself
|
||||
|
||||
useEffect(() => {
|
||||
const justBecameActive = isActive && !wasActive;
|
||||
|
||||
if (justBecameActive && collapsed) {
|
||||
setCollapsed(false);
|
||||
}
|
||||
}, [isActive, wasActive, collapsed]);
|
||||
const handleItemClick = useCallback(
|
||||
(e) => {
|
||||
e.preventDefault();
|
||||
|
||||
if (!menuListHeight) {
|
||||
handleMenuListHeight();
|
||||
}
|
||||
|
||||
setTimeout(() => setCollapsed((state) => !state), 100);
|
||||
},
|
||||
[menuListHeight],
|
||||
);
|
||||
|
||||
if (items.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<li
|
||||
className={clsx('menu__list-item', {
|
||||
'menu__list-item--collapsed': collapsed,
|
||||
})}>
|
||||
<a
|
||||
className={clsx('menu__link', {
|
||||
'menu__link--sublist': collapsible,
|
||||
'menu__link--active': collapsible && isActive,
|
||||
[styles.menuLinkText]: !collapsible,
|
||||
})}
|
||||
onClick={collapsible ? handleItemClick : undefined}
|
||||
href={collapsible ? '#!' : undefined}
|
||||
{...props}>
|
||||
{label}
|
||||
</a>
|
||||
<ul
|
||||
className="menu__list"
|
||||
ref={menuListRef}
|
||||
style={{
|
||||
height: menuListHeight,
|
||||
}}
|
||||
onTransitionEnd={() => {
|
||||
if (!collapsed) {
|
||||
handleMenuListHeight(false);
|
||||
}
|
||||
}}>
|
||||
<DocSidebarItems
|
||||
items={items}
|
||||
tabIndex={collapsed ? '-1' : '0'}
|
||||
onItemClick={onItemClick}
|
||||
collapsible={collapsible}
|
||||
activePath={activePath}
|
||||
/>
|
||||
</ul>
|
||||
</li>
|
||||
);
|
||||
}
|
||||
|
||||
function DocSidebarItemLink({
|
||||
item,
|
||||
onItemClick,
|
||||
activePath,
|
||||
collapsible: _collapsible,
|
||||
...props
|
||||
}) {
|
||||
const {href, label} = item;
|
||||
const isActive = isActiveSidebarItem(item, activePath);
|
||||
return (
|
||||
<li className="menu__list-item" key={label}>
|
||||
<Link
|
||||
className={clsx('menu__link', {
|
||||
'menu__link--active': isActive,
|
||||
})}
|
||||
to={href}
|
||||
{...(isInternalUrl(href) && {
|
||||
isNavLink: true,
|
||||
exact: true,
|
||||
onClick: onItemClick,
|
||||
})}
|
||||
{...props}>
|
||||
{isInternalUrl(href) ? (
|
||||
label
|
||||
) : (
|
||||
<span>
|
||||
{label}
|
||||
<IconExternalLink />
|
||||
</span>
|
||||
)}
|
||||
</Link>
|
||||
</li>
|
||||
);
|
||||
}
|
||||
|
||||
function useShowAnnouncementBar() {
|
||||
const {isClosed} = useAnnouncementBar();
|
||||
const [showAnnouncementBar, setShowAnnouncementBar] = useState(!isClosed);
|
||||
useScrollPosition(({scrollY}) => {
|
||||
if (!isClosed) {
|
||||
setShowAnnouncementBar(scrollY === 0);
|
||||
}
|
||||
});
|
||||
return showAnnouncementBar;
|
||||
}
|
||||
|
||||
function useResponsiveSidebar() {
|
||||
const [showResponsiveSidebar, setShowResponsiveSidebar] = useState(false);
|
||||
useLockBodyScroll(showResponsiveSidebar);
|
||||
const windowSize = useWindowSize();
|
||||
useEffect(() => {
|
||||
if (windowSize === windowSizes.desktop) {
|
||||
setShowResponsiveSidebar(false);
|
||||
}
|
||||
}, [windowSize]);
|
||||
const closeResponsiveSidebar = useCallback(
|
||||
(e) => {
|
||||
e.target.blur();
|
||||
setShowResponsiveSidebar(false);
|
||||
},
|
||||
[setShowResponsiveSidebar],
|
||||
);
|
||||
const toggleResponsiveSidebar = useCallback(() => {
|
||||
setShowResponsiveSidebar((value) => !value);
|
||||
}, [setShowResponsiveSidebar]);
|
||||
return {
|
||||
showResponsiveSidebar,
|
||||
closeResponsiveSidebar,
|
||||
toggleResponsiveSidebar,
|
||||
};
|
||||
}
|
||||
|
||||
function HideableSidebarButton({onClick}) {
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
title={translate({
|
||||
id: 'theme.docs.sidebar.collapseButtonTitle',
|
||||
message: 'Collapse sidebar',
|
||||
description: 'The title attribute for collapse button of doc sidebar',
|
||||
})}
|
||||
aria-label={translate({
|
||||
id: 'theme.docs.sidebar.collapseButtonAriaLabel',
|
||||
message: 'Collapse sidebar',
|
||||
description: 'The title attribute for collapse button of doc sidebar',
|
||||
})}
|
||||
className={clsx(
|
||||
'button button--secondary button--outline',
|
||||
styles.collapseSidebarButton,
|
||||
)}
|
||||
onClick={onClick}>
|
||||
<IconArrow className={styles.collapseSidebarButtonIcon} />
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
function ResponsiveSidebarButton({responsiveSidebarOpened, onClick}) {
|
||||
return (
|
||||
<button
|
||||
aria-label={
|
||||
responsiveSidebarOpened
|
||||
? translate({
|
||||
id: 'theme.docs.sidebar.responsiveCloseButtonLabel',
|
||||
message: 'Close menu',
|
||||
description:
|
||||
'The ARIA label for close button of mobile doc sidebar',
|
||||
})
|
||||
: translate({
|
||||
id: 'theme.docs.sidebar.responsiveOpenButtonLabel',
|
||||
message: 'Open menu',
|
||||
description:
|
||||
'The ARIA label for open button of mobile doc sidebar',
|
||||
})
|
||||
}
|
||||
aria-haspopup="true"
|
||||
className="button button--secondary button--sm menu__button"
|
||||
type="button"
|
||||
onClick={onClick}>
|
||||
{responsiveSidebarOpened ? (
|
||||
<span
|
||||
className={clsx(styles.sidebarMenuIcon, styles.sidebarMenuCloseIcon)}>
|
||||
×
|
||||
</span>
|
||||
) : (
|
||||
<IconMenu
|
||||
className={styles.sidebarMenuIcon}
|
||||
height={MOBILE_TOGGLE_SIZE}
|
||||
width={MOBILE_TOGGLE_SIZE}
|
||||
/>
|
||||
)}
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
function DocSidebar({
|
||||
path,
|
||||
sidebar,
|
||||
sidebarCollapsible = true,
|
||||
onCollapse,
|
||||
isHidden,
|
||||
}) {
|
||||
const showAnnouncementBar = useShowAnnouncementBar();
|
||||
const {
|
||||
navbar: {hideOnScroll},
|
||||
hideableSidebar,
|
||||
} = useThemeConfig();
|
||||
const {isClosed: isAnnouncementBarClosed} = useAnnouncementBar();
|
||||
const {
|
||||
showResponsiveSidebar,
|
||||
closeResponsiveSidebar,
|
||||
toggleResponsiveSidebar,
|
||||
} = useResponsiveSidebar();
|
||||
return (
|
||||
<div
|
||||
className={clsx(styles.sidebar, {
|
||||
[styles.sidebarWithHideableNavbar]: hideOnScroll,
|
||||
[styles.sidebarHidden]: isHidden,
|
||||
})}>
|
||||
{hideOnScroll && <Logo tabIndex={-1} className={styles.sidebarLogo} />}
|
||||
<nav
|
||||
className={clsx(
|
||||
'menu',
|
||||
'menu--responsive',
|
||||
'thin-scrollbar',
|
||||
styles.menu,
|
||||
{
|
||||
'menu--show': showResponsiveSidebar,
|
||||
[styles.menuWithAnnouncementBar]:
|
||||
!isAnnouncementBarClosed && showAnnouncementBar,
|
||||
},
|
||||
)}
|
||||
aria-label={translate({
|
||||
id: 'theme.docs.sidebar.navAriaLabel',
|
||||
message: 'Sidebar navigation',
|
||||
description: 'The ARIA label for documentation menu',
|
||||
})}>
|
||||
<ResponsiveSidebarButton
|
||||
responsiveSidebarOpened={showResponsiveSidebar}
|
||||
onClick={toggleResponsiveSidebar}
|
||||
/>
|
||||
|
||||
<ul className="menu__list">
|
||||
<DocSidebarItems
|
||||
items={sidebar}
|
||||
onItemClick={closeResponsiveSidebar}
|
||||
collapsible={sidebarCollapsible}
|
||||
activePath={path}
|
||||
/>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="sidebar-ad"><CarbonAds /></div>
|
||||
{hideableSidebar && <HideableSidebarButton onClick={onCollapse} />}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default DocSidebar;
|
||||
@@ -1,150 +0,0 @@
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
||||
:root {
|
||||
--collapse-button-bg-color-dark: #2e333a;
|
||||
}
|
||||
|
||||
@media (min-width: 997px) {
|
||||
.sidebar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-height: 100vh;
|
||||
height: 100%;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
padding-top: var(--ifm-navbar-height);
|
||||
width: var(--doc-sidebar-width);
|
||||
transition: opacity 50ms ease;
|
||||
}
|
||||
|
||||
.sidebarWithHideableNavbar {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.sidebarHidden {
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.sidebarLogo {
|
||||
display: flex !important;
|
||||
align-items: center;
|
||||
margin: 0 var(--ifm-navbar-padding-horizontal);
|
||||
min-height: var(--ifm-navbar-height);
|
||||
max-height: var(--ifm-navbar-height);
|
||||
color: inherit !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.sidebarLogo img {
|
||||
margin-right: 0.5rem;
|
||||
height: 2rem;
|
||||
}
|
||||
|
||||
.menu {
|
||||
flex-grow: 1;
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
.menuLinkText {
|
||||
cursor: initial;
|
||||
}
|
||||
|
||||
.menuLinkText:hover {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.menuWithAnnouncementBar {
|
||||
margin-bottom: var(--docusaurus-announcement-bar-height);
|
||||
}
|
||||
|
||||
.collapseSidebarButton {
|
||||
display: block !important;
|
||||
background-color: var(--ifm-button-background-color);
|
||||
height: 40px;
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
border-radius: 0;
|
||||
border: 1px solid var(--ifm-toc-border-color);
|
||||
}
|
||||
|
||||
.collapseSidebarButtonIcon {
|
||||
transform: rotate(180deg);
|
||||
margin-top: 4px;
|
||||
}
|
||||
html[dir='rtl'] .collapseSidebarButtonIcon {
|
||||
transform: rotate(0);
|
||||
}
|
||||
|
||||
html[data-theme='dark'] .collapseSidebarButton {
|
||||
background-color: var(--collapse-button-bg-color-dark);
|
||||
}
|
||||
|
||||
html[data-theme='dark'] .collapseSidebarButton:hover,
|
||||
html[data-theme='dark'] .collapseSidebarButton:focus {
|
||||
background-color: var(--ifm-color-emphasis-200);
|
||||
}
|
||||
}
|
||||
|
||||
.sidebarLogo,
|
||||
.collapseSidebarButton {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sidebarMenuIcon {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.sidebarMenuCloseIcon {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 24px;
|
||||
font-size: 1.5rem;
|
||||
font-weight: var(--ifm-font-weight-bold);
|
||||
line-height: 0.9;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
:global(.menu__list) :global(.menu__list) {
|
||||
overflow-y: hidden;
|
||||
will-change: height;
|
||||
transition: height var(--ifm-transition-fast) linear;
|
||||
}
|
||||
|
||||
:global(.menu__list-item--collapsed) :global(.menu__list) {
|
||||
height: 0 !important;
|
||||
}
|
||||
|
||||
.sidebar-ad {
|
||||
--carbon-bg-primary: var(--background, #18191a);
|
||||
--carbon-bg-secondary: #282a36;
|
||||
--carbon-text-color: #e6e6e6;
|
||||
}
|
||||
|
||||
.sidebar-ad #carbonads {
|
||||
margin: 0.5rem;
|
||||
}
|
||||
.sidebar-ad #carbonads .carbon-img img, .sidebar-ad .avatar__photo-link {
|
||||
border-radius: 5px;
|
||||
}
|
||||
.sidebar-ad #carbonads .carbon-wrap {
|
||||
justify-content: center;
|
||||
}
|
||||
.sidebar-ad #carbonads .carbon-text {
|
||||
font-size: 1rem;
|
||||
}
|
||||
.sidebar-ad #carbonads > span {
|
||||
box-shadow: none;
|
||||
}
|
||||
.sidebar-ad #carbonads .carbon-poweredby {
|
||||
border-radius: 5px;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
Reference in New Issue
Block a user