131 lines
5.9 KiB
TypeScript
131 lines
5.9 KiB
TypeScript
import {
|
|
BookOpenIcon,
|
|
DocumentAddIcon,
|
|
ShareIcon,
|
|
} from '@heroicons/react/solid';
|
|
import Link from 'next/link';
|
|
import { ReactComponentElement } from 'react';
|
|
|
|
export function CreateNxPlugin(): ReactComponentElement<any> {
|
|
return (
|
|
<article
|
|
id="create-nx-plugin"
|
|
className="items-center p-4 lg:mx-auto lg:grid lg:max-w-7xl lg:grid-flow-col-dense lg:grid-cols-2 lg:gap-24 lg:px-8"
|
|
>
|
|
<header className="mx-auto max-w-xl lg:col-start-1 lg:mx-0 lg:max-w-none">
|
|
<h1 className="mb-4 text-3xl font-extrabold tracking-tight text-gray-900">
|
|
<span className="sr-only">Nx </span>Community Plugins
|
|
</h1>
|
|
<p className="mb-4 text-lg text-gray-500">
|
|
Core Nx plugins are created and maintained by the Nx team at Nrwl and
|
|
you can see all the available plugins when you run the{' '}
|
|
<code className="break-normal rounded border border-gray-200 bg-gray-50 px-2 py-1 font-mono text-sm leading-6 text-gray-600">
|
|
nx list
|
|
</code>{' '}
|
|
command in your workspace.
|
|
</p>
|
|
<p className="mb-4 text-lg text-gray-500">
|
|
The community plugins are created and maintained by members of the Nx
|
|
community, will allow you to use the full power of the workspace while
|
|
using different technologies!
|
|
</p>
|
|
|
|
<ul className="mx-4 mb-4 list-disc">
|
|
<li className="mb-2">
|
|
<Link href="/packages/nx-plugin#generating-a-plugin">
|
|
<a className="text-lg font-normal text-gray-500 hover:underline">
|
|
Create your Nx Plugin
|
|
</a>
|
|
</Link>
|
|
</li>
|
|
<li className="mb-2">
|
|
<Link href="/packages/nx-plugin#testing-your-plugin">
|
|
<a className="text-lg font-normal text-gray-500 hover:underline">
|
|
Test your plugin
|
|
</a>
|
|
</Link>
|
|
</li>
|
|
<li className="mb-2">
|
|
<Link href="/packages/nx-plugin#generating-a-plugin">
|
|
<a className="text-lg font-normal text-gray-500 hover:underline">
|
|
Publish your Nx Plugin
|
|
</a>
|
|
</Link>
|
|
</li>
|
|
</ul>
|
|
</header>
|
|
<div className="lg:col-start-2">
|
|
<div className="relative flex flex-col items-center justify-center lg:h-full">
|
|
<iframe
|
|
loading="lazy"
|
|
className="max-w-screen-sm"
|
|
width="100%"
|
|
height="315"
|
|
src="https://www.youtube.com/embed/XYO689PAhow"
|
|
frameBorder="0"
|
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen"
|
|
/>
|
|
<div className="mt-6 grid w-full grid-cols-1 items-center gap-4 lg:grid-cols-2">
|
|
<div className="focus-within:ring-blue-nx-base relative flex flex flex-col items-center items-center overflow-hidden rounded-lg border border-gray-300 bg-white shadow-sm transition focus-within:ring-2 focus-within:ring-offset-2 hover:bg-gray-50">
|
|
<div className="flex w-full px-4 py-3">
|
|
<div className="min-w-0 flex-1">
|
|
<Link href="/packages/nx-plugin#generating-a-plugin">
|
|
<a className="focus:outline-none">
|
|
<span className="absolute inset-0" aria-hidden="true" />
|
|
<p className="text-md mb-0.5 font-bold text-gray-600">
|
|
Create an Nx Plugin
|
|
</p>
|
|
<p className="text-xs text-gray-500">
|
|
Follow this guide to generate an Nx plugin to fit your
|
|
needs
|
|
</p>
|
|
</a>
|
|
</Link>
|
|
</div>
|
|
<div className="flex-shrink-0">
|
|
<div className="rounded-full border border-gray-100 bg-white p-2 text-white">
|
|
<DocumentAddIcon className="text-blue-nx-base h-6 w-6" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="mt-2 flex w-full items-center space-x-2 border-t border-gray-200 bg-gray-50 px-4 py-3 text-gray-400">
|
|
<BookOpenIcon className="h-4 w-4" />
|
|
<p className="text-xs font-bold">packages/nx-plugin</p>
|
|
</div>
|
|
</div>
|
|
<div className="focus-within:ring-blue-nx-base relative flex flex flex-col items-center items-center overflow-hidden rounded-lg border border-gray-300 bg-white shadow-sm transition focus-within:ring-2 focus-within:ring-offset-2 hover:bg-gray-50">
|
|
<div className="flex w-full px-4 py-3">
|
|
<div className="min-w-0 flex-1">
|
|
<Link href="/packages/nx-plugin#publishing-your-nx-plugin">
|
|
<a className="focus:outline-none">
|
|
<span className="absolute inset-0" aria-hidden="true" />
|
|
<p className="text-md mb-0.5 font-bold text-gray-600">
|
|
Publish an Nx Plugin
|
|
</p>
|
|
<p className="text-xs text-gray-500">
|
|
Follow this guide to publish your new and shiny Nx
|
|
plugin
|
|
</p>
|
|
</a>
|
|
</Link>
|
|
</div>
|
|
<div className="flex-shrink-0">
|
|
<div className="rounded-full border border-gray-100 bg-white p-2 text-white">
|
|
<ShareIcon className="text-blue-nx-base h-6 w-6" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="mt-2 flex w-full items-center space-x-2 border-t border-gray-200 bg-gray-50 px-4 py-3 text-gray-400">
|
|
<BookOpenIcon className="h-4 w-4" />
|
|
<p className="text-xs font-bold">packages/nx-plugin</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
);
|
|
}
|
|
|
|
export default CreateNxPlugin;
|