on master help sign in
almost there
commit7c6f4928f1c6f52454e3e716e2789773deb47167 authorSamuel Henriquez <samueldhenriquez@gmail.com> dateWed 12 Apr 2023, 18:30 (4 years ago) parenta77cdd9
6 files changed+32−228
content/campus/_index.md+9−79 content/campus/blockchain-enthusiasts.md+3−29 content/campus/creatives.md+1−11 content/events/2023-04-20-campus-foobar.md−26 content/events/2023-05-20-campus-foobar2.md−26 pages/campus/[[...slug]].js+19−57
content/campus/_index.md+9−79
@@ -11,101 +11,31 @@ Now stop imagining, because we’ve already built it.
1111Like anything else, the best way to go about learning how to build on Urbit is to forge your own path. [Get on the network](https://airtable.com/shrmfUVpMskWw145u), clicking around this website. If you attended a Campus Outreach event and remember a term you didn’t understand, go to the search bar in the top right and see what comes up. Here are a few links to help get you started:
1212
1313
14−
15−
16−{% link href="https://developers.urbit.org/overview" %}
17−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
18−
19−{% div className="flex flex-col p-4"%}
20−**The Docs**
21−
14+### [The Docs](https://developers.urbit.org/overview)
2215The full documentation, regularly updated with a number of useful writeups geared towards beginners
2316
24−{% /div %}
25−{% /div %}
26−{% /link %}
27−
28−<br>
29−
30−{% link href="https://developers.urbit.org/guides/quickstart/intro" %}
31−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
32−{% div className="flex flex-col p-4"%}
33−**Lightning Tutorials**
34−
17+### [Lightning Tutorials](https://developers.urbit.org/guides/quickstart/intro)
3518Get a feel for the process of making and deploying an Urbit app in half an hour, no previous experience required
3619
37−{% /div %}
38−{% /div %}
39−{% /link %}
40−
41−<br>
42−
43−{% link href="https://developers.urbit.org/guides/core" %}
44−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
45−{% div className="flex flex-col p-4"%}
46−**Core Curriculum**
47−
20+### [Core Curriculum](https://developers.urbit.org/guides/core)
4821Learn the Urbit stack at your own pace
4922
50−{% /div %}
51−{% /div %}
52−{% /link %}
53−
5423<br>
5524
5625The Foundation also regularly runs a series of cohort-based live courses that go over the core curriculum, free and open to all. One lesson per week for ~8 weeks that can easily be worked into even the busiest schedules. You can also get help with the Urbit stack on the network at the New Hooniverse group on Urbit.
5726
58−
59−{% link href="/guides/star-buyers-guide?id=buying-a-star" %}
60−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
61−{% div className="flex flex-col p-4"%}
62−**Live Courses**
63−
27+### [Live Courses](https://developers.urbit.org/courses)
6428Learn the Urbit stack as part of a group
6529
66−{% /div %}
67−{% /div %}
68−{% /link %}
69−
70−<br>
71−
72−{% link href="https://urbit.org/groups/~hiddev-dannut/new-hooniverse" %}
73−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
74−{% div className="flex flex-col p-4"%}
75−**New Hooniverse**
76−
77−Discussion group for the Urbit stack. Open to beginner, intermediate, and advanced developers
78−
79−{% /div %}
80−{% /div %}
81−{% /link %}
30+### [New Hooniverse](https://urbit.org/groups/~hiddev-dannut/new-hooniverse)
31+Discussion group for learning the Urbit stack. Open to beginner, intermediate, and advanced developers
8232
8333<br>
8434
8535Fledgling developers may also be interested in a new framework from [Holium](https://www.holium.com/) that allows Urbit apps to be built entirely in Javascript, as well as the Foundation’s grants program that provides opportunities for junior devs to tackle challenges at their level and take ownership of some of the Urbit address space.
8636
87−{% link href="https://holium.gitbook.io/tomedb/" %}
88−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
89−{% div className="flex flex-col p-4"%}
90−**TomeDB**
91−
92−A framework for building Urbit apps with Javascript
93−
94−{% /div %}
95−{% /div %}
96−{% /link %}
97−
98−<br>
99−
100−{% link href="/grants" %}
101−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
102−{% div className="flex flex-col p-4"%}
103−**Grants**
37+### [TomeDB](https://holium.gitbook.io/tomedb/)
38+A framework for building Urbit apps solely with Javascript
10439
40+### [Grants]("/grants")
10541Build on Urbit and take ownership of the network in the process
106−
107−{% /div %}
108−{% /div %}
109−{% /link %}
110−
111−<br>
content/campus/blockchain-enthusiasts.md+3−29
@@ -13,30 +13,13 @@ After 15 years, the unsolved part of blockchains is still off-chain interaction.
1313
1414It turns out that without full-stack sovereignty — which is to say, without Urbit — attempts at anything more than simple transaction and representation are compromised from the onset, and the ultimate realization of Web3 is restricted to those with the sysadmin skills to to run confusing systems themselves. So despite predating Bitcoin by about 5 years, Urbit’s vision of sound, easy-to-use, decentralized computing dovetails neatly with that of sound, easy-to-use, decentralized money.
1515
16−{% link href="/bitcoin" %}
17−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
18−{% div className="flex flex-col p-4"%}
19−**Bitcoin on Urbit: The Sovereign Stack**
2016
17+### [Bitcoin on Urbit: The Sovereign Stack]("/bitcoin")
2118How Urbit and Bitcoin fit together
2219
23−{% /div %}
24−{% /div %}
25−{% /link %}
26−
27−<br>
28−
29−{% link href="https://developers.urbit.org/reference/azimuth/azimuth" %}
30−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
31−{% div className="flex flex-col p-4"%}
32−**Azimuth**
33−
20+### [Azimuth]("https://developers.urbit.org/reference/azimuth/azimuth")
3421Urbit’s PKI system on Ethereum
3522
36−{% /div %}
37−{% /div %}
38−{% /link %}
39−
4023<br>
4124
4225The leader in this space is Uqbar, an Urbit-native layer 2 blockchain that settles on Ethereum.
@@ -45,16 +28,7 @@ From their [clearpaper](https://uqbar-network.gitbook.io/uqbar-clearpaper/uqbar-
4528
4629>Leveraging Urbit’s peer-to-peer infrastructure, Uqbar provides a blockchain-native decentralized operating system uniquely positioned to deliver the composable primitives necessary to build a rich, functional distributed application layer. It fuses the trusted settlement of Ethereum with the decentralization, security, and interoperability benefits of full-scale peer-to-peer networking, unlocking the latent power of programmable blockchains.
4730
48−{% link href="https://uqbar.network/" %}
49−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
50−{% div className="flex flex-col p-4"%}
51−**Uqbar**
52−
31+### [Uqbar]("https://uqbar.network/")
5332The Urbit-native blockchain
5433
55−{% /div %}
56−{% /div %}
57−{% /link %}
58−
59−<br>
6034
content/campus/creatives.md+1−11
@@ -11,15 +11,5 @@ Still, even in its relatively nascent state, it is already exceedingly obvious t
1111
1212There are already publishing tools that allow individuals to wholly replace monopolistic platforms, chief among them being Studio from Tirrel.
1313
14−{% link href="https://urbit.studio/" %}
15−{% div className="display inline-callout flex items-center bg-wall-100 rounded-xl pl-4 mt-4" %}
16−{% div className="flex flex-col p-4"%}
17−**Tirrel Studio**
18−
14+### [Tirrel Studio]("https://urbit.studio/")
1915Publish and earn on Urbit
20−
21−{% /div %}
22−{% /div %}
23−{% /link %}
24−
25−<br>
content/events/2023-04-20-campus-foobar.mddeleted−26
@@ -1,26 +0,0 @@
1−+++
2−title = "Campus Outreach - Foobar University"
3−ends = "2022-04-20T21:30:00.000-07:00"
4−location = "Ames Auditorium, 1800 Vere Drive, Foobar University"
5−image = "https://news.berkeley.edu/wp-content/uploads/2020/07/APA-aerial19_054_FINAL.jpg"
6−registration_url = "https://www.google.com/"
7−description = ""
8−timezone = "America/Los_Angeles"
9−starts = "2022-04-20T20:00:00.000-07:00"
10−dark = true
11−darken_image = true
12−youtube = ""
13−tags = ["campus"]
14−
15−[[hosts]]
16−name = "Foobar University Blockchain Club"
17−
18−[[guests]]
19−name = "Sampel Palnet"
20−patp = "~sampel-palnet"
21−
22−+++
23−
24−In this talk, Sampel will provide a brief introduction to Urbit as an alternative way of approaching software, one that accomodates natural assumptions about how the internet ought to work.
25−
26−The Foobar Blockchain Association is Foobar University's premier student organization for people enthusiastic about cryptocurrency and decentralized systems.
content/events/2023-05-20-campus-foobar2.mddeleted−26
@@ -1,26 +0,0 @@
1−+++
2−title = "Campus Outreach - Foobar2 University"
3−ends = "2023-05-20T21:30:00.000-07:00"
4−location = "Ames Auditorium, 1800 Vere Drive, Foobar2 University"
5−image = "https://news.berkeley.edu/wp-content/uploads/2020/07/APA-aerial19_054_FINAL.jpg"
6−registration_url = "https://www.google.com/"
7−description = ""
8−timezone = "America/Los_Angeles"
9−starts = "2023-05-20T20:00"
10−dark = true
11−darken_image = true
12−youtube = ""
13−tags = ["campus"]
14−
15−[[hosts]]
16−name = "Foobar2 University Blockchain Club"
17−
18−[[guests]]
19−name = "Sampel Palnet"
20−patp = "~sampel-palnet"
21−
22−+++
23−
24−In this talk, Sampel will provide a brief introduction to Urbit as an alternative way of approaching software, one that accomodates natural assumptions about how the internet ought to work.
25−
26−The Foobar Blockchain Association is Foobar University's premier student organization for people enthusiastic about cryptocurrency and decentralized systems.
pages/campus/[[...slug]].js+19−57
@@ -77,10 +77,9 @@ export default function Home({
7777
7878
7979 {/* Brief explanatory paragraph */}
80− <Section narrow className="pb-1">
80+ <Section>
8181
8282 <div className="w-full space-y-8 max-w-prose">
83−
8483 <div className="space-y-4">
8584 <p className="">
8685 <span className="font-bold">The internet cannot be saved. </span>
@@ -110,53 +109,12 @@ export default function Home({
110109 <a href="#events"> cheebo </a>
111110 */}
112111
113−
114− <Section narrow className="pb-12">
115− <div className="flex flex-col space-y-4 md:space-y-0 md:flex-row md:space-x-4">
116− <Link href="https://airtable.com/shrmfUVpMskWw145u">
117− <div className="cursor-pointer bg-wall-100 rounded-xl min-h-0 flex-1">
118− <div className="flex flex-col p-4 h-full relative">
119− <div className="w-64 md:w-full rounded-xl object-cover overflow-hidden basis-3/5">
120− <img className="h-full w-64 md:w-full object-cover" src="https://pbs.twimg.com/media/FTcmjJWWQAAiSkI?format=jpg&name=900x900" />
121− </div>
122− <div className="rounded-xl w-full"/>
123− <div className="pt-4">
124− <p className="mb-2 font-semibold leading-5">Get on Urbit</p>
125− <p className="text-sm leading-5">Start exploring the OS and network for the 21st century</p>
126− </div>
127− </div>
128− </div>
129− </Link>
130− <Link href="https://developers.urbit.org/courses">
131− <div className="cursor-pointer bg-wall-100 rounded-xl min-h-0 flex-1">
132− <div className="flex flex-col p-4 h-full relative">
133− <div className="w-64 md:w-full rounded-xl object-cover overflow-hidden basis-3/5">
134− <img className="h-full w-64 md:w-full object-cover" src="https://pbs.twimg.com/media/FTcmjJWWQAAiSkI?format=jpg&name=900x900" />
135− </div>
136− <div className="rounded-xl w-full"/>
137− <div className="pt-4">
138− <p className="mb-2 font-semibold leading-5">Learn the Stack</p>
139− <p className="text-sm leading-5">Sign up for one of the Foundation's free courses in Urbit development</p>
140− </div>
141− </div>
142− </div>
143− </Link>
144−
145− <Link href="#events">
146− <div className="cursor-pointer bg-wall-100 rounded-xl min-h-0 flex-1">
147− <div className="flex flex-col p-4 h-full relative">
148− <div className="w-64 md:w-full rounded-xl object-cover overflow-hidden basis-3/5">
149− <img className="h-full w-64 md:w-full object-cover" src="https://pbs.twimg.com/media/FTcmjJWWQAAiSkI?format=jpg&name=900x900" />
150− </div>
151− <div className="rounded-xl w-full"/>
152− <div className="pt-4">
153− <p className="mb-2 font-semibold leading-5">Events</p>
154− <p className="text-sm leading-5">Find upcoming events and schedule one at your campus</p>
155− </div>
156− </div>
157− </div>
158− </Link>
159− </div>
112+ <Section className="pb-1">
113+ <Link href="https://airtable.com/shrmfUVpMskWw145u" passHref>
114+ <a className="button-lg bg-green-400 text-white type-ui max-w-fit">
115+ Get on Urbit
116+ </a>
117+ </Link>
160118 </Section>
161119
162120
@@ -166,8 +124,7 @@ export default function Home({
166124 //funnel, repurposed from /overview page:
167125 }
168126
169− <Section>
170− <h3 className="mb-8" id="reading">Want to learn more but aren’t sure where to look? Start here.</h3>
127+ <Section>
171128 <hr></hr>
172129 <br></br>
173130 <br></br>
@@ -189,14 +146,18 @@ export default function Home({
189146 }
190147
191148 <Section className="pb-1">
192− <hr></hr>
149+
193150 <br></br>
194151 <div className="mt-6">
195152 <h2 className="mb-8" id="events">Events</h2>
196− <TwoUp>
197− <EventPreview event={events[0]} className="mb-8" />
198− {events[1] ? <EventPreview event={events[1]} className="mb-8" /> : <div />}
199− </TwoUp>
153+ {events.length > 0 ? (
154+ <TwoUp>
155+ <EventPreview event={events[0]} className="mb-8" />
156+ {events[1] ? <EventPreview event={events[1]} className="mb-8" /> : <div />}
157+ </TwoUp>
158+ ) : (
159+ <p>No events yet — check back later.</p>
160+ )}
200161 <Link href="/events?tag=campus">
201162 <a className="bg-wall-600 text-white button-lg w-fit">
202163 View All
@@ -339,7 +300,8 @@ export async function getStaticProps({ params }) {
339300 "weight"
340301 ) || null;
341302
342− const events = getAllEvents(eventKeys, "events").filter((e) => e?.tags?.includes("campus"));
303+ const allEvents = getAllEvents(eventKeys, "events");
304+ const events = allEvents.filter((e) => e?.tags?.includes("campus")) || [];
343305
344306 return { props: { posts, data, markdown, params, previousPost, nextPost, events } };
345307}