Merge pull request #1298 from slumbering/fix/ui-docusaurus-like
[Docs] Update UI - remove many swizzling of components make updates of docusaurus painless
This commit is contained in:
commit
9b4c92ad84
@ -14,7 +14,7 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Introduction",
|
label: "Introduction",
|
||||||
collapsible: false,
|
collapsible: true,
|
||||||
items: ["introduction/what_is", "introduction/vs"],
|
items: ["introduction/what_is", "introduction/vs"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -24,7 +24,8 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Learn Dagger",
|
label: "Learn Dagger",
|
||||||
collapsible: false,
|
collapsible: true,
|
||||||
|
collapsed: false,
|
||||||
items: [
|
items: [
|
||||||
"learn/what_is_cue",
|
"learn/what_is_cue",
|
||||||
"learn/get-started",
|
"learn/get-started",
|
||||||
@ -39,14 +40,15 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Use Cases",
|
label: "Use Cases",
|
||||||
collapsible: false,
|
collapsible: true,
|
||||||
|
collapsed: true,
|
||||||
items: ["use-cases/ci"],
|
items: ["use-cases/ci"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Universe - API Reference",
|
label: "Universe - API Reference",
|
||||||
collapsible: true,
|
collapsible: true,
|
||||||
collapsed: false,
|
collapsed: true,
|
||||||
// generate the sidebar for reference doc automatically
|
// generate the sidebar for reference doc automatically
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
@ -58,7 +60,8 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Administrator Manual",
|
label: "Administrator Manual",
|
||||||
collapsible: false,
|
collapsible: true,
|
||||||
|
collapsed: true,
|
||||||
items: ["administrator/operator-manual"],
|
items: ["administrator/operator-manual"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -83,6 +83,7 @@ html[data-theme="dark"] {
|
|||||||
--ifm-table-stripe-background: #2e526a;
|
--ifm-table-stripe-background: #2e526a;
|
||||||
--ifm-code-background: var(--ifm-color-primary-dark);
|
--ifm-code-background: var(--ifm-color-primary-dark);
|
||||||
--ifm-heading-color: var(--ifm-color-primary-light);
|
--ifm-heading-color: var(--ifm-color-primary-light);
|
||||||
|
--ifm-menu-color-background-hover: var(--ifm-color-primary);
|
||||||
--ifm-blockquote-color: var(--ifm-menu-color-background-hover);
|
--ifm-blockquote-color: var(--ifm-menu-color-background-hover);
|
||||||
--ifm-color-emphasis-300: var(--ifm-menu-color-background-hover);
|
--ifm-color-emphasis-300: var(--ifm-menu-color-background-hover);
|
||||||
}
|
}
|
||||||
@ -199,8 +200,7 @@ h1[class^="h1Heading"] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#__docusaurus {
|
#__docusaurus {
|
||||||
background-color: var(--ifm-color-primary-light);
|
background-color: white;
|
||||||
// padding-bottom: 3rem;
|
|
||||||
|
|
||||||
html[data-theme="dark"] & {
|
html[data-theme="dark"] & {
|
||||||
background: var(--ifm-color-primary-darker);
|
background: var(--ifm-color-primary-darker);
|
||||||
@ -216,6 +216,7 @@ h1[class^="h1Heading"] {
|
|||||||
|
|
||||||
.button {
|
.button {
|
||||||
background: var(--ifm-color-secondary);
|
background: var(--ifm-color-secondary);
|
||||||
|
color: var(--ifm-navbar-link-color);
|
||||||
font-family: var(--ifm-font-family-title);
|
font-family: var(--ifm-font-family-title);
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@ -223,12 +224,13 @@ h1[class^="h1Heading"] {
|
|||||||
line-height: 1;
|
line-height: 1;
|
||||||
letter-spacing: 0em;
|
letter-spacing: 0em;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding: 1rem;
|
padding: 0.625rem 1.5rem;
|
||||||
border: 0;
|
border: 0;
|
||||||
border-radius: 0;
|
border-radius: 50px;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
|
color: var(--ifm-navbar-link-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -238,6 +240,10 @@ h1[class^="h1Heading"] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.hash-link,
|
||||||
|
.hash-link::before {
|
||||||
|
color: var(--ifm-color-info);
|
||||||
|
}
|
||||||
/* navbar */
|
/* navbar */
|
||||||
.navbar__brand .navbar__logo {
|
.navbar__brand .navbar__logo {
|
||||||
height: 5rem;
|
height: 5rem;
|
||||||
@ -263,7 +269,7 @@ h1[class^="h1Heading"] {
|
|||||||
margin: 0 0.75rem;
|
margin: 0 0.75rem;
|
||||||
}
|
}
|
||||||
.navbar__items--right > :last-child {
|
.navbar__items--right > :last-child {
|
||||||
padding: 1rem;
|
padding-right: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.react-toggle {
|
.react-toggle {
|
||||||
@ -273,8 +279,7 @@ h1[class^="h1Heading"] {
|
|||||||
.header-discord-link,
|
.header-discord-link,
|
||||||
.header-github-link {
|
.header-github-link {
|
||||||
height: 48px;
|
height: 48px;
|
||||||
padding: 0;
|
line-height: 36px;
|
||||||
|
|
||||||
@include desktop {
|
@include desktop {
|
||||||
width: 48px;
|
width: 48px;
|
||||||
span {
|
span {
|
||||||
@ -283,12 +288,20 @@ h1[class^="h1Heading"] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-github-link {
|
.header-github-link,
|
||||||
|
.header-github-link:hover {
|
||||||
background: url("/img/github-icon.svg") no-repeat;
|
background: url("/img/github-icon.svg") no-repeat;
|
||||||
|
@include tablet {
|
||||||
|
background-color: var(--ifm-color-primary);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-discord-link {
|
.header-discord-link,
|
||||||
|
.header-discord-link:hover {
|
||||||
background: url("/img/discord-icon.svg") no-repeat;
|
background: url("/img/discord-icon.svg") no-repeat;
|
||||||
|
@include tablet {
|
||||||
|
background-color: var(--ifm-color-primary);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar .button svg {
|
.navbar .button svg {
|
||||||
@ -401,161 +414,40 @@ button[class^="copyButton"] {
|
|||||||
color: var(--ifm-color-primary-dark);
|
color: var(--ifm-color-primary-dark);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* hash-link */
|
|
||||||
.hash-link {
|
|
||||||
svg path + path {
|
|
||||||
fill: #40b8bb;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover svg path + path {
|
|
||||||
fill: #175761;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:focus svg path + path {
|
|
||||||
fill: var(--ifm-color-primary-dark);
|
|
||||||
}
|
|
||||||
&::before {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* menu */
|
|
||||||
.menu {
|
.menu {
|
||||||
padding: 0 !important;
|
padding: 3rem 0.5rem 0.5rem !important;
|
||||||
|
|
||||||
@include desktop {
|
|
||||||
& > ul > li:nth-child(1) > a:nth-child(1) {
|
|
||||||
padding-top: 2rem;
|
|
||||||
border-top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
& > ul > li > a:nth-child(1) {
|
|
||||||
background-color: var(--ifm-color-primary-light);
|
|
||||||
border-top: 1px solid;
|
|
||||||
border-bottom: 1px solid;
|
|
||||||
border-color: #f0efe7;
|
|
||||||
|
|
||||||
html[data-theme="dark"] & {
|
|
||||||
background-color: var(--ifm-color-primary);
|
|
||||||
border-color: #65627b;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
& > ul > li + li > a:nth-child(1) {
|
|
||||||
border-top: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu__list {
|
.menu__link.button {
|
||||||
background-color: var(--ifm-color-secondary);
|
width: 190px;
|
||||||
|
margin: auto;
|
||||||
& > .menu__list-item > & {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu__list-item {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
html[data-theme="dark"] & {
|
|
||||||
background-color: var(--ifm-color-primary-dark);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu__link {
|
.menu__link:not(.button) {
|
||||||
border-radius: 0;
|
|
||||||
padding: 1rem;
|
|
||||||
|
|
||||||
@include tablet {
|
@include tablet {
|
||||||
display: flex;
|
background-color: transparent;
|
||||||
justify-content: center;
|
|
||||||
font-family: var(--ifm-font-family-title);
|
|
||||||
font-size: 1rem;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 700;
|
|
||||||
line-height: 1;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
& + .menu__list & {
|
|
||||||
padding-left: 2rem;
|
|
||||||
width: calc(100% - 1rem);
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&.active {
|
|
||||||
background-color: var(--ifm-color-primary-dark);
|
|
||||||
color: var(--ifm-color-primary-light);
|
color: var(--ifm-color-primary-light);
|
||||||
|
// --ifm-menu-color-active: var(--ifm-color-primary-light);
|
||||||
|
// --ifm-menu-color-background-active: var(--ifm-color-primary);
|
||||||
|
span {
|
||||||
|
display: block;
|
||||||
|
margin-left: 3rem;
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&.active {
|
.menu__link--active:not(.menu__link--sublist) {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
@include tablet {
|
||||||
|
background: var(--ifm-color-primary);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:focus,
|
.menu__link--active:hover {
|
||||||
&:active {
|
@include tablet {
|
||||||
background-color: var(--ifm-color-primary-dark);
|
|
||||||
color: var(--ifm-color-primary-light);
|
color: var(--ifm-color-primary-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
&--active:not(.menu__link--sublist) {
|
|
||||||
background-color: var(--ifm-color-primary);
|
|
||||||
color: var(--ifm-color-primary-light);
|
|
||||||
font-weight: bold;
|
|
||||||
|
|
||||||
html[data-theme="dark"] & {
|
|
||||||
background-color: var(--ifm-menu-color-background-hover);
|
|
||||||
color: var(--ifm-color-primary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] &,
|
|
||||||
html[data-theme="dark"] &:not([href]),
|
|
||||||
html[data-theme="dark"] &:focus {
|
|
||||||
color: var(--ifm-color-primary-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] &:not(.menu__link--active):hover {
|
|
||||||
background-color: var(--ifm-color-primary);
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] &:not(.menu__link--active):active {
|
|
||||||
background-color: var(--ifm-color-primary-light);
|
|
||||||
color: var(--ifm-color-primary);
|
|
||||||
}
|
|
||||||
|
|
||||||
&.menu__link--sublist {
|
|
||||||
color: var(--ifm-color-primary-dark);
|
|
||||||
padding-right: 2rem;
|
|
||||||
margin-bottom: 0;
|
|
||||||
|
|
||||||
&:active,
|
|
||||||
&:focus {
|
|
||||||
background-color: var(--ifm-color-primary-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: var(--ifm-menu-color-background-hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
html[data-theme="dark"] & {
|
|
||||||
color: var(--ifm-color-primary-light);
|
|
||||||
}
|
|
||||||
html[data-theme="dark"] &:active,
|
|
||||||
html[data-theme="dark"] &:focus,
|
|
||||||
html[data-theme="dark"] &:hover {
|
|
||||||
color: var(--ifm-color-primary-light);
|
|
||||||
background-color: var(--ifm-color-primary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&--sublist {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&--sublist::after {
|
|
||||||
margin-left: auto;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* docsearch */
|
/* docsearch */
|
||||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 6.6 KiB |
@ -1,66 +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 from 'react';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import {translate} from '@docusaurus/Translate';
|
|
||||||
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
||||||
import './styles.css';
|
|
||||||
import styles from './styles.module.css';
|
|
||||||
import AnchorIcon from "./anchor.svg"
|
|
||||||
|
|
||||||
export const MainHeading = function MainHeading({...props}) {
|
|
||||||
return (
|
|
||||||
<header>
|
|
||||||
<h1
|
|
||||||
{...props}
|
|
||||||
id={undefined} // h1 headings do not need an id because they don't appear in the TOC
|
|
||||||
>
|
|
||||||
{props.children}
|
|
||||||
</h1>
|
|
||||||
</header>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const createAnchorHeading = (Tag) =>
|
|
||||||
function TargetComponent({id, ...props}) {
|
|
||||||
const {
|
|
||||||
navbar: {hideOnScroll},
|
|
||||||
} = useThemeConfig();
|
|
||||||
|
|
||||||
if (!id) {
|
|
||||||
return <Tag {...props} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Tag
|
|
||||||
{...props}
|
|
||||||
className={clsx('anchor', {
|
|
||||||
[styles.anchorWithHideOnScrollNavbar]: hideOnScroll,
|
|
||||||
[styles.anchorWithStickyNavbar]: !hideOnScroll,
|
|
||||||
})}
|
|
||||||
id={id}>
|
|
||||||
{props.children}
|
|
||||||
<a
|
|
||||||
aria-hidden="true"
|
|
||||||
className="hash-link"
|
|
||||||
href={`#${id}`}
|
|
||||||
title={translate({
|
|
||||||
id: 'theme.common.headingLinkTitle',
|
|
||||||
message: 'Direct link to heading',
|
|
||||||
description: 'Title for link to heading',
|
|
||||||
})}>
|
|
||||||
<AnchorIcon />
|
|
||||||
</a>
|
|
||||||
</Tag>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const Heading = (headingType) => {
|
|
||||||
return headingType === 'h1' ? MainHeading : createAnchorHeading(headingType);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Heading;
|
|
@ -1,21 +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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.hash-link {
|
|
||||||
opacity: 0;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
transition: opacity var(--ifm-transition-fast);
|
|
||||||
}
|
|
||||||
|
|
||||||
.hash-link:before {
|
|
||||||
content: '#';
|
|
||||||
}
|
|
||||||
|
|
||||||
.hash-link:focus,
|
|
||||||
*:hover > .hash-link {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
@ -1,19 +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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
When the navbar is sticky, ensure that on anchor click,
|
|
||||||
the browser does not scroll that anchor behind the navbar
|
|
||||||
See https://twitter.com/JoshWComeau/status/1332015868725891076
|
|
||||||
*/
|
|
||||||
.anchorWithStickyNavbar {
|
|
||||||
scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
.anchorWithHideOnScrollNavbar {
|
|
||||||
scroll-margin-top: 0.5rem;
|
|
||||||
}
|
|
Reference in New Issue
Block a user