Skip to content

Commit 22a01ed

Browse files
Showcase global (#263)
1 parent 5a625e6 commit 22a01ed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+329
-33
lines changed

content/showcase/HomeByMe.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: HomeByME
2+
description: A home design application, compiled to the web with Cheerp.
3+
url: https://home.by.me/en/
4+
heroImage: ./homebyme.png
5+
tags:
6+
- Cheerp

content/showcase/boardspace.png

518 KB

content/showcase/boardspace.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Boardspace
2+
description: A board game playing application using AWT. Over 100 games are available to play against human and robot opponents using WebSockets.
3+
url: https://boardspace.net/login.html
4+
heroImage: ./boardspace.png
5+
tags:
6+
- CheerpJ

content/showcase/browsercraft.png

443 KB

content/showcase/browsercraft.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Browsercraft
2+
description: Minecraft running unmodified in the browser!
3+
url: https://browsercraft.cheerpj.com/
4+
heroImage: ./browsercraft.png
5+
tags:
6+
- CheerpJ

content/showcase/cjdom.png

223 KB

content/showcase/cjdom.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: CJDom
2+
description: A library providing bindings to common Web/DOM APIs for CheerpJ.
3+
url: https://github.com/reportmill/CJDom
4+
heroImage: ./cjdom.png
5+
tags:
6+
- CheerpJ
353 KB
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: "Dragon Court: Revived"
2+
description: An old-school fantasy RPG, revived with in-game trading, multiplayer clans, and competitive leaderboards.
3+
url: https://dragoncourt.penguinchilling.com/
4+
heroImage: ./dragoncourtrevived.png
5+
tags:
6+
- CheerpJ

content/showcase/homebyme.png

1.09 MB

content/showcase/imagej.webp

97.8 KB
Binary file not shown.

content/showcase/imagej.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
title: ImageJ.js
2+
description: A web port of ImageJ, an open-source image processing tool popular in the scientific community.
3+
url: https://aicell.io/post/improving-imagej.js/
4+
# https://github.com/aicell-lab/imagej.js
5+
heroImage: ./imagej.webp
6+
tags:
7+
- CheerpJ

content/showcase/itext.png

84.8 KB

content/showcase/itext.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: iText
2+
description: Edit PDFs fully client side using the industry standard iText library converted to JavaScript.
3+
url: https://cheerpjdemos.leaningtech.com/iTextDemo.html
4+
heroImage: ./itext.png
5+
tags:
6+
- CheerpJ

content/showcase/javafiddle.png

66 KB

content/showcase/javafiddle.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Java Fiddle
2+
description: Compile, edit and run Java, directly in the browser.
3+
url: https://javafiddle.leaningtech.com/
4+
heroImage: ./javafiddle.png
5+
tags:
6+
- CheerpJ

content/showcase/nasa-applets.png

125 KB

content/showcase/nasa-applets.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: NASA Aeronautics Simulators
2+
description: Interactive simulator applets for aeoronautics students, powered by CheerpJ.
3+
url: https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/drop-simulator/
4+
heroImage: ./nasa-applets.png
5+
tags:
6+
- CheerpJ

content/showcase/openastex.png

117 KB

content/showcase/openastex.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: OpenAstexViewer
2+
description: A complex Java applet with 3D rendering running in any browser using CheerpJ.
3+
url: https://cheerpjdemos.leaningtech.com/OpenAstexViewer.html
4+
heroImage: ./openastex.png
5+
tags:
6+
- CheerpJ

content/showcase/phet.png

160 KB

content/showcase/phet.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: PHET Interactive Simulations
2+
description: Interactive physics simulations from the University of Colorado Boulder, powered by CheerpJ.
3+
url: https://phet.colorado.edu/en/simulations/filter?type=cheerpj
4+
heroImage: ./phet.png
5+
tags:
6+
- CheerpJ

content/showcase/swingset3.png

760 KB

content/showcase/swingset3.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: SwingSet3
2+
description: Java Swing components to HTML5 with CheerpJ
3+
url: https://cheerpj-example-swingset3.leaningtech.com/
4+
heroImage: ./swingset3.png
5+
tags:
6+
- CheerpJ

content/showcase/webvm.png

298 KB

content/showcase/webvm.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: WebVM
2+
description: Linux running client-side within your browser tab
3+
url: https://webvm.io/
4+
heroImage: ./webvm.png
5+
tags:
6+
- CheerpX

packages/astro-theme/components/ShowcaseList.astro

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
---
22
import { getCollection } from "astro:content";
33
import { Image } from "astro:assets";
4+
import type { CollectionEntry } from "astro:content";
5+
import { productFromUrl } from "../lib/products";
46
5-
interface Props {
7+
type Props = CollectionEntry<"showcase">["data"] & {
8+
//redundant collection
69
limit?: number;
7-
}
10+
};
811
912
const props = Astro.props;
1013
11-
let projects = await getCollection("showcase");
14+
const product = productFromUrl(Astro.url);
1215
16+
let projects = await getCollection("showcase", ({ data }) =>
17+
data?.tags?.includes(product.name)
18+
);
1319
if (typeof props.limit == "number") {
1420
projects = projects.slice(0, props.limit);
1521
}
@@ -24,14 +30,16 @@ if (typeof props.limit == "number") {
2430
href={project.data.url}
2531
class="block h-full p-2 border border-stone-700 text-stone-500 rounded-lg shadow-lg hover:translate-y-[-2px] hover:border-stone-600 hover:text-stone-400 transition-all"
2632
>
27-
<Image
28-
alt={project.data.title}
29-
src={project.data.image}
30-
class="rounded bg-primary-500 overflow-hidden"
31-
width={334 * 2}
32-
height={223 * 2}
33-
loading="lazy"
34-
/>
33+
{project.data.heroImage && (
34+
<Image
35+
src={project.data.heroImage}
36+
alt={project.data.title}
37+
class="rounded bg-primary-500 overflow-hidden"
38+
width={334 * 2}
39+
height={223 * 2}
40+
loading="lazy"
41+
/>
42+
)}
3543
<h5 class="font-semibold p-3 pb-1 text-stone-100">
3644
{project.data.title}
3745
</h5>

packages/astro-theme/content.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,18 @@ export function defineCommonCollections() {
5151
tags: productTags.optional(),
5252
}),
5353
}),
54+
showcase: defineCollection({
55+
type: "data",
56+
schema: ({ image }) =>
57+
z.object({
58+
title: z.string(),
59+
description: z.string().optional(),
60+
url: z.string(),
61+
heroImage: image().refine((img) => img.width / img.height == 1.5, {
62+
message: "Image must have 3:2 aspect ratio",
63+
}),
64+
tags: productTags.optional(),
65+
}),
66+
}),
5467
};
5568
}
Lines changed: 26 additions & 0 deletions
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: HomeByME
2+
description: A home design application, compiled to the web with Cheerp.
3+
url: https://home.by.me/en/
4+
heroImage: ./homebyme.png
5+
tags:
6+
- Cheerp
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Boardspace
2+
description: A board game playing application using AWT. Over 100 games are available to play against human and robot opponents using WebSockets.
3+
url: https://boardspace.net/login.html
4+
heroImage: ./boardspace.png
5+
tags:
6+
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Browsercraft
2+
description: Minecraft running unmodified in the browser!
3+
url: https://browsercraft.cheerpj.com/
4+
heroImage: ./browsercraft.png
5+
tags:
6+
- CheerpJ
223 KB
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: CJDom
2+
description: A library providing bindings to common Web/DOM APIs for CheerpJ.
3+
url: https://github.com/reportmill/CJDom
4+
heroImage: ./cjdom.png
5+
tags:
6+
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: "Dragon Court: Revived"
2+
description: An old-school fantasy RPG, revived with in-game trading, multiplayer clans, and competitive leaderboards.
3+
url: https://dragoncourt.penguinchilling.com/
4+
heroImage: ./dragoncourtrevived.png
5+
tags:
6+
- CheerpJ
1.09 MB
97.8 KB
Binary file not shown.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
title: ImageJ.js
2+
description: A web port of ImageJ, an open-source image processing tool popular in the scientific community.
3+
url: https://aicell.io/post/improving-imagej.js/
4+
# https://github.com/aicell-lab/imagej.js
5+
heroImage: ./imagej.webp
6+
tags:
7+
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Java Fiddle
2+
description: Compile, edit and run Java, directly in the browser.
3+
url: https://javafiddle.leaningtech.com/
4+
heroImage: ./javafiddle.png
5+
tags:
6+
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: NASA Aeronautics Simulators
2+
description: Interactive simulator applets for aeoronautics students, powered by CheerpJ.
3+
url: https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/drop-simulator/
4+
heroImage: ./nasa-applets.png
5+
tags:
6+
- CheerpJ
160 KB
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: PHET Interactive Simulations
2+
description: Interactive physics simulations from the University of Colorado Boulder, powered by CheerpJ.
3+
url: https://phet.colorado.edu/en/simulations/filter?type=cheerpj
4+
heroImage: ./phet.png
5+
tags:
6+
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: SwingSet3
2+
description: Java Swing components to HTML5 with CheerpJ
3+
url: https://cheerpj-example-swingset3.leaningtech.com/
4+
heroImage: ./swingset3.png
5+
tags:
6+
- CheerpJ
298 KB
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: WebVM
2+
description: Linux running client-side within your browser tab
3+
url: https://webvm.io/
4+
heroImage: ./webvm.png
5+
tags:
6+
- CheerpX

