mirror of
https://github.com/qdrant/landing_page.git
synced 2026-09-25 14:08:30 +02:00
Hugo and dependency updates (#2310)
* Adds a run script to easily serve the page locally * Updates the Hugo version * Updates deprecated fields * Add version checks in the run and build scripts * Update JS dependencies to fix CVEs
This commit is contained in:
@@ -14,7 +14,7 @@ jobs:
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@16361eb4acea8698b220b76c0d4e84e1fd22c61d # v2.6.0
|
||||
with:
|
||||
hugo-version: "latest"
|
||||
hugo-version: "0.160.1"
|
||||
- name: Install npm
|
||||
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
|
||||
with:
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@16361eb4acea8698b220b76c0d4e84e1fd22c61d # v2.6.0
|
||||
with:
|
||||
hugo-version: "0.123.0"
|
||||
hugo-version: "0.160.1"
|
||||
- name: Install npm
|
||||
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
|
||||
with:
|
||||
|
||||
+2
-1
@@ -4,4 +4,5 @@ qdrant-landing/.DS_Store
|
||||
.DS_Store
|
||||
.tools/
|
||||
package-lock.json
|
||||
.claude/
|
||||
.claude/
|
||||
dart-sass/
|
||||
@@ -65,8 +65,7 @@
|
||||
## Run
|
||||
|
||||
```bash
|
||||
cd qdrant-landing
|
||||
hugo serve
|
||||
./run.sh
|
||||
```
|
||||
|
||||
Open http://localhost:1313/ in your browser.
|
||||
|
||||
+25
-4
@@ -5,9 +5,30 @@ DEPLOY_PRIME_URL=${DEPLOY_PRIME_URL:-"https://qdrant.com"}
|
||||
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \
|
||||
md5sum dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \
|
||||
tar -xf dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \
|
||||
rm dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \
|
||||
REQUIRED_HUGO_VERSION="0.160.1"
|
||||
INSTALLED_HUGO_VERSION=$(hugo version | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | head -1 | tr -d 'v')
|
||||
if [ "${INSTALLED_HUGO_VERSION}" != "${REQUIRED_HUGO_VERSION}" ]; then
|
||||
echo "Error: Hugo version ${REQUIRED_HUGO_VERSION} is required, but found ${INSTALLED_HUGO_VERSION}."
|
||||
echo "See https://gohugo.io/installation/ for installation instructions."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||
ARCH=$(uname -m)
|
||||
case "${OS}" in
|
||||
linux) SASS_OS="linux" ;;
|
||||
darwin) SASS_OS="macos" ;;
|
||||
*) echo "Error: Unsupported OS: ${OS}"; exit 1 ;;
|
||||
esac
|
||||
case "${ARCH}" in
|
||||
x86_64) SASS_ARCH="x64" ;;
|
||||
aarch64|arm64) SASS_ARCH="arm64" ;;
|
||||
*) echo "Error: Unsupported architecture: ${ARCH}"; exit 1 ;;
|
||||
esac
|
||||
SASS_ARCHIVE="dart-sass-${DART_SASS_VERSION}-${SASS_OS}-${SASS_ARCH}.tar.gz"
|
||||
|
||||
curl -LJO "https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/${SASS_ARCHIVE}" && \
|
||||
tar -xf "${SASS_ARCHIVE}" && \
|
||||
rm "${SASS_ARCHIVE}" && \
|
||||
export PATH="${CURRENT_DIR}/dart-sass:${PATH}" && \
|
||||
cd qdrant-landing && npm install && hugo --gc --minify --config config.toml,config-theme.toml --buildFuture -b ${DEPLOY_PRIME_URL}
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ publish = "qdrant-landing/public"
|
||||
command = "bash -x ./install-and-build.sh"
|
||||
|
||||
[build.environment]
|
||||
HUGO_VERSION = "0.141.0"
|
||||
HUGO_VERSION = "0.160.1"
|
||||
DART_SASS_VERSION = "1.70.0"
|
||||
NODE_VERSION = "22.22.2"
|
||||
HUGO_PARAMS_segmentWriteKey = "UOgPyE2GbtD4lletUP2uWfBGQQSfkzf1"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
v22
|
||||
@@ -4,7 +4,7 @@ title: "{{ replace .Name "-" " " | title }}"
|
||||
type: delimiter
|
||||
weight: 0 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
list: never
|
||||
publishResources: false
|
||||
render: never
|
||||
|
||||
@@ -109,10 +109,10 @@ disableKinds = ["taxonomy", "term"]
|
||||
|
||||
# Not rendering the content of the cd following files in production
|
||||
[[cascade]]
|
||||
[cascade._build]
|
||||
[cascade.build]
|
||||
list = 'never'
|
||||
render = 'never'
|
||||
[cascade._target]
|
||||
[cascade.target]
|
||||
environment = '{production}'
|
||||
path = '{**.skip,**.skip/*}'
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ type: delimiter
|
||||
weight: 1 # Change this weight to change order of sections
|
||||
hideInSidebar: true
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: deploy
|
||||
|
||||
@@ -5,7 +5,7 @@ type: delimiter
|
||||
weight: 25 # Change this weight to change order of sections
|
||||
hideInSidebar: true
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: deploy
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Support"
|
||||
type: delimiter
|
||||
weight: 300
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: deploy
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Getting Started"
|
||||
type: delimiter
|
||||
weight: 100 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: develop
|
||||
|
||||
@@ -5,7 +5,7 @@ type: delimiter
|
||||
weight: 1100 # Change this weight to change order of sections
|
||||
partition: ecosystem
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
---
|
||||
@@ -4,7 +4,7 @@ title: "Integrations"
|
||||
type: delimiter
|
||||
weight: 500 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: ecosystem
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Cloud"
|
||||
type: delimiter
|
||||
weight: 200 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: deploy
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Migrate to Qdrant"
|
||||
type: delimiter
|
||||
weight: 100 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: ecosystem
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Support"
|
||||
type: delimiter
|
||||
weight: 500 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: develop
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Qdrant Tools"
|
||||
type: delimiter
|
||||
weight: 300 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: develop
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Tutorials"
|
||||
type: delimiter
|
||||
weight: 400 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: develop
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "User Manual"
|
||||
type: delimiter
|
||||
weight: 200 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: develop
|
||||
|
||||
@@ -4,7 +4,7 @@ type: delimiter
|
||||
weight: 100
|
||||
partition: deploy
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
---
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
title: "Make the most of your Unstructured Data"
|
||||
icon:
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
render: never
|
||||
list: never
|
||||
publishResources: false
|
||||
cascade:
|
||||
_build:
|
||||
build:
|
||||
render: never
|
||||
list: never
|
||||
publishResources: false
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Articles"
|
||||
type: delimiter
|
||||
weight: 100 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Courses"
|
||||
type: delimiter
|
||||
weight: 200 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ title: "Tutorials"
|
||||
type: delimiter
|
||||
weight: 300 # Change this weight to change order of sections
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /articles/data-exploration
|
||||
weight: 130
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -3,7 +3,7 @@ type: reference
|
||||
reference: /articles/ecosystem
|
||||
weight: 170
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /articles/machine-learning
|
||||
weight: 140
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -3,7 +3,7 @@ type: reference
|
||||
reference: /articles/practicle-examples
|
||||
weight: 160
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /articles/qdrant-internals
|
||||
weight: 120
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /articles/rag-and-genai
|
||||
weight: 150
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /articles/vector-search-manuals
|
||||
weight: 110
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /course/essentials
|
||||
weight: 210
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /course/multi-vector-search
|
||||
weight: 220
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /documentation/tutorials-basics
|
||||
weight: 311
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /documentation/tutorials-develop
|
||||
weight: 315
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /documentation/tutorials-operations
|
||||
weight: 314
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /documentation/tutorials-lp-overview
|
||||
weight: 310
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -4,7 +4,7 @@ type: reference
|
||||
reference: /documentation/tutorials-search-engineering
|
||||
weight: 312
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
publishResources: false
|
||||
render: never
|
||||
partition: learn
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Legal
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
render: never
|
||||
cascade:
|
||||
- build:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
_build:
|
||||
build:
|
||||
list: never
|
||||
publishResources: false
|
||||
render: never
|
||||
@@ -8,7 +8,7 @@ _build:
|
||||
# remove or comment out the lines below to render the section
|
||||
# only if you have a template for it!
|
||||
cascade:
|
||||
_build:
|
||||
build:
|
||||
list: never
|
||||
publishResources: false
|
||||
render: never
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Security
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
render: never
|
||||
cascade:
|
||||
- build:
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
title: Trusted by developers worldwide
|
||||
subtitle: Qdrant is powering thousands of innovative AI solutions at leading companies. Engineers are choosing Qdrant for its top performance, high scalability, ease of use, and flexible cost and resource-saving options
|
||||
sitemapExclude: True
|
||||
_build:
|
||||
build:
|
||||
list: never
|
||||
publishResources: false
|
||||
render: never
|
||||
cascade:
|
||||
_build:
|
||||
build:
|
||||
list: never
|
||||
publishResources: false
|
||||
render: never
|
||||
|
||||
Generated
+905
-1344
File diff suppressed because it is too large
Load Diff
@@ -22,18 +22,21 @@
|
||||
"dependencies": {
|
||||
"@splidejs/splide": "^4.1.4",
|
||||
"anchor-js": "^5.0.0",
|
||||
"bootstrap": "^5.3.3",
|
||||
"bootstrap": "^5.3.8",
|
||||
"clipboard": "^2.0.11",
|
||||
"qdrant-page-search": "^1.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.23.9",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"prettier": "^3.2.5",
|
||||
"@babel/preset-env": "^7.29.2",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"prettier": "^3.8.3",
|
||||
"prettier-plugin-go-template": "^0.0.15",
|
||||
"webpack": "^5.90.1",
|
||||
"webpack-cli": "^5.1.4"
|
||||
"webpack": "^5.106.2",
|
||||
"webpack-cli": "^7.0.2"
|
||||
},
|
||||
"name": "qdrant-landing",
|
||||
"version": "0.1.0"
|
||||
"version": "0.1.0",
|
||||
"workspaces": [
|
||||
"packages/hugoautogen"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"sum": "bcbacd62270f3841",
|
||||
"dependencySources": {
|
||||
"dependencies": {
|
||||
"@splidejs/splide": "qdrant-2024",
|
||||
"anchor-js": "qdrant-2024",
|
||||
"bootstrap": "qdrant-2024",
|
||||
"clipboard": "qdrant-2024",
|
||||
"qdrant-page-search": "qdrant-2024"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "qdrant-2024",
|
||||
"copy-webpack-plugin": "qdrant-2024",
|
||||
"prettier": "qdrant-2024",
|
||||
"prettier-plugin-go-template": "qdrant-2024",
|
||||
"webpack": "qdrant-2024",
|
||||
"webpack-cli": "qdrant-2024"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"@splidejs/splide": "^4.1.4",
|
||||
"anchor-js": "^5.0.0",
|
||||
"bootstrap": "^5.3.8",
|
||||
"clipboard": "^2.0.11",
|
||||
"qdrant-page-search": "^1.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.29.2",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"prettier": "^3.8.3",
|
||||
"prettier-plugin-go-template": "^0.0.15",
|
||||
"webpack": "^5.106.2",
|
||||
"webpack-cli": "^7.0.2"
|
||||
},
|
||||
"name": "qdrant-landing",
|
||||
"version": "0.1.0"
|
||||
}
|
||||
@@ -4,19 +4,19 @@
|
||||
"format:check": "prettier . --check"
|
||||
},
|
||||
"dependencies": {
|
||||
"bootstrap": "^5.3.3",
|
||||
"qdrant-page-search": "^1.1.3",
|
||||
"@splidejs/splide": "^4.1.4",
|
||||
"anchor-js": "^5.0.0",
|
||||
"bootstrap": "^5.3.8",
|
||||
"clipboard": "^2.0.11",
|
||||
"anchor-js": "^5.0.0"
|
||||
"qdrant-page-search": "^1.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.23.9",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"prettier": "^3.2.5",
|
||||
"@babel/preset-env": "^7.29.2",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"prettier": "^3.8.3",
|
||||
"prettier-plugin-go-template": "^0.0.15",
|
||||
"webpack": "^5.90.1",
|
||||
"webpack-cli": "^5.1.4"
|
||||
"webpack": "^5.106.2",
|
||||
"webpack-cli": "^7.0.2"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [">0.2%", "not dead", "not op_mini all"],
|
||||
|
||||
@@ -31,20 +31,23 @@
|
||||
"dependencies": {
|
||||
"@splidejs/splide": "^4.1.4",
|
||||
"anchor-js": "^5.0.0",
|
||||
"bootstrap": "^5.3.3",
|
||||
"bootstrap": "^5.3.8",
|
||||
"clipboard": "^2.0.11",
|
||||
"qdrant-page-search": "^1.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.23.9",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"prettier": "^3.2.5",
|
||||
"@babel/preset-env": "^7.29.2",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"prettier": "^3.8.3",
|
||||
"prettier-plugin-go-template": "^0.0.15",
|
||||
"webpack": "^5.90.1",
|
||||
"webpack-cli": "^5.1.4"
|
||||
"webpack": "^5.106.2",
|
||||
"webpack-cli": "^7.0.2"
|
||||
},
|
||||
"scripts": {
|
||||
"format": "prettier . --write",
|
||||
"format:check": "prettier . --check"
|
||||
}
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/hugoautogen"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"sum": "bcc0a8c634ddc449",
|
||||
"dependencySources": {
|
||||
"dependencies": {},
|
||||
"devDependencies": {}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"name": "qdrant-2024",
|
||||
"version": "0.1.0"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
REQUIRED_HUGO_VERSION="0.160.1"
|
||||
INSTALLED_HUGO_VERSION=$(hugo version | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | head -1 | tr -d 'v')
|
||||
if [ "${INSTALLED_HUGO_VERSION}" != "${REQUIRED_HUGO_VERSION}" ]; then
|
||||
echo "Warning: Hugo version ${REQUIRED_HUGO_VERSION} is required, but found ${INSTALLED_HUGO_VERSION}."
|
||||
echo "It is recommended to install the correct Hugo version. See https://gohugo.io/installation/ for installation instructions."
|
||||
fi
|
||||
|
||||
cd qdrant-landing && npm install && hugo serve
|
||||
Reference in New Issue
Block a user