on master help sign in
Merge pull request #100 from urbit/zola-port
96ccd9dMorgan Sutherland
.gitmodules+1−1
@@ -1,3 +1,3 @@
1[submodule "content/docs"]
1[submodule "content/docs"]
2 path = content/docs
2 path = content/docs
3− url = https://github.com/urbit/docs.git
3+ url = git@github.com:urbit/docs.git
content/docs+1−1

Submodule changed.

content/posts/azimuth-as-multipass.md+4−4
@@ -18,14 +18,14 @@ Why not just use one? Forget about how we get there for a moment: just imagine h
18
18
19An Azimuth point is an identity and a wallet. Both a driver’s license and a credit card. Identity and money. Think about it as a ‘civilizational key’ for a new society. Concretely, it’s nice to imagine it as a physical object. A slick, card sized object with an e-ink screen. You can tap it to pay, tap it to enter, and plug it into a computer to boot your Arvo OS.
19An Azimuth point is an identity and a wallet. Both a driver’s license and a credit card. Identity and money. Think about it as a ‘civilizational key’ for a new society. Concretely, it’s nice to imagine it as a physical object. A slick, card sized object with an e-ink screen. You can tap it to pay, tap it to enter, and plug it into a computer to boot your Arvo OS.
20
20
21−Worried about losing it? Just remember your ticket. If you use our wallet system, all you need to remember is something like `~ravmel-ropdyl` and `~habpem-sondem-pidbyt-solbyn`. A point and a ticket. That’s it.
21+Worried about losing it? Just remember your ticket. If you use our wallet system, all you need to remember is something like `~ravmel-ropdyl` and `~habpem-sondem-pidbyt-solbyn`. A point and a ticket. That’s it.
22
22
23−Woke up in the desert, no idea how you got there, but can still remember your point and ticket? Great! Just get to an internet connection and re-ticket – you’ll be fine. Although probably dehydrated.
23+Woke up in the desert, no idea how you got there, but can still remember your point and ticket? Great! Just get to an internet connection and re-ticket – you’ll be fine. Although probably dehydrated.
24
24
25If you’re someone who’s worried about getting kidnapped, just use a child identity. Your Azimuth planet has ~4B of them, so you can always invalidate one if you lose it.
25If you’re someone who’s worried about getting kidnapped, just use a child identity. Your Azimuth planet has ~4B of them, so you can always invalidate one if you lose it.
26
26
27−Perhaps part of how we ended up in the world we’re in is that we didn’t have something like Azimuth to begin with. Today, it’s backwards: everyone has an address on the network, but no one has an identity.
27+Perhaps part of how we ended up in the world we’re in is that we didn’t have something like Azimuth to begin with. Today, it’s backwards: everyone has an address on the network, but no one has an identity.
28
28
29We think everyone needs an identity that can hold money and have packets routed to it. Start there, and it’s quite fun to imagine where you end up. A civilized digital society might even be possible after all.
29We think everyone needs an identity that can hold money and have packets routed to it. Start there, and it’s quite fun to imagine where you end up. A civilized digital society might even be possible after all.
30
30
31−**Galen Wolfe-Pauly** ~ravmel-ropdyl
31+**Galen Wolfe-Pauly** `~ravmel-ropdyl`
content/posts/the-100-year-computer.md+1−1
@@ -24,4 +24,4 @@ Imagine that a computer was something you kept forever. It would comfortably sto
24
24
25Imagine a computer that was extremely valuable to you, that you’d pay thousands of dollars to recover, but you used *less* than the one you do today.
25Imagine a computer that was extremely valuable to you, that you’d pay thousands of dollars to recover, but you used *less* than the one you do today.
26
26
27−**Galen Wolfe-Pauly** ~ravmel-ropdyl
27+**Galen Wolfe-Pauly** `~ravmel-ropdyl`
content/posts/the-state-of-landscape.md+1−1
@@ -72,4 +72,4 @@ Many of us spend all day on Landscape, use it from our phones, and find it reall
72
72
73We operate one public channel, `~dopzod/urbit-help` for answering any of your questions about the system. And, from time to time, we have been creating topic-centric channels and announcing them publicly. This has been a lot of fun. Come join us if you’re feeling brave.
73We operate one public channel, `~dopzod/urbit-help` for answering any of your questions about the system. And, from time to time, we have been creating topic-centric channels and announcing them publicly. This has been a lot of fun. Come join us if you’re feeling brave.
74
74
75−**Galen Wolfe-Pauly** ~ravmel-ropdyl
75+**Galen Wolfe-Pauly** `~ravmel-ropdyl`
content/privacy.md+1
@@ -1,6 +1,7 @@
1+++
1+++
2title = "Privacy Policy"
2title = "Privacy Policy"
3+++
3+++
4+
4## Scope of this Privacy Policy
5## Scope of this Privacy Policy
5
6
6Tlon Corporation ('Tlon,' 'we,' 'our,' and/or 'us') values the privacy of individuals who use Urbit software, our websites, and related services (collectively, our 'Services'). This privacy policy (the 'Privacy Policy') explains how we collect, use, and share information from users of our Services ('Users'). By using our Services, you agree to the collection, use, disclosure, and procedures this Privacy Policy describes. Beyond the Privacy Policy, your use of our Services is also subject to our Terms of Service.
7Tlon Corporation ('Tlon,' 'we,' 'our,' and/or 'us') values the privacy of individuals who use Urbit software, our websites, and related services (collectively, our 'Services'). This privacy policy (the 'Privacy Policy') explains how we collect, use, and share information from users of our Services ('Users'). By using our Services, you agree to the collection, use, disclosure, and procedures this Privacy Policy describes. Beyond the Privacy Policy, your use of our Services is also subject to our Terms of Service.
sass/_main.scss+88−19
@@ -55,6 +55,10 @@ iframe {
55 line-height: 8rem;
55 line-height: 8rem;
56 margin-bottom: 1rem;
56 margin-bottom: 1rem;
57 }
57 }
58+ li {
59+ font-size: inherit;
60+ line-height: inherit;
61+ }
58}
62}
59
63
60.content-nav-icon {
64.content-nav-icon {
@@ -259,20 +263,6 @@ iframe {
259 width: 100%;
263 width: 100%;
260}
264}
261
265
262−.article {
263− h2 {
264− margin-top: 16rem;
265− margin-bottom: 4rem;
266− }
267− h3 {
268− margin-top: 8rem;
269− margin-bottom: 4rem;
270− }
271− h4 {
272− margin-bottom: 4rem;
273− }
274−}
275−
276.form {
266.form {
277 width: 100%;
267 width: 100%;
278 max-width: 320px;
268 max-width: 320px;
@@ -353,19 +343,62 @@ h1, h2, h3, h4, h5, h6, .text-heading {
353 font-family: 'Inter UI', -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
343 font-family: 'Inter UI', -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
354}
344}
355
345
356−p, article li {
346+h1, h2, h3, h4 {
347+ font-weight: 700;
348+}
349+h1 {
357− font-size: 4rem;
350+ font-size: 8rem;
358 line-height: 8rem;
351 line-height: 8rem;
359− font-weight: 400;
352+}
353+h2 {
354+ font-size: 6rem;
355+ line-height: 6rem;
356+}
357+h3 {
358+ font-size: 5rem;
359+ line-height: 5rem;
360+}
361+h4 {
362+ font-size: 4.5rem;
363+ line-height: 4.5rem;
364+}
365+h5 {
366+ font-size: 4rem;
367+ line-height: 4rem;
360}
368}
361
369
362−article {
370+.article {
363 h1 {
371 h1 {
364− margin-bottom: 6rem;
372+ margin-bottom: 7rem;
373+ }
374+ h2 {
375+ margin-top: 8rem;
376+ margin-bottom: 4rem;
377+ }
378+ h3 {
379+ margin-top: 7rem;
380+ margin-bottom: 3rem;
381+ }
382+ h4 {
383+ margin-top: 6.5rem;
384+ margin-bottom: 2.5rem;
385+ }
386+ h5 {
387+ margin-top: 6rem;
388+ margin-bottom: 2rem;
365 }
389 }
366}
390}
367
391
392+li {
393+ font-size: 4rem;
394+ line-height: 8rem;
395+ font-weight: 400;
396+}
397+
368p, .p {
398p, .p {
399+ font-size: 4rem;
400+ font-weight: 400;
401+ line-height: 8rem;
369 margin: 0 0 4rem;
402 margin: 0 0 4rem;
370}
403}
371
404
@@ -374,9 +407,45 @@ pre, code {
374 background-color: #eee !important;
407 background-color: #eee !important;
375 color: #000 !important;
408 color: #000 !important;
376 overflow-y: scroll;
409 overflow-y: scroll;
410+ font-weight: 400;
377 span {
411 span {
378 color: #000 !important;
412 color: #000 !important;
379 }
413 }
380 padding: 1rem;
414 padding: 1rem;
381 font-size: 4rem;
415 font-size: 4rem;
382}
416}
417+
418+textarea, input[type="text"], input[type="email"], input[type="number"] {
419+ border: 1px solid #B1B2B3;
420+ font-size: 4rem;
421+ line-height: 6rem;
422+ transition: all 0.1s linear;
423+ padding-right: 40px;
424+ position: relative;
425+ &:active, &:focus {
426+ border: 1px solid #000000;
427+ }
428+ &:required, &:invalid {
429+ box-shadow: none !important;
430+ border: 1px solid #EE892B;
431+ color: #EE892B;
432+ }
433+}
434+
435+.has-valid-input {
436+ position: relative;
437+ &:after {
438+ content: '✓';
439+ color: #2AA779;
440+ position: absolute;
441+ right: 10px;
442+ top: 50%;
443+ transform: translate(0,-50%);
444+ width: 15px;
445+ height: 24px;
446+ margin-top: -4px;
447+ }
448+ input[type="text"], input[type="email"], input[type="number"] {
449+ border: 1px solid #2AA779;
450+ }
451+}
static/scripts.js+44−4
@@ -1,9 +1,49 @@
1+//
2+ // toggling of navigation menus
3+//
4+
1var toggleMainNav = document.getElementById('js-main-nav-toggle');
5var toggleMainNav = document.getElementById('js-main-nav-toggle');
6+if (toggleMainNav !== null) {
2−toggleMainNav.onclick = function() {
7+ toggleMainNav.onclick = function() {
3− document.body.classList.toggle('has-active-main-nav');
8+ document.body.classList.toggle('has-active-main-nav');
9+ }
4}
10}
5
11
6var toggleContentNav = document.getElementById('js-content-nav-toggle');
12var toggleContentNav = document.getElementById('js-content-nav-toggle');
13+if (toggleContentNav !== null) {
7−toggleContentNav.onclick = function() {
14+ toggleContentNav.onclick = function() {
8− document.body.classList.toggle('has-active-content-nav');
15+ document.body.classList.toggle('has-active-content-nav');
16+ }
17+}
18+
19+//
20+ // styling of input fields
21+//
22+
23+var inputElements = document.querySelectorAll('input.tlon-input');
24+for (var i = 0; i < inputElements.length; i++) {
25+ //listen for changes in input
26+ inputElements[i].addEventListener('input', function() {
27+ // if input has a value do this
28+ if (this.value) {
29+ var inputContainer = this.parentNode;
30+ var validInputs = inputContainer.querySelectorAll('input.tlon-input:valid');
31+ var inputs = inputContainer.querySelectorAll('input.tlon-input');
32+ if (validInputs.length !== 0) {
33+ // has valid input
34+ for (var i = 0; i < validInputs.length; i++) {
35+ if (this.classList.contains('is-valid') == false ) {
36+ validInputs[i].parentNode.classList.add('has-valid-input');
37+ }
38+ }
39+ } else {
40+ // doesn't have valid input
41+ for (var i = 0; i < inputs.length; i++) {
42+ inputs[i].parentNode.classList.remove('has-valid-input');
43+ }
44+ }
45+ } else {
46+ this.parentNode.classList.remove('has-valid-input');
47+ }
48+ });
9}
49}
templates/doc.html+1−1
@@ -12,7 +12,7 @@
12 </div>
12 </div>
13 <div class="container ml8">
13 <div class="container ml8">
14 <div class="content-nav-spacer"></div>
14 <div class="content-nav-spacer"></div>
15− <article class="content">
15+ <article class="article content">
16 <!-- header -->
16 <!-- header -->
17 <h1>{{ page.title }}</h1>
17 <h1>{{ page.title }}</h1>
18 <!-- body -->
18 <!-- body -->
templates/page.html+2−2
@@ -39,8 +39,8 @@
39 <div class="content posts__content pb40">
39 <div class="content posts__content pb40">
40 <article class="article">
40 <article class="article">
41 <!-- header -->
41 <!-- header -->
42− <h4 class="mb16"><code>&#126;{% if page.date %}{{ page.date | date(format="%Y.%m.%d") }}{% endif %}</code></h4>
42+ <!-- <h4 class="mb8"><code>&#126;{% if page.date %}{{ page.date | date(format="%Y.%m.%d") }}{% endif %}</code></h4> -->
43− <h1 class="mt8 mb8">{{ page.title }}</h1>
43+ <h1 class="mb8">{{ page.title }}</h1>
44 <!-- body -->
44 <!-- body -->
45 {{ page.content | safe }}
45 {{ page.content | safe }}
46 </article>
46 </article>
templates/partials/footer.html+6−2
@@ -8,7 +8,7 @@
8 <form id="mc-embedded-subscribe-form" class="validate" action="https://urbit.us11.list-manage.com/subscribe/post?u=972a03db9e0c6c25bb58de8c8&amp;amp;id=be143888d2" method="post" name="mc-embedded-subscribe-form" target="nothing">
8 <form id="mc-embedded-subscribe-form" class="validate" action="https://urbit.us11.list-manage.com/subscribe/post?u=972a03db9e0c6c25bb58de8c8&amp;amp;id=be143888d2" method="post" name="mc-embedded-subscribe-form" target="nothing">
9 <div class="input-group text-mono" id="mc_embed_signup_scroll">
9 <div class="input-group text-mono" id="mc_embed_signup_scroll">
10 <div class="mc-field-group">
10 <div class="mc-field-group">
11− <input class="required mb2" type="email" name="EMAIL" id="mce-EMAIL" placeholder="your@email.com">
11+ <input class="required tlon-input mb2" type="email" name="EMAIL" id="mce-EMAIL" placeholder="your@email.com">
12 </div>
12 </div>
13 <div id="mce-responses" class="clear">
13 <div id="mce-responses" class="clear">
14 <div id="mce-error-response" class="response" style="display:none"></div>
14 <div id="mce-error-response" class="response" style="display:none"></div>
@@ -39,7 +39,11 @@
39 </section>
39 </section>
40 <section class="mb6">
40 <section class="mb6">
41 <h4 class="mb1">Contact</h4>
41 <h4 class="mb1">Contact</h4>
42+ <ul class="list">
43+ <li class="list__item">
42− <a class="mono" href="mailto:support@urbit.org">support@urbit.org</a>
44+ <a class="mono" href="mailto:support@urbit.org">support@urbit.org</a>
45+ </li>
46+ </ul>
43 </section>
47 </section>
44 <section class="mb6">
48 <section class="mb6">
45 <h4 class="mb1">Company</h4>
49 <h4 class="mb1">Company</h4>
templates/partials/navigation.html+18−12
@@ -7,17 +7,19 @@
7 <div class="wrapper">
7 <div class="wrapper">
8 <div class="container">
8 <div class="container">
9 <div class="nav-column">
9 <div class="nav-column">
10+ <div class="nav-links mb24">
10− <ul class="list">
11+ <ul class="list">
11− {% for item in config.extra.urbit_menu %}
12+ {% for item in config.extra.urbit_menu %}
12− <li class="list__item">
13+ <li class="list__item">
13− <h2 class="mb6">
14+ <h2 class="mt0 mb6">
14− <a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) }}">
15+ <a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) }}">
15− {{ item.name }}
16+ {{ item.name }}
16− </a>
17+ </a>
17− </h2>
18+ </h2>
18− </li>
19+ </li>
19− {% endfor %}
20+ {% endfor %}
20− </ul>
21+ </ul>
22+ </div>
21 <section class="mt9 mb6">
23 <section class="mt9 mb6">
22 <h4 class="mb1">Follow</h4>
24 <h4 class="mb1">Follow</h4>
23 <ul class="list">
25 <ul class="list">
@@ -31,7 +33,11 @@
31 </section>
33 </section>
32 <section class="mb6">
34 <section class="mb6">
33 <h4 class="mb1">Contact</h4>
35 <h4 class="mb1">Contact</h4>
36+ <ul class="list">
37+ <li class="list__item">
34− <a class="mono" href="mailto:support@urbit.org">support@urbit.org</a>
38+ <a class="mono" href="mailto:support@urbit.org">support@urbit.org</a>
39+ </li>
40+ </ul>
35 </section>
41 </section>
36 <section class="mb6">
42 <section class="mb6">
37 <h4 class="mb1">Company</h4>
43 <h4 class="mb1">Company</h4>
templates/posts/single.html+1−1
@@ -36,7 +36,7 @@
36 </div>
36 </div>
37 <div class="container">
37 <div class="container">
38 <div class="content-nav-spacer"></div>
38 <div class="content-nav-spacer"></div>
39− <article class="content posts__content">
39+ <article class="article content posts__content">
40 <h1 class="mb8">{{ term.name }}</h1>
40 <h1 class="mb8">{{ term.name }}</h1>
41 <ul class="list">
41 <ul class="list">
42 {% for page in term.pages %}
42 {% for page in term.pages %}
templates/sections/docs.html+1−1
@@ -12,7 +12,7 @@
12 </div>
12 </div>
13 <div class="container ml8">
13 <div class="container ml8">
14 <div class="content-nav-spacer"></div>
14 <div class="content-nav-spacer"></div>
15− <article class="content">
15+ <article class="article content">
16 <!-- header -->
16 <!-- header -->
17 <h1>{{ section.title }}</h1>
17 <h1>{{ section.title }}</h1>
18 <!-- body -->
18 <!-- body -->
templates/sections/docs/chapters.html+1−1
@@ -12,7 +12,7 @@
12 </div>
12 </div>
13 <div class="container ml8">
13 <div class="container ml8">
14 <div class="content-nav-spacer"></div>
14 <div class="content-nav-spacer"></div>
15− <article class="content mb16">
15+ <article class="article content mb16">
16 <!-- header -->
16 <!-- header -->
17 <h1 class="8mb">{{ section.title }}</h1>
17 <h1 class="8mb">{{ section.title }}</h1>
18 <!-- body -->
18 <!-- body -->