diff --git a/docs/configuration/keymap.md b/docs/configuration/keymap.md
index 2aa73c8e..b1686fee 100644
--- a/docs/configuration/keymap.md
+++ b/docs/configuration/keymap.md
@@ -6,7 +6,7 @@ description: Learn how to configure keyboard shortcuts with Yazi.
# keymap.toml
:::note
-If you haven't created and used your own configuration file yet, please see [Configuration](./overview.md).
+If you haven't created and used your own configuration file yet, please see [Configuration](/docs/configuration/overview).
:::
You can change Yazi's keybindings in your `keymap.toml` file, which consists of the following 6 layers:
@@ -299,14 +299,14 @@ Set the visibility of hidden files.
### `linemode` {#manager.linemode}
-Set the [line mode](./yazi#manager.linemode).
+Set the [line mode](/docs/configuration/yazi#manager.linemode).
-| Argument/Option | Description |
-| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `none` | No line mode. |
-| `size` | Display the size in bytes of the file. Since file sizes are only evaluated when sorting by size, it only works after [`sort_by = "size"`](./yazi#manager.sort_by) set, and this behavior might change in the future. |
-| `permissions` | Display the permissions of the file. |
-| `mtime` | Display the last modified time of the file. |
+| Argument/Option | Description |
+| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `none` | No line mode. |
+| `size` | Display the size in bytes of the file. Since file sizes are only evaluated when sorting by size, it only works after [`sort_by = "size"`](/docs/configuration/yazi#manager.sort_by) set, and this behavior might change in the future. |
+| `permissions` | Display the permissions of the file. |
+| `mtime` | Display the last modified time of the file. |
In addition, you can also specify any 1 to 20 characters, and extend it within a UI plugin.
Which means you can implement your own linemode through the plugin by simply overriding the [`Folder:linemode` method](https://github.com/sxyazi/yazi/blob/latest/yazi-plugin/preset/components/folder.lua).
diff --git a/docs/configuration/overview.md b/docs/configuration/overview.md
index d0a18630..b6e35a33 100644
--- a/docs/configuration/overview.md
+++ b/docs/configuration/overview.md
@@ -9,9 +9,9 @@ description: Learn how to configure Yazi.
There are three configuration files for Yazi:
-- [`yazi.toml`](./yazi.md) - General configuration.
-- [`keymap.toml`](./keymap.md) - Keybindings configuration.
-- [`theme.toml`](./theme.md) - Color scheme configuration.
+- [`yazi.toml`](/docs/configuration/yazi) - General configuration.
+- [`keymap.toml`](/docs/configuration/keymap) - Keybindings configuration.
+- [`theme.toml`](/docs/configuration/theme) - Color scheme configuration.
You can find the default configuration files at https://github.com/sxyazi/yazi/tree/latest/yazi-config/preset.
diff --git a/docs/configuration/yazi.md b/docs/configuration/yazi.md
index 253e9843..e252dce3 100644
--- a/docs/configuration/yazi.md
+++ b/docs/configuration/yazi.md
@@ -6,7 +6,7 @@ description: Learn how to configure Yazi's basic functionality.
# yazi.toml
:::note
-If you haven't created and used your own configuration file yet, please see [Configuration](./overview.md).
+If you haven't created and used your own configuration file yet, please see [Configuration](/docs/configuration/overview).
:::
## [manager] {#manager}
@@ -55,7 +55,7 @@ Display directories first.
Line mode: display information associated with the file on the right side of the file list row.
- `"none"`: No line mode.
-- `"size"`: Display the size in bytes of the file. Since file sizes are only evaluated when sorting by size, it only works after [`sort_by = "size"`](./yazi#manager.sort_by) set, and this behavior might change in the future.
+- `"size"`: Display the size in bytes of the file. Since file sizes are only evaluated when sorting by size, it only works after [`sort_by = "size"`](/docs/configuration/yazi#manager.sort_by) set, and this behavior might change in the future.
- `"permissions"`: Display the permissions of the file.
- `"mtime"`: Display the last modified time of the file.
diff --git a/docs/faq.md b/docs/faq.md
index 3b24a76e..e9b9dd2f 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -61,7 +61,7 @@ On the other hand, tasks with `orphan=false` are scheduled through the Yazi task
Yazi has `nerd-fonts` enabled by default, it looks really cool!
-If you don't want to use it and want things to be calm, sure, you can modify these icons as much as you want in [`theme.toml`](./configuration/theme.md):
+If you don't want to use it and want things to be calm, sure, you can modify these icons as much as you want in [`theme.toml`](/docs/configuration/theme):
```toml
[status]
diff --git a/docs/plugins/overview.md b/docs/plugins/overview.md
index a656f0c3..92ceadba 100644
--- a/docs/plugins/overview.md
+++ b/docs/plugins/overview.md
@@ -188,21 +188,21 @@ When the user presses j or k to switch between hovering fi
| Key | Description |
| -------- | --------------------------------------------------------------------------------------------------------------------------- |
-| `file` | The [File](./types#app-data.folder-file) to be previewed. |
+| `file` | The [File](/docs/plugins/types#app-data.folder-file) to be previewed. |
| `skip` | The number of units to skip. The units largely depend on your previewer, such as lines for code and percentages for videos. |
-| `area` | The [Rect](./layout#rect) of the available preview area. |
-| `window` | The [Rect](./layout#rect) of the entire terminal window. |
+| `area` | The [Rect](/docs/plugins/layout#rect) of the available preview area. |
+| `window` | The [Rect](/docs/plugins/layout#rect) of the entire terminal window. |
When the user presses Alt-j or Alt-k to scroll the preview of this file, `seek` is called, with:
-| Key | Description |
-| ------ | -------------------------------------------------------- |
-| `file` | The [File](./types#app-data.folder-file) being scrolled. |
-| `area` | The [Rect](./layout#rect) of the available preview area. |
+| Key | Description |
+| ------ | -------------------------------------------------------------------- |
+| `file` | The [File](/docs/plugins/types#app-data.folder-file) being scrolled. |
+| `area` | The [Rect](/docs/plugins/layout#rect) of the available preview area. |
The task of `peek` is to draw in the preview area based on the values of `file` and `skip`. This process is asynchronous.
-The task of `seek` is to change the value of `skip` based on user behavior and trigger `peek` again. It is synchronous, meaning you can access [app data](./types#app-data) through `cx`.
+The task of `seek` is to change the value of `skip` based on user behavior and trigger `peek` again. It is synchronous, meaning you can access [app data](/docs/plugins/types#app-data) through `cx`.
Here are some preset previewers and preloaders you can refer to: [Yazi Preset Plugins](https://github.com/sxyazi/yazi/tree/latest/yazi-plugin/preset/plugins)
@@ -260,7 +260,7 @@ If you have no experience with Lua, you can quickly get started through https://
### Logging {#logging}
-If you want to debug some runtime data, use [`ya.dbg()`](./utils#ya.dbg) and [`ya.err()`](./utils#ya.err) to print what you want to debug to either:
+If you want to debug some runtime data, use [`ya.dbg()`](/docs/plugins/utils#ya.dbg) and [`ya.err()`](/docs/plugins/utils#ya.err) to print what you want to debug to either:
- `~/.local/state/yazi/yazi.log` on Unix-like systems.
- `C:\Users\USERNAME\AppData\Roaming\yazi\state\yazi.log` on Windows.
diff --git a/docs/plugins/types.md b/docs/plugins/types.md
index 739efe57..1dacd04b 100644
--- a/docs/plugins/types.md
+++ b/docs/plugins/types.md
@@ -86,7 +86,7 @@ Properties:
## App data {#app-data}
-You can access all app data through the `cx` within [Sync context](./overview#sync-context):
+You can access all app data through the `cx` within [Sync context](/docs/plugins/overview#sync-context):
- `cx.active` - The active tab, which is a [tab::Tab](#app-data.tab-tab)
- `cx.tabs` - All of tabs, which is a [manager::Tabs](#app-data.manager-tabs)
@@ -118,7 +118,7 @@ Properties:
- `linemode`
- `show_hidden`
-These properties are consistent with those in [yazi.toml](/docs/configuration/yazi.md), and will not be detailed here.
+These properties are consistent with those in [yazi.toml](/docs/configuration/yazi), and will not be detailed here.
### `tab::Selected` {#app-data.tab-selected}
diff --git a/docs/quick-start.md b/docs/quick-start.md
index b8f8280d..22168550 100644
--- a/docs/quick-start.md
+++ b/docs/quick-start.md
@@ -8,7 +8,7 @@ import TabItem from '@theme/TabItem';
# Quick Start
-Once you've [installed Yazi](./installation.md), start the program with:
+Once you've [installed Yazi](/docs/installation), start the program with:
```sh
yazi