From c87477d12fe650c0015d7461dea54d593803d878 Mon Sep 17 00:00:00 2001 From: Dave Pagurek Date: Mon, 4 Mar 2024 19:58:22 -0500 Subject: [PATCH] Update for yaml format --- .../images/libraries}/p5.warp.png | Bin public/images/libraries/p5.xr.png | Bin 0 -> 52444 bytes src/content/libraries/README.md | 21 +++ src/content/libraries/config.ts | 29 +++- src/content/libraries/p5.warp.yaml | 12 ++ .../libraries/{example.yaml => p5.xr.yaml} | 10 +- src/libraries/README.md | 21 --- src/libraries/docs-assets/propose-changes.png | Bin 57444 -> 0 bytes src/libraries/libraries.ts | 148 ------------------ src/libraries/types.ts | 63 -------- 10 files changed, 66 insertions(+), 238 deletions(-) rename {src/libraries/img => public/images/libraries}/p5.warp.png (100%) create mode 100644 public/images/libraries/p5.xr.png create mode 100644 src/content/libraries/README.md create mode 100644 src/content/libraries/p5.warp.yaml rename src/content/libraries/{example.yaml => p5.xr.yaml} (53%) delete mode 100644 src/libraries/README.md delete mode 100644 src/libraries/docs-assets/propose-changes.png delete mode 100644 src/libraries/libraries.ts delete mode 100644 src/libraries/types.ts diff --git a/src/libraries/img/p5.warp.png b/public/images/libraries/p5.warp.png similarity index 100% rename from src/libraries/img/p5.warp.png rename to public/images/libraries/p5.warp.png diff --git a/public/images/libraries/p5.xr.png b/public/images/libraries/p5.xr.png new file mode 100644 index 0000000000000000000000000000000000000000..7d5783bb271b0ca68dc4f5f02261ad14e5008663 GIT binary patch literal 52444 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 literal 0 HcmV?d00001 diff --git a/src/content/libraries/README.md b/src/content/libraries/README.md new file mode 100644 index 0000000000..0c9ab7614c --- /dev/null +++ b/src/content/libraries/README.md @@ -0,0 +1,21 @@ +# p5.js Libraries + +p5.js welcomes libraries contributed by others! Check out the libraries tutorial for more specifics about how to create one. If you have created a library and would like to have it included in the list, follow the instructions below! + +1. Fork the repo +2. Add a file to the `src/content/libraries` folder named `yourLibraryName.yaml` +3. Inside it, add the following content: + - `name`: The name of the library + - `category`: A category that you think best fits your library. Your choices include: `drawing`, `color`, `ui`, `math`, `physics`, `algorithms`, `3d`, `ai-ml-cv`, `animation`, `filters`, `language`, `hardware`, `sound`, `data`, `networking`, `export`, or `utils`. + - `description`: A one-sentence description of the library + - `author`: An object containing `name`, your name, and `url`, an optional link to your website + - `sourceUrl`: A link to the library's source code (e.g. its repo on GitHub or GitLab) + - (Optional) `websiteUrl`: A link to a website for the library + - (Optional) `npm`: If applicable, the package name for the library on npm + - (Optional) `npmFilePath`: A path like `'dist/library.min.js'` if a specific file in the library should be used from npm + - `featuredImage`: An object about the preview thumbnail for the library, with `url`, the path to the image in the `public/images/libraries` folder, and `altText`, a short description of its contents for screen readers + - (Optional) `license`: A string describing the software license of the library. This may be omitted if your package is on npm and has license info there +4. Add a **1500x1000** image of your library into `public/images/libraries` +5. Submit a pull request and we'll review your submission + +We add libraries that are open-source, includes some documentation and examples, and follow our code of conduct. diff --git a/src/content/libraries/config.ts b/src/content/libraries/config.ts index 73eaffb1b5..51146c6b3a 100644 --- a/src/content/libraries/config.ts +++ b/src/content/libraries/config.ts @@ -1,16 +1,39 @@ import { z, defineCollection } from "astro:content"; import { author, image } from "../shared"; -const categories = ["core", "ar-vr"] as const; +const categories = [ + "drawing", + "color", + "ui", + "math", + "physics", + "algorithms", + "3d", + "ai-ml-cv", + "animation", + "filters", + "language", + "hardware", + "sound", + "data", + "networking", + "export", + "utils", +] as const; export const librariesCollection = defineCollection({ type: "data", schema: z.object({ name: z.string(), - description: z.string().optional(), + description: z.string(), category: z.enum(categories), - url: z.string().url(), + sourceUrl: z.string().url(), + websiteUrl: z.string().url().optional(), + // 1500x1000 featuredImage: image(), author: author(), + license: z.string().optional(), + npm: z.string().optional(), + npmFilePath: z.string().optional(), }), }); diff --git a/src/content/libraries/p5.warp.yaml b/src/content/libraries/p5.warp.yaml new file mode 100644 index 0000000000..57b3656dab --- /dev/null +++ b/src/content/libraries/p5.warp.yaml @@ -0,0 +1,12 @@ +name: p5.warp +description: Fast 3D domain warping using shaders. +category: 3d +sourceUrl: https://github.com/davepagurek/p5.warp +featuredImage: + url: p5.warp.png + altText: Four images of a 3D airplane twisting upside-down +author: + name: Dave Pagurek + url: https://www.davepagurek.com +npm: p5.warp +license: MIT diff --git a/src/content/libraries/example.yaml b/src/content/libraries/p5.xr.yaml similarity index 53% rename from src/content/libraries/example.yaml rename to src/content/libraries/p5.xr.yaml index 38581a750a..ebaa583154 100644 --- a/src/content/libraries/example.yaml +++ b/src/content/libraries/p5.xr.yaml @@ -1,10 +1,14 @@ name: p5.xr description: A library for creating VR and AR sketches with p5. -category: ar-vr -url: https://p5xr.org/ +category: 3d +sourceUrl: https://github.com/stalgiag/p5.xr +websiteUrl: https://p5xr.org featuredImage: - url: https://github.com/stalgiag/p5.xr/raw/main/docs/assets/xr-tear.png + url: p5.xr.png altText: A crying face author: name: Stalgia Grigg url: https://www.stalgiagrigg.name/ +npm: p5.xr +npmFilePath: dist/p5xr.min.js +license: MIT diff --git a/src/libraries/README.md b/src/libraries/README.md deleted file mode 100644 index 0bd7a2162c..0000000000 --- a/src/libraries/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# p5.js Libraries - -To add a new library: - -1. Edit `libraries.ts` to add your library to the list under whichever category feels most relevant. Each entry should include: - - `name`: The name of the library - - `description`: A one-sentence description of the library in the format `{ en: 'Your description here' }`. Feel free to add translations under the language keys `es`, `hi`, `ko`, or `zh-Hans` if you are able to. - - `author`: Your name - - (Optional) `authorLink`: A link to your website or social media - - `source`: A link to the library's source code (e.g. its repo on GitHub or GitLab) - - (Optional) `website`: A link to a website for the library - - (Optional) `npm`: If applicable, the package name for the libarry on npm. Either a string with the package name, or an object in the format `{ package: 'your-name-here', path: 'dist/library.js' }` if a specific file in the library should be used. - - `img`: Info about the preview thumbnail for the library, in the format `{ file: 'library.jpg', alt: { en: 'alt text' } }`, with the name of the image and a short description of its contents for screen readers. Feel free to add translations of the description under other language keys if you are able to. - - (Optional) `license`: A string describing the software license of the library. This may be omitted if your package is on npm and has license info there. - -2. Click "Commit changes..." on GitHub in the top right of the edit screen. - -3. Make sure **Create a new branch** is selected and click "Propose changes" - The Commit Changes modal on GitHub, with the Create a New Branch option circled - -4. TODO add image upload info diff --git a/src/libraries/docs-assets/propose-changes.png b/src/libraries/docs-assets/propose-changes.png deleted file mode 100644 index 5f0e79c81c4d26f9755f19c029ee110e2032f66f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57444 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⋘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 NV`uGTRb_!q`X5S`!2|#R diff --git a/src/libraries/libraries.ts b/src/libraries/libraries.ts deleted file mode 100644 index aae143bc28..0000000000 --- a/src/libraries/libraries.ts +++ /dev/null @@ -1,148 +0,0 @@ -import type { Libraries } from './types'; - -export const libraries: Libraries = { - categories: [ - { - name: { - en: 'Drawing' - }, - libraries: [] - }, - - { - name: { - en: 'Color' - }, - libraries: [] - }, - - { - name: { - en: 'User Interface' - }, - libraries: [] - }, - - { - name: { - en: 'Math' - }, - libraries: [] - }, - - { - name: { - en: 'Physics' - }, - libraries: [] - }, - - { - name: { - en: 'Algorithms' - }, - libraries: [] - }, - - { - name: { - en: '3D' - }, - libraries: [ - { - name: 'p5.warp', - description: { - en: 'Fast 3D domain warping using shaders.' - }, - author: 'Dave Pagurek', - authorLink: 'https://www.davepagurek.com/', - source: 'https://github.com/davepagurek/p5.warp', - npm: '@davepagurek/p5.warp', - img: { - file: 'p5.warp.png', - alt: { - en: 'Four images of a 3D airplane twisting upside-down' - } - } - } - ] - }, - - { - name: { - en: 'AI, ML, Computer Vision' - }, - libraries: [] - }, - - { - name: { - en: 'Animation' - }, - libraries: [] - }, - - { - name: { - en: 'Filters' - }, - libraries: [] - }, - - { - name: { - en: 'Language' - }, - libraries: [] - }, - - { - name: { - en: 'Hardware' - }, - libraries: [] - }, - - { - name: { - en: 'Sound' - }, - libraries: [] - }, - - { - name: { - en: 'Data' - }, - libraries: [] - }, - - { - name: { - en: 'Networking' - }, - libraries: [] - }, - - { - name: { - en: 'Export' - }, - libraries: [] - }, - - { - name: { - en: 'Integrations' - }, - libraries: [] - }, - - { - name: { - en: 'Utilities' - }, - libraries: [] - }, - ] -}; diff --git a/src/libraries/types.ts b/src/libraries/types.ts deleted file mode 100644 index 99aa4f0258..0000000000 --- a/src/libraries/types.ts +++ /dev/null @@ -1,63 +0,0 @@ -export type LanguageKey = 'en' | 'es' | 'hi' | 'ko' | 'zh-Hans'; - -/** - * An object containing language keys and different translations for each value. - * The English version is required. Other language translations are optional - * but encouraged. - */ -export type TranslatedString = - & { en: string; } - & Partial<{ [key in LanguageKey]: string }>; - -export type Library = { - /** The name of the library */ - name: string; - - /** One sentence description of the library */ - description: TranslatedString - - /** The name(s) of the authors */ - author: string; - - /** [Optional] Link to author's website */ - authorLink?: string - - /** Link to the source code (e.g. on GitHub or GitLab) */ - source: string; - - /** [Optional] Link to a website for the library */ - website?: string; - - /** - * [Optional] Package info on npm. Either just the package name, or an object - * with the package name and path to the JavaScript file from the package to - * include to use the library. This is used to generate a CDN script tag - * automatically for easy inclusion of the library, and grab license info. - */ - npm?: string | { - package: string; - path?: string; - }; - - /** Preview thumbnail information */ - img: { - /** The name of the file in the `img/` directory, at 1500x1000 */ - file: string; - - /** A short description of the contents of the image for screen readers */ - alt: TranslatedString; - }; - - /** - * [Optional] License information about the library, in the format used by - * package.json files: https://docs.npmjs.com/cli/v10/configuring-npm/package-json#license - * This may be omitted if your package is on npm and has license info there. - */ - license?: string; -}; - -export type LibraryCategory = { - name: TranslatedString; - libraries: Array; -} -export type Libraries = { categories: Array };