├── .npmignore ├── apps ├── www │ ├── builders │ │ ├── builtin-builders.mdx │ │ ├── introduction-to-builders.mdx │ │ ├── leaderboardbuilder.mdx │ │ └── jsx-syntax.mdx │ ├── images │ │ ├── assets │ │ │ ├── stewie-griffin-source.png │ │ │ └── canvacord-quickstart-output.png │ │ └── examples │ │ │ ├── builders │ │ │ ├── music-card.png │ │ │ └── greetings-card.png │ │ │ └── manipulation │ │ │ └── stewie-griffin.png │ ├── package.json │ ├── README.md │ ├── examples │ │ ├── builders │ │ │ ├── tweet-card.mdx │ │ │ ├── discord-embed.mdx │ │ │ ├── analog-clock.mdx │ │ │ ├── instagram-post.mdx │ │ │ ├── discord-profile-large.mdx │ │ │ └── discord-profile-small.mdx │ │ ├── introduction.mdx │ │ └── image-manipulation │ │ │ └── stewie-griffin.mdx │ ├── introduction.mdx │ ├── mint.json │ └── favicon.svg └── docs │ ├── src │ ├── data │ │ └── showcase.ts │ ├── components │ │ ├── layout │ │ │ ├── Section.tsx │ │ │ ├── CardGrid.tsx │ │ │ ├── Container.tsx │ │ │ └── Layout.tsx │ │ ├── docs │ │ │ ├── entities │ │ │ │ ├── Example.tsx │ │ │ │ ├── Constructor.tsx │ │ │ │ ├── Properties.tsx │ │ │ │ ├── Function.tsx │ │ │ │ ├── ParameterTable.tsx │ │ │ │ ├── Type.tsx │ │ │ │ └── EntitySymbol.tsx │ │ │ ├── renderer │ │ │ │ ├── TypeRenderer.tsx │ │ │ │ └── ClassRenderer.tsx │ │ │ ├── DocsItemList.tsx │ │ │ └── ContentArea.tsx │ │ ├── heading │ │ │ └── index.tsx │ │ ├── guide │ │ │ └── GuideItemList.tsx │ │ ├── combobox │ │ │ └── index.tsx │ │ ├── homepage │ │ │ ├── Hero.tsx │ │ │ └── DiscordInvite.tsx │ │ ├── footer │ │ │ └── index.tsx │ │ ├── searchbox │ │ │ └── SearchBox.tsx │ │ └── cmdk │ │ │ └── CommandDialog.tsx │ ├── lib │ │ ├── store.ts │ │ ├── util.ts │ │ └── constants.ts │ ├── styles │ │ └── globals.css │ └── pages │ │ ├── docs │ │ ├── index.tsx │ │ └── [package] │ │ │ └── index.tsx │ │ ├── _app.tsx │ │ ├── 404.tsx │ │ ├── 500.tsx │ │ └── index.tsx │ ├── .eslintrc.json │ ├── public │ ├── icon.jpg │ ├── vercel.svg │ └── next.svg │ ├── postcss.config.js │ ├── README.md │ ├── tailwind.config.js │ ├── .gitignore │ ├── tsconfig.json │ ├── package.json │ └── next.config.mjs ├── .gitattributes ├── .github ├── FUNDING.yml ├── workflows │ ├── npm-publish.yml │ ├── label.yml │ ├── deploy.yml │ └── assets.yml └── PULL_REQUEST_TEMPLATE.md ├── packages ├── canvacord │ ├── biome.json │ ├── src │ │ ├── template │ │ │ ├── index.ts │ │ │ └── BuilderOptionsManager.ts │ │ ├── components │ │ │ └── index.ts │ │ ├── helpers │ │ │ ├── index.ts │ │ │ ├── utils.ts │ │ │ ├── decoder.ts │ │ │ ├── StyleSheet.ts │ │ │ ├── image.ts │ │ │ └── jsx.ts │ │ ├── assets │ │ │ ├── index.ts │ │ │ ├── AssetsFactory.ts │ │ │ └── Font.ts │ │ ├── index.ts │ │ └── canvas │ │ │ ├── index.ts │ │ │ ├── utils.ts │ │ │ ├── CanvasHelper.ts │ │ │ ├── Encodable.ts │ │ │ ├── ImageManipulator.ts │ │ │ ├── CanvasImage.ts │ │ │ ├── Canvacord.ts │ │ │ └── ImageFilterer.ts │ ├── test │ │ ├── bg.png │ │ ├── test.png │ │ ├── jsx │ │ │ ├── test.png │ │ │ └── test2.png │ │ ├── background.jpg │ │ ├── canvas │ │ │ ├── rip.png │ │ │ ├── filter.png │ │ │ ├── fused.png │ │ │ ├── hitler.png │ │ │ ├── invert.png │ │ │ ├── kissed.png │ │ │ ├── trash.png │ │ │ ├── affected.png │ │ │ ├── facepalm.png │ │ │ ├── filtered.png │ │ │ ├── rainbow.png │ │ │ ├── slapped.png │ │ │ ├── spanked.png │ │ │ ├── beautiful.png │ │ │ ├── distracted.png │ │ │ ├── manipulated.png │ │ │ └── triggered.gif │ │ ├── minecraft.png │ │ ├── leaderboard.png │ │ ├── leaderboard2.png │ │ ├── normal │ │ │ ├── test.png │ │ │ ├── rankCard.jpg │ │ │ ├── rankCard.png │ │ │ ├── leaderboard.png │ │ │ └── cardTranslated.png │ │ ├── Poppins-Regular.ttf │ │ ├── stewie-griffin-result.png │ │ ├── stewie-griffin-source.png │ │ ├── common.ts │ │ ├── index.ts │ │ ├── stewie.ts │ │ ├── cards-translation.ts │ │ ├── demo.tsx │ │ ├── canvas.ts │ │ ├── leaderboard.ts │ │ └── jsxTest.tsx │ ├── typedoc.json │ ├── tsup.config.ts │ ├── __tests__ │ │ └── main.spec.ts │ ├── vitest.config.ts │ ├── tailwind.config.ts │ ├── tsconfig.json │ ├── jsr.json │ ├── package.json │ └── README.md ├── biome │ ├── package.json │ └── biome.json └── tsconfig │ ├── package.json │ └── base.json ├── .gitignore ├── .vscode └── settings.json ├── .yarnrc.yml ├── .editorconfig ├── turbo.json ├── typedoc.json ├── scripts └── docgen.mts ├── tsup.config.ts ├── package.json ├── guides ├── Examples │ ├── custom-image-generation.md │ ├── image-generation.md │ ├── leaderboard-image-generation.md │ └── greetings-card.md └── Welcome │ └── welcome.md ├── benchmark └── jsx-renderer.mjs └── README.md /.npmignore: -------------------------------------------------------------------------------- 1 | assets/ 2 | test/ 3 | docs/ -------------------------------------------------------------------------------- /apps/www/builders/builtin-builders.mdx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=TypeScript -------------------------------------------------------------------------------- /apps/docs/src/data/showcase.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /apps/docs/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | patreon: twlite 2 | custom: https://buymeacoffee.com/twlite 3 | -------------------------------------------------------------------------------- /packages/canvacord/biome.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "../biome/biome.json" 4 | ] 5 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | legacy/ 3 | !scripts/assets 4 | dist/ 5 | .yarn/cache 6 | .yarn/*.gz 7 | .turbo/ -------------------------------------------------------------------------------- /apps/docs/public/icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/apps/docs/public/icon.jpg -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "tailwindCSS.classAttributes": ["class", "className", "ngClass", "tw"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/biome/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "biome", 3 | "version": "0.0.0", 4 | "private": true 5 | } 6 | -------------------------------------------------------------------------------- /packages/canvacord/src/template/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./Builder"; 2 | export * from "./BuilderOptionsManager"; 3 | -------------------------------------------------------------------------------- /packages/canvacord/test/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/bg.png -------------------------------------------------------------------------------- /packages/canvacord/src/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./LeaderboardBuilder"; 2 | export * from "./RankCardBuilder"; 3 | -------------------------------------------------------------------------------- /packages/canvacord/test/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/test.png -------------------------------------------------------------------------------- /packages/canvacord/test/jsx/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/jsx/test.png -------------------------------------------------------------------------------- /packages/canvacord/src/helpers/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./jsx"; 2 | export * from "./StyleSheet"; 3 | export * from "./loadImage"; 4 | -------------------------------------------------------------------------------- /packages/canvacord/test/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/background.jpg -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/rip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/rip.png -------------------------------------------------------------------------------- /packages/canvacord/test/jsx/test2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/jsx/test2.png -------------------------------------------------------------------------------- /packages/canvacord/test/minecraft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/minecraft.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/filter.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/fused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/fused.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/hitler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/hitler.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/invert.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/kissed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/kissed.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/trash.png -------------------------------------------------------------------------------- /packages/canvacord/test/leaderboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/leaderboard.png -------------------------------------------------------------------------------- /packages/canvacord/test/leaderboard2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/leaderboard2.png -------------------------------------------------------------------------------- /packages/canvacord/test/normal/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/normal/test.png -------------------------------------------------------------------------------- /packages/canvacord/test/Poppins-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/Poppins-Regular.ttf -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/affected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/affected.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/facepalm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/facepalm.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/filtered.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/rainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/rainbow.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/slapped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/slapped.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/spanked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/spanked.png -------------------------------------------------------------------------------- /packages/canvacord/test/normal/rankCard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/normal/rankCard.jpg -------------------------------------------------------------------------------- /packages/canvacord/test/normal/rankCard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/normal/rankCard.png -------------------------------------------------------------------------------- /packages/canvacord/typedoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "entryPoints": ["src/index.ts"], 3 | "excludePrivate": true, 4 | "excludeExternals": true 5 | } 6 | -------------------------------------------------------------------------------- /apps/docs/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {} 5 | } 6 | }; 7 | -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/beautiful.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/beautiful.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/distracted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/distracted.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/manipulated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/manipulated.png -------------------------------------------------------------------------------- /packages/canvacord/test/canvas/triggered.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/canvas/triggered.gif -------------------------------------------------------------------------------- /packages/canvacord/test/normal/leaderboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/normal/leaderboard.png -------------------------------------------------------------------------------- /apps/www/images/assets/stewie-griffin-source.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/apps/www/images/assets/stewie-griffin-source.png -------------------------------------------------------------------------------- /apps/www/images/examples/builders/music-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/apps/www/images/examples/builders/music-card.png -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | compressionLevel: mixed 2 | 3 | enableGlobalCache: false 4 | 5 | nodeLinker: node-modules 6 | 7 | yarnPath: .yarn/releases/yarn-4.0.2.cjs 8 | -------------------------------------------------------------------------------- /packages/canvacord/test/normal/cardTranslated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/normal/cardTranslated.png -------------------------------------------------------------------------------- /packages/canvacord/test/stewie-griffin-result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/stewie-griffin-result.png -------------------------------------------------------------------------------- /packages/canvacord/test/stewie-griffin-source.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/packages/canvacord/test/stewie-griffin-source.png -------------------------------------------------------------------------------- /apps/www/images/examples/builders/greetings-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/apps/www/images/examples/builders/greetings-card.png -------------------------------------------------------------------------------- /apps/www/images/assets/canvacord-quickstart-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/apps/www/images/assets/canvacord-quickstart-output.png -------------------------------------------------------------------------------- /apps/www/images/examples/manipulation/stewie-griffin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neplexlabs/canvacord/HEAD/apps/www/images/examples/manipulation/stewie-griffin.png -------------------------------------------------------------------------------- /packages/canvacord/src/assets/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./Font"; 2 | export * from "./AssetsFactory"; 3 | export * from "./TemplateFactory"; 4 | export * from "./fonts/fonts"; 5 | -------------------------------------------------------------------------------- /packages/tsconfig/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tsconfig", 3 | "version": "0.0.0", 4 | "private": true, 5 | "files": [ 6 | "base.json" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /packages/canvacord/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./assets"; 2 | export * from "./components"; 3 | export * from "./helpers"; 4 | export * from "./template"; 5 | export * from "./canvas"; 6 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | 7 | [*.{js,json,yml}] 8 | charset = utf-8 9 | indent_style = space 10 | indent_size = 2 11 | -------------------------------------------------------------------------------- /packages/canvacord/tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../tsup.config'; 2 | 3 | export default createConfig({ 4 | entry: ['./src/index.ts'], 5 | tsconfig: './tsconfig.json' 6 | }); 7 | -------------------------------------------------------------------------------- /apps/docs/src/components/layout/Section.tsx: -------------------------------------------------------------------------------- 1 | export function Section({ children }: React.PropsWithChildren) { 2 | return
{children}
; 3 | } 4 | -------------------------------------------------------------------------------- /apps/docs/src/lib/store.ts: -------------------------------------------------------------------------------- 1 | import { docs } from './docs'; 2 | 3 | export const DocumentationStore = { 4 | libraries: Object.values(docs.modules), 5 | libNames: Object.values(docs.modules).map((m) => m.name) 6 | }; 7 | -------------------------------------------------------------------------------- /apps/docs/src/components/layout/CardGrid.tsx: -------------------------------------------------------------------------------- 1 | export function CardGrid({ children }: React.PropsWithChildren) { 2 | return
{children}
; 3 | } 4 | -------------------------------------------------------------------------------- /packages/canvacord/__tests__/main.spec.ts: -------------------------------------------------------------------------------- 1 | import { expect, test, describe } from "vitest"; 2 | 3 | // TODO: Write tests 4 | describe("test", () => { 5 | test("test", () => { 6 | expect(true).not.toBe(false); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /packages/canvacord/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vitest/config"; 2 | 3 | export default defineConfig({ 4 | test: { 5 | watch: false, 6 | sequence: { 7 | concurrent: false, 8 | }, 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /packages/canvacord/tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import { Config } from 'tailwindcss'; 2 | 3 | export default { 4 | content: ['./src/**/*.{tsx}', './test/**/*.{tsx}'], 5 | theme: { 6 | extend: {} 7 | }, 8 | plugins: [] 9 | } satisfies Config; 10 | -------------------------------------------------------------------------------- /packages/canvacord/src/canvas/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./CanvasHelper"; 2 | export * from "./CanvasImage"; 3 | export * from "./Encodable"; 4 | export * from "./ImageFilterer"; 5 | export * from "./ImageGen"; 6 | export * from "./ImageManipulator"; 7 | export * from "./utils"; 8 | export * from "./Canvacord"; 9 | -------------------------------------------------------------------------------- /apps/docs/README.md: -------------------------------------------------------------------------------- 1 | # Canvacord API Documentation 2 | 3 | Welcome to the Canvacord API documentation. This documentation is built using [micro-docgen](https://github.com/neplextech/micro-docgen) and [Sunflower](https://sunflower.neplextech.com). Preview of the documentation can be found at [canvacord.js.org](https://canvacord.js.org). 4 | -------------------------------------------------------------------------------- /packages/canvacord/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tsconfig/base.json", 3 | "compilerOptions": { 4 | "jsx": "react", 5 | "jsxFactory": "JSX.createElement", 6 | "jsxFragmentFactory": "JSX.Fragment", 7 | "skipLibCheck": true, 8 | "skipDefaultLibCheck": true 9 | }, 10 | "include": ["src/**/*", "./test/**/*"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/docs/src/components/layout/Container.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from '@edge-ui/react'; 2 | 3 | export function Container({ 4 | children, 5 | className 6 | }: React.PropsWithChildren<{ 7 | className?: string; 8 | }>) { 9 | return
{children}
; 10 | } 11 | -------------------------------------------------------------------------------- /apps/www/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@canvacord/website", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "mintlify dev", 7 | "broken-links": "mintlify broken-links", 8 | "rename": "mintlify rename" 9 | }, 10 | "devDependencies": { 11 | "mintlify": "^4.0.150" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://turbo.build/schema.json", 3 | "pipeline": { 4 | "build": { 5 | "outputs": [ 6 | ".next/**", 7 | "!.next/cache/**" 8 | ] 9 | }, 10 | "dev": {}, 11 | "format": {}, 12 | "lint": {}, 13 | "test": {} 14 | } 15 | } -------------------------------------------------------------------------------- /apps/docs/src/components/layout/Layout.tsx: -------------------------------------------------------------------------------- 1 | import Footer from '../footer'; 2 | import Navbar from '../nav/Navbar'; 3 | 4 | export function AppLayout({ children }: React.PropsWithChildren) { 5 | return ( 6 | <> 7 | 8 |
{children}
9 |