sites/cheerpj/src/content/config.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,3 @@
11
import { defineCommonCollections } from "@leaningtech/astro-theme/content";
2-
import { defineCollection, z } from "astro:content";
32

4-
const showcase = defineCollection({
5-
type: "data",
6-
schema: ({ image }) =>
7-
z.object({
8-
title: z.string(),
9-
description: z.string().optional(),
10-
url: z.string(),
11-
image: image().refine((img) => img.width / img.height == 1.5, {
12-
message: "Image must have 3:2 aspect ratio",
13-
}),
14-
}),
15-
});
16-
17-
export const collections = { showcase, ...defineCommonCollections() };
3+
export const collections = defineCommonCollections();
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: HomeByME
2+
description: A home design application, compiled to the web with Cheerp.
3+
url: https://home.by.me/en/
4+
heroImage: ./homebyme.png
5+
tags:
6+
- Cheerp
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
title: Boardspace
22
description: A board game playing application using AWT. Over 100 games are available to play against human and robot opponents using WebSockets.
33
url: https://boardspace.net/login.html
4-
image: ./boardspace.png
4+
heroImage: ./boardspace.png
55
tags:
66
- CheerpJ
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
title: Browsercraft
22
description: Minecraft running unmodified in the browser!
33
url: https://browsercraft.cheerpj.com/
4-
image: ./browsercraft.png
4+
heroImage: ./browsercraft.png
55
tags:
66
- CheerpJ
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
title: CJDom
22
description: A library providing bindings to common Web/DOM APIs for CheerpJ.
33
url: https://github.com/reportmill/CJDom
4-
image: ./cjdom.png
4+
heroImage: ./cjdom.png
55
tags:
66
- CheerpJ
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
title: "Dragon Court: Revived"
22
description: An old-school fantasy RPG, revived with in-game trading, multiplayer clans, and competitive leaderboards.
33
url: https://dragoncourt.penguinchilling.com/
4-
image: ./dragoncourtrevived.png
4+
heroImage: ./dragoncourtrevived.png
55
tags:
66
- CheerpJ
1.09 MB

