From d920e4d0a79349ab35b869d754700067ca286221 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Mon, 8 Jan 2024 00:32:23 +0530 Subject: [PATCH] Make the docs overview page as the main docs landing page - Make the docs overview page available at docs.khoj.dev root instead of under docs.khoj.dev/docs path - Remove the new landing page, it is unnecessary. - Remove /docs path prefix from links to internal doc pages - Remove .md path suffix in internal doc pages for consistency --- documentation/assets/img/folder_security.svg | 134 ------------------ documentation/assets/img/lightbulb-plant.svg | 60 -------- documentation/assets/img/mountains-lake.svg | 34 ----- documentation/docs/clients/emacs.md | 4 +- documentation/docs/clients/obsidian.md | 4 +- documentation/docs/features/all_features.md | 10 +- documentation/docs/features/chat.md | 2 +- documentation/docs/features/search.md | 2 +- documentation/docs/get-started/overview.md | 15 +- documentation/docs/get-started/setup.mdx | 14 +- documentation/docusaurus.config.js | 7 +- .../src/components/HomepageFeatures/index.js | 61 -------- documentation/src/pages/index.js | 43 ------ documentation/src/pages/index.module.css | 23 --- documentation/src/pages/markdown-page.md | 7 - 15 files changed, 30 insertions(+), 390 deletions(-) delete mode 100644 documentation/assets/img/folder_security.svg delete mode 100644 documentation/assets/img/lightbulb-plant.svg delete mode 100644 documentation/assets/img/mountains-lake.svg delete mode 100644 documentation/src/components/HomepageFeatures/index.js delete mode 100644 documentation/src/pages/index.js delete mode 100644 documentation/src/pages/index.module.css delete mode 100644 documentation/src/pages/markdown-page.md diff --git a/documentation/assets/img/folder_security.svg b/documentation/assets/img/folder_security.svg deleted file mode 100644 index 474c3c47..00000000 --- a/documentation/assets/img/folder_security.svg +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/documentation/assets/img/lightbulb-plant.svg b/documentation/assets/img/lightbulb-plant.svg deleted file mode 100644 index cb3a7afb..00000000 --- a/documentation/assets/img/lightbulb-plant.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/documentation/assets/img/mountains-lake.svg b/documentation/assets/img/mountains-lake.svg deleted file mode 100644 index a17a56b5..00000000 --- a/documentation/assets/img/mountains-lake.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/documentation/docs/clients/emacs.md b/documentation/docs/clients/emacs.md index f8e52d95..7ce8e023 100644 --- a/documentation/docs/clients/emacs.md +++ b/documentation/docs/clients/emacs.md @@ -87,13 +87,13 @@ M-x package-install khoj ## Use ### Search -See [Khoj Search](/features/search.md) for details +See [Khoj Search](/features/search) for details 1. Hit `C-c s s` (or `M-x khoj RET s`) to open khoj search 2. Enter your query in natural language
E.g *"What is the meaning of life?"*, *"My life goals for 2023"* ### Chat -See [Khoj Chat](/features/chat.md) for details +See [Khoj Chat](/features/chat) for details 1. Hit `C-c s c` (or `M-x khoj RET c`) to open khoj chat 2. Ask questions in a natural, conversational style
E.g *"When did I file my taxes last year?"* diff --git a/documentation/docs/clients/obsidian.md b/documentation/docs/clients/obsidian.md index fe929a47..93276f7b 100644 --- a/documentation/docs/clients/obsidian.md +++ b/documentation/docs/clients/obsidian.md @@ -36,7 +36,7 @@ See the official [Obsidian Plugin Docs](https://help.obsidian.md/Extending+Obsid Run *Khoj: Chat* from the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) and ask questions in a natural, conversational style.
E.g *"When did I file my taxes last year?"* -See [Khoj Chat](/docs/features/chat) for more details +See [Khoj Chat](/features/chat) for more details ### Find Similar Notes To see other notes similar to the current one, run *Khoj: Find Similar Notes* from the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) @@ -44,7 +44,7 @@ To see other notes similar to the current one, run *Khoj: Find Similar Notes* fr ### Search Click the *Khoj search* icon 🔎 on the [Ribbon](https://help.obsidian.md/User+interface/Workspace/Ribbon) or run *Khoj: Search* from the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) -See [Khoj Search](/docs/features/search) for more details. Use [query filters](/docs/miscellaneous/advanced#query-filters) to limit entries to search +See [Khoj Search](/features/search) for more details. Use [query filters](/miscellaneous/advanced#query-filters) to limit entries to search [search_demo](https://user-images.githubusercontent.com/6413477/218801155-cd67e8b4-a770-404a-8179-d6b61caa0f93.mp4 ':include :type=mp4') diff --git a/documentation/docs/features/all_features.md b/documentation/docs/features/all_features.md index bb8bdc2c..b8930705 100644 --- a/documentation/docs/features/all_features.md +++ b/documentation/docs/features/all_features.md @@ -6,11 +6,11 @@ sidebar_position: 1 Khoj supports a variety of features, including search and chat with a wide range of data sources and interfaces. -#### [Search](/docs/features/search.md) +#### [Search](/features/search) - **Local**: Your personal data stays local. All search and indexing is done on your machine. - **Incremental**: Incremental search for a fast, search-as-you-type experience -#### [Chat](/docs/features/chat.md) +#### [Chat](/features/chat) - **Faster answers**: Find answers faster, smoother than search. No need to manually scan through your notes to find answers. - **Iterative discovery**: Iteratively explore and (re-)discover your notes - **Assisted creativity**: Smoothly weave across answers retrieval and content generation @@ -19,7 +19,7 @@ Khoj supports a variety of features, including search and chat with a wide range - **Natural**: Advanced natural language understanding using Transformer based ML Models - **Pluggable**: Modular architecture makes it easy to plug in new data sources, frontends and ML models - **Multiple Sources**: Index your Org-mode and Markdown notes, PDF files, Github repositories, and Photos - - **Multiple Interfaces**: Interact from your [Web Browser](/docs/clients/web.md), [Emacs](/docs/clients/emacs) or [Obsidian](/docs/clients/obsidian) + - **Multiple Interfaces**: Interact from your [Web Browser](/clients/web), [Emacs](/clients/emacs) or [Obsidian](/clients/obsidian) ### Supported Interfaces @@ -31,5 +31,5 @@ Khoj supports a variety of features, including search and chat with a wide range - markdown - org-mode - pdf -- [github](/docs/online-data-sources/github_integration.md) -- [notion](/docs/online-data-sources/notion_integration.md) +- [github](/online-data-sources/github_integration) +- [notion](/online-data-sources/notion_integration) diff --git a/documentation/docs/features/chat.md b/documentation/docs/features/chat.md index b02dacde..f6581746 100644 --- a/documentation/docs/features/chat.md +++ b/documentation/docs/features/chat.md @@ -46,7 +46,7 @@ This will enable Khoj to send your chat queries and query relevant notes to Open - **On Web**: Open [/chat](https://app.khoj.dev/chat) in your web browser - **On Obsidian**: Search for *Khoj: Chat* in the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) - **On Emacs**: Run `M-x khoj ` -2. Enter your queries to chat with Khoj. Use [slash commands](#commands) and [query filters](/docs/miscellaneous/advanced.md#query-filters) to change what Khoj uses to respond +2. Enter your queries to chat with Khoj. Use [slash commands](#commands) and [query filters](/miscellaneous/advanced#query-filters) to change what Khoj uses to respond ![](/img/khoj_chat_on_web.png ':size=400px') diff --git a/documentation/docs/features/search.md b/documentation/docs/features/search.md index a5abfae1..f1c676c5 100644 --- a/documentation/docs/features/search.md +++ b/documentation/docs/features/search.md @@ -11,7 +11,7 @@ Take advantage of super fast search to find relevant notes and documents from yo - **On Web**: Open https://app.khoj.dev/ in your web browser - **On Obsidian**: Click the *Khoj search* icon 🔎 on the [Ribbon](https://help.obsidian.md/User+interface/Workspace/Ribbon) or Search for *Khoj: Search* in the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) - **On Emacs**: Run `M-x khoj ` -2. Query using natural language to find relevant entries from your knowledge base. Use [query filters](/docs/miscellaneous/advanced.md#query-filters) to limit entries to search +2. Query using natural language to find relevant entries from your knowledge base. Use [query filters](/miscellaneous/advanced#query-filters) to limit entries to search ### Demo ![](/img/khoj_search_on_web.png ':size=400px') diff --git a/documentation/docs/get-started/overview.md b/documentation/docs/get-started/overview.md index 1106605a..f9080eec 100644 --- a/documentation/docs/get-started/overview.md +++ b/documentation/docs/get-started/overview.md @@ -1,5 +1,6 @@ --- sidebar_position: 0 +slug: / --- # Overview @@ -25,26 +26,26 @@ sidebar_position: 0 Welcome to the Khoj Docs! This is the best place to get setup and explore Khoj's features. - Khoj is an open source, personal AI -- You can [chat](/features/chat.md) with it about anything. When relevant, it'll use any notes or documents you shared with it to respond -- Quickly [find](/features/search.md) relevant notes and documents using natural language -- It understands pdf, plaintext, markdown, org-mode files, [notion pages](/online-data-sources/notion_integration.md) and [github repositories](/online-data-sources/github_integration.md) -- Access it from your [Emacs](/clients/emacs.md), [Obsidian](/clients/obsidian.md), [Web browser](/clients/web.md) or the [Khoj Desktop app](/clients/desktop.md) +- You can [chat](/features/chat) with it about anything. When relevant, it'll use any notes or documents you shared with it to respond +- Quickly [find](/features/search) relevant notes and documents using natural language +- It understands pdf, plaintext, markdown, org-mode files, [notion pages](/online-data-sources/notion_integration) and [github repositories](/online-data-sources/github_integration) +- Access it from your [Emacs](/clients/emacs), [Obsidian](/clients/obsidian), [Web browser](/clients/web) or the [Khoj Desktop app](/clients/desktop) - You can self-host Khoj on your consumer hardware or share it with your family, friends or team from your private cloud ## Quickstart - [Try Khoj Cloud](https://app.khoj.dev) to get started quickly -- [Read these instructions](/get-started/setup.mdx) to self-host a private instance of Khoj +- [Read these instructions](/get-started/setup) to self-host a private instance of Khoj ## At a Glance    -#### [Search](/features/search.md) +#### [Search](/features/search) - **Natural**: Use natural language queries to quickly find relevant notes and documents. - **Incremental**: Incremental search for a fast, search-as-you-type experience -#### [Chat](/features/chat.md) +#### [Chat](/features/chat) - **Faster answers**: Find answers faster, smoother than search. No need to manually scan through your notes to find answers. - **Iterative discovery**: Iteratively explore and (re-)discover your notes - **Assisted creativity**: Smoothly weave across answers retrieval and content generation diff --git a/documentation/docs/get-started/setup.mdx b/documentation/docs/get-started/setup.mdx index 1404accd..d4af36bf 100644 --- a/documentation/docs/get-started/setup.mdx +++ b/documentation/docs/get-started/setup.mdx @@ -14,9 +14,9 @@ import TabItem from '@theme/TabItem'; These are the general setup instructions for Khoj. - Make sure [python](https://realpython.com/installing-python/) and [pip](https://pip.pypa.io/en/stable/installation/) are installed on your machine -- Check the [Khoj Emacs docs](/docs/clients/emacs?id=setup) to setup Khoj with Emacs
+- Check the [Khoj Emacs docs](/clients/emacs#setup) to setup Khoj with Emacs
It's simpler as it can skip the server *install*, *run* and *configure* step below. -- Check the [Khoj Obsidian docs](/docs/clients/obsidian?id=_2-setup-plugin) to setup Khoj with Obsidian
+- Check the [Khoj Obsidian docs](/clients/obsidian#setup) to setup Khoj with Obsidian
Its simpler as it can skip the *configure* step below. For Installation, you can either use Docker or install Khoj locally. @@ -171,7 +171,7 @@ To use the desktop client, you need to go to your Khoj server's settings page (h 1. Go to http://localhost:42110/server/admin and login with your admin credentials. 1. Go to [OpenAI settings](http://localhost:42110/server/admin/database/openaiprocessorconversationconfig/) in the server admin settings to add an Open AI processor conversation config. This is where you set your API key. Alternatively, you can go to the [offline chat settings](http://localhost:42110/server/admin/database/offlinechatprocessorconversationconfig/) and simply create a new setting with `Enabled` set to `True`. 2. Go to the ChatModelOptions if you want to add additional models for chat. For example, you can specify `gpt-4` if you're using OpenAI or `mistral-7b-instruct-v0.1.Q4_0.gguf` if you're using offline chat. Make sure to configure the `type` field to `OpenAI` or `Offline` respectively. -1. Select files and folders to index [using the desktop client](/docs/get-started/setup?id=_2-download-the-desktop-client). When you click 'Save', the files will be sent to your server for indexing. +1. Select files and folders to index [using the desktop client](/get-started/setup#2-download-the-desktop-client). When you click 'Save', the files will be sent to your server for indexing. - Select Notion workspaces and Github repositories to index using the web interface. @@ -185,10 +185,10 @@ Khoj exposes a web interface to search, chat and configure by default.
The optional steps below allow using Khoj from within an existing application like Obsidian or Emacs. - **Khoj Obsidian**:
-[Install](/docs/clients/obsidian?id=_2-setup-plugin) the Khoj Obsidian plugin +[Install](/clients/obsidian#setup) the Khoj Obsidian plugin - **Khoj Emacs**:
-[Install](/docs/clients/emacs?id=setup) khoj.el +[Install](/clients/emacs#setup) khoj.el #### Setup host URL To configure your host URL on your clients when self-hosting, use `http://127.0.0.1:42110`. This is the default value for the `KHOJ_HOST` environment variable. Note that `localhost` will not work. @@ -216,11 +216,11 @@ You can head to http://localhost:42110 to use the web interface. You can also us - Use your Emacs Package Manager to Upgrade - - See [khoj.el package setup](/docs/clients/emacs?id=setup) for details + - See [khoj.el package setup](/clients/emacs#setup) for details - Upgrade via the Community plugins tab on the settings pane in the Obsidian app - - See the [khoj plugin setup](/docs/clients/obsidian?id=_2-setup-plugin) for details + - See the [khoj plugin setup](/clients/obsidian#setup) for details ``` diff --git a/documentation/docusaurus.config.js b/documentation/docusaurus.config.js index b2384bd0..88308d84 100644 --- a/documentation/docusaurus.config.js +++ b/documentation/docusaurus.config.js @@ -44,17 +44,18 @@ const config = { ({ docs: { sidebarPath: './sidebars.js', + routeBasePath: '/', // 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/', + 'https://github.com/khoj-ai/khoj/tree/master/documentation/', }, 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/', + 'https://github.com/khoj-ai/khoj/tree/master/documentation/blog/', }, theme: { customCss: './src/css/custom.css', @@ -111,7 +112,7 @@ const config = { items: [ { label: 'Get Started', - to: '/docs/get-started/overview', + to: '/', }, ], }, diff --git a/documentation/src/components/HomepageFeatures/index.js b/documentation/src/components/HomepageFeatures/index.js deleted file mode 100644 index 51fafbeb..00000000 --- a/documentation/src/components/HomepageFeatures/index.js +++ /dev/null @@ -1,61 +0,0 @@ -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; - -const FeatureList = [ - { - title: 'Connect your knowledge', - Svg: require('@site/assets/img/mountains-lake.svg').default, - description: ( - <> - Khoj can understand your PDFs, markdown, org, and other plaintext files. Connect your knowledge base using one of our desktop apps or other client apps. - - ), - }, - { - title: 'Simplify your thinking', - Svg: require('@site/assets/img/lightbulb-plant.svg').default, - description: ( - <> - Get your knowledge base out of your head and into Khoj. Khoj is a tool for thinking, learning, and making things. - - ), - }, - { - title: 'Run privately', - Svg: require('@site/assets/img/folder_security.svg').default, - description: ( - <> - You can run Khoj on your own computer, or on your own server. All of our code is open source, and you can set it up in minutes. - - ), - }, -]; - -function Feature({Svg, title, description}) { - return ( -
-
- -
-
- {title} -

{description}

-
-
- ); -} - -export default function HomepageFeatures() { - return ( -
-
-
- {FeatureList.map((props, idx) => ( - - ))} -
-
-
- ); -} diff --git a/documentation/src/pages/index.js b/documentation/src/pages/index.js deleted file mode 100644 index df328d9f..00000000 --- a/documentation/src/pages/index.js +++ /dev/null @@ -1,43 +0,0 @@ -import clsx from 'clsx'; -import Link from '@docusaurus/Link'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import Layout from '@theme/Layout'; -import HomepageFeatures from '@site/src/components/HomepageFeatures'; - -import Heading from '@theme/Heading'; -import styles from './index.module.css'; - -function HomepageHeader() { - const {siteConfig} = useDocusaurusContext(); - return ( -
-
- - {siteConfig.title} - -

{siteConfig.tagline}

-
- - Get Started → - -
-
-
- ); -} - -export default function Home() { - const {siteConfig} = useDocusaurusContext(); - return ( - - -
- -
-
- ); -} diff --git a/documentation/src/pages/index.module.css b/documentation/src/pages/index.module.css deleted file mode 100644 index 9f71a5da..00000000 --- a/documentation/src/pages/index.module.css +++ /dev/null @@ -1,23 +0,0 @@ -/** - * CSS files with the .module.css suffix will be treated as CSS modules - * and scoped locally. - */ - -.heroBanner { - padding: 4rem 0; - text-align: center; - position: relative; - overflow: hidden; -} - -@media screen and (max-width: 996px) { - .heroBanner { - padding: 2rem; - } -} - -.buttons { - display: flex; - align-items: center; - justify-content: center; -} diff --git a/documentation/src/pages/markdown-page.md b/documentation/src/pages/markdown-page.md deleted file mode 100644 index 9756c5b6..00000000 --- a/documentation/src/pages/markdown-page.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Markdown page example ---- - -# Markdown page example - -You don't need React to write simple standalone pages.