chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:17:40 +08:00
commit f1825c8ceb
10096 changed files with 2364182 additions and 0 deletions
+177
View File
@@ -0,0 +1,177 @@
/* Kapa Ask AI button */
#kapa-widget-container figure {
padding: 0 !important;
}
.mantine-Modal-root figure {
padding: 0 !important;
}
.assistant-title {
margin-top: 1em;
}
.container-xl.blurred {
filter: blur(5px);
}
.chat-widget {
position: fixed;
bottom: 10px;
right: 10px;
z-index: 1000;
}
@keyframes jump {
0% {
transform: scale(1);
box-shadow: 0 1px 2px rgba(0,0,0,.15);
}
100% {
transform: scale(1.05);
box-shadow: 0 4px 20px rgba(0,0,0,.1);
}
}
.search-button__wrapper.show ~ .chat-widget {
z-index: 1050;
animation: .4s jump ease infinite alternate;
filter: brightness(1.5);
}
.chat-popup {
display: none;
position: fixed;
top: 20%;
left: 50%;
transform: translate(-50%, -20%);
width: 55%;
height: 75%;
background-color: var(--pst-color-background);
border: 1px solid var(--pst-color-border);
border-radius: 10px;
box-shadow: 0 5px 10px var(--pst-color-shadow);
z-index: 1032;
max-height: 1000px;
overflow: hidden;
padding-bottom: 40px;
}
.chatFooter {
position: absolute;
bottom: 0;
right: 0;
width: 100%;
background-color: var(--pst-color-surface);
}
#openChatBtn {
border: 1px solid var(--pst-color-border);
background-color: var(--pst-color-surface);
color: var(--pst-color-text-base);
width: 70px;
height: 70px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
}
#closeChatBtn {
border: none;
background-color: transparent;
color: var(--pst-color-text-base);
font-size: 1.2em;
}
#closeChatBtn:hover {
color: var(--pst-color-link-hover);
}
#searchBar {
border: 1px solid var(--pst-color-border);
background-color: var(--pst-color-surface);
margin: 0em 1em 0em 0em;
border-radius: 4px;
color: var(--pst-color-text-base);
}
.chatHeader {
display: flex;
justify-content: space-between;
align-items: center;
padding: .5rem;
}
.chatHeader > .header-wrapper {
text-align: center;
width: 100%;
}
.chatContentContainer {
padding: 15px;
max-height: calc(100% - 100px);
overflow-y: auto;
}
.chatContentContainer input {
margin-top: 10px;
margin-bottom: 10px;
}
hr {
border: none;
height: 1px;
/* Set the hr color */
color: #333; /* old IE */
background-color: #333; /* Modern Browsers */
}
#result * {
overflow-anchor: none;
}
#anchor {
overflow-anchor: auto;
height: 1px;
}
#result {
padding: 15px;
border-radius: 10px;
margin-top: 10px;
margin-bottom: 10px;
background-color: var(--pst-color-surface);
max-height: 50vh; /* Ensure the result area does not take too much vertical space */
overflow-y: auto;
}
.chatContentContainer textarea {
flex-grow: 1;
min-width: 50px;
max-height: 40px;
resize: none;
}
#searchBtn {
white-space: nowrap;
border-radius: 4px;
}
.input-group {
display: flex;
align-items: stretch;
}
#blurDiv {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
backdrop-filter: blur(5px);
z-index: 1031;
}
#blurDiv.blurDiv-hidden {
display: none !important;
}
+78
View File
@@ -0,0 +1,78 @@
/* CSAT widgets */
#csat-inputs {
display: flex;
flex-direction: row;
align-items: center;
}
.csat-hidden {
display: none !important;
}
#csat-feedback-label {
color: var(--pst-color-text-base);
font-weight: 500;
}
.csat-button {
margin-left: 16px;
padding: 8px 16px 8px 16px;
border-radius: 4px;
border: 1px solid var(--pst-color-border);
background: var(--pst-color-background);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
cursor: pointer;
width: 85px;
}
#csat-textarea-group {
display: flex;
flex-direction: column;
}
#csat-submit {
margin-left: auto;
font-weight: 700;
border: none;
margin-top: 12px;
cursor: pointer;
}
#csat-feedback-received {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.csat-button-active {
border: 1px solid var(--pst-color-border);
}
.csat-icon {
margin-right: 4px;
}
#csat {
padding: 1em;
min-width: 60%;
}
#csat-textarea {
resize: none;
background-color: var(--pst-color-on-background);
border: 1px solid var(--pst-color-border);
border-radius: 4px;
color: var(--pst-color-text-base);
}
#csat-textarea::placeholder {
color: var(--pst-color-text-base);
}
.csat-icon > path {
fill: var(--pst-color-text-base);
}
+451
View File
@@ -0,0 +1,451 @@
/* Override default colors used in the Sphinx theme. See
* https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/styling.html#css-theme-variables
* for more information. `important!` is needed below to override
* dark/light theme specific values, which normally take precedence over the PST defaults.
* */
html {
--anyscale-blue: #0066FF;
--ray-blue: #02A0CF; /* Ray blue color - use this for all ray branding */
--pst-color-primary: var(--ray-blue) !important;
--pst-color-inline-code-links: var(--ray-blue) !important;
/* Transparent highlight color; default yellow is hard on the eyes */
--pst-color-target: #ffffff00 !important;
--color-diff-delete-bg: rgba(212, 118, 22, 0.3);
--color-diff-insert-bg: rgba(56, 139, 253, 0.3);
--color-diff-nochange-bg: rgba(0, 0, 0, 0);
--pst-font-family-base: 'Inter', sans-serif;
--stata-dark-background: #232629;
}
html[data-theme='dark'] {
--pst-color-background: #161a1d;
--pst-color-on-background: #1d2125;
--pst-color-text-base: #f1f2f4;
--pst-color-text-muted: #b3b9c4;
--pst-color-border: #2c333a;
--bs-body-color: #f1f2f4;
--heading-color: #ffffff;
--base-pygments-code-color: #cccccc;
--pst-color-link-hover: #cce0ff;
--anyscale-border-color: #f1f2f4;
}
html[data-theme='light'] {
--pst-color-background: #ffffff;
--pst-color-on-background: #ffffff;
--pst-color-text-base: #22272b;
--pst-color-text-muted: #454f59;
--pst-color-border: #dcdfe4;
--heading-color: #161a1d;
--base-pygments-code-color: #cccccc;
--pst-color-link-hover: #09326c;
--anyscale-border-color: #161a1d;
}
nav.bd-links li > a:hover {
text-decoration: none;
}
a:hover {
text-decoration-thickness: unset;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: var(--heading-color);
}
/* Gradient ellipse background */
.bd-sidebar-secondary {
background-color: transparent;
}
.bd-content:after {
/* Commenting the code below to make more modifications after 2.10 release */
/* background: linear-gradient(
60deg,
rgba(0, 85, 204, 0.18) 14%,
rgba(110, 93, 198, 0.18) 49.2%,
rgba(174, 71, 135, 0.18) 81.54%
); */
background-size: 746px 746px;
background-repeat: no-repeat;
background-position: center;
border-radius: 373px;
background-origin: 50%;
background-attachment: scroll;
content: '';
transform: translate(50%, 0%);
width: 746px;
height: 746px;
position: absolute;
filter: blur(100px);
z-index: -1;
}
/* Pygments diff code cell line colors; match github colorblind theme */
div.highlight > pre > span.gd {
background-color: var(--color-diff-delete-bg);
}
div.highlight > pre > span.gi {
background-color: var(--color-diff-insert-bg);
}
div.highlight > pre > span.w {
background-color: var(--color-diff-nochange-bg);
}
/* Fix some pygments styles that inadvertently get overridden by PST */
.highlight pre {
background-color: var(--stata-dark-background);
color: var(--base-pygments-code-color);
}
/* Make the article content take up all available space */
.bd-main .bd-content .bd-article-container {
max-width: 100%; /* default is 60em */
}
.bd-page-width {
max-width: 100%; /* default is 88rem */
}
/* Hide the "Hide Search Matches" button (we aren't highlighting search terms anyway) */
#searchbox {
display: none;
}
/* Top navbar styling */
.navbar-toplevel p {
margin: 0;
padding-inline-start: 0;
}
.ref-container > p {
height: 100%;
}
div.navbar-dropdown {
display: none;
position: relative;
left: -50%;
color: var(--pst-color-text-muted);
}
span.navbar-link-title {
color: var(--pst-color-text-base);
}
.navbar-sublevel p a.reference {
text-decoration: none;
color: var(--pst-color-text-muted);
}
.navbar-sublevel p a.reference:hover > span.navbar-link-title {
text-decoration: underline;
color: var(--pst-color-link-hover);
}
.navbar-toplevel li {
display: inline-flex;
justify-content: center;
align-items: center;
height: 100%;
padding: 0em 1em;
}
ul.navbar-toplevel li:hover > div.navbar-dropdown {
display: block;
}
ul.navbar-toplevel {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 0;
height: 100%;
padding-left: 0;
}
.navbar-content ul.navbar-sublevel {
position: absolute;
background: var(--pst-color-on-background);
white-space: pre;
padding: 0em 1em;
display: flex;
flex-direction: column;
align-items: baseline;
box-shadow: 0 5px 15px 0 rgb(0 0 0 / 10%);
}
div.navbar-content a {
display: flex;
flex-direction: column;
align-items: start;
white-space: pre;
justify-content: center;
/* pydata-sphinx-theme 0.14's `.navbar-nav li a { height: 100% }` was
scoped to `ul.navbar-nav li a` in 0.17, which no longer matches our
`<nav class="navbar-nav">`. Without height: 100% on <a>, the <a>
shrinks to text height (~26px) inside its 64px-tall <p> parent,
leaving the link text top-aligned in the navbar and the chevron
(which is centered on the .ref-container) visually below the text.
Restoring height: 100% lets justify-content: center vertically
center the text in the full-height anchor. */
height: 100%;
}
div.navbar-content {
height: 100%;
}
nav.navbar-nav {
height: 100%;
}
.ref-container {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 0.5em;
height: 100%;
}
/* Highlight active nav bar link */
li.active-link {
font-weight: bold;
}
.navbar-header-items__end {
/* Prevent the anyscale button from wrapping */
flex-flow: nowrap !important;
}
.navbar {
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.08);
}
/* Set the first .navbar-persistent--mobile element to have auto left margin */
.navbar-persistent--mobile {
margin-left: auto;
}
/* Set any .navbar-persistent--mobile preceeded by a .navbar-persistent--mobile to have */
/* a 1em left margin */
.navbar-persistent--mobile ~ .navbar-persistent--mobile {
margin-left: 1em;
}
/* Disable underline for hovered links in the nav bar */
.navbar-nav li a:hover {
text-decoration: none;
}
/* pydata-sphinx-theme 0.17 stopped removing text-decoration on
<a class="reference internal"> inside the top navbar (the rule it
ships now only matches <a class="nav-link">). Re-add it for our
reference-internal anchors. */
.navbar-toplevel a.reference {
text-decoration: none;
}
/* pydata-sphinx-theme 0.17 stopped hiding the sidebar-header-items__title
element (Ray's navbar-links.html template emits "Site Navigation" as
a screen-reader heading). Hide it in the header context — it still
renders in the actual sidebar drawer where the heading is useful. */
.navbar-header-items .sidebar-header-items__title {
display: none;
}
.navbar-header-items {
padding-left: 0;
}
/* Ray logo */
.navbar-brand.logo > svg {
width: 120px;
}
.navbar-brand.logo > svg path#ray-text {
fill: var(--pst-color-text-base);
}
/* Anyscale branding */
#try-anyscale-text {
color: var(--pst-color-text-base);
border-radius: 2px;
white-space: nowrap;
padding: 0px 12px;
height: 40px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 1em;
border: 1px solid var(--anyscale-border-color);
}
#try-anyscale-href {
text-decoration: none;
}
/* Remove margin for the release header in the sidebar, otherwise it's too much space */
#release-header {
margin: 0;
}
/* Center the Ray release header in the sidebar */
div.sidebar-primary-item:nth-child(1) {
display: flex;
flex-direction: row;
justify-content: center;
}
/* Center the search button in the sidebar */
div.sidebar-primary-item:nth-child(2) {
display: flex;
flex-direction: row;
justify-content: center;
}
/* Disable the "Back to top" button that appears if you scroll down */
button#pst-back-to-top {
display: none !important;
}
.bottom-right-promo-banner {
position: fixed;
bottom: 100px;
right: 20px;
width: 270px;
}
@media (max-width: 1500px) {
.bottom-right-promo-banner {
display: none;
}
}
/* Nav sidebar styles */
.bd-sidebar-primary {
width: 280px;
padding: 2em 2em 0em 2em;
}
/* Make sidebar take up full primary sidebar gutter, but don't wrap content */
#main-sidebar {
width: 100%;
}
nav.bd-links li > a {
color: var(--pst-color-text-base);
}
/* Sidebar checkboxes are toggled by clicking on the label; hide actual checkboxes */
.toctree-checkbox[type='checkbox']:checked ~ ul > li.current-page:before {
background-color: var(--ray-blue);
border-radius: 0.5px;
}
.toctree-checkbox[type='checkbox']:checked ~ ul > li:before {
content: '';
width: 1px;
height: 100%;
position: absolute;
background-color: var(--pst-color-border);
}
/* Highlight and bold the primary sidebar entry for the current page */
#main-sidebar li.current-page > a {
color: var(--ray-blue) !important;
font-weight: 600;
}
/* Bold the top level primary sidebar links */
#main-sidebar > .navbar-nav > .nav.bd-sidenav > li > a {
font-weight: 500;
}
/* Fix some spacing issues associated with competition with PST styles */
.sidebar-content dl {
margin-bottom: 0;
}
.sidebar-content ol li > p:first-child,
ul li > p:first-child {
margin-top: 0 !important;
}
/* Set autosummary API docs to have fixed two-col format, with alternating different background
* on rows */
table.autosummary {
table-layout: fixed;
}
table.autosummary .row-odd {
background-color: var(--pst-color-surface);
}
/* Ensure that long function names get elided and show ellipses to not overflow their bounding boxes */
table.autosummary tr > td:first-child > p > a > code {
max-width: 100%;
width: fit-content;
display: block;
}
table.autosummary tr > td:first-child > p > a > code > span {
display: block;
overflow: clip;
text-overflow: ellipsis;
}
/* RTD footer container makes the parent */
/* #main-sidebar always scrollable if you don't remove negative margin. */
/* Restrict width to 30% of the window */
.bd-sidebar-primary div#rtd-footer-container {
margin: unset;
max-width: 30vw;
}
.query-param-ref-wrapper {
display: flex;
justify-content: center;
align-items: center;
border: 1px solid var(--pst-color-border);
border-radius: 8px;
}
.query-param-ref-wrapper p {
margin: 0;
}
/* Styles for tables in example pages */
.table.example-table {
table-layout: fixed;
}
.table.example-table th:first-child {
width: 30%;
}
/* pydata-sphinx-theme 0.14 painted the announcement banner background via
an absolutely-positioned `::after` pseudo-element. 0.17 replaced that
with `background-color: var(--pst-color-secondary-bg)` directly on
`.bd-header-announcement`, so the `::after` rule is now a no-op and
pydata's default secondary-bg paints the banner lavender. Set the
background directly on the element to keep Ray's teal. */
.bd-header-announcement {
color: var(--pst-color-light);
background-color: var(--ray-blue);
}
.bd-header-announcement a {
color: var(--pst-color-light);
text-decoration: underline;
}
/* Prevent the PyData theme Version Switcher from getting too large */
.version-switcher__menu {
max-height: 40rem;
overflow-y: scroll;
}
/* Right align the version switcher dropdown menu to prevent it from going off screen */
.version-switcher__menu[data-bs-popper] {
right: 0;
left: unset;
}
/* Hide the RTD version switcher since we are using PyData theme one */
readthedocs-flyout {
display: none !important;
}
/* Styling the experimental Anyscale upsell CTA */
.anyscale-cta {
margin-bottom: 16px;
}
/* Prevent text wrapping around left-aligned images on ultra-wide screens */
@media (min-width: 1600px) {
.bd-content .align-left,
.bd-content .figure.align-left,
.bd-content img.align-left {
float: none !important;
display: block;
clear: both;
margin-left: 0 !important;
margin-right: 0 !important;
}
}
@@ -0,0 +1,13 @@
#close-banner {
background: none;
border: none;
color: inherit;
font-size: 1.2em;
cursor: pointer;
padding: 0 5px;
border-radius: 3px;
transition: background-color 0.2s ease;
position: absolute;
top: 8px;
right: 12px;
}
+259
View File
@@ -0,0 +1,259 @@
html {
--remix-icon-color: #ffffff;
}
html[data-theme='dark'] {
--example-color: color-mix(in srgb, #ffffff, transparent 90%);
}
html[data-theme='light'] {
--example-color: #ffffff;
}
#examples-search-input-label {
height: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
#examples-search-icon {
fill: var(--pst-color-text-base);
margin: 0em 1em;
}
#examples-search-input {
width: 100%;
color: var(--pst-color-text-base);
border: none;
background-color: transparent;
}
#examples-search-input:focus-visible {
outline: none;
}
#examples-search-input::placeholder {
color: var(--pst-color-text-muted);
opacity: 1;
}
#no-matches {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
#no-matches-inner-content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
#no-matches.hidden,
.gallery-item.hidden {
display: none !important;
}
.examples-search-area {
display: flex;
flex-direction: row;
padding: 0.75em 0em;
border: 1px solid var(--pst-color-border);
border-radius: 4px;
background: var(--pst-color-background);
}
.content {
display: flex;
flex-direction: column;
width: 70%;
justify-content: center;
}
.content-wrapper {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.example-tags {
color: var(--pst-color-text-muted);
text-transform: uppercase;
}
.example-list-area {
display: grid;
grid-template-columns: 1fr;
gap: 2em;
}
@media (min-width: 960px) {
.example-list-area {
grid-template-columns: 1fr 1fr;
}
}
.example-text-area {
display: flex;
flex-direction: column;
}
#dropdown-area {
display: flex;
flex-direction: row;
gap: 2em;
margin: 1.5em 0em 2.5em 0em;
}
.filter-dropdown {
border: 1px solid var(--dropdown-border-color);
border-radius: 4px;
}
.dropdown-checkbox {
display: none;
padding: 0.5em 1.5em;
}
.dropdown-label {
user-select: none;
border: 1px solid var(--pst-color-border);
border-radius: 4px;
padding: 0.5em 1em;
display: flex;
flex-direction: row;
align-items: center;
gap: 1em;
}
/* When the dropdown is exposed, highlight the background of the parent div label */
.dropdown-checkbox[type='checkbox']:checked ~ .dropdown-label {
background-color: var(--pst-color-on-background);
}
.dropdown-content {
display: none;
position: absolute;
background: var(--pst-color-on-background);
padding: 0.5em 1em;
border: 1px solid var(--pst-color-border);
border-radius: 4px;
flex-direction: column;
gap: 1em;
z-index: 1;
}
/* Show dropdown when the checkbox is clicked */
.dropdown-checkbox[type='checkbox']:checked ~ .dropdown-content {
display: flex !important;
}
/* Checkboxes */
.checkbox-container {
display: block;
position: relative;
padding-left: 35px;
cursor: pointer;
user-select: none;
}
.checkbox-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 25px;
width: 25px;
/* Color of an empty checkbox square */
background-color: var(--pst-color-surface);
}
.checkbox-container input:checked ~ .checkmark {
/* Color of checkbox when checked */
background-color: var(--pst-color-primary-highlight);
}
.checkbox-container input:checked ~ .checkmark:after {
display: block;
}
.checkmark:after {
content: '';
position: absolute;
display: none;
}
.checkbox-container .checkmark:after {
left: 10px;
top: 6px;
width: 6px;
height: 12px;
border: solid var(--pst-color-border);
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
.example.hidden {
display: none;
}
.example-icon-area {
width: 70px;
height: 70px;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.example-icon {
border-radius: 10px !important; /* Competes against pydata-sphinx-theme img styles */
background-color: transparent !important; /* Competes against pydata-sphinx-theme img styles */
min-width: 75px;
min-height: 75px;
}
.remix-icon {
position: absolute;
font-size: 28px;
color: var(--remix-icon-color);
}
.example-link {
color: var(--pst-color-text-base) !important;
text-decoration: none;
display: flex;
flex-direction: row;
gap: 1em;
align-items: center;
padding: 1em;
}
.example {
border-radius: 4px;
background-color: color-mix(
in srgb,
var(--pst-color-on-background) 70%,
transparent
);
box-shadow: 0px 4px 15px color-mix(in srgb, black 5%, transparent);
}
.example-other-keywords {
display: none;
}
.community-text {
color: var(--pst-color-text-muted);
}
.community-emojis {
padding-left: 0.5em;
}
+292
View File
@@ -0,0 +1,292 @@
html[data-theme='dark'] {
--community-box-color: var(--pst-color-surface);
}
html[data-theme='light'] {
--community-box-color: var(--pst-color-background);
}
.main-content {
display: flex;
flex-direction: column;
padding: 0em 5em;
}
.centered-heading {
display: flex;
flex-direction: column;
align-items: center;
padding-bottom: 2em;
}
.centered-heading > p {
font-weight: 400;
}
.clicky-tab-side-by-side {
display: flex;
flex-direction: row;
gap: 1em;
}
/* Area which contains all the tab selector labels */
.tab-selector {
width: 30%;
min-width: 30%;
}
/* Area which contains all the tab panes */
.tab-area {
flex-grow: 1;
overflow-x: auto;
box-shadow: 0px 6px 30px 5px var(--pst-color-shadow);
}
.tab-pane {
border-radius: 4px;
user-select: none;
}
.tab-pane-links {
display: flex;
flex-direction: row;
gap: 1em;
padding: 1em;
background: var(--pst-color-surface);
border-radius: 0px 0px 4px 4px;
font-size: 14px;
}
.tab-pane-links > a:not(:first-child) {
border-left: 1px solid var(--pst-color-border);
padding-left: 1em;
}
.tab-pane pre {
margin: 0;
padding: 0.5em 1em;
overflow-y: auto;
animation: fadeEffect 1s; /* Fading effect takes 1 second */
border: none;
}
.tab-pane .highlight {
border-radius: 4px 4px 0px 0px;
height: 14em;
}
/* Go from zero to full opacity */
@keyframes fadeEffect {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.header-button-icon {
fill: var(--pst-color-text-base);
width: 17px;
height: 20px;
min-width: 17px;
min-height: 20px;
}
.card-row {
display: flex;
flex-direction: row;
gap: 1em;
}
.link-card {
display: flex;
flex-direction: column;
gap: 0.5em;
flex: 1;
}
.link-card-icon-label {
display: flex;
flex-direction: row;
align-items: center;
gap: 0.5em;
}
.link-card h4 {
margin: 0;
}
.card-text-area {
display: flex;
flex-direction: column;
padding-left: 2.5em;
}
.card-icon {
width: 32px;
height: 32px;
}
.community-box {
border-radius: 4px;
display: flex;
flex-direction: row;
gap: 1em;
box-shadow: 0px 4px 10px 0px var(--pst-color-shadow);
color: var(--pst-color-text-base) !important;
align-items: center;
background: var(--community-box-color);
padding-left: 2em;
overflow: hidden;
}
/* Make remix icons larger */
.community-box i {
font-size: 25px;
}
.community-box p {
margin-top: 1rem;
text-wrap: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.community-box > img {
width: 32px;
height: 32px;
}
.nav-pills {
background-color: var(--pst-color-surface);
padding: 1em;
border-radius: 4px;
justify-content: center;
width: 30%;
gap: 0.5em;
}
.nav-pills .nav-link.active {
background-color: var(--pst-color-background) !important;
box-shadow: 0px 3px 14px 2px var(--pst-color-shadow);
border-radius: 4px;
color: var(--pst-color-text-base);
}
#v-pills-tab > .nav-link:hover {
text-decoration: none;
}
#v-pills-tab > a {
cursor: pointer;
}
#v-pills-tab > .nav-link {
color: var(--pst-color-text-base);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
#v-pills-tabContent .row {
background-color: var(--pst-color-background);
}
#v-pills-tabContent {
box-shadow: 0px 6px 30px 5px var(--pst-color-shadow);
border-radius: 4px;
}
.links-grid-wrapper {
display: flex;
flex-direction: column;
}
.links-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 2em;
}
.links-grid > h4 {
margin: 0;
}
.bd-article {
padding: 0;
}
.main-content {
padding: 0em 5em;
}
.heading-buttons {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 2em;
}
.heading-buttons > a {
display: flex;
flex-direction: row;
align-items: center;
padding: 1em 1em 1em 2em;
border-radius: 4px;
background: var(--community-box-color);
color: var(--pst-color-text-base);
font-weight: 500;
text-wrap: nowrap;
box-shadow: 0px 4px 10px 0px var(--pst-color-shadow);
}
.header-button {
display: flex;
flex-direction: row;
gap: 1em;
align-items: center;
justify-content: center;
}
.header-button i {
font-size: 25px;
}
a {
text-decoration: none;
}
h1 {
font-weight: bold;
}
.card-icon svg {
width: 32px;
height: 32px;
}
.card-icon path {
stroke: var(--pst-color-link);
}
#link-card-icon-filled {
fill: var(--pst-color-link);
}
h1 {
font-weight: 600;
}
h3 {
margin-bottom: 1em;
margin-top: 4em;
}
h4 {
font-size: 16px;
font-weight: 500;
}
.links-grid b {
font-size: 18px;
font-weight: 600;
}
+12
View File
@@ -0,0 +1,12 @@
.sd-card.body {
display: flex;
flex-direction: column;
}
.sd-card-body > figure {
height: 10em;
}
.card-figure {
object-fit: contain;
width: 100%;
height: 100%;
}
+14
View File
@@ -0,0 +1,14 @@
#train-logo > #train-logo-icon > path, #train-logo > #train-logo-icon > circle {
stroke: var(--ray-blue);
stroke-width: 10;
fill: transparent;
}
#train-logo > #train-logo-text {
stroke: var(--pst-color-text-base);
fill: var(--pst-color-text-base);
}
#train-logo {
margin: 3em 0em;
}
+108
View File
@@ -0,0 +1,108 @@
/**
* termynal.js
*
* @author Ines Montani <ines@ines.io>
* @version 0.0.1
* @license MIT
*/
:root {
--color-bg: #252a33;
--color-text: #eee;
--color-text-subtle: #a2a2a2;
}
[data-termynal] {
width: auto;
max-width: 100%;
background: var(--color-bg);
color: var(--color-text);
font-size: 18px;
font-family: 'Fira Mono', Consolas, Menlo, Monaco, 'Courier New', Courier, monospace;
border-radius: 4px;
padding: 75px 45px 35px;
position: relative;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
[data-termynal]:before {
content: '';
position: absolute;
top: 15px;
left: 15px;
display: inline-block;
width: 15px;
height: 15px;
border-radius: 50%;
/* A little hack to display the window buttons in one pseudo element. */
background: #d9515d;
-webkit-box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
}
[data-termynal]:after {
content: 'bash';
position: absolute;
color: var(--color-text-subtle);
top: 5px;
left: 0;
width: 100%;
text-align: center;
}
[data-ty] {
display: block;
line-height: 2;
}
[data-ty]:before {
/* Set up defaults and ensure empty lines are displayed. */
content: '';
display: inline-block;
vertical-align: middle;
}
[data-ty="input"]:before,
[data-ty-prompt]:before {
margin-right: 0.75em;
color: var(--color-text-subtle);
}
[data-ty="input"]:before {
content: '$';
}
[data-ty][data-ty-prompt]:before {
content: attr(data-ty-prompt);
}
[data-ty-cursor]:after {
content: attr(data-ty-cursor);
font-family: monospace;
margin-left: 0.5em;
-webkit-animation: blink 1s infinite;
animation: blink 1s infinite;
}
a[data-terminal-control] {
text-align: right;
display: block;
color: #aebbff;
}
/* Cursor animation */
@-webkit-keyframes blink {
50% {
opacity: 0;
}
}
@keyframes blink {
50% {
opacity: 0;
}
}
+15
View File
@@ -0,0 +1,15 @@
.example-gallery-link {
padding: 1em 2em 1em 2em;
text-decoration: none !important;
color: var(--pst-color-text-base);
display: flex;
align-items: center;
}
svg.star-icon path.star-icon-path {
fill: var(--pst-color-text-base);
}
svg.star-icon {
margin-right: 1em;
}