sites/cheerpj/src/content/showcase/imagej.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ title: ImageJ.js
22
description: A web port of ImageJ, an open-source image processing tool popular in the scientific community.
33
url: https://aicell.io/post/improving-imagej.js/
44
# https://github.com/aicell-lab/imagej.js
5-
image: ./imagej.webp
5+
heroImage: ./imagej.webp
66
tags:
77
- CheerpJ
84.8 KB
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: iText
2+
description: Edit PDFs fully client side using the industry standard iText library converted to JavaScript.
3+
url: https://cheerpjdemos.leaningtech.com/iTextDemo.html
4+
heroImage: ./itext.png
5+
tags:
6+
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: Java Fiddle
2+
description: Compile, edit and run Java, directly in the browser.
3+
url: https://javafiddle.leaningtech.com/
4+
heroImage: ./javafiddle.png
5+
tags:
6+
- CheerpJ
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
title: NASA Aeronautics Simulators
22
description: Interactive simulator applets for aeoronautics students, powered by CheerpJ.
33
url: https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/drop-simulator/
4-
image: ./nasa-applets.png
4+
heroImage: ./nasa-applets.png
55
tags:
66
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: OpenAstexViewer
2+
description: A complex Java applet with 3D rendering running in any browser using CheerpJ.
3+
url: https://cheerpjdemos.leaningtech.com/OpenAstexViewer.html
4+
heroImage: ./openastex.png
5+
tags:
6+
- CheerpJ
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
title: PHET Interactive Simulations
22
description: Interactive physics simulations from the University of Colorado Boulder, powered by CheerpJ.
33
url: https://phet.colorado.edu/en/simulations/filter?type=cheerpj
4-
image: ./phet.png
4+
heroImage: ./phet.png
55
tags:
66
- CheerpJ
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: SwingSet3
2+
description: Java Swing components to HTML5 with CheerpJ
3+
url: https://cheerpj-example-swingset3.leaningtech.com/
4+
heroImage: ./swingset3.png
5+
tags:
6+
- CheerpJ
298 KB
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
title: WebVM
2+
description: Linux running client-side within your browser tab
3+
url: https://webvm.io/
4+
heroImage: ./webvm.png
5+
tags:
6+
- CheerpX

0 commit comments

Comments
 (0)