Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add proposal page #282

Merged
merged 6 commits into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/components/Link.astro
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
---
const { text, url } = Astro.props;
import { twMerge } from "tailwind-merge";
const { text, url, textClasses } = Astro.props;
---

<a
class="underline transition ease-in duration-200 hover:text-primary dark:text-slate-300 dark:hover:text-accent cursor-pointer"
class={twMerge(
"underline transition ease-in duration-200 hover:text-primary dark:text-slate-300 dark:hover:text-accent cursor-pointer",
textClasses
)}
href={url}
target="_blank"
>
{text}
</a>
44 changes: 44 additions & 0 deletions src/components/ProposalListItem.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
import { getEntries } from "astro:content";
import Link from "./Link.astro";
import { TbFileTypePdf } from "react-icons/tb";
const { proposal } = Astro.props;
const relatedProjects = await getEntries(proposal.data.projects);
---

<li
class={`max-w-3xl mx-auto md:max-w-none flex flex-col md:grid gap-6 md:gap-8 dark:bg-slate-900`}
>
<div class="py-4">
<div
class="text-lg md:text-xl font-bold leading-tight mb-2 font-heading dark:text-slate-300"
>
<a
class="flex gap-2 items-center hover:text-primary dark:hover:text-primary transition ease-in duration-200"
href={proposal.data["OSSI proposal link"]}
target="_blank"
>
<TbFileTypePdf className="min-w-6 h-auto" />
{proposal.data.title}
</a>
</div>

<p
class="text-base md:text-lg flex-grow text-muted mb-2 dark:text-slate-400"
>
{proposal.data.authors}
</p>
<div class="flex items-center flex-wrap mb-2 gap-x-3">
<p class="text-base font-semibold">Funded projects:</p>
{
relatedProjects.map((project) => {
if (project) {
const slug = project.slug;
const title = project.data.title;
return <Link url={`/projects/${slug}`} text={title} />;
}
})
}
</div>
</div>
</li>
17 changes: 13 additions & 4 deletions src/components/blog/BlogHeadline.astro
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
---
const { title = await Astro.slots.render('default'), subtitle = await Astro.slots.render('subtitle') } = Astro.props;
const {
title = await Astro.slots.render("default"),
subtitle = await Astro.slots.render("subtitle"),
} = Astro.props;
---

<header class="mb-8 md:mb-16 text-center max-w-3xl mx-auto">
<h1 class="text-4xl md:text-5xl font-bold leading-tighter tracking-tighter font-heading" set:html={title} />
<header class="mb-4 md:mb-8 text-center max-w-3xl mx-auto">
<h1
class="text-4xl md:text-5xl font-bold leading-tighter tracking-tighter font-heading"
set:html={title}
/>
{
subtitle && (
<div class="mt-2 md:mt-3 mx-auto text-xl text-gray-500 dark:text-slate-400 font-medium" set:html={subtitle} />
<div
class="mt-2 md:mt-3 mx-auto text-xl text-gray-500 dark:text-slate-400 font-medium"
set:html={subtitle}
/>
)
}
</header>
14 changes: 14 additions & 0 deletions src/content/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,19 @@ const projectsCollection = defineCollection({
}),
});

// Proposals frontmatter
const proposalCollection = defineCollection({
type: "content",
schema: z.object({
"OSSI proposal link": z.string(),
title: z.string(),
authors: z.string(),
projects: z
.union([z.array(reference("projects")), reference("projects")])
.optional(),
}),
});

