diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f01619602d184ec9a283cccf31bf215715240f0..8613e13a7e6645c05d052f6f3ca877e5bf8b133f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,24 @@ image: node:18.20.0 + +build: + stage: build + cache: + - key: + files: + - yarn.lock + paths: + - .yarn-cache/ + before_script: + - echo 'yarn-offline-mirror ".yarn-cache/"' >> .yarnrc + - echo 'yarn-offline-mirror-pruning true' >> .yarnrc + - yarn install --frozen-lockfile + script: + - yarn build + rules: + - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH + pages: - stage: deploy + stage: build cache: - key: files: @@ -18,3 +36,5 @@ pages: artifacts: paths: - public + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH \ No newline at end of file diff --git a/README.md b/README.md index e6587de7c85ea8a8699710d79326ee067b0c04c1..df6b7d2bb53993f2e2979531db103f8284f884cc 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,13 @@ for web development. cd wiki-react-vite ``` 2. Install the dependencies: + ```bash yarn install ``` + ### Important: + Ensure you are using Node.js version `^18.18.0 or >=20.0.0` to mostly avoid compatibility issues. Node `v18.20.0` is recommended for this project. You can check your Node version by running `node -v` in your terminal. @@ -35,10 +38,10 @@ for web development. yarn run dev ``` 4. Navigate to the files you wish to edit: - - The main App component can be found under `src/containers/App` - - Pre-built components are located under `src/components` - - Individual pages can be modified in the `src/pages.ts` - - Content pages can be updated in the `src/contents` + - The main App component can be found under `src/containers/App` + - Pre-built components are located under `src/components` + - Individual pages can be modified in the `src/pages.ts` + - Content pages can be updated in the `src/contents` 5. Once you are done, save the changes by **committing** them to the _main branch_ of the repository 6. An automated script will build, test and deploy your wiki to the iGEM server @@ -75,4 +78,3 @@ Below is the structure of important files and directories in this project: - [React Bootstrap](https://react-bootstrap.github.io): Bootstrap components built with React - [React Router](https://reactrouter.com): Declarative routing for React applications - (Optional) [Prettier](https://prettier.io): Code formatter - diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 7e8833c36e561f92c30f47331bdbf5511b5c19fc..8a3f79b22bfe5f4d06f1ef3672c3d1f9c4e19319 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -1,4 +1,4 @@ -import {stringToSlug} from "../utils"; +import { stringToSlug } from "../utils"; export function Footer() { const teamYear = import.meta.env.VITE_TEAM_YEAR; diff --git a/src/components/Inspirations.tsx b/src/components/Inspirations.tsx index b4ad0ffb2364542d8d89cf33403f417a1ea02615..f01f10cc2558b61a6edb99def89e2bf72bda1d08 100644 --- a/src/components/Inspirations.tsx +++ b/src/components/Inspirations.tsx @@ -1,4 +1,4 @@ -import {stringToSlug} from "../utils"; +import { stringToSlug } from "../utils"; export interface InspirationLink { year: number; @@ -10,7 +10,7 @@ interface InspirationsProps { inspirationLinkList: InspirationLink[]; } -export function Inspirations ({ inspirationLinkList }: InspirationsProps) { +export function Inspirations({ inspirationLinkList }: InspirationsProps) { return ( <> <div className="col-lg-4"> @@ -39,5 +39,4 @@ export function Inspirations ({ inspirationLinkList }: InspirationsProps) { </div> </> ); -}; - +} diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index 173dc713fae5445492789e81bf9ee92ab4428444..5959774a37e790384846d12341bdea1a050f42a8 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -42,7 +42,9 @@ export function Navbar() { return ( <BootstrapNavbar expand="lg" className="bg-body-tertiary" fixed="top"> <Container> - <BootstrapNavbar.Brand>{import.meta.env.VITE_TEAM_NAME}</BootstrapNavbar.Brand> + <BootstrapNavbar.Brand> + {import.meta.env.VITE_TEAM_NAME} + </BootstrapNavbar.Brand> <BootstrapNavbar.Toggle aria-controls="basic-navbar-nav" /> <BootstrapNavbar.Collapse id="basic-navbar-nav"> <Nav className="left-aligned">{pages}</Nav> @@ -50,4 +52,4 @@ export function Navbar() { </Container> </BootstrapNavbar> ); -} \ No newline at end of file +} diff --git a/src/components/NotFound.tsx b/src/components/NotFound.tsx index e9f8f1237f00cbd6f10a5fbdb20590edbe999233..e98efdc19d580a9b5dbd5ca9d8714d77ca17fa2c 100644 --- a/src/components/NotFound.tsx +++ b/src/components/NotFound.tsx @@ -3,14 +3,14 @@ import { Link } from "react-router-dom"; export function NotFound() { return ( <div className="d-flex flex-column justify-content-center align-items-center"> - <h1 className="not-found-title" style={{ fontSize: "100pt" }}> - 404 - </h1> - <div className="my-5"> - <Link to="/" className="btn btn-secondary btn-lg"> - Back to Home - </Link> + <h1 className="not-found-title" style={{ fontSize: "100pt" }}> + 404 + </h1> + <div className="my-5"> + <Link to="/" className="btn btn-secondary btn-lg"> + Back to Home + </Link> + </div> </div> - </div> ); } diff --git a/src/containers/App/App.tsx b/src/containers/App/App.tsx index 65c1969c837f8c4de2cd28492b87157f807661da..516091513bfc4451c872fdfa61bda3ede0b3cfb5 100644 --- a/src/containers/App/App.tsx +++ b/src/containers/App/App.tsx @@ -3,7 +3,7 @@ import "bootstrap/dist/css/bootstrap.min.css"; import { Route, Routes } from "react-router-dom"; import { Footer, Header, Navbar, NotFound } from "../../components"; import { getPathMapping, stringToSlug } from "../../utils"; -import {useEffect} from "react"; +import { useEffect } from "react"; const App = () => { const pathMapping = getPathMapping(); @@ -15,52 +15,52 @@ const App = () => { // Set Page Title const title = currentPath in pathMapping ? pathMapping[currentPath].title : "Not Found"; - - useEffect(() => { - document.title = `${title || ""} | ${import.meta.env.VITE_TEAM_NAME} - iGEM ${import.meta.env.VITE_TEAM_YEAR}`; - }, [title]); + + useEffect(() => { + document.title = `${title || ""} | ${import.meta.env.VITE_TEAM_NAME} - iGEM ${import.meta.env.VITE_TEAM_YEAR}`; + }, [title]); return ( - <> - {/* Navigation */} - <Navbar /> + <> + {/* Navigation */} + <Navbar /> - {/* Header and PageContent */} - <Routes> - {Object.entries(pathMapping).map( - ([path, { title, lead, component: Component }]) => ( - <Route - key={path} - path={path} - element={ - <> - <Header title={title || ""} lead={lead || ""} /> - <div className="container"> - <Component /> - </div> - </> - } + {/* Header and PageContent */} + <Routes> + {Object.entries(pathMapping).map( + ([path, { title, lead, component: Component }]) => ( + <Route + key={path} + path={path} + element={ + <> + <Header title={title || ""} lead={lead || ""} /> + <div className="container"> + <Component /> + </div> + </> + } + /> + ), + )} + <Route + path="*" + element={ + <> + <Header + title="Not Found" + lead="The requested URL was not found on this server." /> - ), - )} - <Route - path="*" - element={ - <> - <Header - title="Not Found" - lead="The requested URL was not found on this server." - /> - <NotFound /> - </> - } - /> - </Routes> + <NotFound /> + </> + } + /> + </Routes> - {/* Footer */} - {/* MUST mention license AND have a link to team wiki's repository on gitlab.igem.org */} - <Footer /> - </> + {/* Footer */} + {/* MUST mention license AND have a link to team wiki's repository on gitlab.igem.org */} + <Footer /> + </> ); }; diff --git a/src/contents/attributions.tsx b/src/contents/attributions.tsx index 445f78097d2129bbddb97f6be26bf8f07a262781..ab562fd899142d78220b8aa692c4b117116c1b41 100644 --- a/src/contents/attributions.tsx +++ b/src/contents/attributions.tsx @@ -1,6 +1,6 @@ -import {useEffect} from 'react'; +import { useEffect } from "react"; -export function Attributions () { +export function Attributions() { const teamID = import.meta.env.VITE_TEAM_ID; useEffect(() => { @@ -17,14 +17,33 @@ export function Attributions () { } window.addEventListener("message", listenToIframeHeight); return () => { - window.removeEventListener("message", listenToIframeHeight) - } - }, []) + window.removeEventListener("message", listenToIframeHeight); + }; + }, []); return ( <> <div className="row mt-4"> <div className="col"> + <div className="bd-callout bd-callout-info"> + <p> + In the iGEM Competition, we celebrate student effort and + achievement. The Attributions form helps the judges differentiate + between what students accomplished from how their external + collaborators supported them. Therefore, teams must clearly + explain on the standard Project Attributions form what work they + have conducted by themselves and what has been done by others. + </p> + <p> + Teams must use the standard Attributions form. To meet the + attributions requirement, you must display the standard form on + your Wiki by following the instructions here: + <a href="https://competition.igem.org/deliverables/project-attribution"> + Project Attribution page + </a> + . + </p> + </div> <div className="bd-callout bd-callout-info"> <h4>Bronze Medal Criterion #2</h4> <p> @@ -32,22 +51,14 @@ export function Attributions () { for your project. </p> <p> - The form that bas been embded in an iframe in this page shows your - team's Project Attribution form. This page must keep the form as - it is. + The form that has been embedded in an iframe in this page shows + your team's Project Attribution form. This page must keep the form + as it is. </p> <p> If you use a different website framework, make sure to embed the right URL for your team's form. </p> - <hr /> - <p> - Please see the{" "} - <a href="https://competition.igem.org/deliverables/project-attribution"> - Project Attribution page - </a>{" "} - for more information. - </p> </div> </div> </div> @@ -58,4 +69,4 @@ export function Attributions () { /> </> ); -} \ No newline at end of file +} diff --git a/src/contents/contribution.tsx b/src/contents/contribution.tsx index 1e2fa7146e561ec83c505e54631ccd9d15c92d44..ee8a81751248fd8ce3c652c4b11ec8c0760e74bb 100644 --- a/src/contents/contribution.tsx +++ b/src/contents/contribution.tsx @@ -1,4 +1,4 @@ -export function Contribution () { +export function Contribution() { return ( <> <div className="row mt-4"> @@ -31,4 +31,4 @@ export function Contribution () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/contents/description.tsx b/src/contents/description.tsx index d7b381a9cc3aed6f2f7077ffafa153e2e8a7587e..b1158e74c255c7cb6ebf61d78512240721f74176 100644 --- a/src/contents/description.tsx +++ b/src/contents/description.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Description () { +export function Description() { const links: InspirationLink[] = [ { year: 2022, teamName: "DTU-Denmark", pageName: "Description" }, { year: 2019, teamName: "ITESO_Guadalajara", pageName: "Description" }, @@ -76,4 +76,4 @@ export function Description () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/contents/education.tsx b/src/contents/education.tsx index 9b71f92544f47f97fdf2ec468cea9148955d2efd..59486efe2bb88ac28794e7a7ba3dc56c8f75bc2a 100644 --- a/src/contents/education.tsx +++ b/src/contents/education.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Education () { +export function Education() { const links: InspirationLink[] = [ { year: 2020, teamName: "CCA_San_Diego", pageName: "Education" }, { year: 2020, teamName: "Lambert_GA", pageName: "Education" }, @@ -25,12 +25,11 @@ export function Education () { was learned by everyone involved to compete for this award. </p> <p> - To compete for the Best Education prize, please describe your work - on this page and also fill out the description on the{" "} + To compete for the Best Education prize, select the prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> diff --git a/src/contents/engineering.tsx b/src/contents/engineering.tsx index f55acdc41a3937f7906e36f88f91c9d2ba4a2a3f..243ccbceabc4a240dff2bd69d64466c1016f8190 100644 --- a/src/contents/engineering.tsx +++ b/src/contents/engineering.tsx @@ -1,4 +1,4 @@ -export function Engineering () { +export function Engineering() { return ( <> <div className="row mt-4"> @@ -31,4 +31,4 @@ export function Engineering () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/contents/entrepreneurship.tsx b/src/contents/entrepreneurship.tsx index 5058101c4ca0618ab67480bcc5748d68286ce678..7413fe6152e576a7aa7703f74650c4e1a2868af0 100644 --- a/src/contents/entrepreneurship.tsx +++ b/src/contents/entrepreneurship.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Entrepreneurship () { +export function Entrepreneurship() { const links: InspirationLink[] = [ { year: 2019, teamName: "UCopenhagen", pageName: "Entrepreneurship" }, { year: 2019, teamName: "Thessaly", pageName: "Entrepreneurship" }, @@ -29,13 +29,12 @@ export function Entrepreneurship () { judges! </p> <p> - To compete for the Best Supporting Entrepreneurship prize, please - describe your work on this page and also fill out the description - on the{" "} + To compete for the Best Supporting Entrepreneurship prize, select + the prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> @@ -78,4 +77,3 @@ export function Entrepreneurship () { </> ); } - diff --git a/src/contents/experiments.tsx b/src/contents/experiments.tsx index e01e0e3f05d72f840dfb5b53b9709a8b526e0b6b..de788e09cc2732eef219aed275041bd5b1f82a6d 100644 --- a/src/contents/experiments.tsx +++ b/src/contents/experiments.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Experiments () { +export function Experiments() { const links: InspirationLink[] = [ { year: 2019, teamName: "Nantes", pageName: "Experiments" }, { year: 2019, teamName: "TU_Eindhoven", pageName: "Experiments" }, @@ -31,4 +31,4 @@ export function Experiments () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/contents/hardware.tsx b/src/contents/hardware.tsx index d8905a7e6ffac8ff3fa5af232cec6fc0ea6c481b..ea272f2062d68af5712c8858675bcee0981b49f1 100644 --- a/src/contents/hardware.tsx +++ b/src/contents/hardware.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Hardware () { +export function Hardware() { const links: InspirationLink[] = [ { year: 2018, teamName: "Valencia_UPV", pageName: "Hardware" }, { year: 2018, teamName: "Unesp_Brazil", pageName: "Hardware" }, @@ -27,12 +27,11 @@ export function Hardware () { what your team did for this award! </p> <p> - To compete for the Best Hardware prize, please describe your work - on this page and also fill out the description on the{" "} + To compete for the Best Hardware prize, select the prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> diff --git a/src/contents/home.tsx b/src/contents/home.tsx index 7c95dd48deb4951f9ab4ac056ac69ac94361c659..66a6f488de419eee17a7f504af268a01dfda7212 100644 --- a/src/contents/home.tsx +++ b/src/contents/home.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Home () { +export function Home() { const links: InspirationLink[] = [ { year: 2022, teamName: "DTU-Denmark", pageName: "" }, { year: 2022, teamName: "Virginia", pageName: "" }, @@ -50,14 +50,14 @@ export function Home () { </p> <p> Be cautious with the size of the assets like images, videos, and - more into your wiki. Large file sizes can hinder the presentation of - wikis due to slow internet connections. Remember to compress large - files before uploading them to iGEM servers. + more, that you put in your wiki. Large file sizes can hinder the + presentation of wikis due to slow internet connections. Remember to + compress large files before uploading them to iGEM servers. </p> <p> This default wiki meets the requirements, enhances navigability, and provides a user-friendly experience for visitors. You should not - feel obliged to go beyond the provided styling. + feel obligated to go beyond the provided styling. </p> </div> </div> @@ -104,4 +104,4 @@ export function Home () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/contents/human-practices.tsx b/src/contents/human-practices.tsx index cef6f459ab3b593d925613c05f3d4c22e9349b02..e3ec3e8a33988a8624bafb47ff6c6284e624bfa7 100644 --- a/src/contents/human-practices.tsx +++ b/src/contents/human-practices.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function HumanPractices () { +export function HumanPractices() { const links: InspirationLink[] = [ { year: 2019, teamName: "Thessaly", pageName: "Human_Practices" }, { year: 2019, teamName: "Linkoping_Sweden", pageName: "Human_Practices" }, @@ -33,15 +33,6 @@ export function HumanPractices () { <div className="bd-callout bd-callout-info"> <h4>Best Integrated Human Practices</h4> - <p> - To compete for the Best Integrated Human Practices prize, please - describe your work on this page and also fill out the description - on the{" "} - <a href="https://competition.igem.org/deliverables/judging-form"> - judging form - </a> - . - </p> <p> How does your project affect society and how does society influence the direction of your project? How might ethical @@ -52,6 +43,14 @@ export function HumanPractices () { exploring these questions and how your project evolved in the process to compete for this award! </p> + <p> + To compete for the Best Integrated Human Practices prize, select + the prize on the{" "} + <a href="https://competition.igem.org/deliverables/judging-form"> + judging form + </a>{" "} + and describe your work on this page. + </p> <hr /> <p> Please see the{" "} diff --git a/src/contents/inclusivity.tsx b/src/contents/inclusivity.tsx index 1222da13a5102531851dd71d85080e277553f37d..0d8bfff2a4b6ee378a7e854d5f8f18a1cc0eb617 100644 --- a/src/contents/inclusivity.tsx +++ b/src/contents/inclusivity.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Inclusivity () { +export function Inclusivity() { const links: InspirationLink[] = [ { year: 2020, teamName: "Fudan", pageName: "Inclusion" }, { year: 2020, teamName: "CCU_Taiwan", pageName: "Inclusion" }, @@ -26,12 +26,11 @@ export function Inclusivity () { improved inclusivity, and what was learned. </p> <p> - To compete for the Inclusivity award, please describe your work on - this page and also fill out the description on the{" "} + To compete for the Inclusivity award, select the prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> diff --git a/src/contents/measurement.tsx b/src/contents/measurement.tsx index d237a40fe19a10207f121bb67b8230f0ba204e56..1443244ef517a4ba0f2469287e005664c6ecead2 100644 --- a/src/contents/measurement.tsx +++ b/src/contents/measurement.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Measurement () { +export function Measurement() { const links: InspirationLink[] = [ { year: 2018, teamName: "UC_Davis", pageName: "Measurement" }, { year: 2019, teamName: "Newcastle", pageName: "Measurement" }, @@ -17,19 +17,21 @@ export function Measurement () { <div className="bd-callout bd-callout-info"> <h4>Best Measurement</h4> <p> - There are a lot of exciting Parts in the Registry, but many Parts - have still not been characterized. Designing great measurement - approaches for characterizing new parts, or developing and - implementing an efficient new method for characterizing thousands - of parts are good examples. + Measurements are critical to scientific communication and + advancement. Well-reported measurements are the only way to show + whether hardware is functioning correctly, whether data are + reliable, and whether a result is actually important. There is a + high value in identifying appropriate targets for measurement, + collecting precise measurements, and reporting results clearly and + with appropriate units. Document your careful measurement efforts + and you could win this award! </p> <p> - To compete for the Best Measurement prize, please describe your - work on this page and also fill out the description on the{" "} + To compete for the Best Measurement prize, select the prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> diff --git a/src/contents/model.tsx b/src/contents/model.tsx index 6f339136168c9cefe857dfef6268a02c63c177e8..bb8cd2f90a00357a08c4fd2a19ba2d5d6c523b86 100644 --- a/src/contents/model.tsx +++ b/src/contents/model.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Model () { +export function Model() { const links: InspirationLink[] = [ { year: 2018, teamName: "GreatBay_China", pageName: "Model" }, { year: 2018, teamName: "Leiden", pageName: "Model" }, @@ -18,23 +18,22 @@ export function Model () { <div className="bd-callout bd-callout-info"> <h4>Best Model</h4> <p> - Models and computer simulations provide a great way to describe - the functioning and operation of BioBrick Parts and Devices. - Synthetic biology is an engineering discipline and part of - engineering is simulation and modeling to determine system - behavior before building your design. Designing and simulating can - be iterated many times in a computer before moving to the lab. - This award is for teams who build a model of their system and use - it to inform system design or simulate expected behavior before or - in conjunction with experiments in the wetlab. + Models and computer simulations can help us understand the + function and operation of BioBrick Parts and Devices. Simulation + and modeling are critical engineering skills that can contribute + to project design or provide a better understanding of the modeled + process. These processes are even more useful and/or informative + when real world data are included in the model. This award is for + teams who build a model of their system and use it to inform + system design or simulate expected behavior before, or in + conjunction with, experiments in the wetlab. </p> <p> - To compete for the Best Model prize, please describe your work on - this page and also fill out the description on the{" "} + To compete for the Best Model prize, select the prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> @@ -65,4 +64,4 @@ export function Model () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/contents/notebook.tsx b/src/contents/notebook.tsx index 12aeb8f75a42fc9be5cc720b01bd7e7af0775a51..0a96c5282cbfc396394a3461fcb744c1ed5d3b55 100644 --- a/src/contents/notebook.tsx +++ b/src/contents/notebook.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Notebook () { +export function Notebook() { const links: InspirationLink[] = [ { year: 2018, teamName: "Munich", pageName: "Notebook" }, { year: 2019, teamName: "Georgia_State", pageName: "Notebook" }, @@ -28,4 +28,4 @@ export function Notebook () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/contents/plant.tsx b/src/contents/plant.tsx index 83e0ac908f99433a244107afe933a9492661aa06..e9c5dafaa3f0d61a09e7539f0bcd18e311277134 100644 --- a/src/contents/plant.tsx +++ b/src/contents/plant.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Plant () { +export function Plant() { const links: InspirationLink[] = [ { year: 2018, teamName: "Cardiff_Wales", pageName: "Plant" }, { year: 2019, teamName: "Sorbonne_U_Paris", pageName: "Plant" }, @@ -20,17 +20,16 @@ export function Plant () { synthetic biology. Did you build a project in a plant chassis? Did you submit plant parts to the Registry? This award could also be given to a team working with algae or another photosynthetic - chassis. Show us what you made and remember to adhere to iGEM - safety guidelines! + eukaryotic chassis. Show us what you made and remember to adhere + to iGEM safety guidelines! </p> <p> - To compete for the Best Plant Synthetic Biology prize, please - describe your work on this page and also fill out the description - on the{" "} + To compete for the Best Plant Synthetic Biology prize, select the + prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> diff --git a/src/contents/results.tsx b/src/contents/results.tsx index c3f666e25ee9d90e5f3ee32170047c52aeec49bd..2db5c5685ff624d6a49b45cf0e5e1a46d857e99e 100644 --- a/src/contents/results.tsx +++ b/src/contents/results.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Results () { +export function Results() { const links: InspirationLink[] = [ { year: 2019, teamName: "Newcastle", pageName: "Results" }, { year: 2019, teamName: "Munich", pageName: "Results" }, @@ -68,9 +68,11 @@ export function Results () { </li> <li> A list of linked bullet points of the unsuccessful results during - your project. This is about being scientifically honest. If you - worked on an area for a long time with no success, tell us so we - know where you put your effort. + your project and what you learned from them. This is about being + scientifically honest. If you worked on an area for a long time + with no success, tell us so we know where you put your effort. + Furthermore, you can still impress the judges by thoughtfully + discussing what went wrong and how you might change things. </li> </ul> </div> diff --git a/src/contents/safety.tsx b/src/contents/safety.tsx index fe6a18e9ce383972c7ecebc6f7cc46d08ba30d90..8385695e4e904b06a27c70b7b675e3aed6769533 100644 --- a/src/contents/safety.tsx +++ b/src/contents/safety.tsx @@ -1,4 +1,4 @@ -export function Safety () { +export function Safety() { return ( <> <div className="row mt-4"> diff --git a/src/contents/software.tsx b/src/contents/software.tsx index 36cee1c220132e7495abc0dcc5bcd5b7d5951a0c..1b336b8b4ccaf1b288fabf002527239fd58a4def 100644 --- a/src/contents/software.tsx +++ b/src/contents/software.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Software () { +export function Software() { const links: InspirationLink[] = [ { year: 2019, teamName: "Sydney_Australia", pageName: "Software" }, { year: 2019, teamName: "SMMU-China", pageName: "Software" }, @@ -27,15 +27,23 @@ export function Software () { be eligible, your software has to be documented and made available under an OSI-approved open source license. Teams nominating themselves for this prize must host the source code of their - software on the dedicated repository on iGEM's GitLab. + software on the dedicated repository on{" "} + <a href="https://gitlab.igem.org/2024/software-tools/"> + iGEM's GitLab + </a> + . </p> <p> - To compete for the Best Software Tool prize, please describe your - work on this page and also fill out the description on the{" "} + To compete for the Best Software Tool prize, select the prize on + the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form </a> - . + , host your software on{" "} + <a href="https://gitlab.igem.org/2024/software-tools/"> + iGEM's GitLab + </a> + , and describe your work on this page. </p> <hr /> <p> diff --git a/src/contents/sustainable.tsx b/src/contents/sustainable.tsx index 6534b4eff3716703e4084dd102103199cf8a98a2..c1f66948387cbb3406df5fc86f46e2222413ed34 100644 --- a/src/contents/sustainable.tsx +++ b/src/contents/sustainable.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Sustainable () { +export function Sustainable() { const links: InspirationLink[] = [ { year: 2020, teamName: "Calgary", pageName: "Sustainable" }, { year: 2020, teamName: "Toulouse_INSA-UPS", pageName: "Sustainable" }, @@ -28,13 +28,12 @@ export function Sustainable () { against the SDGs and build upon them. </p> <p> - To compete for the Best Sustainable Development prize, please - describe your work on this page and also fill out the description - on the{" "} + To compete for the Best Sustainable Development prize, select the + prize on the{" "} <a href="https://competition.igem.org/deliverables/judging-form"> judging form - </a> - . + </a>{" "} + and describe your work on this page. </p> <hr /> <p> @@ -50,4 +49,4 @@ export function Sustainable () { <Inspirations inspirationLinkList={links} /> </> ); -} \ No newline at end of file +} diff --git a/src/contents/team.tsx b/src/contents/team.tsx index 73499eaca5f24a2dbc4f533a91e6dc8a6163098c..dd9f6b9344e9523fb63f9e41d699fe82498a3010 100644 --- a/src/contents/team.tsx +++ b/src/contents/team.tsx @@ -1,6 +1,6 @@ import { Inspirations, InspirationLink } from "../components"; -export function Team () { +export function Team() { const links: InspirationLink[] = [ { year: 2019, teamName: "CU", pageName: "Team" }, { year: 2019, teamName: "UANL", pageName: "Team" }, @@ -78,4 +78,4 @@ export function Team () { </div> </> ); -} \ No newline at end of file +} diff --git a/src/pages.ts b/src/pages.ts index 6f8764ffe83f54894800b3cae447896d8916f395..66e4c1198c411cc9920cfbdf9919ffb87ff94e48 100644 --- a/src/pages.ts +++ b/src/pages.ts @@ -87,7 +87,7 @@ const Pages: (Page | Folder)[] = [ title: "Engineering Success", path: "/engineering", component: Engineering, - lead: "Demonstrate engineering success in a part of your project by going through at least one iteration of the engineering design cycle.", + lead: "Demonstrate engineering success in a technical aspect of your project by going through at least one iteration of the engineering design cycle. This achievement should be distinct from your Contribution for Bronze.", }, { name: "Experiments",