diff --git a/.github/workflows/beta_deploy.yml b/.github/workflows/beta_deploy.yml new file mode 100644 index 0000000000..0c9decef88 --- /dev/null +++ b/.github/workflows/beta_deploy.yml @@ -0,0 +1,42 @@ +name: Deploy beta to Netlify + +on: + # Trigger the workflow every time you push to the `main` branch + # Using a different branch name? Replace `main` with your branch’s name + push: + branches: ["2.0"] + # Allows you to run this workflow manually from the Actions tab on GitHub. + workflow_dispatch: + +# Allow this job to clone the repo and create a page deployment +permissions: + contents: read + pages: write + id-token: write + +jobs: + build-deploy: + runs-on: ubuntu-latest + steps: + + - name: Checkout your repository using git + uses: actions/checkout@v4 + + - name: Install, build, and upload your site output + env: + NODE_OPTIONS: "--max_old_space_size=4096" + uses: withastro/action@v2 + + - name: Deploy to Netlify + uses: nwtgck/actions-netlify@v3.0 + with: + publish-dir: './dist' + production-branch: main + github-token: ${{ secrets.GITHUB_TOKEN }} + deploy-message: "Deploy from GitHub Actions" + enable-pull-request-comment: false + enable-commit-comment: false + overwrites-pull-request-comment: false + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} diff --git a/docs/contributing_libraries.md b/docs/contributing_libraries.md index cea1fc4d3c..52b6c41a75 100644 --- a/docs/contributing_libraries.md +++ b/docs/contributing_libraries.md @@ -19,6 +19,6 @@ p5.js welcomes libraries contributed by others! <a href="https://github.com/proc 4. Add a **high-res colored image of 1500x1000px** of your library into `src/content/libraries/images` 5. Submit a pull request and we'll review your submission -We add libraries that are open-source, includes some documentation and examples, and <a href="https://github.com/processing/p5.js/blob/main/CODE_OF_CONDUCT.md">follow our code of conduct.</a> This directory targets beginner users, so we aim to ensure users have a smooth experience getting started with any library linked to. +We add libraries that are open-source, include some documentation and examples, and <a href="https://github.com/processing/p5.js/blob/main/CODE_OF_CONDUCT.md">follow our code of conduct.</a> This directory targets beginner users, so we aim to ensure users have a smooth experience getting started with any library linked to. If you have any questions, feel free to open an issue or create a work-in-progress PR and ask us anything! diff --git a/src/components/Footer/index.astro b/src/components/Footer/index.astro index 3bb5f2b7f2..8cb5d3026b 100644 --- a/src/components/Footer/index.astro +++ b/src/components/Footer/index.astro @@ -26,25 +26,25 @@ const bannerEntry = await getEntry("banner", currentLocale); <div> <div class="mb-5" id="resources-footer-category">{t("Resources")}</div> <ul aria-labelledby="resources-footer-category"> - <li><a href="/reference">{t("Reference")}</a></li> - <li><a href="/tutorials">{t("Tutorials")}</a></li> - <li><a href="/examples">{t("Examples")}</a></li> - <li><a href="/contribute">{t("Contribute")}</a></li> - <li><a href="/community">{t("Community")}</a></li> - <li><a href="/about">{t("About")}</a></li> + <li><a href="/reference/">{t("Reference")}</a></li> + <li><a href="/tutorials/">{t("Tutorials")}</a></li> + <li><a href="/examples/">{t("Examples")}</a></li> + <li><a href="/contribute/">{t("Contribute")}</a></li> + <li><a href="/community/">{t("Community")}</a></li> + <li><a href="/about/">{t("About")}</a></li> <li><a href="https://editor.p5js.org">{t("Start Coding")}</a></li> - <li><a href="/donate">{t("Donate")}</a></li> + <li><a href="/donate/">{t("Donate")}</a></li> </ul> </div> <div class="lg:col-span-2 grid grid-cols-subgrid"> <div> <div class="mb-5" id="info-footer-category">{t("Information")}</div> <ul aria-labelledby="info-footer-category"> - <li><a href="/download">{t("Download")}</a></li> - <li><a href="/contact">{t("Contact")}</a></li> - <li><a href="/copyright">{t("Copyright")}</a></li> - <li><a href="/privacy-policy">{t("Privacy Policy")}</a></li> - <li><a href="/terms-of-use">{t("Terms of Use")}</a></li> + <li><a href="/download/">{t("Download")}</a></li> + <li><a href="/contact/">{t("Contact")}</a></li> + <li><a href="/copyright/">{t("Copyright")}</a></li> + <li><a href="/privacy-policy/">{t("Privacy Policy")}</a></li> + <li><a href="/terms-of-use/">{t("Terms of Use")}</a></li> </ul> </div> <div class="lg:col-start-2 mt-xl lg:mt-0"> diff --git a/src/content/text-detail/en/about.mdx b/src/content/text-detail/en/about.mdx index cbdb377a87..c6fc0afe50 100644 --- a/src/content/text-detail/en/about.mdx +++ b/src/content/text-detail/en/about.mdx @@ -36,6 +36,6 @@ Community values: </div> <div class='mt-xl'> -<LinkButton variant='link' url='/contribute/access'>Access Statement</LinkButton> -<LinkButton variant='link' url='/code-of-conduct'>Code of Conduct</LinkButton> +<LinkButton variant='link' url='/contribute/access/'>Access Statement</LinkButton> +<LinkButton variant='link' url='/code-of-conduct/'>Code of Conduct</LinkButton> </div> \ No newline at end of file diff --git a/src/content/text-detail/es/about.mdx b/src/content/text-detail/es/about.mdx index 3aaa0ab140..b818c0683c 100644 --- a/src/content/text-detail/es/about.mdx +++ b/src/content/text-detail/es/about.mdx @@ -29,6 +29,6 @@ Valores de la comunidad: </div> <div class='mt-xl'> -<LinkButton variant='link' url='/contribute/access'>Access Statement</LinkButton> -<LinkButton variant='link' url='/code-of-conduct'>Code of Conduct</LinkButton> +<LinkButton variant='link' url='/contribute/access/'>Access Statement</LinkButton> +<LinkButton variant='link' url='/code-of-conduct/'>Code of Conduct</LinkButton> </div> \ No newline at end of file diff --git a/src/content/text-detail/hi/about.mdx b/src/content/text-detail/hi/about.mdx index 30670c29d0..d77d5389c8 100644 --- a/src/content/text-detail/hi/about.mdx +++ b/src/content/text-detail/hi/about.mdx @@ -29,6 +29,6 @@ P5.js समुदाय प्रौद्योगिकी के साथ </div> <div class='mt-xl'> -<LinkButton variant='link' url='/contribute/access'>प्रवेश विवरण</LinkButton> -<LinkButton variant='link' url='/code-of-conduct'>आचार संहिता</LinkButton> +<LinkButton variant='link' url='/contribute/access/'>प्रवेश विवरण</LinkButton> +<LinkButton variant='link' url='/code-of-conduct/'>आचार संहिता</LinkButton> </div> \ No newline at end of file diff --git a/src/content/text-detail/ko/about.mdx b/src/content/text-detail/ko/about.mdx index 9067b787c1..a892a1ee40 100644 --- a/src/content/text-detail/ko/about.mdx +++ b/src/content/text-detail/ko/about.mdx @@ -29,6 +29,6 @@ p5.js 커뮤니티는 기술을 통해 예술과 디자인에 관련된 탐구 </div> <div class='mt-xl'> -<LinkButton variant='link' url='/contribute/access'>접근성 성명서</LinkButton> -<LinkButton variant='link' url='/code-of-conduct'>행동 강령</LinkButton> +<LinkButton variant='link' url='/contribute/access/'>접근성 성명서</LinkButton> +<LinkButton variant='link' url='/code-of-conduct/'>행동 강령</LinkButton> </div> \ No newline at end of file diff --git a/src/content/text-detail/zh-Hans/about.mdx b/src/content/text-detail/zh-Hans/about.mdx index 510a5eb0b6..b9ce49dd12 100644 --- a/src/content/text-detail/zh-Hans/about.mdx +++ b/src/content/text-detail/zh-Hans/about.mdx @@ -29,6 +29,6 @@ p5.js 鼓励通过迭代编码来实现创意表达。我们重视代码开源 </div> <div class='mt-xl'> -<LinkButton variant='link' url='/contribute/access'>可及性声明</LinkButton> -<LinkButton variant='link' url='/code-of-conduct'>行为规范</LinkButton> +<LinkButton variant='link' url='/contribute/access/'>可及性声明</LinkButton> +<LinkButton variant='link' url='/code-of-conduct/'>行为规范</LinkButton> </div> \ No newline at end of file diff --git a/src/layouts/AboutLayout.astro b/src/layouts/AboutLayout.astro index f097b5e48e..5f98c57f34 100644 --- a/src/layouts/AboutLayout.astro +++ b/src/layouts/AboutLayout.astro @@ -78,7 +78,7 @@ const displayedFeaturedPeople = sortedFeaturedPeople.slice(0, 6); )) } </ul> - <LinkButton variant="link" url="/people" class="mt-md min-w-[220px]" + <LinkButton variant="link" url="/people/" class="mt-md min-w-[220px]" >{t("All People")}</LinkButton > </section> diff --git a/src/layouts/HomepageLayout.astro b/src/layouts/HomepageLayout.astro index 14dff6ba3f..2c0e703b7d 100644 --- a/src/layouts/HomepageLayout.astro +++ b/src/layouts/HomepageLayout.astro @@ -41,7 +41,7 @@ setJumpToState(null); class="col-span-2 lg:col-span-3 order-1 grid grid-cols-subgrid content-start" > <h2 class="col-span-3">{data.referenceHeaderText}</h2> - <LinkButton class="col-span-1 w-full" variant="link" url="/reference" + <LinkButton class="col-span-1 w-full" variant="link" url="/reference/" >{t("Reference")}</LinkButton > </div> @@ -49,7 +49,7 @@ setJumpToState(null); class="col-span-2 lg:col-span-3 order-2 lg:order-4 grid grid-cols-subgrid content-start" > <h2 class="col-span-full">{data.examplesHeaderText}</h2> - <LinkButton class="col-span-1 w-full" variant="link" url="/examples" + <LinkButton class="col-span-1 w-full" variant="link" url="/examples/" >{t("Examples")}</LinkButton > </div> @@ -64,7 +64,7 @@ setJumpToState(null); <div class="content-grid-simple mb-xl"> <div class="col-span-2 lg:col-span-3 grid grid-cols-subgrid content-start"> <h2 class="col-span-3">{data.communityHeaderText}</h2> - <LinkButton class="col-span-1 w-full" variant="link" url="/community" + <LinkButton class="col-span-1 w-full" variant="link" url="/community/" >{t("Community")}</LinkButton > </div> @@ -84,7 +84,7 @@ setJumpToState(null); <div class="grid grid-cols-subgrid col-span-1 lg:col-span-2"> <h2 class="col-span-2">{t("Donate to p5.js")}</h2> <div class="col-span-1"> - <LinkButton class="w-full" variant="link" url="/donate" + <LinkButton class="w-full" variant="link" url="/donate/" >{t("Donate")}</LinkButton > </div> @@ -92,7 +92,7 @@ setJumpToState(null); <div class="grid grid-cols-subgrid col-span-1 lg:col-span-2"> <h2 class="col-span-2">{t("Download p5.js")}</h2> <div class="col-span-1"> - <LinkButton class="w-full" variant="link" url="/download" + <LinkButton class="w-full" variant="link" url="/download/" >{t("Download Library")}</LinkButton > </div> diff --git a/src/scripts/parsers/reference.ts b/src/scripts/parsers/reference.ts index d0c4472379..1395782e80 100644 --- a/src/scripts/parsers/reference.ts +++ b/src/scripts/parsers/reference.ts @@ -1,4 +1,4 @@ -import { cloneLibraryRepo, p5RepoUrl, readFile } from "../utils"; +import { cloneLibraryRepo,cleanUpDirectory, p5RepoUrl, readFile } from "../utils"; import fs from "fs/promises"; import { exec, execSync } from "child_process"; import path from "path"; @@ -13,6 +13,10 @@ const localPath = path.join(__dirname, "in", "p5.js"); const localSoundPath = path.join(__dirname, "in", "p5.sound.js"); const yuidocOutputPath = path.join(__dirname, "out") +//Directory to clean after cloning the libraries +const parsersInPath = path.join(__dirname, "in"); +const parsersOutPath = path.join(__dirname, "out"); + /** * Main function to clone the p5.js library and save the YUIDoc output to a file */ @@ -77,6 +81,10 @@ export const parseLibraryReference = ); await serveYuidocOutput('data'); + + //delete the cloned directories + await cleanUpDirectory(parsersInPath ); + await cleanUpDirectory(parsersOutPath ); return combined; }; diff --git a/src/scripts/utils.ts b/src/scripts/utils.ts index 1e022cf017..f6aebd25c0 100644 --- a/src/scripts/utils.ts +++ b/src/scripts/utils.ts @@ -304,3 +304,15 @@ export const rewriteRelativeMdLinks = (markdownText: string): string => { return `[${linkText}](${updatedUrl})`; }); }; +/** + * Deletes the contents of the given directory. + * @param dirPath Path to the directory to clean up. + */ +export const cleanUpDirectory = async (dirPath: string) => { + try { + await fs.rm(dirPath, { recursive: true, force: true }); + console.log(`Cleaned up directory: ${dirPath}`); + } catch (err) { + console.error(`Error cleaning up directory ${dirPath}: ${err}`); + } +};