From 306d16515da42429df7820c8a1cf327056ff2513 Mon Sep 17 00:00:00 2001 From: Matthew Hand Date: Tue, 5 Nov 2024 22:59:29 +0000 Subject: [PATCH] docs: revert changes to docusaurus and ghpages --- .github/workflows/gh-pages.yml | 111 +++++++++++---------- docusaurus.config.ts | 170 +++++++++++++++++++++++++++++++++ 2 files changed, 224 insertions(+), 57 deletions(-) create mode 100644 docusaurus.config.ts diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index cee3ed7..0f35f85 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -1,58 +1,55 @@ --- - name: Deploy site to Pages - - on: - # Runs on pushes targeting the default branch - push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - - # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages - permissions: - contents: read - pages: write - id-token: write - - # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. - # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. - concurrency: - group: "pages" - cancel-in-progress: false - - jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version-file: ".node-version" - cache: npm - - name: Install dependencies - run: npm ci - - name: Build - env: - BASE_URL: ${{ vars.BASE_URL }} - SITE_URL: ${{ vars.SITE_URL }} - run: npm run build - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./build - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + name: Deploy site to Pages + + on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + + # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages + permissions: + contents: read + pages: write + id-token: write + + # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. + # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. + concurrency: + group: "pages" + cancel-in-progress: false + + jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version-file: ".node-version" + cache: npm + - name: Install dependencies + run: npm ci + - name: Build + run: npm run build + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./build + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/docusaurus.config.ts b/docusaurus.config.ts new file mode 100644 index 0000000..ad581fe --- /dev/null +++ b/docusaurus.config.ts @@ -0,0 +1,170 @@ +import { Config } from "@docusaurus/types"; +import type * as Preset from "@docusaurus/preset-classic"; + +import { themes as prismThemes } from "prism-react-renderer"; + +const config: Config = { + 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 // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + 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. + + 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"], + }, + + // Enable Mermaid for diagrams + markdown: { + mermaid: true, + }, + themes: ["@docusaurus/theme-mermaid"], + + presets: [ + [ + "classic", + { + docs: { + sidebarPath: "./sidebars.ts", + 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", + exclude: ["**/tab-**/**"], + }, + // 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", + }, + } satisfies Preset.Options, + ], + ], + + 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", + // position: "left", + // sidebarId: "pipelines", + // label: "Pipelines", + // }, + + // { + // type: "docSidebar", + // sidebarId: "blog", + // position: "left", + // label: "Blog", + // }, + + // { + // href: "/blog", + // label: "Blog", + // position: "left", + // }, + { + href: "https://github.com/open-webui/open-webui", + position: "right", + className: "header-github-link", + "aria-label": "GitHub repository", + }, + { + href: "https://discord.com/invite/5rJgQTnV4s", + position: "right", + className: "header-discord-link", + "aria-label": "Discord server", + }, + ], + }, + 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: "𝕏", + href: "https://x.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", + }, + ], + }, + ], + // copyright: `Copyright © ${new Date().getFullYear()} OpenWebUI`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + } satisfies Preset.ThemeConfig, + plugins: [require.resolve("docusaurus-lunr-search")], +}; + +export default config;