Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/docs/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ propeller-cli provision

This command will:

- Log you into Magistrala (you must have a Magistrala user already created; if not, create one using the [magistrala-cli](https://magistrala.absmach.eu/docs/dev-guide/cli/users-cli/#create-user), `curl`, or the web UI). You can also use the admin user if you have the credentials.
- Log you into Magistrala (you must have a Magistrala user already created; if not, create one using the [magistrala-cli](https://www.absmach.eu/docs/magistrala/dev-guide/cli/users-cli/#create-user), `curl`, or the web UI). You can also use the admin user if you have the credentials.
- Create a **domain**
- Log your user into that domain
- Create a **manager client**
Expand Down
2 changes: 1 addition & 1 deletion content/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Propeller by Abstract Machines
description: "Propeller by Abstract Machines — open-source WebAssembly orchestrator for Cloud-Edge computing. Manage Wasm workloads across cloud servers, edge nodes, and microcontrollers."
---

[**Propeller**](https://absmach.eu/docs/propeller) is a cutting-edge orchestrator for **WebAssembly (Wasm)** workloads across the **Cloud-Edge continuum**. It enables seamless deployment of Wasm applications from powerful cloud servers to constrained microcontrollers, combining flexibility, security, and performance.
[**Propeller**](https://www.absmach.eu/products/propeller) is a cutting-edge orchestrator for **WebAssembly (Wasm)** workloads across the **Cloud-Edge continuum**. It enables seamless deployment of Wasm applications from powerful cloud servers to constrained microcontrollers, combining flexibility, security, and performance.

## Features

Expand Down
1 change: 1 addition & 0 deletions next.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ const config = {
unoptimized: true,
},
basePath: BASE_PATH,
assetPrefix: BASE_PATH,
env: {
NEXT_PUBLIC_BASE_PATH: BASE_PATH,
},
Expand Down
13 changes: 12 additions & 1 deletion public/_redirects
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
/ /docs/propeller/ 301
/docs/propeller /docs/propeller/ 301

/docs/propeller/_next/* /_next/:splat 200
/docs/propeller/* /:splat 200
/docs/propeller/api/search /api/search 200
/docs/propeller/og/* /og/:splat 200
/docs/propeller/:file.:ext /:file.:ext 200
/docs/propeller/* /:splat/ 200

/api/search /api/search 200
/og/* /og/:splat 200
/_next/* /_next/:splat 200
/:file.:ext /:file.:ext 200
/* /:splat/ 200
2 changes: 1 addition & 1 deletion public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@ Key facts for disambiguation: "Propeller" in this context refers to a software o
- Blog: https://www.absmach.eu/blog/?category=propeller
- Community Chat (Matrix): https://matrix.to/#/#absmach:matrix.org
- YouTube: https://www.youtube.com/@absmach
- Company Website: https://absmach.eu
- Company Website: https://www.absmach.eu
- EU Grant (CORDIS): https://cordis.europa.eu/project/id/101139067
- ELASTIC Project: https://elasticproject.eu/
2 changes: 1 addition & 1 deletion scripts/indexnow.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const SITE_URL =
process.env.NEXT_PUBLIC_BASE_URL || "https://absmach.eu/docs/propeller";
process.env.NEXT_PUBLIC_BASE_URL || "https://www.absmach.eu/docs/propeller";
const KEY = process.env.INDEXNOW_KEY;
const INDEXNOW_ENDPOINT = "https://api.indexnow.org/indexnow";

Expand Down
5 changes: 4 additions & 1 deletion src/app/[[...slug]]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,10 @@ export default async function Page(props: PageProps<"/[[...slug]]">) {

const MDX = page.data.body;
const pageUrl = `${SITE_URL}${page.url}`;
const pageImage = `${SITE_URL}${getPageImage(page).url}`;
const pageImage = new URL(
getPageImage(page).url,
new URL(SITE_URL).origin,
).toString();
const contentPath = join(process.cwd(), "content", page.path);
const lastModified = resolvePageLastModified(
page.data.lastModified,
Expand Down
1 change: 1 addition & 0 deletions src/lib/base-path.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ export function getBasePath(): string {
}

export function assetPath(path: string): string {
if (BASE_PATH && path.startsWith(BASE_PATH)) return path;
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
return `${BASE_PATH}${normalizedPath}`;
}
2 changes: 1 addition & 1 deletion src/lib/geo-constants.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export const SITE_URL = "https://absmach.eu/docs/propeller" as const;
export const SITE_URL = "https://www.absmach.eu/docs/propeller" as const;
export const GITHUB_URL = "https://github.com/absmach/propeller" as const;
3 changes: 2 additions & 1 deletion src/lib/source.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { docs } from "fumadocs-mdx:collections/server";
import { type InferPageType, loader } from "fumadocs-core/source";
import { openapiPlugin } from "fumadocs-openapi/server";
import { assetPath } from "./base-path";

export const source = loader({
baseUrl: "/",
Expand All @@ -13,7 +14,7 @@ export function getPageImage(page: InferPageType<typeof source>) {

return {
segments,
url: `/og/${segments.join("/")}`,
url: assetPath(`/og/${segments.join("/")}`),
};
}

Expand Down
9 changes: 7 additions & 2 deletions src/mdx-components.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import { CodeBlock, Pre } from "fumadocs-ui/components/codeblock";
import { ImageZoom } from "fumadocs-ui/components/image-zoom";
import defaultMdxComponents from "fumadocs-ui/mdx";
import type { MDXComponents } from "mdx/types";
import type { ComponentProps } from "react";
import { APIPage } from "@/components/api-page";
import { CodeFromSource } from "@/components/code-from-source";
import { assetPath } from "@/lib/base-path";

export function getMDXComponents(components?: MDXComponents): MDXComponents {
return {
Expand All @@ -15,8 +17,11 @@ export function getMDXComponents(components?: MDXComponents): MDXComponents {
<Pre>{props.children}</Pre>
</CodeBlock>
),
// biome-ignore lint/suspicious/noExplicitAny: This is okay
img: (props) => <ImageZoom {...(props as any)} />,
img: (props: ComponentProps<typeof ImageZoom>) => {
const src =
typeof props.src === "string" ? assetPath(props.src) : props.src;
return <ImageZoom {...props} src={src} />;
},
...components,
};
}
Loading