on master help sign in
pages: pluralise group, id, application links
63074a9Matilde Park
components/PostPreview.js+1−1
@@ -28,7 +28,7 @@ export default function PostPreview(props) {
28 </div>
28 </div>
29 ) : null}
29 ) : null}
30 {props.post.extra.ship ? (
30 {props.post.extra.ship ? (
31− <Link href={`/id/${props.post.extra.ship}`}>
31+ <Link href={`/ids/${props.post.extra.ship}`}>
32 <a className="type-sub-bold text-wall-500 font-mono">
32 <a className="type-sub-bold text-wall-500 font-mono">
33 {props.post.extra.ship}
33 {props.post.extra.ship}
34 </a>
34 </a>
components/Search.js+1−1
@@ -73,7 +73,7 @@ class Search extends Component {
73 type: "PATP",
73 type: "PATP",
74 content: {
74 content: {
75 patp: patp,
75 patp: patp,
76− slug: `/id/${patp}`,
76+ slug: `/ids/${patp}`,
77 },
77 },
78 },
78 },
79 ]
79 ]
content/application/_index.md → content/applications/_index.mdrenamed

The content is the same.

content/application/guide.md → content/applications/guide.mdrenamed+1−1
@@ -14,7 +14,7 @@ Read our [Getting Started guide](https://urbit.org/install) for details.
14
14
15Urbit is still in its early stages, so you’ll need to join groups and browse around the network to discover new applications as they are being brought up.
15Urbit is still in its early stages, so you’ll need to join groups and browse around the network to discover new applications as they are being brought up.
16
16
17−However, we can get started a simple app from Urbit developer [`~paldev`](/id/~paldev).
17+However, we can get started a simple app from Urbit developer [`~paldev`](/ids/~paldev).
18
18
19## 3. Search for a Developer
19## 3. Search for a Developer
20
20
content/applications/~haddef-sigwen/dummy.mdnew file+11
@@ -0,0 +1,11 @@
1++++
2+title = "Dummy"
3+shortcode = "~haddef-sigwen/dummy"
4+description = "All the features you'd want from your Urbit."
5+license = "MIT"
6+image = "https://fabled-faster.nyc3.digitaloceanspaces.com/fabled-faster/2021.4.02..21.52.41-UC.png"
7+developer = "Haddef Sigwen LLC."
8+website = "https://haddef-sigwen.arvo.network"
9++++
10+
11+Dummy provides _real_ Lorem Ipsum content.
content/group/_index.md → content/groups/_index.mdrenamed

The content is the same.

content/group/guide.md → content/groups/guide.mdrenamed

The content is the same.

content/group/~bitbet-bolbel/urbit-community.md → content/groups/~bitbet-bolbel/urbit-community.mdrenamed

The content is the same.

content/id/bitbet-bolbel.md → content/ids/bitbet-bolbel.mdrenamed

The content is the same.

content/id/get.md → content/ids/get.mdrenamed

The content is the same.

content/id/haddef-sigwen.md → content/ids/haddef-sigwen.mdrenamed

The content is the same.

pages/application/[[...application]].js → pages/applications/[[...application]].jsrenamed+3−3
@@ -94,7 +94,7 @@ const ApplicationPage = ({ data, markdown, params }) => {
94 <p className="text-sm font-semibold text-wall-400">
94 <p className="text-sm font-semibold text-wall-400">
95 Learn how to install an Urbit application
95 Learn how to install an Urbit application
96 </p>
96 </p>
97− <Link href="/application/guide">
97+ <Link href="/applications/guide">
98 <button className="button-lg max-w-xs bg-green-400 text-white">
98 <button className="button-lg max-w-xs bg-green-400 text-white">
99 Installing Urbit applications
99 Installing Urbit applications
100 </button>
100 </button>
@@ -107,7 +107,7 @@ const ApplicationPage = ({ data, markdown, params }) => {
107 Have an application you'd like to share publicly through
107 Have an application you'd like to share publicly through
108 urbit.org?
108 urbit.org?
109 </p>
109 </p>
110− <Link href="/application/submit">
110+ <Link href="/applications/submit">
111 <a className="type-ui text-green-400">Submit your application</a>
111 <a className="type-ui text-green-400">Submit your application</a>
112 </Link>
112 </Link>
113 </div>
113 </div>
@@ -129,7 +129,7 @@ export const getServerSideProps = async ({ params, res }) => {
129 let { data, content } = getPage(
129 let { data, content } = getPage(
130 join(
130 join(
131 process.cwd(),
131 process.cwd(),
132− "content/application",
132+ "content/applications",
133 params.application?.join("/") || "/"
133 params.application?.join("/") || "/"
134 )
134 )
135 ) || { data: {}, content: "" };
135 ) || { data: {}, content: "" };
pages/application/guide.js → pages/applications/guide.jsrenamed+4−4
@@ -26,7 +26,7 @@ export default function GuidePage({ post, markdown }) {
26 ></article>
26 ></article>
27 <h2 className="text-3xl my-12">5. Add more applications</h2>
27 <h2 className="text-3xl my-12">5. Add more applications</h2>
28 <p className="my-2">Here's a few more applications to check out:</p>
28 <p className="my-2">Here's a few more applications to check out:</p>
29− <Link href="/application/~paldev/pals">
29+ <Link href="/applications/~paldev/pals">
30 <div class="bg-wall-200 rounded-xl p-3 flex flex-col space-y-4 my-6 cursor-pointer">
30 <div class="bg-wall-200 rounded-xl p-3 flex flex-col space-y-4 my-6 cursor-pointer">
31 <div class="flex space-x-4 items-center">
31 <div class="flex space-x-4 items-center">
32 <div
32 <div
@@ -43,7 +43,7 @@ export default function GuidePage({ post, markdown }) {
43 </div>
43 </div>
44 </Link>
44 </Link>
45
45
46− <Link href="/application/~fabnev-himnur/escape">
46+ <Link href="/applications/~fabnev-himnur/escape">
47 <div class="bg-wall-200 rounded-xl p-3 flex flex-col space-y-4 my-6 cursor-pointer">
47 <div class="bg-wall-200 rounded-xl p-3 flex flex-col space-y-4 my-6 cursor-pointer">
48 <div class="flex space-x-4 items-center">
48 <div class="flex space-x-4 items-center">
49 <img
49 <img
@@ -60,7 +60,7 @@ export default function GuidePage({ post, markdown }) {
60 </div>
60 </div>
61 </Link>
61 </Link>
62
62
63− <Link href="/application/~paldev/rumors">
63+ <Link href="/applications/~paldev/rumors">
64 <div class="bg-wall-200 rounded-xl p-3 flex flex-col space-y-4 cursor-pointer">
64 <div class="bg-wall-200 rounded-xl p-3 flex flex-col space-y-4 cursor-pointer">
65 <div class="flex space-x-4 items-center">
65 <div class="flex space-x-4 items-center">
66 <div
66 <div
@@ -90,7 +90,7 @@ export async function getStaticProps({ params }) {
90 const post = getPostBySlug(
90 const post = getPostBySlug(
91 "guide",
91 "guide",
92 ["title", "slug", "content"],
92 ["title", "slug", "content"],
93− "application"
93+ "applications"
94 );
94 );
95
95
96 const markdown = await Markdown({ post });
96 const markdown = await Markdown({ post });
pages/application/submit.js → pages/applications/submit.jsrenamed+4−2
@@ -7,7 +7,7 @@ import { useInputChange } from "../../lib/hooks";
7const SubmissionPage = () => {
7const SubmissionPage = () => {
8 const [form, handleFormChange] = useInputChange();
8 const [form, handleFormChange] = useInputChange();
9
9
10− const href = `https://github.com/urbit/urbit.org/new/master?filename=/content/application/${
10+ const href = `https://github.com/urbit/urbit.org/new/master?filename=/content/applications/${
11 form?.shortcode
11 form?.shortcode
12 }.md&value=${encodeURIComponent(
12 }.md&value=${encodeURIComponent(
13 `+++
13 `+++
@@ -64,7 +64,9 @@ ${form?.description || ""}`
64 />
64 />
65 </div>
65 </div>
66 <div className="flex flex-col">
66 <div className="flex flex-col">
67+ <p>
67− <p>App image URL</p>
68+ App image URL (e.g. `https://...`) or color (e.g. `#FFCED0`)
69+ </p>
68 <input
70 <input
69 className="bg-wall-100 p-2"
71 className="bg-wall-100 p-2"
70 name="imageUrl"
72 name="imageUrl"
pages/blog.js+1−1
@@ -61,7 +61,7 @@ export default function Blog({ posts, search }) {
61 </div>
61 </div>
62 ) : null}
62 ) : null}
63 {post.extra.ship ? (
63 {post.extra.ship ? (
64− <Link href={`/id/${post.extra.ship}`}>
64+ <Link href={`/ids/${post.extra.ship}`}>
65 <a className="type-sub-bold text-wall-500 font-mono">
65 <a className="type-sub-bold text-wall-500 font-mono">
66 {post.extra.ship}
66 {post.extra.ship}
67 </a>
67 </a>
pages/blog/[slug].js+1−1
@@ -50,7 +50,7 @@ export default function Post({
50 <div className="type-sub-bold mr-2">{post.extra.author}</div>
50 <div className="type-sub-bold mr-2">{post.extra.author}</div>
51 ) : null}
51 ) : null}
52 {post.extra.ship ? (
52 {post.extra.ship ? (
53− <Link href={`/id/${post.extra.ship}`}>
53+ <Link href={`/ids/${post.extra.ship}`}>
54 <a className="type-sub-bold text-wall-500 font-mono">
54 <a className="type-sub-bold text-wall-500 font-mono">
55 {post.extra.ship}
55 {post.extra.ship}
56 </a>
56 </a>
pages/grants/[slug].js+1−1
@@ -44,7 +44,7 @@ export default function Grant({ post, markdown, search }) {
44 </div>
44 </div>
45 ) : null}
45 ) : null}
46 {post.extra.ship ? (
46 {post.extra.ship ? (
47− <Link href={`/id/${post.extra.ship}`}>
47+ <Link href={`/ids/${post.extra.ship}`}>
48 <a className="type-sub-bold text-wall-500 font-mono">
48 <a className="type-sub-bold text-wall-500 font-mono">
49 {post.extra.ship}
49 {post.extra.ship}
50 </a>
50 </a>
pages/group/[[...group]].js → pages/groups/[[...group]].jsrenamed+4−4
@@ -70,7 +70,7 @@ const GroupPage = ({ data, markdown, params }) => {
70 />
70 />
71 <MetadataLink
71 <MetadataLink
72 title="Host"
72 title="Host"
73− href={`/id/${group[0]}`}
73+ href={`/ids/${group[0]}`}
74 content={group[0]}
74 content={group[0]}
75 />
75 />
76 <CopyLink
76 <CopyLink
@@ -92,7 +92,7 @@ const GroupPage = ({ data, markdown, params }) => {
92 <p className="text-sm font-semibold text-wall-400">
92 <p className="text-sm font-semibold text-wall-400">
93 Get on the network and join this group.
93 Get on the network and join this group.
94 </p>
94 </p>
95− <Link href="/group/guide">
95+ <Link href="/groups/guide">
96 <button className="button-lg max-w-xs bg-green-400 text-white">
96 <button className="button-lg max-w-xs bg-green-400 text-white">
97 How to join a group
97 How to join a group
98 </button>
98 </button>
@@ -102,7 +102,7 @@ const GroupPage = ({ data, markdown, params }) => {
102 <hr className="text-wall-200" />
102 <hr className="text-wall-200" />
103 <div className="flex flex-col space-y-1">
103 <div className="flex flex-col space-y-1">
104 <p>Have a group you'd like to share publicly through urbit.org?</p>
104 <p>Have a group you'd like to share publicly through urbit.org?</p>
105− <Link href="/group/submit">
105+ <Link href="/groups/submit">
106 <a className="type-ui text-green-400">Submit your group</a>
106 <a className="type-ui text-green-400">Submit your group</a>
107 </Link>
107 </Link>
108 </div>
108 </div>
@@ -122,7 +122,7 @@ export const getServerSideProps = async ({ params, res }) => {
122 );
122 );
123
123
124 let { data, content } = getPage(
124 let { data, content } = getPage(
125− join(process.cwd(), "content/group", params.group?.join("/") || "/")
125+ join(process.cwd(), "content/groups", params.group?.join("/") || "/")
126 ) || { data: {}, content: "" };
126 ) || { data: {}, content: "" };
127
127
128 if (!data.title) {
128 if (!data.title) {
pages/group/guide.js → pages/groups/guide.jsrenamed+1−1
@@ -34,7 +34,7 @@ export default function GuidePage({ post, markdown }) {
34
34
35//
35//
36export async function getStaticProps({ params }) {
36export async function getStaticProps({ params }) {
37− const post = getPostBySlug("guide", ["title", "slug", "content"], "group");
37+ const post = getPostBySlug("guide", ["title", "slug", "content"], "groups");
38
38
39 const markdown = await Markdown({ post });
39 const markdown = await Markdown({ post });
40
40
pages/group/submit.js → pages/groups/submit.jsrenamed+5−3
@@ -10,7 +10,7 @@ const SubmissionPage = () => {
10 const [form, handleFormChange] = useInputChange();
10 const [form, handleFormChange] = useInputChange();
11 const [publicGroup, setPublicGroup] = useState(true);
11 const [publicGroup, setPublicGroup] = useState(true);
12
12
13− const href = `https://github.com/urbit/urbit.org/new/master?filename=/content/group/${
13+ const href = `https://github.com/urbit/urbit.org/new/master?filename=/content/groups/${
14 form?.shortcode
14 form?.shortcode
15 }.md&value=${encodeURIComponent(
15 }.md&value=${encodeURIComponent(
16 `+++
16 `+++
@@ -46,7 +46,7 @@ ${form?.description || ""}`
46 </p>
46 </p>
47 <p>
47 <p>
48 Then, to validate that you operate this group, send a DM to{" "}
48 Then, to validate that you operate this group, send a DM to{" "}
49− <Link href="/id/~haddef-sigwen">
49+ <Link href="/ids/~haddef-sigwen">
50 <a>~haddef-sigwen</a>
50 <a>~haddef-sigwen</a>
51 </Link>{" "}
51 </Link>{" "}
52 from your group host <code>@p</code> with a link to the pull
52 from your group host <code>@p</code> with a link to the pull
@@ -103,7 +103,9 @@ ${form?.description || ""}`
103 />
103 />
104 </div>
104 </div>
105 <div className="flex flex-col">
105 <div className="flex flex-col">
106+ <p>
106− <p>Group image URL</p>
107+ Group image URL (e.g. `https://...`) or color (e.g. `#FFCED0`)
108+ </p>
107 <input
109 <input
108 className="bg-wall-100 p-2"
110 className="bg-wall-100 p-2"
109 name="imageUrl"
111 name="imageUrl"
pages/id/[id].js → pages/ids/[id].jsrenamed+7−7
@@ -83,14 +83,14 @@ const IdPage = ({ data, markdown, applications, groups, network, params }) => {
83 {!isGalaxy && (
83 {!isGalaxy && (
84 <MetadataLink
84 <MetadataLink
85 title="Parent"
85 title="Parent"
86− href={`/id/${parent}`}
86+ href={`/ids/${parent}`}
87 content={parent}
87 content={parent}
88 />
88 />
89 )}
89 )}
90 {galaxy && (
90 {galaxy && (
91 <MetadataLink
91 <MetadataLink
92 title="Galaxy"
92 title="Galaxy"
93− href={`/id/${galaxy}`}
93+ href={`/ids/${galaxy}`}
94 content={galaxy}
94 content={galaxy}
95 />
95 />
96 )}
96 )}
@@ -144,7 +144,7 @@ const IdPage = ({ data, markdown, applications, groups, network, params }) => {
144 <p className="text-md font-semibold text-wall-400">
144 <p className="text-md font-semibold text-wall-400">
145 Learn how get your own Urbit ID.
145 Learn how get your own Urbit ID.
146 </p>
146 </p>
147− <Link href="/id/get">
147+ <Link href="/ids/get">
148 <button className="button-lg max-w-xs bg-green-400 text-white">
148 <button className="button-lg max-w-xs bg-green-400 text-white">
149 Get an Urbit ID
149 Get an Urbit ID
150 </button>
150 </button>
@@ -154,7 +154,7 @@ const IdPage = ({ data, markdown, applications, groups, network, params }) => {
154 <hr className="text-wall-200" />
154 <hr className="text-wall-200" />
155 <div className="flex flex-col space-y-1">
155 <div className="flex flex-col space-y-1">
156 <p>Have an Urbit ID?</p>
156 <p>Have an Urbit ID?</p>
157− <Link href="/id/submit">
157+ <Link href="/ids/submit">
158 <a className="type-ui text-green-400">
158 <a className="type-ui text-green-400">
159 Claim and customize your Urbit ID page
159 Claim and customize your Urbit ID page
160 </a>
160 </a>
@@ -207,14 +207,14 @@ export const getServerSideProps = async ({ params, res }) => {
207 );
207 );
208
208
209 let { data, content } = getPage(
209 let { data, content } = getPage(
210− join(process.cwd(), "content/id/", params.id.slice(1))
210+ join(process.cwd(), "content/ids/", params.id.slice(1))
211 ) || { data: {}, content: "" };
211 ) || { data: {}, content: "" };
212
212
213 const applications = getAllPosts(
213 const applications = getAllPosts(
214 ["title", "slug", "image"],
214 ["title", "slug", "image"],
215− `application/${params.id}`
215+ `applications/${params.id}`
216 );
216 );
217− const groups = getAllPosts(["title", "slug", "image"], `group/${params.id}`);
217+ const groups = getAllPosts(["title", "slug", "image"], `groups/${params.id}`);
218
218
219 if (!data.ship && ob.isValidPatp(params.id)) {
219 if (!data.ship && ob.isValidPatp(params.id)) {
220 data = { ship: params.id, description: "An Urbit ID." };
220 data = { ship: params.id, description: "An Urbit ID." };
pages/id/get.js → pages/ids/get.jsrenamed

The content is the same.

pages/id/submit.js → pages/ids/submit.jsrenamed+2−2
@@ -7,7 +7,7 @@ import { useInputChange } from "../../lib/hooks";
7const SubmissionPage = () => {
7const SubmissionPage = () => {
8 const [form, handleFormChange] = useInputChange();
8 const [form, handleFormChange] = useInputChange();
9
9
10− const href = `https://github.com/urbit/urbit.org/new/master?filename=/content/id/${form?.ship?.substring(
10+ const href = `https://github.com/urbit/urbit.org/new/master?filename=/content/ids/${form?.ship?.substring(
11 1
11 1
12 )}.md&value=${encodeURIComponent(
12 )}.md&value=${encodeURIComponent(
13 `+++
13 `+++
@@ -39,7 +39,7 @@ ${form?.description || ""}`
39 </p>
39 </p>
40 <p>
40 <p>
41 Then, to validate that you operate this group, send a DM to{" "}
41 Then, to validate that you operate this group, send a DM to{" "}
42− <Link href="/id/~haddef-sigwen">
42+ <Link href="/ids/~haddef-sigwen">
43 <a>~haddef-sigwen</a>
43 <a>~haddef-sigwen</a>
44 </Link>{" "}
44 </Link>{" "}
45 from your group host <code>@p</code> with a link to the pull
45 from your group host <code>@p</code> with a link to the pull
pages/media/[slug].js+1−1
@@ -41,7 +41,7 @@ export default function MediaPage({ post, markdown, search }) {
41 </div>
41 </div>
42 ) : null}
42 ) : null}
43 {post.extra.ship ? (
43 {post.extra.ship ? (
44− <Link href={`/id/${post.extra.ship}`}>
44+ <Link href={`/ids/${post.extra.ship}`}>
45 <a className="type-sub-bold text-wall-500 font-mono">
45 <a className="type-sub-bold text-wall-500 font-mono">
46 {post.extra.ship}
46 {post.extra.ship}
47 </a>
47 </a>
pages/updates.js+1−1
@@ -47,7 +47,7 @@ export default function Updates({ posts, search }) {
47 <div className="mx-1 text-wall-500">•</div>
47 <div className="mx-1 text-wall-500">•</div>
48 ) : null}
48 ) : null}
49 {post?.extra.ship ? (
49 {post?.extra.ship ? (
50− <Link href={`/id/${post.extra.ship}`}>
50+ <Link href={`/ids/${post.extra.ship}`}>
51 <a className="type-sub-bold text-wall-500 font-mono">
51 <a className="type-sub-bold text-wall-500 font-mono">
52 {post.extra.ship}
52 {post.extra.ship}
53 </a>
53 </a>
pages/updates/[slug].js+1−1
@@ -48,7 +48,7 @@ export default function Post({
48 </div>
48 </div>
49 ) : null}
49 ) : null}
50 {post?.extra?.ship ? (
50 {post?.extra?.ship ? (
51− <Link href={`/id/${post.extra.ship}`}>
51+ <Link href={`/ids/${post.extra.ship}`}>
52 <a className="type-sub-bold text-wall-500 font-mono">
52 <a className="type-sub-bold text-wall-500 font-mono">
53 {post?.extra?.ship}
53 {post?.extra?.ship}
54 </a>
54 </a>