diff --git a/.github/workflows/docusaurus.yml b/.github/workflows/docusaurus.yml
new file mode 100644
index 00000000000..c8a1c49e736
--- /dev/null
+++ b/.github/workflows/docusaurus.yml
@@ -0,0 +1,29 @@
+name: docusaurus build
+on:
+ pull_request:
+ paths:
+ - "docs/**"
+ push:
+ branches: [ "master" ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: '18'
+
+ - name: Install Docusaurus Dependencies
+ run: |
+ cd misc/docusaurus
+ yarn install
+
+ - name: Build Docusaurus Docs
+ run: |
+ cd misc/docusaurus
+ yarn build
diff --git a/docs/explanation/gnovm.md b/docs/explanation/gnovm.md
index fb767ff316a..1d6de14993b 100644
--- a/docs/explanation/gnovm.md
+++ b/docs/explanation/gnovm.md
@@ -22,6 +22,6 @@ This enables non-web3 developers to contribute without requiring an understandin
## Getting started
-Install [`gno`](./cmd/gno) and refer to the [`examples`](../examples) folder to start developing contracts.
+Install [`gno`](../getting-started/local-setup.md) and refer to the [`examples`](https://github.com/gnolang/gno/tree/master/examples) folder to start developing contracts.
-Check the [Makefile](./Makefile) to enhance GnoVM, Gnolang, and stdlibs.
+Check the [Makefile](https://github.com/gnolang/gno/blob/master/gnovm/Makefile) to enhance GnoVM, Gnolang, and stdlibs.
diff --git a/docs/how-to-guides/creating-grc20.md b/docs/how-to-guides/creating-grc20.md
index d91499afb39..437294882c3 100644
--- a/docs/how-to-guides/creating-grc20.md
+++ b/docs/how-to-guides/creating-grc20.md
@@ -16,7 +16,7 @@ Our _GRC20_ Realm will have the following functionality:
## Prerequisites
-We will proceed using the typical directory structure for a Realm found within the [simple-contract guide](simple-contract.md). It is also worthwhile to consult the [GRC20 interface](../../examples/gno.land/p/demo/grc/grc20/igrc20.gno) which we will be importing and utilizing within this guide.
+We will proceed using the typical directory structure for a Realm found within the [simple-contract guide](simple-contract.md). It is also worthwhile to consult the [GRC20 interface](https://github.com/gnolang/gno/blob/master/examples/gno.land/p/demo/grc/grc20/igrc20.gno) which we will be importing and utilizing within this guide.
## 1. Importing token package
For this realm, we'll want to import the `grc20` package as this will include the main functionality of our token factory realm.
@@ -54,7 +54,7 @@ In this code preview, we have:
## 2. Adding token functionality
-The following section will be about introducing Public functions to expose functionality imported from the [grc20 package](../../examples/gno.land/p/demo/grc/grc20).
+The following section will be about introducing Public functions to expose functionality imported from the [grc20 package](https://github.com/gnolang/gno/tree/master/examples/gno.land/p/demo/grc/grc20).
[embedmd]:# (../assets/how-to-guides/creating-grc20/mytoken-2.gno go)
```go
diff --git a/docs/how-to-guides/creating-grc721.md b/docs/how-to-guides/creating-grc721.md
index afaa2da0ef3..e4ac695a71b 100644
--- a/docs/how-to-guides/creating-grc721.md
+++ b/docs/how-to-guides/creating-grc721.md
@@ -20,7 +20,7 @@ Our _GRC721_ Realm will have the following functionality:
We will proceed using the typical directory structure for a Realm found within
the [simple-contract guide](simple-contract.md). It is also worthwhile to consult
-the [GRC721 interface](../../examples/gno.land/p/demo/grc/grc721/igrc721.gno) which we will be borrowing from within
+the [GRC721 interface](https://github.com/gnolang/gno/blob/master/examples/gno.land/p/demo/grc/grc721/igrc721.gno) which we will be borrowing from within
this guide.
## 1. Importing token package
@@ -59,7 +59,7 @@ In this code preview, we have:
## 2. Adding token functionality
The following section will be about introducing Public functions to expose functionality imported from
-the [grc721 package](../../examples/gno.land/p/demo/grc/grc721).
+the [grc721 package](https://github.com/gnolang/gno/tree/master/examples/gno.land/p/demo/grc/grc721).
[embedmd]:# (../assets/how-to-guides/creating-grc721/mynonfungibletoken-2.gno go)
```go
diff --git a/misc/docusaurus/docusaurus.config.js b/misc/docusaurus/docusaurus.config.js
index 0ff9e920acd..94d28490bd0 100644
--- a/misc/docusaurus/docusaurus.config.js
+++ b/misc/docusaurus/docusaurus.config.js
@@ -83,39 +83,38 @@ const config = {