mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-23 21:48:22 +08:00
* docs: improve sidebar and TOC readability + scroll progress - Fix left nav sidebar hugging the left edge (remove margin-left) - Increase sidebar font sizes and lift muted colors for legibility - TOC right-side: white inactive items, pink active, gray for passed sections - Add clientModule (tocProgress.js) to track scroll progress in TOC - Add Redocusaurus API page styles to match site theme Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: fix sidebar/TOC height stability and active item reflow - Force sidebarViewport to 100vh to prevent shrinking during scroll - Replace font-weight on active TOC item with text-shadow to avoid reflow * docs: left-anchor sidebar and increase fonts on large screens * docs: constrain prev/next nav to match content max-width * docs: fix sidebar jump on scroll by moving padding-top inside menu * docs: fix sidebar-ad spacing with transparent padding on li * docs: fix sidebarViewport height and MutationObserver leak * docs: constrain doc content to 75vw and remove dead CSS comments - Cap docMainContainer at 75vw - Set pagination-nav to 100% width to match content column - Remove commented-out .markdown and .ch-scrollycoding blocks * docs: set docMainContainer max-width to 75% for better reading width * docs: center main-wrapper on large screens and center docItemWrapper * fix: revert lodash override to stable 4.17.21 lodash 4.18.0 is a broken release — template.js uses assignWith and arrayEach without importing them, crashing npm start. Pin to 4.17.21 across all nested overrides. * fix: prevent horizontal scroll on mobile docs pages docsWrapper has flex:1 0 auto (flex-shrink:0), so it never shrinks below the natural content width (~570px on iPhone). Cap it to 100vw and add min-width:0 down the flex chain (docRoot, docMainContainer) so the layout stays within viewport on narrow screens. Also remove the overflow:visible override from ch-code-wrapper, which was defeating the code block's own horizontal containment. * feat: responsive navbar search and hide social icons on mobile Shrink search bar as viewport narrows (160px at 1100px, 100px at 996px), collapse to icon-only at 960px. Hide GitHub, X, and Discord icons below 996px where the hamburger menu takes over navigation. * fix: images always respect container width above 996px Use min(100%, 600px) so images are capped at 600px but never overflow their container when the content area is narrower (e.g. sidebar open). * fix: improve TOC progress scroll tracking and bottom-of-page detection Adds scroll handler with RAF throttle, pauses/resumes MutationObserver to avoid loops, and forces last TOC link active when scrolled to page bottom. * fix: translate Portuguese comments to English in custom.css * fix: sidebar viewport fills full screen height * feat: sidebar section icon turns pink with ease transition when active * fix: reduce TOC font size to 0.8rem * fix: remove docMainContainer right padding and add 48px gap to content col * fix: card header responsive alignment and title margin reset * fix: darken card background and active sidebar item bg on light theme * fix: revert TOC colors and add inline code border radius tweak * fix: minimal scrollbar for sidebar and TOC — thumb only on hover * fix: scrollbar fade-in/out transition at 0.25s ease * feat: add rehype plugin for table column wrapping and centering Inserts zero-width space after underscores in inline code cells so long env-var names wrap at underscore boundaries. Also centers Format/Default columns via a col-center class applied at build time. * fix: use --ifm-heading-color for sidebar group labels in both themes * refactor: split docs custom.css into themed partials Breaks the 1,658-line monolithic custom.css into 8 focused files (tokens, layout, navbar, sidebar, typography, components, code, redocusaurus). custom.css is now a thin entry point with @imports. * fix: align sidebar and navbar with shared --docs-gutter token Introduces --docs-gutter: 1rem in tokens.css and applies it to both navbar__inner horizontal padding and sidebar nav.menu padding-left, keeping the Langflow logo and sidebar items visually aligned. * fix: match sidebar ad background to page background color Dark mode uses #111 (same as sidebar bg); light mode uses --ifm-background-color. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
202 lines
3.9 KiB
CSS
202 lines
3.9 KiB
CSS
p {
|
|
text-align: start;
|
|
}
|
|
|
|
body {
|
|
font-size: 16px;
|
|
}
|
|
|
|
/* Typography */
|
|
.markdown h1 {
|
|
font-size: 2.25rem; /* 36px */
|
|
font-weight: 700;
|
|
line-height: 1.25;
|
|
letter-spacing: -0.02em;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
.markdown h2 {
|
|
font-size: 1.5rem; /* 24px */
|
|
font-weight: 650;
|
|
line-height: 1.35;
|
|
letter-spacing: -0.01em;
|
|
margin-top: 2rem;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
.markdown h3 {
|
|
font-size: 1.25rem; /* 20px */
|
|
font-weight: 650;
|
|
line-height: 1.4;
|
|
margin-top: 1.75rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.markdown h4 {
|
|
font-size: 1.125rem; /* 18px */
|
|
font-weight: 650;
|
|
line-height: 1.45;
|
|
margin-top: 1.25rem;
|
|
margin-bottom: 0.4rem;
|
|
}
|
|
|
|
.docsearch-logo {
|
|
color: #21243d;
|
|
}
|
|
|
|
.apply-button:hover {
|
|
color: #fff;
|
|
}
|
|
|
|
/*
|
|
* Inline Lucide icons in body copy (<Icon /> in MDX).
|
|
* Default lucide-react size is 24px, which reads huge next to Geist body text.
|
|
* Scale to the font (and keep card / explicit sizes overridable below).
|
|
*/
|
|
.markdown p svg.lf-inline-icon,
|
|
.markdown li svg.lf-inline-icon,
|
|
.markdown td svg.lf-inline-icon,
|
|
.markdown th svg.lf-inline-icon,
|
|
.markdown blockquote svg.lf-inline-icon {
|
|
width: 1em !important;
|
|
height: 1em !important;
|
|
min-width: 0.875em;
|
|
min-height: 0.875em;
|
|
vertical-align: -0.14em;
|
|
}
|
|
|
|
/* Card grid: keep icons tied to card title scale, not body 1em */
|
|
.lf-card-icon svg.lf-inline-icon {
|
|
width: 1.25rem !important;
|
|
height: 1.25rem !important;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
/* Images */
|
|
.image-rendering-crisp {
|
|
image-rendering: crisp-edges;
|
|
|
|
/* alias for google chrome */
|
|
image-rendering: -webkit-optimize-contrast;
|
|
}
|
|
|
|
.image-rendering-pixel {
|
|
image-rendering: pixelated;
|
|
}
|
|
|
|
.img-center {
|
|
display: flex;
|
|
justify-content: center;
|
|
width: 100%;
|
|
}
|
|
|
|
/* Add comprehensive image control */
|
|
.markdown img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
display: block;
|
|
margin: 1rem auto;
|
|
max-height: 600px;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* Default size for most images — min() ensures container is always respected */
|
|
.markdown img:not(.resized-image) {
|
|
max-width: min(100%, 600px);
|
|
width: auto;
|
|
}
|
|
|
|
.resized-image {
|
|
width: 300px;
|
|
max-height: 500px;
|
|
}
|
|
|
|
/* Responsive images on mobile devices */
|
|
@media (max-width: 768px) {
|
|
.markdown img:not(.resized-image) {
|
|
max-width: 100%;
|
|
max-height: 500px;
|
|
}
|
|
|
|
.resized-image {
|
|
width: 100%;
|
|
max-width: 300px;
|
|
max-height: 400px;
|
|
}
|
|
}
|
|
|
|
/* Component details styling */
|
|
.markdown details {
|
|
width: 100%;
|
|
background: var(--ifm-background-color);
|
|
border: 1px solid var(--ifm-color-emphasis-300);
|
|
border-radius: var(--ifm-global-radius);
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.markdown details summary {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5em;
|
|
list-style: none;
|
|
outline: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.markdown details summary:focus-visible {
|
|
outline: 2px solid var(--ifm-color-primary, #a855f7);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
.markdown details [class^="collapsibleContent"] {
|
|
border-top: none !important;
|
|
padding: 0;
|
|
}
|
|
|
|
/* Breadcrumbs - Langfuse style */
|
|
.breadcrumbs__link {
|
|
background: none;
|
|
border: none;
|
|
padding: 0;
|
|
font-size: 0.875rem;
|
|
color: #44444d;
|
|
}
|
|
|
|
.breadcrumbs__link:hover {
|
|
background: none;
|
|
color: var(--ifm-color-primary);
|
|
}
|
|
|
|
.breadcrumbs__item--active .breadcrumbs__link {
|
|
background: none;
|
|
color: #2f2f35;
|
|
font-weight: 500;
|
|
}
|
|
|
|
[data-theme="dark"] .breadcrumbs__link {
|
|
color: #c7c7d0;
|
|
}
|
|
|
|
[data-theme="dark"] .breadcrumbs__item--active .breadcrumbs__link {
|
|
color: #e5e5ec;
|
|
}
|
|
|
|
/* Style the native Docusaurus breadcrumb separator */
|
|
.breadcrumbs__item--separator {
|
|
font-size: 0.75rem;
|
|
color: var(--ifm-color-emphasis-400);
|
|
margin: 0 0.25rem;
|
|
opacity: 0.6;
|
|
}
|
|
|
|
/* Center columns whose header matches "Format" or "Default" (class set by rehype plugin) */
|
|
.markdown table td.col-center,
|
|
.markdown table th.col-center {
|
|
text-align: center;
|
|
}
|
|
|
|
/* Left-align text in the Description column (always last, unless it's a centered column) */
|
|
.markdown table td:last-child:not(.col-center) {
|
|
text-align: left;
|
|
}
|