mirror of
https://github.com/open-webui/docs
synced 2025-06-12 01:21:23 +00:00
Merge pull request #122 from hichemfantar/main
setup prettier and local search
This commit is contained in:
commit
66a65b1510
2
.prettierignore
Normal file
2
.prettierignore
Normal file
@ -0,0 +1,2 @@
|
||||
**/*.md
|
||||
**/*.mdx
|
12
.prettierrc.json
Normal file
12
.prettierrc.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"trailingComma": "es5",
|
||||
"tabWidth": 2,
|
||||
"useTabs": true,
|
||||
"singleQuote": false,
|
||||
"semi": true,
|
||||
"bracketSameLine": false,
|
||||
"bracketSpacing": true,
|
||||
"jsxSingleQuote": false,
|
||||
"quoteProps": "as-needed",
|
||||
"endOfLine": "lf"
|
||||
}
|
8
.vscode/extensions.json
vendored
Normal file
8
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"esbenp.prettier-vscode",
|
||||
"davidanson.vscode-markdownlint",
|
||||
"unifiedjs.vscode-mdx",
|
||||
"dbaeumer.vscode-eslint"
|
||||
]
|
||||
}
|
7
.vscode/settings.json
vendored
Normal file
7
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"markdownlint.config": {
|
||||
"no-inline-html": false,
|
||||
"link-image-reference-definitions": false,
|
||||
"fenced-code-language": false
|
||||
}
|
||||
}
|
28
README.md
28
README.md
@ -2,40 +2,40 @@
|
||||
|
||||
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
|
||||
|
||||
### Installation
|
||||
## Installation
|
||||
|
||||
```
|
||||
$ yarn
|
||||
```sh
|
||||
npm i
|
||||
```
|
||||
|
||||
### Local Development
|
||||
## Local Development
|
||||
|
||||
```
|
||||
$ yarn start
|
||||
```sh
|
||||
npm start
|
||||
```
|
||||
|
||||
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
|
||||
|
||||
### Build
|
||||
## Build
|
||||
|
||||
```
|
||||
$ yarn build
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
This command generates static content into the `build` directory and can be served using any static contents hosting service.
|
||||
|
||||
### Deployment
|
||||
## Deployment
|
||||
|
||||
Using SSH:
|
||||
|
||||
```
|
||||
$ USE_SSH=true yarn deploy
|
||||
```sh
|
||||
USE_SSH=true npm run deploy
|
||||
```
|
||||
|
||||
Not using SSH:
|
||||
|
||||
```
|
||||
$ GIT_USER=<Your GitHub username> yarn deploy
|
||||
```sh
|
||||
GIT_USER=<Your GitHub username> npm run deploy
|
||||
```
|
||||
|
||||
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
|
||||
|
@ -1,3 +1,3 @@
|
||||
module.exports = {
|
||||
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
|
||||
presets: [require.resolve("@docusaurus/core/lib/babel/preset")],
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"label": "📝 Tutorial",
|
||||
"position": 300,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
"label": "📝 Tutorial",
|
||||
"position": 300,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
|
@ -8,158 +8,159 @@ import { themes as prismThemes } from "prism-react-renderer";
|
||||
|
||||
/** @type {import('@docusaurus/types').Config} */
|
||||
const config = {
|
||||
title: "Open WebUI",
|
||||
tagline: "ChatGPT-Style WebUI for LLMs (Formerly Ollama WebUI)",
|
||||
favicon: "img/favicon.png",
|
||||
title: "Open WebUI",
|
||||
tagline: "ChatGPT-Style WebUI for LLMs (Formerly Ollama WebUI)",
|
||||
favicon: "img/favicon.png",
|
||||
|
||||
// Set the production url of your site here
|
||||
url: "https://openwebui.com",
|
||||
// Set the /<baseUrl>/ pathname under which your site is served
|
||||
// For GitHub pages deployment, it is often '/<projectName>/'
|
||||
baseUrl: "/",
|
||||
// Set the production url of your site here
|
||||
url: "https://openwebui.com",
|
||||
// Set the /<baseUrl>/ pathname under which your site is served
|
||||
// For GitHub pages deployment, it is often '/<projectName>/'
|
||||
baseUrl: "/",
|
||||
|
||||
// GitHub pages deployment config.
|
||||
// If you aren't using GitHub pages, you don't need these.
|
||||
organizationName: "open-webui", // Usually your GitHub org/user name.
|
||||
projectName: "docs", // Usually your repo name.
|
||||
// GitHub pages deployment config.
|
||||
// If you aren't using GitHub pages, you don't need these.
|
||||
organizationName: "open-webui", // Usually your GitHub org/user name.
|
||||
projectName: "docs", // Usually your repo name.
|
||||
|
||||
onBrokenLinks: "throw",
|
||||
onBrokenMarkdownLinks: "warn",
|
||||
onBrokenLinks: "throw",
|
||||
onBrokenMarkdownLinks: "warn",
|
||||
|
||||
// Even if you don't use internationalization, you can use this field to set
|
||||
// useful metadata like html lang. For example, if your site is Chinese, you
|
||||
// may want to replace "en" with "zh-Hans".
|
||||
i18n: {
|
||||
defaultLocale: "en",
|
||||
locales: ["en"],
|
||||
},
|
||||
// Even if you don't use internationalization, you can use this field to set
|
||||
// useful metadata like html lang. For example, if your site is Chinese, you
|
||||
// may want to replace "en" with "zh-Hans".
|
||||
i18n: {
|
||||
defaultLocale: "en",
|
||||
locales: ["en"],
|
||||
},
|
||||
|
||||
// Enable Mermaid for diagrams
|
||||
markdown: {
|
||||
mermaid: true,
|
||||
},
|
||||
themes: ["@docusaurus/theme-mermaid"],
|
||||
// Enable Mermaid for diagrams
|
||||
markdown: {
|
||||
mermaid: true,
|
||||
},
|
||||
themes: ["@docusaurus/theme-mermaid"],
|
||||
|
||||
presets: [
|
||||
[
|
||||
"classic",
|
||||
/** @type {import('@docusaurus/preset-classic').Options} */
|
||||
({
|
||||
docs: {
|
||||
sidebarPath: "./sidebars.js",
|
||||
routeBasePath: "/",
|
||||
// Please change this to your repo.
|
||||
// Remove this to remove the "edit this page" links.
|
||||
editUrl: "https://github.com/open-webui/docs/blob/main",
|
||||
},
|
||||
// blog: false,
|
||||
blog: {
|
||||
showReadingTime: true,
|
||||
// Please change this to your repo.
|
||||
// Remove this to remove the "edit this page" links.
|
||||
// editUrl:
|
||||
// "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
|
||||
},
|
||||
theme: {
|
||||
customCss: "./src/css/custom.css",
|
||||
},
|
||||
}),
|
||||
],
|
||||
],
|
||||
presets: [
|
||||
[
|
||||
"classic",
|
||||
/** @type {import('@docusaurus/preset-classic').Options} */
|
||||
({
|
||||
docs: {
|
||||
sidebarPath: "./sidebars.js",
|
||||
routeBasePath: "/",
|
||||
// Please change this to your repo.
|
||||
// Remove this to remove the "edit this page" links.
|
||||
editUrl: "https://github.com/open-webui/docs/blob/main",
|
||||
},
|
||||
// blog: false,
|
||||
blog: {
|
||||
showReadingTime: true,
|
||||
// Please change this to your repo.
|
||||
// Remove this to remove the "edit this page" links.
|
||||
// editUrl:
|
||||
// "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/",
|
||||
},
|
||||
theme: {
|
||||
customCss: "./src/css/custom.css",
|
||||
},
|
||||
}),
|
||||
],
|
||||
],
|
||||
|
||||
themeConfig:
|
||||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||||
({
|
||||
// Replace with your project's social card
|
||||
// image: "img/docusaurus-social-card.jpg",
|
||||
navbar: {
|
||||
title: "Open WebUI",
|
||||
logo: {
|
||||
src: "img/logo.png",
|
||||
srcDark: "img/logo-dark.png",
|
||||
},
|
||||
items: [
|
||||
// {
|
||||
// type: "docSidebar",
|
||||
// sidebarId: "blog",
|
||||
// position: "left",
|
||||
// label: "Blog",
|
||||
// },
|
||||
themeConfig:
|
||||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||||
({
|
||||
// Replace with your project's social card
|
||||
// image: "img/docusaurus-social-card.jpg",
|
||||
navbar: {
|
||||
title: "Open WebUI",
|
||||
logo: {
|
||||
src: "img/logo.png",
|
||||
srcDark: "img/logo-dark.png",
|
||||
},
|
||||
items: [
|
||||
// {
|
||||
// type: "docSidebar",
|
||||
// sidebarId: "blog",
|
||||
// position: "left",
|
||||
// label: "Blog",
|
||||
// },
|
||||
|
||||
// {
|
||||
// href: "/blog",
|
||||
// label: "Blog",
|
||||
// position: "left",
|
||||
// },
|
||||
{
|
||||
href: "https://github.com/open-webui/open-webui",
|
||||
label: "GitHub",
|
||||
position: "right",
|
||||
},
|
||||
],
|
||||
},
|
||||
footer: {
|
||||
logo: {
|
||||
src: "img/logo-dark.png",
|
||||
height: 100,
|
||||
},
|
||||
style: "light",
|
||||
links: [
|
||||
{
|
||||
title: "Docs",
|
||||
items: [
|
||||
{
|
||||
label: "Getting Started",
|
||||
to: "getting-started",
|
||||
},
|
||||
{
|
||||
label: "FAQ",
|
||||
to: "faq",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Community",
|
||||
items: [
|
||||
{
|
||||
label: "GitHub",
|
||||
href: "https://github.com/open-webui/open-webui",
|
||||
},
|
||||
{
|
||||
label: "Discord",
|
||||
href: "https://discord.gg/5rJgQTnV4s",
|
||||
},
|
||||
{
|
||||
label: "Twitter",
|
||||
href: "https://twitter.com/OpenWebUI",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "More",
|
||||
items: [
|
||||
{
|
||||
label: "Release Notes",
|
||||
to: "https://github.com/open-webui/open-webui/blob/main/CHANGELOG.md",
|
||||
},
|
||||
{
|
||||
label: "About",
|
||||
to: "https://openwebui.com",
|
||||
},
|
||||
{
|
||||
label: "Research",
|
||||
to: "research",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
// copyright: `Copyright © ${new Date().getFullYear()} OpenWebUI`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.dracula,
|
||||
},
|
||||
}),
|
||||
// {
|
||||
// href: "/blog",
|
||||
// label: "Blog",
|
||||
// position: "left",
|
||||
// },
|
||||
{
|
||||
href: "https://github.com/open-webui/open-webui",
|
||||
label: "GitHub",
|
||||
position: "right",
|
||||
},
|
||||
],
|
||||
},
|
||||
footer: {
|
||||
logo: {
|
||||
src: "img/logo-dark.png",
|
||||
height: 100,
|
||||
},
|
||||
style: "light",
|
||||
links: [
|
||||
{
|
||||
title: "Docs",
|
||||
items: [
|
||||
{
|
||||
label: "Getting Started",
|
||||
to: "getting-started",
|
||||
},
|
||||
{
|
||||
label: "FAQ",
|
||||
to: "faq",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Community",
|
||||
items: [
|
||||
{
|
||||
label: "GitHub",
|
||||
href: "https://github.com/open-webui/open-webui",
|
||||
},
|
||||
{
|
||||
label: "Discord",
|
||||
href: "https://discord.gg/5rJgQTnV4s",
|
||||
},
|
||||
{
|
||||
label: "Twitter",
|
||||
href: "https://twitter.com/OpenWebUI",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "More",
|
||||
items: [
|
||||
{
|
||||
label: "Release Notes",
|
||||
to: "https://github.com/open-webui/open-webui/blob/main/CHANGELOG.md",
|
||||
},
|
||||
{
|
||||
label: "About",
|
||||
to: "https://openwebui.com",
|
||||
},
|
||||
{
|
||||
label: "Research",
|
||||
to: "research",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
// copyright: `Copyright © ${new Date().getFullYear()} OpenWebUI`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.dracula,
|
||||
},
|
||||
}),
|
||||
plugins: [require.resolve("docusaurus-lunr-search")],
|
||||
};
|
||||
|
||||
export default config;
|
||||
|
33281
package-lock.json
generated
33281
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
95
package.json
95
package.json
@ -1,48 +1,51 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"docusaurus": "docusaurus",
|
||||
"start": "docusaurus start",
|
||||
"build": "docusaurus build",
|
||||
"swizzle": "docusaurus swizzle",
|
||||
"deploy": "docusaurus deploy",
|
||||
"clear": "docusaurus clear",
|
||||
"serve": "docusaurus serve",
|
||||
"write-translations": "docusaurus write-translations",
|
||||
"write-heading-ids": "docusaurus write-heading-ids"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.2.0",
|
||||
"@docusaurus/preset-classic": "^3.2.0",
|
||||
"@docusaurus/theme-mermaid": "^3.2.0",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "^3.2.0",
|
||||
"@docusaurus/types": "^3.2.0",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"postcss": "^8.4.38",
|
||||
"tailwindcss": "^3.4.3"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.5%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 3 chrome version",
|
||||
"last 3 firefox version",
|
||||
"last 5 safari version"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0"
|
||||
}
|
||||
"name": "docs",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"docusaurus": "docusaurus",
|
||||
"start": "docusaurus start",
|
||||
"build": "docusaurus build",
|
||||
"swizzle": "docusaurus swizzle",
|
||||
"deploy": "docusaurus deploy",
|
||||
"clear": "docusaurus clear",
|
||||
"serve": "docusaurus serve",
|
||||
"write-translations": "docusaurus write-translations",
|
||||
"write-heading-ids": "docusaurus write-heading-ids",
|
||||
"prettier": "npx prettier . --write",
|
||||
"mdx-check": "npx docusaurus-mdx-checker"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.2.0",
|
||||
"@docusaurus/preset-classic": "^3.2.0",
|
||||
"@docusaurus/theme-mermaid": "^3.2.0",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
"docusaurus-lunr-search": "^3.4.0",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "^3.2.0",
|
||||
"@docusaurus/types": "^3.2.0",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"postcss": "^8.4.38",
|
||||
"tailwindcss": "^3.4.3"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.5%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 3 chrome version",
|
||||
"last 3 firefox version",
|
||||
"last 5 safari version"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
}
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
};
|
||||
|
@ -13,11 +13,11 @@
|
||||
|
||||
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
|
||||
const sidebars = {
|
||||
// By default, Docusaurus generates a sidebar from the docs folder structure
|
||||
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
|
||||
// By default, Docusaurus generates a sidebar from the docs folder structure
|
||||
tutorialSidebar: [{ type: "autogenerated", dirName: "." }],
|
||||
|
||||
// But you can create a sidebar manually
|
||||
/*
|
||||
// But you can create a sidebar manually
|
||||
/*
|
||||
tutorialSidebar: [
|
||||
'intro',
|
||||
'hello',
|
||||
|
@ -1,64 +0,0 @@
|
||||
import clsx from 'clsx';
|
||||
import Heading from '@theme/Heading';
|
||||
import styles from './styles.module.css';
|
||||
|
||||
const FeatureList = [
|
||||
{
|
||||
title: 'Easy to Use',
|
||||
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
|
||||
description: (
|
||||
<>
|
||||
Docusaurus was designed from the ground up to be easily installed and
|
||||
used to get your website up and running quickly.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: 'Focus on What Matters',
|
||||
Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
|
||||
description: (
|
||||
<>
|
||||
Docusaurus lets you focus on your docs, and we'll do the chores. Go
|
||||
ahead and move your docs into the <code>docs</code> directory.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: 'Powered by React',
|
||||
Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
|
||||
description: (
|
||||
<>
|
||||
Extend or customize your website layout by reusing React. Docusaurus can
|
||||
be extended while reusing the same header and footer.
|
||||
</>
|
||||
),
|
||||
},
|
||||
];
|
||||
|
||||
function Feature({Svg, title, description}) {
|
||||
return (
|
||||
<div className={clsx('col col--4')}>
|
||||
<div className="text--center">
|
||||
<Svg className={styles.featureSvg} role="img" />
|
||||
</div>
|
||||
<div className="text--center padding-horiz--md">
|
||||
<Heading as="h3">{title}</Heading>
|
||||
<p>{description}</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function HomepageFeatures() {
|
||||
return (
|
||||
<section className={styles.features}>
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
{FeatureList.map((props, idx) => (
|
||||
<Feature key={idx} {...props} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
64
src/components/HomepageFeatures/index.jsx
Normal file
64
src/components/HomepageFeatures/index.jsx
Normal file
@ -0,0 +1,64 @@
|
||||
import clsx from "clsx";
|
||||
import Heading from "@theme/Heading";
|
||||
import styles from "./styles.module.css";
|
||||
|
||||
const FeatureList = [
|
||||
{
|
||||
title: "Easy to Use",
|
||||
Svg: require("@site/static/img/undraw_docusaurus_mountain.svg").default,
|
||||
description: (
|
||||
<>
|
||||
Docusaurus was designed from the ground up to be easily installed and
|
||||
used to get your website up and running quickly.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Focus on What Matters",
|
||||
Svg: require("@site/static/img/undraw_docusaurus_tree.svg").default,
|
||||
description: (
|
||||
<>
|
||||
Docusaurus lets you focus on your docs, and we'll do the chores. Go
|
||||
ahead and move your docs into the <code>docs</code> directory.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Powered by React",
|
||||
Svg: require("@site/static/img/undraw_docusaurus_react.svg").default,
|
||||
description: (
|
||||
<>
|
||||
Extend or customize your website layout by reusing React. Docusaurus can
|
||||
be extended while reusing the same header and footer.
|
||||
</>
|
||||
),
|
||||
},
|
||||
];
|
||||
|
||||
function Feature({ Svg, title, description }) {
|
||||
return (
|
||||
<div className={clsx("col col--4")}>
|
||||
<div className="text--center">
|
||||
<Svg className={styles.featureSvg} role="img" />
|
||||
</div>
|
||||
<div className="text--center padding-horiz--md">
|
||||
<Heading as="h3">{title}</Heading>
|
||||
<p>{description}</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function HomepageFeatures() {
|
||||
return (
|
||||
<section className={styles.features}>
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
{FeatureList.map((props, idx) => (
|
||||
<Feature key={idx} {...props} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
.features {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2rem 0;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2rem 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.featureSvg {
|
||||
height: 200px;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
width: 200px;
|
||||
}
|
||||
|
@ -1,21 +0,0 @@
|
||||
import { Sponsor } from "@site/src/components/Sponsors/Sponsor";
|
||||
|
||||
export const SponsorList = () => {
|
||||
const sponsors = [
|
||||
{
|
||||
imgSrc: "/sponsors/sponsor.png",
|
||||
url: "https://openwebui.com",
|
||||
name: "Open WebUI",
|
||||
description:
|
||||
"On a mission to build the best open-source AI user interface.",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className=" flex gap-5 flex-wrap items-center justify-center">
|
||||
{sponsors.map((sponsor) => (
|
||||
<Sponsor sponsor={sponsor} />
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
};
|
21
src/components/SponsorList.jsx
Normal file
21
src/components/SponsorList.jsx
Normal file
@ -0,0 +1,21 @@
|
||||
import { Sponsor } from "@site/src/components/Sponsors/Sponsor";
|
||||
|
||||
export const SponsorList = () => {
|
||||
const sponsors = [
|
||||
{
|
||||
imgSrc: "/sponsors/sponsor.png",
|
||||
url: "https://openwebui.com",
|
||||
name: "Open WebUI",
|
||||
description:
|
||||
"On a mission to build the best open-source AI user interface.",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className=" flex gap-5 flex-wrap items-center justify-center">
|
||||
{sponsors.map((sponsor) => (
|
||||
<Sponsor sponsor={sponsor} />
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
};
|
@ -1,32 +0,0 @@
|
||||
export const Sponsor = ({ sponsor }) => {
|
||||
return (
|
||||
<>
|
||||
<div className="flex flex-col mb-2 ">
|
||||
<div className="text-[0.6rem] text-gray-500 dark:text-gray-400 font-bold underline mb-1.5">
|
||||
<a href={sponsor.url} target="_blank">
|
||||
{sponsor.name}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<a a href={sponsor.url} target="_blank">
|
||||
<div className="flex w-32 md:w-48 gap-2.5 items-start">
|
||||
<div className=" basis-1/2">
|
||||
<img
|
||||
className="rounded-xl "
|
||||
loading="lazy"
|
||||
alt={sponsor.name}
|
||||
src={sponsor.imgSrc}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className=" basis-1/2 flex">
|
||||
<div className=" text-[0.6rem] text-gray-500 dark:text-gray-400 font-bold line-clamp-4 md:line-clamp-5 no-underline">
|
||||
{sponsor.description}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
32
src/components/Sponsors/Sponsor.jsx
Normal file
32
src/components/Sponsors/Sponsor.jsx
Normal file
@ -0,0 +1,32 @@
|
||||
export const Sponsor = ({ sponsor }) => {
|
||||
return (
|
||||
<>
|
||||
<div className="flex flex-col mb-2 ">
|
||||
<div className="text-[0.6rem] text-gray-500 dark:text-gray-400 font-bold underline mb-1.5">
|
||||
<a href={sponsor.url} target="_blank">
|
||||
{sponsor.name}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<a a href={sponsor.url} target="_blank">
|
||||
<div className="flex w-32 md:w-48 gap-2.5 items-start">
|
||||
<div className=" basis-1/2">
|
||||
<img
|
||||
className="rounded-xl "
|
||||
loading="lazy"
|
||||
alt={sponsor.name}
|
||||
src={sponsor.imgSrc}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className=" basis-1/2 flex">
|
||||
<div className=" text-[0.6rem] text-gray-500 dark:text-gray-400 font-bold line-clamp-4 md:line-clamp-5 no-underline">
|
||||
{sponsor.description}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
@ -1,35 +0,0 @@
|
||||
export const TopBanner = ({ items }) => {
|
||||
return (
|
||||
<div className="pb-4">
|
||||
{items.map((item) => (
|
||||
<>
|
||||
<div className="mb-2">
|
||||
<div className="text-xs text-gray-500 dark:text-gray-400 font-bold underline mb-1">
|
||||
Sponsored by {item.name}
|
||||
</div>
|
||||
|
||||
<a href={item.url} target="_blank">
|
||||
<img
|
||||
className="w-full rounded-xl hidden md:block"
|
||||
loading="lazy"
|
||||
alt={item.name}
|
||||
src={item.imgSrc}
|
||||
/>
|
||||
|
||||
<img
|
||||
className="w-full rounded-xl block md:hidden"
|
||||
loading="lazy"
|
||||
alt={item.name}
|
||||
src={item?.mobileImgSrc || item.imgSrc}
|
||||
/>
|
||||
</a>
|
||||
|
||||
<div className="text-right text-[0.6rem] text-gray-500 dark:text-gray-400 font-bold line-clamp-1">
|
||||
{item.description}
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
};
|
35
src/components/Sponsors/TopBanner.jsx
Normal file
35
src/components/Sponsors/TopBanner.jsx
Normal file
@ -0,0 +1,35 @@
|
||||
export const TopBanner = ({ items }) => {
|
||||
return (
|
||||
<div className="pb-4">
|
||||
{items.map((item) => (
|
||||
<>
|
||||
<div className="mb-2">
|
||||
<div className="text-xs text-gray-500 dark:text-gray-400 font-bold underline mb-1">
|
||||
Sponsored by {item.name}
|
||||
</div>
|
||||
|
||||
<a href={item.url} target="_blank">
|
||||
<img
|
||||
className="w-full rounded-xl hidden md:block"
|
||||
loading="lazy"
|
||||
alt={item.name}
|
||||
src={item.imgSrc}
|
||||
/>
|
||||
|
||||
<img
|
||||
className="w-full rounded-xl block md:hidden"
|
||||
loading="lazy"
|
||||
alt={item.name}
|
||||
src={item?.mobileImgSrc || item.imgSrc}
|
||||
/>
|
||||
</a>
|
||||
|
||||
<div className="text-right text-[0.6rem] text-gray-500 dark:text-gray-400 font-bold line-clamp-1">
|
||||
{item.description}
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
};
|
@ -1,43 +0,0 @@
|
||||
import { TopBanner } from "@site/src/components/Sponsors/TopBanner";
|
||||
|
||||
export const TopBanners = () => {
|
||||
const items = [
|
||||
{
|
||||
imgSrc: "/ads/pipelines-banner.png",
|
||||
mobileImgSrc: "/ads/pipelines-banner-mobile.png",
|
||||
url: "https://github.com/open-webui/pipelines",
|
||||
name: "Open WebUI Pipelines",
|
||||
description:
|
||||
"Pipelines: Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework",
|
||||
},
|
||||
{
|
||||
imgSrc: "/ads/pipelines-banner.png",
|
||||
mobileImgSrc: "/ads/pipelines-banner-mobile.png",
|
||||
url: "https://github.com/open-webui/pipelines",
|
||||
name: "Open WebUI Pipelines",
|
||||
description:
|
||||
"Pipelines: Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework",
|
||||
},
|
||||
{
|
||||
imgSrc: "/ads/pipelines-banner.png",
|
||||
mobileImgSrc: "/ads/pipelines-banner-mobile.png",
|
||||
url: "https://github.com/open-webui/pipelines",
|
||||
name: "Open WebUI Pipelines",
|
||||
description:
|
||||
"Pipelines: Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework",
|
||||
},
|
||||
{
|
||||
imgSrc: "/ads/placeholder.png",
|
||||
mobileImgSrc: "/ads/placeholder-mobile.png",
|
||||
url: "https://github.com/sponsors/tjbck",
|
||||
name: "Open WebUI",
|
||||
description:
|
||||
"The top banner spot is reserved for only two Enterprise Diamond sponsors on a first-come, first-served basis",
|
||||
},
|
||||
];
|
||||
|
||||
// Randomly select an item to display
|
||||
let selectedItemIdx = Math.floor(Math.random() * items.length);
|
||||
|
||||
return <TopBanner items={[items[selectedItemIdx]]} />;
|
||||
};
|
43
src/components/TopBanners.jsx
Normal file
43
src/components/TopBanners.jsx
Normal file
@ -0,0 +1,43 @@
|
||||
import { TopBanner } from "@site/src/components/Sponsors/TopBanner";
|
||||
|
||||
export const TopBanners = () => {
|
||||
const items = [
|
||||
{
|
||||
imgSrc: "/ads/pipelines-banner.png",
|
||||
mobileImgSrc: "/ads/pipelines-banner-mobile.png",
|
||||
url: "https://github.com/open-webui/pipelines",
|
||||
name: "Open WebUI Pipelines",
|
||||
description:
|
||||
"Pipelines: Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework",
|
||||
},
|
||||
{
|
||||
imgSrc: "/ads/pipelines-banner.png",
|
||||
mobileImgSrc: "/ads/pipelines-banner-mobile.png",
|
||||
url: "https://github.com/open-webui/pipelines",
|
||||
name: "Open WebUI Pipelines",
|
||||
description:
|
||||
"Pipelines: Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework",
|
||||
},
|
||||
{
|
||||
imgSrc: "/ads/pipelines-banner.png",
|
||||
mobileImgSrc: "/ads/pipelines-banner-mobile.png",
|
||||
url: "https://github.com/open-webui/pipelines",
|
||||
name: "Open WebUI Pipelines",
|
||||
description:
|
||||
"Pipelines: Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework",
|
||||
},
|
||||
{
|
||||
imgSrc: "/ads/placeholder.png",
|
||||
mobileImgSrc: "/ads/placeholder-mobile.png",
|
||||
url: "https://github.com/sponsors/tjbck",
|
||||
name: "Open WebUI",
|
||||
description:
|
||||
"The top banner spot is reserved for only two Enterprise Diamond sponsors on a first-come, first-served basis",
|
||||
},
|
||||
];
|
||||
|
||||
// Randomly select an item to display
|
||||
let selectedItemIdx = Math.floor(Math.random() * items.length);
|
||||
|
||||
return <TopBanner items={[items[selectedItemIdx]]} />;
|
||||
};
|
@ -14,27 +14,27 @@
|
||||
|
||||
/* You can override the default Infima variables here. */
|
||||
:root {
|
||||
--ifm-color-primary: #327eff;
|
||||
--ifm-color-primary-dark: #2a2978;
|
||||
--ifm-color-primary-darker: #362771;
|
||||
--ifm-color-primary-darkest: #000000;
|
||||
--ifm-color-primary-light: hwb(216 27% 39%);
|
||||
--ifm-footer-background-color: #111;
|
||||
--ifm-color-primary-lighter: #7062c8;
|
||||
--ifm-color-primary-lightest: #6c87c5;
|
||||
--ifm-link-color: #333;
|
||||
--ifm-code-font-size: 95%;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||
--ifm-hover-overlay: #fafafa;
|
||||
--ifm-heading-color: #111;
|
||||
--ifm-color-primary: #327eff;
|
||||
--ifm-color-primary-dark: #2a2978;
|
||||
--ifm-color-primary-darker: #362771;
|
||||
--ifm-color-primary-darkest: #000000;
|
||||
--ifm-color-primary-light: hwb(216 27% 39%);
|
||||
--ifm-footer-background-color: #111;
|
||||
--ifm-color-primary-lighter: #7062c8;
|
||||
--ifm-color-primary-lightest: #6c87c5;
|
||||
--ifm-link-color: #333;
|
||||
--ifm-code-font-size: 95%;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||
--ifm-hover-overlay: #fafafa;
|
||||
--ifm-heading-color: #111;
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--ifm-menu-color: #000;
|
||||
--ifm-menu-color: #000;
|
||||
}
|
||||
|
||||
.theme-doc-sidebar-container {
|
||||
border-width: 0px !important;
|
||||
border-width: 0px !important;
|
||||
}
|
||||
|
||||
/* .hiring-link {
|
||||
@ -51,549 +51,549 @@
|
||||
|
||||
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
||||
[data-theme="dark"] {
|
||||
--ifm-color-primary: #5693fc;
|
||||
--ifm-color-primary-dark: #21af90;
|
||||
--ifm-color-primary-darker: #1fa588;
|
||||
--ifm-color-primary-darkest: #1a8870;
|
||||
--ifm-color-primary-light: #29d5b0;
|
||||
--ifm-color-primary-lighter: #32d8b4;
|
||||
--ifm-color-primary-lightest: #4fddbf;
|
||||
--ifm-link-color: #ccc;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||
--ifm-heading-color: #fff;
|
||||
--ifm-color-primary: #5693fc;
|
||||
--ifm-color-primary-dark: #21af90;
|
||||
--ifm-color-primary-darker: #1fa588;
|
||||
--ifm-color-primary-darkest: #1a8870;
|
||||
--ifm-color-primary-light: #29d5b0;
|
||||
--ifm-color-primary-lighter: #32d8b4;
|
||||
--ifm-color-primary-lightest: #4fddbf;
|
||||
--ifm-link-color: #ccc;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||
--ifm-heading-color: #fff;
|
||||
}
|
||||
|
||||
code {
|
||||
color: #eb5757;
|
||||
border-width: 0px;
|
||||
padding: 3px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
color: #eb5757;
|
||||
border-width: 0px;
|
||||
padding: 3px 8px;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
}
|
||||
[data-theme="light"] code {
|
||||
background-color: #f0f0f0;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
[data-theme="dark"] code {
|
||||
background-color: #111;
|
||||
background-color: #111;
|
||||
}
|
||||
.theme-code-block {
|
||||
font-family: "IBM Plex Mono", monospace;
|
||||
font-size: 0.9em;
|
||||
font-family: "IBM Plex Mono", monospace;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.theme-code-block .token {
|
||||
font-family: "IBM Plex Mono", monospace;
|
||||
font-family: "IBM Plex Mono", monospace;
|
||||
}
|
||||
[data-theme="light"] .theme-code-block pre {
|
||||
background-color: #fafafa;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
/* hide breadcrumbs from top of posts */
|
||||
.theme-doc-breadcrumbs {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.theme-doc-sidebar-menu.menu__list {
|
||||
margin-top: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
nav.menu {
|
||||
margin-right: 1px;
|
||||
padding: 0px;
|
||||
margin-right: 1px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
nav.menu::-webkit-scrollbar {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu__link {
|
||||
transition-property: none;
|
||||
line-height: 1.5;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
padding-left: 20px;
|
||||
/* word-spacing: 7px; */
|
||||
margin: 0px 10px;
|
||||
border-radius: 3px;
|
||||
transition-property: none;
|
||||
line-height: 1.5;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
padding-left: 20px;
|
||||
/* word-spacing: 7px; */
|
||||
margin: 0px 10px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.5;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 20px 30px;
|
||||
border-radius: 3px;
|
||||
font-style: italic;
|
||||
line-height: 1.5;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
padding: 20px 30px;
|
||||
border-radius: 3px;
|
||||
font-style: italic;
|
||||
line-height: 1.5;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
[data-theme="light"] blockquote {
|
||||
background-color: #f0f0f0;
|
||||
color: #000;
|
||||
background-color: #f0f0f0;
|
||||
color: #000;
|
||||
}
|
||||
[data-theme="dark"] blockquote {
|
||||
background-color: #111;
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
[data-theme="light"] .pagination-nav__link:hover {
|
||||
border-color: #000;
|
||||
border-color: #000;
|
||||
}
|
||||
[data-theme="dark"] .pagination-nav__link:hover {
|
||||
border-color: #fff;
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.navbar__brand {
|
||||
margin-right: 0px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
.navbar__logo {
|
||||
width: 3em;
|
||||
width: 3em;
|
||||
}
|
||||
[data-theme="light"] .navbar__brand:hover {
|
||||
color: #000;
|
||||
color: #000;
|
||||
}
|
||||
[data-theme="dark"] .navbar__brand:hover {
|
||||
color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.iconExternalLink_node_modules-\@docusaurus-theme-classic-lib-theme-Icon-ExternalLink-styles-module {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
/* .navbar__items svg {
|
||||
display: none;
|
||||
} */
|
||||
|
||||
.pagination-nav__link {
|
||||
border-radius: 0px;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border: 0px;
|
||||
}
|
||||
[data-theme="light"] .pagination-nav__link {
|
||||
border-top: 1px solid #ccc;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
[data-theme="dark"] .pagination-nav__link {
|
||||
border-top: 1px solid #ccc;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
[data-theme="light"] .pagination-nav__link:hover {
|
||||
border-top: 1px solid #000;
|
||||
border-top: 1px solid #000;
|
||||
}
|
||||
[data-theme="dark"] .pagination-nav__link:hover {
|
||||
border-top: 1px solid #fff;
|
||||
border-top: 1px solid #fff;
|
||||
}
|
||||
|
||||
.hero__subtitle {
|
||||
font-weight: 600;
|
||||
margin-bottom: 40px;
|
||||
margin-top: 30px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 40px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
[data-theme="light"] .hero__subtitle {
|
||||
color: #000;
|
||||
color: #000;
|
||||
}
|
||||
[data-theme="dark"] .hero__subtitle {
|
||||
color: #fff !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
.btn--black {
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
}
|
||||
.btn--black:hover {
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
}
|
||||
.iconExternalLink_nPIU {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
.btn--landing {
|
||||
border-radius: 0px;
|
||||
margin-right: 8px;
|
||||
margin-left: 8px;
|
||||
border-color: #000;
|
||||
border-radius: 0px;
|
||||
margin-right: 8px;
|
||||
margin-left: 8px;
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
[data-theme="light"] .hero--bg {
|
||||
background-color: #fafafa;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
[data-theme="dark"] .hero--bg {
|
||||
background-color: #111 !important;
|
||||
background-color: #111 !important;
|
||||
}
|
||||
|
||||
.hero--banner {
|
||||
padding: 10px !important;
|
||||
padding: 10px !important;
|
||||
}
|
||||
.hero--banner,
|
||||
.hero--banner a {
|
||||
margin: 0px;
|
||||
margin: 0px;
|
||||
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
width: 100%;
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.homepage-svg svg {
|
||||
height: auto !important;
|
||||
width: 100% !important;
|
||||
padding: 20px;
|
||||
max-width: 200px;
|
||||
height: auto !important;
|
||||
width: 100% !important;
|
||||
padding: 20px;
|
||||
max-width: 200px;
|
||||
}
|
||||
[data-theme="light"] .homepage-svg svg {
|
||||
background-color: #fafafa;
|
||||
color: #000;
|
||||
background-color: #fafafa;
|
||||
color: #000;
|
||||
}
|
||||
[data-theme="dark"] .homepage-svg svg {
|
||||
background-color: #111 !important;
|
||||
color: #fff !important;
|
||||
background-color: #111 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
[data-theme="dark"] .homepage-svg path {
|
||||
filter: invert(1);
|
||||
filter: invert(1);
|
||||
}
|
||||
.index-buttons {
|
||||
padding: 0px !important;
|
||||
padding: 0px !important;
|
||||
}
|
||||
.hero--container-small img {
|
||||
max-width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.footer__item .hiring-link {
|
||||
margin-top: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.hiring-link {
|
||||
background-color: #ffde2d;
|
||||
color: #000;
|
||||
font-weight: 600;
|
||||
padding: 5px 10px;
|
||||
border-radius: 1px;
|
||||
background-color: #ffde2d;
|
||||
color: #000;
|
||||
font-weight: 600;
|
||||
padding: 5px 10px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 997px) {
|
||||
.hero--container {
|
||||
padding-left: 200px;
|
||||
padding-right: 200px;
|
||||
padding-top: 80px;
|
||||
padding-bottom: 80px;
|
||||
}
|
||||
.hero--container-small {
|
||||
padding-left: 200px;
|
||||
padding-right: 200px;
|
||||
padding-top: 40px;
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
.hero--container {
|
||||
padding-left: 200px;
|
||||
padding-right: 200px;
|
||||
padding-top: 80px;
|
||||
padding-bottom: 80px;
|
||||
}
|
||||
.hero--container-small {
|
||||
padding-left: 200px;
|
||||
padding-right: 200px;
|
||||
padding-top: 40px;
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 996px) {
|
||||
.hero--container {
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
.hero--container h2,
|
||||
.hero--container-small h2 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.hero--container-small {
|
||||
padding-left: 40px;
|
||||
padding-right: 40px;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.index-buttons {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.index-buttons a {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.hero--banner a {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.hero__subtitle {
|
||||
font-size: 1.3rem;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.homepage-svg svg {
|
||||
max-width: 120px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
.hero--container {
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
.hero--container h2,
|
||||
.hero--container-small h2 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.hero--container-small {
|
||||
padding-left: 40px;
|
||||
padding-right: 40px;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.index-buttons {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.index-buttons a {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.hero--banner a {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.hero__subtitle {
|
||||
font-size: 1.3rem;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.homepage-svg svg {
|
||||
max-width: 120px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
article a {
|
||||
/* background-color: #f6f3d2; */
|
||||
text-decoration: underline;
|
||||
/* background-color: #f6f3d2; */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
article p a {
|
||||
text-decoration: underline;
|
||||
font-weight: 600;
|
||||
text-underline-position: under;
|
||||
margin-bottom: 5px;
|
||||
/* display: block; */
|
||||
text-decoration: underline;
|
||||
font-weight: 600;
|
||||
text-underline-position: under;
|
||||
margin-bottom: 5px;
|
||||
/* display: block; */
|
||||
}
|
||||
[data-theme="light"] article p a {
|
||||
color: #333;
|
||||
text-decoration-color: #bfbfbf;
|
||||
color: #333;
|
||||
text-decoration-color: #bfbfbf;
|
||||
}
|
||||
[data-theme="dark"] article p a {
|
||||
color: #ccc;
|
||||
text-decoration-color: #454545;
|
||||
color: #ccc;
|
||||
text-decoration-color: #454545;
|
||||
}
|
||||
[data-theme="light"] article p a:hover {
|
||||
color: #111;
|
||||
color: #111;
|
||||
}
|
||||
[data-theme="dark"] article p a:hover {
|
||||
color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.menu__link--active {
|
||||
font-weight: 600;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.margin-bottom--sm {
|
||||
margin-top: 200px !important;
|
||||
margin-bottom: 200px !important;
|
||||
margin-top: 200px !important;
|
||||
margin-bottom: 200px !important;
|
||||
}
|
||||
|
||||
.footer__title {
|
||||
color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
[data-theme="light"] a.footer__link-item {
|
||||
color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
[data-theme="dark"] a.footer__link-item {
|
||||
color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
[data-theme="light"] .menu__link--active {
|
||||
color: #000;
|
||||
background-color: #f0f0f0;
|
||||
color: #000;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
[data-theme="dark"] .menu__link--active {
|
||||
color: #fff;
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 997px) {
|
||||
.menu_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-Content-styles-module {
|
||||
padding: 0px !important;
|
||||
}
|
||||
.menu__list-item:not(:first-child) {
|
||||
margin-top: 0px;
|
||||
}
|
||||
.menu_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-Content-styles-module {
|
||||
padding: 0px !important;
|
||||
}
|
||||
.menu__list-item:not(:first-child) {
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.docSidebarContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocPage-Layout-Sidebar-styles-module {
|
||||
border-right-width: 0px !important;
|
||||
border-right-width: 0px !important;
|
||||
}
|
||||
|
||||
/* from here - https://theochu.com/docusaurus/styling/ */
|
||||
@media screen and (max-width: 996px) {
|
||||
:root {
|
||||
--ifm-font-size-base: 18px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.5rem !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
.hero .hero__title {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
:root {
|
||||
--ifm-font-size-base: 18px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.5rem !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
.hero .hero__title {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 997px) {
|
||||
:root {
|
||||
--ifm-font-size-base: 17px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 2rem !important;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.5rem !important;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1rem !important;
|
||||
}
|
||||
article {
|
||||
max-width: 700px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding-top: 20px;
|
||||
}
|
||||
:root {
|
||||
--ifm-font-size-base: 17px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 2rem !important;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.5rem !important;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1rem !important;
|
||||
}
|
||||
article {
|
||||
max-width: 700px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding-top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
:root {
|
||||
--ifm-font-family-base: "Archivo";
|
||||
--ifm-font-family-base: "Archivo";
|
||||
}
|
||||
|
||||
/* Header Dropdown Menu */
|
||||
.dropdown__link {
|
||||
font-size: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
/* Remove shadow on the left */
|
||||
:root {
|
||||
--ifm-global-shadow-md: 0px;
|
||||
--ifm-global-shadow-md: 0px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 997px) {
|
||||
/* Show inline table of contents on mobile only */
|
||||
div[class^="tableOfContentsInline"] {
|
||||
display: none;
|
||||
}
|
||||
/* Show inline table of contents on mobile only */
|
||||
div[class^="tableOfContentsInline"] {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.tabs {
|
||||
}
|
||||
|
||||
.tabs__item {
|
||||
padding: 3px 15px 2px 15px;
|
||||
font-weight: 600;
|
||||
font-size: 0.9em;
|
||||
border-radius: 30px;
|
||||
color: #999;
|
||||
margin-right: 8px;
|
||||
background-color: #f0f0f0;
|
||||
padding: 3px 15px 2px 15px;
|
||||
font-weight: 600;
|
||||
font-size: 0.9em;
|
||||
border-radius: 30px;
|
||||
color: #999;
|
||||
margin-right: 8px;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
.tabs__item:hover {
|
||||
background-color: #e5e5e5;
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
.tabs__item--active {
|
||||
border-bottom: 0px;
|
||||
background-color: rgb(50 125 255);
|
||||
border-radius: 30px;
|
||||
color: #ffffff;
|
||||
border-bottom: 0px;
|
||||
background-color: rgb(50 125 255);
|
||||
border-radius: 30px;
|
||||
color: #ffffff;
|
||||
}
|
||||
.tabs__item--active:hover {
|
||||
background-color: rgb(50 125 255);
|
||||
background-color: rgb(50 125 255);
|
||||
}
|
||||
|
||||
.tabs + .margin-top--md {
|
||||
margin-top: 5px !important;
|
||||
margin-top: 5px !important;
|
||||
}
|
||||
.tabs + .margin-top--md pre {
|
||||
border-top-right-radius: 0px;
|
||||
border-top-left-radius: 0px;
|
||||
border-top-right-radius: 0px;
|
||||
border-top-left-radius: 0px;
|
||||
}
|
||||
|
||||
.margin-bottom--xl {
|
||||
margin-bottom: 20px !important;
|
||||
margin-bottom: 20px !important;
|
||||
}
|
||||
|
||||
.margin-bottom--sm {
|
||||
margin-top: 10px !important;
|
||||
margin-bottom: 10px !important;
|
||||
margin-top: 10px !important;
|
||||
margin-bottom: 10px !important;
|
||||
}
|
||||
|
||||
.hideTabSwitcher {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
background-color: rgba(120, 120, 120, 0.2);
|
||||
background-color: rgba(120, 120, 120, 0.2);
|
||||
}
|
||||
|
||||
div.special_table + table {
|
||||
border: none;
|
||||
border: none;
|
||||
|
||||
/* border-collapse: separate; */
|
||||
/* border-spacing: 0px; */
|
||||
/* border-collapse: separate; */
|
||||
/* border-spacing: 0px; */
|
||||
}
|
||||
|
||||
div.special_table + table thead {
|
||||
background: rgba(120, 120, 120, 0.1);
|
||||
border-top-right-radius: 10px;
|
||||
overflow: hidden;
|
||||
background: rgba(120, 120, 120, 0.1);
|
||||
border-top-right-radius: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.special_table + table thead tr {
|
||||
background: rgba(255, 255, 255, 0);
|
||||
border-top: 0px;
|
||||
border-bottom: 0px;
|
||||
background: rgba(255, 255, 255, 0);
|
||||
border-top: 0px;
|
||||
border-bottom: 0px;
|
||||
}
|
||||
div.special_table + table tr th {
|
||||
background: rgba(255, 255, 255, 0);
|
||||
color: #000;
|
||||
font-weight: 600;
|
||||
padding: 5px 20px;
|
||||
background: rgba(255, 255, 255, 0);
|
||||
color: #000;
|
||||
font-weight: 600;
|
||||
padding: 5px 20px;
|
||||
}
|
||||
div.special_table + table tr td {
|
||||
padding: 5px 20px;
|
||||
text-align: left;
|
||||
padding: 5px 20px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.special_table + table tr:nth-child(even) {
|
||||
background: rgba(255, 255, 255, 0);
|
||||
background: rgba(255, 255, 255, 0);
|
||||
}
|
||||
|
||||
div.special_table + table,
|
||||
th,
|
||||
td {
|
||||
border-width: 0px !important;
|
||||
border-width: 0px !important;
|
||||
}
|
||||
|
||||
.custom-tag {
|
||||
display: inline;
|
||||
background-color: #f0f0f0;
|
||||
padding: 3px 10px;
|
||||
margin-right: 5px;
|
||||
border-radius: 8px;
|
||||
font-size: 0.7em;
|
||||
/* text-transform: uppercase; */
|
||||
font-weight: 900;
|
||||
color: #000;
|
||||
display: inline;
|
||||
background-color: #f0f0f0;
|
||||
padding: 3px 10px;
|
||||
margin-right: 5px;
|
||||
border-radius: 8px;
|
||||
font-size: 0.7em;
|
||||
/* text-transform: uppercase; */
|
||||
font-weight: 900;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.custom-tag:hover {
|
||||
background-color: #e5e5e5;
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
|
||||
.select-language {
|
||||
font-size: 1em;
|
||||
font-weight: bolder;
|
||||
margin-bottom: 8px;
|
||||
font-size: 1em;
|
||||
font-weight: bolder;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.navbar__link:has(div.custom-tag) {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-left: 5px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.notbold a {
|
||||
font-weight: 400 !important;
|
||||
font-weight: 400 !important;
|
||||
}
|
||||
|
||||
.small-text {
|
||||
font-size: 0.8em;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.em {
|
||||
font-style: italic;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.category-header .menu__list-item-collapsible {
|
||||
pointer-events: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.category-header .menu__link--sublist {
|
||||
text-transform: uppercase;
|
||||
font-size: small;
|
||||
font-weight: bold;
|
||||
margin-top: 40px;
|
||||
text-transform: uppercase;
|
||||
font-size: small;
|
||||
font-weight: bold;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.category-header .menu__link--sublist-caret:after {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.category-link a::after {
|
||||
content: "\2192";
|
||||
font-size: 20px;
|
||||
margin-left: 5px; /* for spacing */
|
||||
transform: scaleX(-1) rotate(180deg);
|
||||
margin-left: 9px;
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
opacity: 0.3;
|
||||
content: "\2192";
|
||||
font-size: 20px;
|
||||
margin-left: 5px; /* for spacing */
|
||||
transform: scaleX(-1) rotate(180deg);
|
||||
margin-left: 9px;
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.main-wrapper {
|
||||
min-height: 100vh;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
@ -4,20 +4,20 @@
|
||||
*/
|
||||
|
||||
.heroBanner {
|
||||
padding: 4rem 0;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
padding: 4rem 0;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 996px) {
|
||||
.heroBanner {
|
||||
padding: 2rem;
|
||||
}
|
||||
.heroBanner {
|
||||
padding: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
@ -2,21 +2,21 @@ const { fontFamily } = require("tailwindcss/defaultTheme");
|
||||
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
corePlugins: {
|
||||
preflight: false,
|
||||
container: false,
|
||||
},
|
||||
darkMode: ["class", '[data-theme="dark"]'],
|
||||
content: ["./src/**/*.{js,jsx,tsx,html}", "./docs/**/*.{md,mdx}"],
|
||||
theme: {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
sans: ['"Inter"', ...fontFamily.sans],
|
||||
jakarta: ['"Plus Jakarta Sans"', ...fontFamily.sans],
|
||||
mono: ['"Fira Code"', ...fontFamily.mono],
|
||||
},
|
||||
colors: {},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
corePlugins: {
|
||||
preflight: false,
|
||||
container: false,
|
||||
},
|
||||
darkMode: ["class", '[data-theme="dark"]'],
|
||||
content: ["./src/**/*.{js,jsx,tsx,html}", "./docs/**/*.{md,mdx}"],
|
||||
theme: {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
sans: ['"Inter"', ...fontFamily.sans],
|
||||
jakarta: ['"Plus Jakarta Sans"', ...fontFamily.sans],
|
||||
mono: ['"Fira Code"', ...fontFamily.mono],
|
||||
},
|
||||
colors: {},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user