on master help sign in
almost there
7c6f492Samuel Henriquez
content/campus/_index.md+9−79
@@ -11,101 +11,31 @@ Now stop imagining, because we’ve already built it.
11Like 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:
11Like 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:
12
12
13
13
14−
15−
16−{% link href="https://developers.urbit.org/overview" %}
14+### [The Docs](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−
22The full documentation, regularly updated with a number of useful writeups geared towards beginners
15The full documentation, regularly updated with a number of useful writeups geared towards beginners
23
16
24−{% /div %}
25−{% /div %}
26−{% /link %}
27−
28−<br>
29−
30−{% link href="https://developers.urbit.org/guides/quickstart/intro" %}
17+### [Lightning Tutorials](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−
35Get a feel for the process of making and deploying an Urbit app in half an hour, no previous experience required
18Get a feel for the process of making and deploying an Urbit app in half an hour, no previous experience required
36
19
37−{% /div %}
38−{% /div %}
39−{% /link %}
40−
41−<br>
42−
43−{% link href="https://developers.urbit.org/guides/core" %}
20+### [Core Curriculum](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−
48Learn the Urbit stack at your own pace
21Learn the Urbit stack at your own pace
49
22
50−{% /div %}
51−{% /div %}
52−{% /link %}
53−
54<br>
23<br>
55
24
56The 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.
25The 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.
57
26
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**
27+### [Live Courses](https://developers.urbit.org/courses)
63−
64Learn the Urbit stack as part of a group
28Learn the Urbit stack as part of a group
65
29
66−{% /div %}
67−{% /div %}
68−{% /link %}
69−
70−<br>
71−
72−{% link href="https://urbit.org/groups/~hiddev-dannut/new-hooniverse" %}
30+### [New Hooniverse](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
31+Discussion group for learning the Urbit stack. Open to beginner, intermediate, and advanced developers
78−
79−{% /div %}
80−{% /div %}
81−{% /link %}
82
32
83<br>
33<br>
84
34
85Fledgling 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.
35Fledgling 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.
86
36
87−{% link href="https://holium.gitbook.io/tomedb/" %}
37+### [TomeDB](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
38+A framework for building Urbit apps solely 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**
104
39
40+### [Grants]("/grants")
105Build on Urbit and take ownership of the network in the process
41Build 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.
13
13
14It 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.
14It 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.
15
15
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**
20
16
17+### [Bitcoin on Urbit: The Sovereign Stack]("/bitcoin")
21How Urbit and Bitcoin fit together
18How Urbit and Bitcoin fit together
22
19
23−{% /div %}
24−{% /div %}
25−{% /link %}
26−
27−<br>
28−
29−{% link href="https://developers.urbit.org/reference/azimuth/azimuth" %}
20+### [Azimuth]("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−
34Urbit’s PKI system on Ethereum
21Urbit’s PKI system on Ethereum
35
22
36−{% /div %}
37−{% /div %}
38−{% /link %}
39−
40<br>
23<br>
41
24
42The leader in this space is Uqbar, an Urbit-native layer 2 blockchain that settles on Ethereum.
25The 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-
45
28
46>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.
29>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.
47
30
48−{% link href="https://uqbar.network/" %}
31+### [Uqbar]("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−
53The Urbit-native blockchain
32The Urbit-native blockchain
54
33
55−{% /div %}
56−{% /div %}
57−{% /link %}
58−
59−<br>
60
34
content/campus/creatives.md+1−11
@@ -11,15 +11,5 @@ Still, even in its relatively nascent state, it is already exceedingly obvious t
11
11
12There are already publishing tools that allow individuals to wholly replace monopolistic platforms, chief among them being Studio from Tirrel.
12There are already publishing tools that allow individuals to wholly replace monopolistic platforms, chief among them being Studio from Tirrel.
13
13
14−{% link href="https://urbit.studio/" %}
14+### [Tirrel Studio]("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−
19Publish and earn on Urbit
15Publish 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({
77
77
78
78
79 {/* Brief explanatory paragraph */}
79 {/* Brief explanatory paragraph */}
80− <Section narrow className="pb-1">
80+ <Section>
81
81
82 <div className="w-full space-y-8 max-w-prose">
82 <div className="w-full space-y-8 max-w-prose">
83−
84 <div className="space-y-4">
83 <div className="space-y-4">
85 <p className="">
84 <p className="">
86 <span className="font-bold">The internet cannot be saved. </span>
85 <span className="font-bold">The internet cannot be saved. </span>
@@ -110,53 +109,12 @@ export default function Home({
110 <a href="#events"> cheebo </a>
109 <a href="#events"> cheebo </a>
111 */}
110 */}
112
111
113−
114− <Section narrow className="pb-12">
112+ <Section className="pb-1">
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">
113+ <Link href="https://airtable.com/shrmfUVpMskWw145u" passHref>
117− <div className="cursor-pointer bg-wall-100 rounded-xl min-h-0 flex-1">
114+ <a className="button-lg bg-green-400 text-white type-ui max-w-fit">
118− <div className="flex flex-col p-4 h-full relative">
115+ Get on Urbit
119− <div className="w-64 md:w-full rounded-xl object-cover overflow-hidden basis-3/5">
116+ </a>
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>
117+ </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>
160 </Section>
118 </Section>
161
119
162
120
@@ -166,8 +124,7 @@ export default function Home({
166 //funnel, repurposed from /overview page:
124 //funnel, repurposed from /overview page:
167 }
125 }
168
126
169− <Section>
127+ <Section>
170− <h3 className="mb-8" id="reading">Want to learn more but aren’t sure where to look? Start here.</h3>
171 <hr></hr>
128 <hr></hr>
172 <br></br>
129 <br></br>
173 <br></br>
130 <br></br>
@@ -189,14 +146,18 @@ export default function Home({
189 }
146 }
190
147
191 <Section className="pb-1">
148 <Section className="pb-1">
192− <hr></hr>
149+
193 <br></br>
150 <br></br>
194 <div className="mt-6">
151 <div className="mt-6">
195 <h2 className="mb-8" id="events">Events</h2>
152 <h2 className="mb-8" id="events">Events</h2>
153+ {events.length > 0 ? (
196− <TwoUp>
154+ <TwoUp>
197− <EventPreview event={events[0]} className="mb-8" />
155+ <EventPreview event={events[0]} className="mb-8" />
198− {events[1] ? <EventPreview event={events[1]} className="mb-8" /> : <div />}
156+ {events[1] ? <EventPreview event={events[1]} className="mb-8" /> : <div />}
199− </TwoUp>
157+ </TwoUp>
158+ ) : (
159+ <p>No events yet — check back later.</p>
160+ )}
200 <Link href="/events?tag=campus">
161 <Link href="/events?tag=campus">
201 <a className="bg-wall-600 text-white button-lg w-fit">
162 <a className="bg-wall-600 text-white button-lg w-fit">
202 View All
163 View All
@@ -339,7 +300,8 @@ export async function getStaticProps({ params }) {
339 "weight"
300 "weight"
340 ) || null;
301 ) || null;
341
302
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")) || [];
343
305
344 return { props: { posts, data, markdown, params, previousPost, nextPost, events } };
306 return { props: { posts, data, markdown, params, previousPost, nextPost, events } };
345}
307}