// Blogs frontmatter
const blogCollection = defineCollection({
type: "content",
Expand Down Expand Up @@ -117,6 +130,7 @@ const ecosystemsCollection = defineCollection({
// Export all content frontmatter configurations
export const collections = {
projects: projectsCollection,
proposals: proposalCollection,
blog: blogCollection,
ecosystems: ecosystemsCollection,
};
3 changes: 2 additions & 1 deletion src/content/projects/bigstitcher.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ use case:
]
usage environment: [Local installation]
software ecosystem: [Fiji, BigDataViewer, ImgLib2]
supported file types: [N5, HDF5, ZARR, TIFF, Bioformats compatible formats, Zeiss CZI]
supported file types:
[N5, HDF5, ZARR, TIFF, Bioformats compatible formats, Zeiss CZI]
---
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/single_molecule_localization.pdf
title: An open-source platform for single-molecule localization
authors: Srini Turaga, Jakob Macke, Jonas Ries
projects: [an-open-source-platform-for-single-molecule-localization]
---
6 changes: 6 additions & 0 deletions src/content/proposals/bigwarp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/bigwarp.pdf
title: WarpSpeed to accessible registration
authors: John Bogovic, Larissa Heinrich, and Stephan Saalfeld
projects: [bigwarp]
---
6 changes: 6 additions & 0 deletions src/content/proposals/catena.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/catena.pdf
title: Maintenance and enhancement of Funke lab's automated reconstruction pipeline for volumetric Electron Microscopy
authors: Samia Mohinta, Albert Cardona
projects: [catena]
---
6 changes: 6 additions & 0 deletions src/content/proposals/easifish-pipeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/easifish_pipeline.pdf
title: EASI-FISH pipeline
authors: MultiFISH Project Team
projects: [easi-fish-pipeline]
---
6 changes: 6 additions & 0 deletions src/content/proposals/hortacloud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/hortacloud.pdf
title: janeliaHortaCloud
authors: MouseLight Project Team
projects: [hortacloud]
---
6 changes: 6 additions & 0 deletions src/content/proposals/java-packaging-tool-chain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/jvm_tool_deployment.pdf
title: User friendly deployment of JVM based tools
authors: Caleb Hulbert, John Bogovic and Stephan Saalfeld
projects: [java-packaging-tool-chain]
---
6 changes: 6 additions & 0 deletions src/content/proposals/kilosort.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/kilosort.pdf
title: Kilosort
authors: Marius Pachitariu
projects: [kilosort]
---
6 changes: 6 additions & 0 deletions src/content/proposals/neuvid.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/neuvid.pdf
title: Cell videos from high-level descriptions
authors: Philip Hubbard
projects: [neuvid]
---
6 changes: 6 additions & 0 deletions src/content/proposals/ossi-website.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/ossi_website.pdf
title: Open Science Software Portfolio
authors: Tiago Ferreira and Konrad Rokicki
projects: [ossi-website]
---
6 changes: 6 additions & 0 deletions src/content/proposals/paintera.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/paintera.pdf
title: Paintera
authors: Caleb Hulbert, John Bogovic and Stephan Saalfeld
projects: [paintera]
---
6 changes: 6 additions & 0 deletions src/content/proposals/petascale-lightsheet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/petascale_lightsheet.pdf
title: Peta-scale lightsheet microscopy reconstruction and maintenance of existing software
authors: Stephan Preibisch, Stephan Saalfeld
projects: [bigstitcher-spark, bigstitcher, stitching-spark]
---
6 changes: 6 additions & 0 deletions src/content/proposals/spatial-transcriptomics-tools.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/spatial_transcriptomics_tools.pdf
title: Tools for spatial transcriptomics
authors: Marwan Zouinkhi, Stephan Preibisch
projects: [rs-fish, stim]
---
6 changes: 6 additions & 0 deletions src/content/proposals/suite2p-and-cellpose.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/suite2p_and_cellpose.pdf
title: Suite2p and Cellpose
authors: Carsen Stringer
projects: [cellpose, suite2p]
---
6 changes: 6 additions & 0 deletions src/content/proposals/video-annotation-library.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/video_annotation_library.pdf
title: An adaptable and extensible library for annotation of video
authors: Kristin Branson, Mayank Kabra, Iljung Kwak
projects: [video-annotation-library]
---
6 changes: 6 additions & 0 deletions src/content/proposals/vvd-viewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
OSSI proposal link: ../../proposals/vvdviewer.pdf
title: VVD Viewer
authors: Takashi Kawase, Hideo Otsuna, Stephan Preibisch, Konrad Rokicki
projects: [vvd-viewer]
---
29 changes: 21 additions & 8 deletions src/pages/ossi.astro → src/pages/ossi/index.astro
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
---
import Image from "astro/components/Image.astro";
import BaseLayout from "../layouts/BaseLayout.astro";
import Hero from "../components/Hero";
import TextBlock from "../components/TextBlock.astro";
import Wrapper from "../components/Wrapper.astro";
import BaseLayout from "../../layouts/BaseLayout.astro";
import Hero from "../../components/Hero";
import TextBlock from "../../components/TextBlock.astro";
import Wrapper from "../../components/Wrapper.astro";
import Link from "../../components/Link.astro";

import ossiPhasesImgWhite from "../assets/images/ossi_phases-white.png";
import ossiPhasesImgBlack from "../assets/images/ossi_phases-black.png";

const baseUrl = import.meta.env.BASE_URL;
import ossiPhasesImgWhite from "../../assets/images/ossi_phases-white.png";
import ossiPhasesImgBlack from "../../assets/images/ossi_phases-black.png";
---

<BaseLayout>
Expand All @@ -26,6 +25,7 @@ const baseUrl = import.meta.env.BASE_URL;
<Fragment slot="title"
>About the Janelia Open Science Software Initiative (OSSI)</Fragment
>

<Fragment slot="content">
Open-source code and software are immensely important to progress in all
areas of science. Sharing code allows the same analyses to be performed
Expand Down Expand Up @@ -65,15 +65,28 @@ const baseUrl = import.meta.env.BASE_URL;
source software.
</Fragment>
</TextBlock>

<TextBlock>
<Fragment slot="subtitle">Call for projects</Fragment>
<Fragment slot="content">
We invite proposals for Open-Source Software projects from scientists at
Janelia. The aim of a proposal should generally be to develop, maintain
and/or document developer-friendly, user-friendly code that promises to
have a significant impact on the community.
<!-- <br />
<br />
<a style={"color: var(--color-primary)"} href="/ossi/proposals"
>View successful proposals</a
><br /> -->
</Fragment>
</TextBlock>
<div class="self-start pb-4 sm:pb-8">
<Link
url="/ossi/proposals"
text="View successful proposals"
textClasses="md:leading-normal 2xl:leading-relaxed text-base sm:text-lg md:text-xl 2xl:text-2xl dark:text-slate-200"
/>
</div>
<TextBlock>
<Fragment slot="subtitle">OSSI Project Lifecycle</Fragment>
<Fragment slot="content">
Expand Down
24 changes: 24 additions & 0 deletions src/pages/ossi/proposals.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
import { getCollection } from "astro:content";

import BaseLayout from "../../layouts/BaseLayout.astro";
import Headline from "../../components//blog/BlogHeadline.astro";
import ProposalListItem from "../../components/ProposalListItem.astro";

const proposals = await getCollection("proposals");
---

<BaseLayout>
<section class="px-6 pt-28 mx-auto max-w-4xl">
<Headline subtitle="View proposals for past and current OSSI projects.">
OSSI Proposals
</Headline>
<ul>
{
proposals.map((proposal) => {
return <ProposalListItem proposal={proposal} />;
})
}
</ul>
</section>
</BaseLayout>