}
diff --git a/content/courses/asl.md b/content/courses/asl.md
index 2756236..464c328 100644
--- a/content/courses/asl.md
+++ b/content/courses/asl.md
@@ -1,7 +1,10 @@
+++
title = "App School Live"
-weight = 6
-next_cohort = "January 23, 2023"
+date = "2023-05-01"
+weight = 90
+next_cohort = "May 2023"
+image = "https://storage.googleapis.com/media.urbit.org/developers/images/app-school-live.svg"
+description = "App School focuses on how to build a backend Gall agent, then on connecting it to a React-based front-end. When you're done, you'll be able to produce and distribute your own Urbit apps."
+++
The Urbit Foundation offers cohort classes to cover the [App
diff --git a/content/courses/awl.md b/content/courses/awl.md
index a888507..0e260d2 100644
--- a/content/courses/awl.md
+++ b/content/courses/awl.md
@@ -1,8 +1,9 @@
+++
title = "App Workshop Live"
-weight = 15
+weight = 30
next_cohort = "Late 2023"
-
+image = "https://storage.googleapis.com/media.urbit.org/developers/images/app-workshop-live.svg"
+description = "App Workshop will serve as a hands-on intensive course to build high-quality Urbit apps ready for end users. It serves as a follow-on to App School with more focus on building complex apps."
+++
App Workshop will serve as a hands-on intensive course to build
diff --git a/content/courses/csl.md b/content/courses/csl.md
index 8fb4ec6..9f683c6 100644
--- a/content/courses/csl.md
+++ b/content/courses/csl.md
@@ -1,7 +1,9 @@
+++
title = "Core School Live"
-weight = 20
+weight = 10
next_cohort = "Late Summer 2023"
+image = "https://storage.googleapis.com/media.urbit.org/developers/images/core-school-live.svg"
+description = "Core School prepares experienced Hoon developers to work on the Arvo kernel, the Vere or New Mars runtime, and otherwise build the platform as a senior developer."
+++
The Urbit Foundation will offer a cohort classes to train new core developers.
diff --git a/content/courses/hsl.md b/content/courses/hsl.md
index 213b6c8..88aa7f6 100644
--- a/content/courses/hsl.md
+++ b/content/courses/hsl.md
@@ -1,7 +1,9 @@
+++
title = "Hoon School Live"
-weight = 10
+weight = 100
next_cohort = "March 20, 2023"
+image = "https://storage.googleapis.com/media.urbit.org/developers/images/hoon-school-live.svg"
+description = "Hoon School Live teaches the fundamentals of Hoon with a hands-on instructor, regular exercises and discussions, and a completion certification."
+++
Periodically, the Urbit Foundation has offered synchronous cohort classes which
diff --git a/pages/courses.js b/pages/courses.js
index 7c13792..18710ae 100644
--- a/pages/courses.js
+++ b/pages/courses.js
@@ -5,58 +5,20 @@ import {
SingleColumn,
Section,
TwoUp,
+ getAllPosts
} from "@urbit/foundation-design-system";
import Header from "../components/Header";
import Footer from "../components/Footer";
import TallCard from "../components/TallCard";
-import AppSchoolLive from "../components/icons/TallCard/appSchoolLive"
-import HoonSchoolLive from "../components/icons/TallCard/hoonSchoolLive";
-import AppWorkshopLive from "../components/icons/TallCard/appWorkshopLive";
-import CoreSchoolLive from "../components/icons/TallCard/coreSchoolLive";
import { pair } from "../lib/util";
-export default function Courses({ search }) {
+export default function Courses({ search, courses }) {
const post = {
title: "Courses",
description: "Join the next session of Hoon School or App School.",
};
- // We can't just import this information from the content folder,
- // because it uses svg icons for the cards that need to be imported
- // as React components, so they can be detected by Tailwind and
- // restyled for light and dark modes.
- //
- // The icon components need to be imported, so they can't
- // just be declared as TOML metadata, either.
-
- const courses = [
- {
- title: "Hoon School Live",
- description: "Hoon School Live teaches the fundamentals of Hoon with a hands-on instructor, regular exercises and discussions, and a completion certification.",
- slug: 'hsl',
- icon: HoonSchoolLive
- },
- {
- title: "App School Live",
- description: "App School focuses on how to build a backend Gall agent, then on connecting it to a React-based front-end. When you're done, you'll be able to produce and distribute your own Urbit apps.",
- slug: 'asl',
- icon: AppSchoolLive
- },
- {
- title: "App Workshop Live",
- description: "App Workshop will serve as a hands-on intensive course to build high-quality Urbit apps ready for end users. It serves as a follow-on to App School with more focus on building complex apps.",
- slug: 'awl',
- icon: AppWorkshopLive
- },
- {
- title: "Core School Live",
- description: "Core School prepares experienced Hoon developers to work on the Arvo kernel, the Vere or New Mars runtime, and otherwise build the platform as a senior developer.",
- slug: 'csl',
- icon: CoreSchoolLive
- }
- ]
-
const pairedCourses = pair(courses);
return (
@@ -79,10 +41,10 @@ export default function Courses({ search }) {
);
})}
@@ -94,3 +56,15 @@ export default function Courses({ search }) {
);
}
+
+export async function getStaticProps() {
+ const courses = getAllPosts(
+ ["title", "slug", "next_cohort", "weight", "image", "description"],
+ "courses","weight"
+ );
+
+ return {
+ props: { courses },
+ };
+}
+
diff --git a/pages/guides/[[...slug]].js b/pages/guides/[[...slug]].js
index 8a63e24..42203f2 100644
--- a/pages/guides/[[...slug]].js
+++ b/pages/guides/[[...slug]].js
@@ -21,10 +21,6 @@ import {
getNextPost,
} from "@urbit/foundation-design-system";
import { Comms, Ringsig, Squad } from "../../components/icons";
-import HoonIcon from "../../components/icons/TallCard/hoon";
-import EnvironmentIcon from "../../components/icons/TallCard/env";
-import AppIcon from "../../components/icons/TallCard/app";
-import FullStackIcon from "../../components/icons/TallCard/full";
import guidesTree from "../../cache/guides.json";
import { join } from "path";
import { pair } from '../../lib/util';
@@ -187,7 +183,7 @@ function Landing({ search, posts }) {
description="Learn how to get your urbit development environment configured"
callout="View Guide"
href="/guides/core/environment"
- image={EnvironmentIcon}
+ image="https://storage.googleapis.com/media.urbit.org/developers/images/environment.svg"
className="h-full"
/>
@@ -205,7 +201,7 @@ function Landing({ search, posts }) {
description="Learn how to build Urbit userspace applications by writing your own Gall agents"
callout="View Guide"
href="/guides/core/app-school"
- image={AppIcon}
+ image="https://storage.googleapis.com/media.urbit.org/developers/images/app-school.svg"
className="h-full"
/>
diff --git a/pages/index.js b/pages/index.js
index 34a68e6..0843706 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -158,7 +158,7 @@ export default function Home({ search, posts, highlights }) {
description="Learn the fundamentals of the Hoon programming language"
callout="View Guide"
href="/guides/core/hoon-school"
- image={HoonIcon}
+ image="https://storage.googleapis.com/media.urbit.org/developers/images/hoon-school.svg"
className="h-full"
/>