/** biome-ignore-all lint/suspicious/noArrayIndexKey: Would need to look into this trivial issue */
"use client";
import { CodeBlock } from "fumadocs-ui/components/codeblock";
import defaultMdxComponents from "fumadocs-ui/mdx";
import { cn } from "fumadocs-ui/utils/cn";
import {
BlocksIcon,
GitMergeIcon,
HomeIcon,
SailboatIcon,
TerminalIcon,
Trash2Icon,
ZapIcon,
} from "lucide-react";
import Image from "next/image";
import Link from "next/link";
import { type HTMLProps, type ReactNode, useState } from "react";
import { Pre } from "@/components/codeblock";
import { buttonVariants } from "@/components/ui/button";
import CkanDevstallerDemo from "./ckan-devstaller-demo.gif";
export default function HomePage() {
const gridColor =
"color-mix(in oklab, var(--color-fd-primary) 10%, transparent)";
const { Card, Cards } = defaultMdxComponents;
return (
<>
ckan-devstaller{" "}
Launch CKAN dev instances within minutes.
ckan-devstaller is a command-line tool to automate installing CKAN for
development using ckan-compose on a new Ubuntu 22.04 instance.
Provided by{" "}
datHere
.
Get Started
Source Code
} href="/docs" title="Quick start">
Get started with ckan-devstaller and install CKAN within minutes
} href="/docs/builder" title="Builder">
Customize your installation with an interactive web GUI
}
href="/docs/reference/installation-architecture"
title="Installation architecture"
>
Learn about where files are installed after running ckan-devstaller
}
href="https://github.com/dathere/ckan-devstaller"
title="Source code"
>
View the source code of ckan-devstaller on GitHub
);
}
export function WhyInteractive(props: {
codeblockInstall: ReactNode;
codeblockUninstall: ReactNode;
}) {
const [active, setActive] = useState(0);
const items = [
[
,
"Install CKAN within minutes",
],
[
,
"Customize your installation",
],
[
,
"Designed for developers",
],
[
,
"Uninstall with ease",
],
];
return (
{items.map((item, i) => (
))}
{active === 0 ? (
Install CKAN within minutes.
One of the primary goals of ckan-devstaller is to ease
installation of CKAN for development. Built with Rust for speed
and streamlining installation with{" "}
ckan-compose
, ckan-devstaller improves installation speeds{" "}
from hours/days to just minutes depending on your
download speed.
Get started
Customize your installation
) : null}
{active === 1 ? (
Customize your installation with the Builder.
Try out the interactive web GUI for customizing your CKAN
installation. You can select:
Presets
CKAN version
Extensions
Features
Then you can copy the provided ckan-devstaller command to run your
selected configuration.
Try out the Builder
) : null}
{active === 2 ? (
Designed for developers.
We've kept development use cases in mind while developing
ckan-devstaller, such as:
Trying out a new version of CKAN
Developing CKAN extensions and themes
View the installation architecture
Source code
) : null}
{active === 3 ? (
Uninstall CKAN with ease.
After you've installed CKAN with ckan-devstaller, you can
uninstall CKAN with ease. This allows for quickly re-installing
CKAN for a different use case.
{props.codeblockUninstall}
Learn more about uninstalling
) : null}
);
}
function WhyPanel(props: HTMLProps) {
return (