Browse Source

Change format of webpages

master
Silberengel 1 year ago
parent
commit
a4614fb20f
  1. 2
      LICENSE.md
  2. 2
      README.md
  3. 2
      maintainers.yaml
  4. 9685
      package-lock.json
  5. 2
      package.json
  6. 4
      src/lib/components/Navbar.svelte
  7. 2
      src/lib/components/repo/vectors.ts
  8. 279
      src/routes/+page.svelte
  9. 12
      src/routes/about/+page.svelte
  10. 2
      src/routes/concept/+page.svelte
  11. 2
      src/routes/e/[nostr_ref]/+page.svelte
  12. 10
      src/routes/ngit/+page.svelte
  13. 2
      src/routes/p/[npub]/+page.svelte
  14. 6
      src/routes/quick-start/+page.svelte
  15. 2
      src/routes/r/[repo_naddr]/+page.svelte
  16. 2
      src/routes/r/[repo_naddr]/issues/+page.svelte
  17. 2
      src/routes/r/[repo_naddr]/issues/[issue_nip19]/+page.svelte
  18. 2
      src/routes/r/[repo_naddr]/issues/new/+page.svelte
  19. 2
      src/routes/r/[repo_naddr]/proposals/+page.svelte
  20. 2
      src/routes/r/[repo_naddr]/proposals/[proposal_nip19]/+page.svelte
  21. 2
      src/routes/repos/+page.svelte
  22. 8
      static/.well-known/nostr.json
  23. 124
      static/concept.md
  24. BIN
      static/favicon.png
  25. BIN
      static/favicon.png_old
  26. BIN
      static/icons/GitCitadel_Logo/GitCitadel.ico
  27. BIN
      static/icons/GitCitadel_Logo/GitCitadel_Graphic_Landscape.png
  28. BIN
      static/icons/GitCitadel_Logo/GitCitadel_Graphic_Portrait.png
  29. 3
      static/icons/GitCitadel_Logo/GitCitadel_Icon_Black.svg
  30. 9
      static/icons/GitCitadel_Logo/GitCitadel_Icon_Gradient.svg
  31. 3
      static/icons/GitCitadel_Logo/GitCitadel_Icon_White.svg
  32. BIN
      static/icons/GitCitadel_Logo/GitCitadel_Logo.png
  33. BIN
      static/icons/GitCitadel_Logo/GitCitadel_PFP.png
  34. BIN
      static/icons/GitCitadel_Logo/GitCitadel_PFP_Purple.png
  35. BIN
      static/icons/icon-16x16.png
  36. BIN
      static/icons/icon-32x32.png
  37. 4
      static/manifest.json
  38. 2
      tailwind.config.js
  39. 11615
      yarn.lock

2
LICENSE.md

@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2023 DanConwayDev Copyright (c) 2024 GitCitadel
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

2
README.md

@ -1,5 +1,5 @@
# GitCitadel Online # GitCitadel Online
Repo containing the basic webpages for our [GitCitadel project](https://github.com/ShadowySupercode), including the Alexandria reader and publisher, the server monitoring page, and the possibility to submit PRs and issues to our software projects over [ngit events](https://gitworkshop.dev/ngit). Repo containing the basic webpages for our [GitCitadel project](https://github.com/ShadowySupercode), including the Alexandria reader and publisher, the server monitoring page, and the possibility to submit PRs and issues to our software projects over [ngit events](https://gitcitadel.eu/ngit).
Feel free to contact us over [Nostr](https://nosta.me/nprofile1qqsggm4l0xs23qfjwnkfwf6fqcs66s3lz637gaxhl4nwd2vtle8rnfqprfmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdaksz8mhwden5te0dehhxarj9ejkjmn4dej85ampdeaxjeewwdcxzcm9j3xeaa) or email us at [support@gitcitadel.eu](mailto:support@gitcitadel.eu). Feel free to contact us over [Nostr](https://nosta.me/nprofile1qqsggm4l0xs23qfjwnkfwf6fqcs66s3lz637gaxhl4nwd2vtle8rnfqprfmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdaksz8mhwden5te0dehhxarj9ejkjmn4dej85ampdeaxjeewwdcxzcm9j3xeaa) or email us at [support@gitcitadel.eu](mailto:support@gitcitadel.eu).

2
maintainers.yaml

@ -1,4 +1,4 @@
identifier: gitworkshop.dev identifier: gitcitadel.eu
maintainers: maintainers:
- npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z - npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
- npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn - npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn

9685
package-lock.json generated

File diff suppressed because it is too large Load Diff

2
package.json

@ -1,5 +1,5 @@
{ {
"name": "gitworkshop.dev", "name": "gitcitadel.eu",
"version": "0.0.1", "version": "0.0.1",
"scripts": { "scripts": {
"dev": "vite dev", "dev": "vite dev",

4
src/lib/components/Navbar.svelte

@ -18,9 +18,7 @@
</div> </div>
<div class="navbar-center"> <div class="navbar-center">
<a class="align-middle text-lg" href="/"> <a class="align-middle text-lg" href="/">
<span class="text-purple-600">git</span><span class="text-white" <img src="./icons/icon-32x32.png" alt="GC icon">
>workshop</span
><span class="text-neutral">.dev</span>
</a> </a>
</div> </div>
<div class="navbar-end gap-4"> <div class="navbar-end gap-4">

2
src/lib/components/repo/vectors.ts

@ -50,7 +50,7 @@ const base: RepoEventWithMaintainersMetadata = {
loading: false, loading: false,
event_id: '', event_id: '',
naddr: '', naddr: '',
web: ['https://gitworkshop.dev/repo/example', 'https://example.com'], web: ['https://gitcitadel.eu/repo/example', 'https://example.com'],
referenced_by: [], referenced_by: [],
most_recent_reference_timestamp: 0, most_recent_reference_timestamp: 0,
created_at: 0, created_at: 0,

279
src/routes/+page.svelte

@ -31,17 +31,16 @@
].sort() ].sort()
}) })
} }
ensureRepo( ensureRepo(
`${repo_kind}:a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d:ngit` `${repo_kind}:fd208ee8c8f283780a9552896e4823cc9dc6bfd442063889577106940fd927c1:gitcitadel`
).subscribe(updateRepos) ).subscribe(updateRepos)
ensureRepo( ensureRepo(
`${repo_kind}:a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d:gitworkshop` `${repo_kind}:fd208ee8c8f283780a9552896e4823cc9dc6bfd442063889577106940fd927c1:Alexandria`
).subscribe(updateRepos) ).subscribe(updateRepos)
</script> </script>
<svelte:head> <svelte:head>
<title>gitworkshop.dev</title> <title>gitcitadel.eu</title>
</svelte:head> </svelte:head>
<Container> <Container>
@ -49,12 +48,10 @@
<div class="m-auto mt-5 max-w-lg text-center"> <div class="m-auto mt-5 max-w-lg text-center">
<div class="prose"> <div class="prose">
<h1 class="mb-2"> <h1 class="mb-2">
<span class="text-purple-600">git</span><span class="text-white" <span class="text-purple-600">GitCitadel</span>
>workshop</span
><span class="text-neutral">.dev</span>
</h1> </h1>
<p class="mb-8 mt-3"> <p class="mb-8 mt-3">
a decentralized git workflow on nostr for freedom lovers Because we think about git every day.
</p> </p>
</div> </div>
</div> </div>
@ -68,11 +65,10 @@
<div class="card col-span-2 bg-base-300"> <div class="card col-span-2 bg-base-300">
<div class="card-body"> <div class="card-body">
<div class="card-title"> <div class="card-title">
<h3>nostr</h3> <h3>Alexandria</h3>
</div> </div>
<div class="prose"> <div class="prose">
An open protocol that is able to create a censorship resistant The Nostr <a href="https://alexandria.gitcitadel.eu/">eReader</a> and publisher.
global "social" network once and for all
</div> </div>
</div> </div>
</div> </div>
@ -80,77 +76,11 @@
<div class="card-body"> <div class="card-body">
<div class="card-title"> <div class="card-title">
<h3> <h3>
any <span class="text-yellow-600">git</span> server GitCitadel Status
</h3> </h3>
</div> </div>
<div class="prose"> <div class="prose">
used only for syncing data eg. Gitea, Github, Gitlab, self-hosted... <a href="https://status.gitcitadel.com/">monitoring page</a> for various relays and servers
</div>
</div>
</div>
</div>
<div class="hidden md:block">
<div class="grid h-5 grid-cols-6 gap-0">
<div class=""></div>
<div class=""></div>
<div class="border-b border-l"></div>
<div class="border-b"></div>
<div class="border-l"></div>
</div>
<div class="grid h-5 grid-cols-2 gap-0">
<div class=""></div>
<div class="border-l"></div>
</div>
<div class="grid h-5 grid-cols-6 gap-0">
<div class=""></div>
<div class="border-l border-t"></div>
<div class="border-t"></div>
<div class="border-l border-t"></div>
<div class="border-r border-t"></div>
</div>
</div>
<div class="divider md:hidden"></div>
<div class="grid gap-4 md:grid-cols-3">
<div class="card bg-base-300">
<div class="card-body">
<div class="card-title">
<h3>
<span class="text-purple-600">git</span>workshop<span
class="text-neutral">.dev</span
>
</h3>
</div>
<div class="prose">
A nostr web client to manage and discuss issues and code proposals
</div>
</div>
</div>
<div class="card bg-base-300">
<div class="card-body">
<div class="card-title">
<h3>
<span class="text-yellow-600">git</span>-remote-nostr
</h3>
</div>
<div class="prose">
git remote helper (plugin) for seemless nostr integration
</div>
</div>
</div>
<div class="card bg-base-300">
<div class="card-body">
<div class="card-title">
<h3>
<span class="text-purple-600">n</span>git
</h3>
</div>
<div class="prose">
a command line tool to manage repos and advanced patch
submission&nbsp;/&nbsp;review
</div>
</div> </div>
</div> </div>
</div> </div>
@ -159,200 +89,17 @@
<Container> <Container>
<div class="prose m-auto mb-6 mt-6"> <div class="prose m-auto mb-6 mt-6">
<h2>How it works</h2> <h2>About us</h2>
<p> You can find out more about our project, on our wiki pages: <a href="https://wikistr.com/gitcitadel-project*dd664d5e4016433a8cd69f005ae1480804351789b59de5af06276de65633d319" class="btn btn-secondary text-right">project docs</a>
Git is a decentralized version control system, yet most freedom tech
projects use centralized walled gardens on top of git as a social and
collaboration layer for code changes.
</p>
<p>
Gitworkshop.dev, git-remote-nostr and ngit are tools to enable code
collaboration over nostr. Gitworkshop.dev provides a visual interface to
discuss proposals and open issues. git-remote-nostr enables proposal
creation, review and incorporation using standard git tooling. ngit
handles repository setup and advanced proposal submission.
</p>
<div class="flex justify-end">
<a href="/about" class="btn btn-secondary text-right">details</a>
</div>
</div></Container
>
<Container>
<div class="prose m-auto mb-6 mt-6">
<h2>Quick Start</h2>
<h3>Install ngit and git-remote-nostr</h3>
<InstallNgit />
</div>
<div class="m-auto max-w-5xl">
<div class="grid gap-4 md:grid-cols-2">
<div class="card bg-base-200">
<div class="card-body">
<div class="card-title">
<h3>for the contributor</h3>
</div>
<p>
clone the nostr url and use normal git operations with tool you are
used it (eg. your IDE)
</p>
<div class="text-sm">
<div>
<code
><span class="text-yellow-600">git</span> clone nostr://<span
class="text-purple-600">npub123</span
>/<span class="text-primary">repo-identifier</span></code
>
</div>
<div>
<code
><span class="text-green-600"
>// use pr/ branch prefix to create a nostr proposal</span
></code
>
</div>
<div>
<code
><span class="text-yellow-600">git</span> checkout -b pr/great-feature</code
>
</div>
<div>
<code
><span class="text-yellow-600">git</span> commit -am "improve the
world"</code
>
</div>
<div>
<code><span class="text-yellow-600">git</span> push -u</code>
</div>
<div>
<code
><span class="text-green-600"
>// any branch with pr/ prefix is nostr proposal</span
></code
>
</div>
<div>
<code
><span class="text-yellow-600">git</span> branch -r --list origin/pr/*</code
>
</div>
</div>
<div class="card-actions mt-auto justify-end">
<a
href="/quick-start#contributor"
class="btn btn-secondary text-right">full guide</a
>
</div>
</div>
</div>
<div class="card bg-base-200">
<div class="card-body">
<div class="card-title">
<h3>for the maintainer</h3>
</div>
<div class="text-sm">
<div class="not-prose text-sm">
<div>
<code
><span class="text-green-600"
>// create a git repo and push to a git server</span
></code
>
</div>
<div>
<code><span class="text-yellow-600">git</span> init</code>
</div>
<div>
<code
><span class="text-yellow-600">git</span> commit -am "initial commit"</code
>
</div>
<div>
<code
><span class="text-yellow-600">git</span> remote add origin https://dm.co/usr/my-repo</code
>
</div>
<div>
<code
><span class="text-yellow-600">git</span> push -u origin master</code
>
</div>
<div>
<code
><span class="text-green-600">// announce on nostr</span
></code
>
</div>
<div>
<div>
<code
><span class="text-purple-600">ngit</span> init --identifier
<span class="text-primary">my-repo</span></code
>
</div>
<div>
<code
><span class="text-green-600"
>// push to nostr and git server(s) via remote helper</span
></code
>
</div>
<div>
<div>
<code
><span class="text-yellow-600">git</span> remote set-url
origin nostr://<span class="text-purple-600">npub123</span
>/<span class="text-primary">my-repo</span></code
>
</div>
<div>
<code
><span class="text-green-600"
>// pushing merged commits updates proposal status</span
></code
>
</div>
<div>
<code
><span class="text-yellow-600">git</span> merge origin/pr/great-feature(e8246b2)</code
>
</div>
<div>
<code><span class="text-yellow-600">git</span> push</code>
</div>
</div>
</div>
</div>
<div class="card-actions mt-auto justify-end">
<a
href="/quick-start#maintainer"
class="btn btn-secondary text-right">full guide</a
>
</div>
</div>
</div>
</div>
</div>
</div></Container </div></Container
> >
<Container> <Container>
<div class="prose m-auto mb-6 mt-6"> <div class="prose m-auto mb-6 mt-6">
<h2>Example Repositories</h2> <h2>GitCitadel Repositories</h2>
<p>These repositories have plenty of issues and proposals to explore</p> <p>These are the repositories we're working on, currently.</p>
<div class="not-prose lg:w-[64rem]"> <div class="not-prose lg:w-[64rem]">
<ReposSummaryList repos={$example_repos} loading={false} /> <ReposSummaryList repos={$example_repos} loading={false} />
</div> </div>
<a href="/repos" class="btn btn-primary mt-9">List More Repositories</a>
<h2>Recent Proposals</h2>
<div class="not-prose mt-6">
<ProposalsList
proposals_or_issues={$proposal_summaries.summaries}
show_repo={true}
loading={$proposal_summaries.loading}
limit={6}
allow_more={true}
/>
</div>
</div> </div>
</Container> </Container>

12
src/routes/about/+page.svelte

@ -3,7 +3,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop - About</title> <title>GitCitadel - About</title>
</svelte:head> </svelte:head>
<!-- <!--
@ -20,7 +20,7 @@
<div class="prose m-auto mt-8"> <div class="prose m-auto mt-8">
<h2 class="">About</h2> <h2 class="">About</h2>
<p> <p>
gitworkshop.dev, <a href="/ngit">ngit</a> and git-remote-nostr are tools gitcitadel.eu, <a href="/ngit">ngit</a> and git-remote-nostr are tools
to enable code collaboration over nostr created and maintained by to enable code collaboration over nostr created and maintained by
<a <a
class="link-primary" class="link-primary"
@ -52,7 +52,7 @@
<a <a
class="link-secondary" class="link-secondary"
href="/r/naddr1qq9kw6t5wahhy6mndphhqqgkwaehxw309aex2mrp0yhxummnw3ezucnpdejqyg9qpr00z4uklw56p4h6kp8gl4ts3y59m874qhd94ql732k40g6kf5psgqqqw7vs2nfsd9" href="/r/naddr1qq9kw6t5wahhy6mndphhqqgkwaehxw309aex2mrp0yhxummnw3ezucnpdejqyg9qpr00z4uklw56p4h6kp8gl4ts3y59m874qhd94ql732k40g6kf5psgqqqw7vs2nfsd9"
>gitworkshop.dev issue</a >gitcitadel.eu issue</a
> >
or directly to or directly to
<a <a
@ -114,7 +114,7 @@
<p> <p>
there is innovation happening with git and nostr in a few places and there is innovation happening with git and nostr in a few places and
gitworkshop.dev aims to work with different approaches gitcitadel.eu aims to work with different approaches
</p> </p>
<p>ngit is more opinionated, and its philosophy can be summed up as:</p> <p>ngit is more opinionated, and its philosophy can be summed up as:</p>
@ -147,7 +147,7 @@
</p> </p>
<p> <p>
git-remote-nostr, ngit and gitworkshop.dev implements optional features of git-remote-nostr, ngit and gitcitadel.eu implements optional features of
nip34, which enable: nip34, which enable:
</p> </p>
<ul> <ul>
@ -297,7 +297,7 @@
<a <a
class="link-secondary" class="link-secondary"
href="/r/naddr1qq9kw6t5wahhy6mndphhqqgkwaehxw309aex2mrp0yhxummnw3ezucnpdejqyg9qpr00z4uklw56p4h6kp8gl4ts3y59m874qhd94ql732k40g6kf5psgqqqw7vs2nfsd9" href="/r/naddr1qq9kw6t5wahhy6mndphhqqgkwaehxw309aex2mrp0yhxummnw3ezucnpdejqyg9qpr00z4uklw56p4h6kp8gl4ts3y59m874qhd94ql732k40g6kf5psgqqqw7vs2nfsd9"
>gitworkshop.dev issue</a >gitcitadel.eu issue</a
> >
or directly to or directly to
<a <a

2
src/routes/concept/+page.svelte

@ -10,7 +10,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop: Concept</title> <title>GitCitadel: Concept</title>
</svelte:head> </svelte:head>
<Container> <Container>

2
src/routes/e/[nostr_ref]/+page.svelte

@ -98,7 +98,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop - ngit</title> <title>GitCitadel - ngit</title>
</svelte:head> </svelte:head>
{#if error && waited} {#if error && waited}

10
src/routes/ngit/+page.svelte

@ -4,7 +4,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop - ngit</title> <title>GitCitadel - ngit</title>
</svelte:head> </svelte:head>
<Container> <Container>
@ -13,8 +13,8 @@
<p>a command-line tool to send and review patches via nostr</p> <p>a command-line tool to send and review patches via nostr</p>
<ul> <ul>
<li> <li>
works seemlessly with <a href="https://gitworkshop.dev" works seemlessly with <a href="https://gitcitadel.eu"
>gitworkshop.dev >gitcitadel.eu
</a> </a>
</li> </li>
<li>fully compatable with nip34</li> <li>fully compatable with nip34</li>
@ -23,7 +23,7 @@
optional nip34 optional nip34
</li> </li>
</ul> </ul>
<p>ngit and gitworkshop.dev are new, experimental and in an alpha state.</p> <p>ngit and gitcitadel.eu are new, experimental and in an alpha state.</p>
<div role="alert" class="alert my-3"> <div role="alert" class="alert my-3">
<!-- licence MIT https://icon-sets.iconify.design/ph/hands-praying-fill/ --> <!-- licence MIT https://icon-sets.iconify.design/ph/hands-praying-fill/ -->
@ -49,7 +49,7 @@
<a <a
class="link-secondary" class="link-secondary"
href="/r/naddr1qq9kw6t5wahhy6mndphhqqgkwaehxw309aex2mrp0yhxummnw3ezucnpdejqyg9qpr00z4uklw56p4h6kp8gl4ts3y59m874qhd94ql732k40g6kf5psgqqqw7vs2nfsd9" href="/r/naddr1qq9kw6t5wahhy6mndphhqqgkwaehxw309aex2mrp0yhxummnw3ezucnpdejqyg9qpr00z4uklw56p4h6kp8gl4ts3y59m874qhd94ql732k40g6kf5psgqqqw7vs2nfsd9"
>gitworkshop.dev issue</a >gitcitadel.eu issue</a
> >
or directly to or directly to
<a <a

2
src/routes/p/[npub]/+page.svelte

@ -29,7 +29,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop</title> <title>GitCitadel</title>
</svelte:head> </svelte:head>
{#if error} {#if error}

6
src/routes/quick-start/+page.svelte

@ -4,7 +4,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop - ngit</title> <title>GitCitadel - ngit</title>
</svelte:head> </svelte:head>
<Container> <Container>
@ -28,7 +28,7 @@
<ul> <ul>
<li> <li>
browse <a href="/repos" class="link link-primary" browse <a href="/repos" class="link link-primary"
>gitworkshop.dev/repos</a >gitcitadel.eu/repos</a
> for the repository > for the repository
</li> </li>
<li>explore proposals and issues</li> <li>explore proposals and issues</li>
@ -344,7 +344,7 @@
<li> <li>
<div> <div>
<div> <div>
use gitworkshop.dev to make comments or manually set the use gitcitadel.eu to make comments or manually set the
status. status.
</div> </div>
<div class="not-prose text-sm"> <div class="not-prose text-sm">

2
src/routes/r/[repo_naddr]/+page.svelte

@ -14,7 +14,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop: {$selected_repo_event.name}</title> <title>GitCitadel: {$selected_repo_event.name}</title>
</svelte:head> </svelte:head>
<RepoPageWrapper {repo_naddr} selected_tab="about" show_details_on_mobile> <RepoPageWrapper {repo_naddr} selected_tab="about" show_details_on_mobile>

2
src/routes/r/[repo_naddr]/issues/+page.svelte

@ -19,7 +19,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop: {$selected_repo_event.name} - issues</title> <title>GitCitadel: {$selected_repo_event.name} - issues</title>
</svelte:head> </svelte:head>
<RepoPageWrapper {repo_naddr} selected_tab="issues"> <RepoPageWrapper {repo_naddr} selected_tab="issues">

2
src/routes/r/[repo_naddr]/issues/[issue_nip19]/+page.svelte

@ -56,7 +56,7 @@
<svelte:head> <svelte:head>
<title <title
>GitWorkshop: {$selected_repo_event.name} - {$selected_issue_full.summary >GitCitadel: {$selected_repo_event.name} - {$selected_issue_full.summary
.title}</title .title}</title
> >
</svelte:head> </svelte:head>

2
src/routes/r/[repo_naddr]/issues/new/+page.svelte

@ -34,7 +34,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop: {$selected_repo_event.name} - new issue</title> <title>GitCitadel: {$selected_repo_event.name} - new issue</title>
</svelte:head> </svelte:head>
{#if invalid_naddr || (waited_5_secs && $selected_repo_collection.loading && $selected_repo_event.name.length)} {#if invalid_naddr || (waited_5_secs && $selected_repo_collection.loading && $selected_repo_event.name.length)}

2
src/routes/r/[repo_naddr]/proposals/+page.svelte

@ -21,7 +21,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop: {$selected_repo_event.name} - proposals</title> <title>GitCitadel: {$selected_repo_event.name} - proposals</title>
</svelte:head> </svelte:head>
<RepoPageWrapper {repo_naddr} selected_tab="proposals"> <RepoPageWrapper {repo_naddr} selected_tab="proposals">

2
src/routes/r/[repo_naddr]/proposals/[proposal_nip19]/+page.svelte

@ -56,7 +56,7 @@
<svelte:head> <svelte:head>
<title <title
>GitWorkshop: {$selected_repo_event.name} - {$selected_proposal_full.summary >GitCitadel: {$selected_repo_event.name} - {$selected_proposal_full.summary
.title}</title .title}</title
> >
</svelte:head> </svelte:head>

2
src/routes/repos/+page.svelte

@ -9,7 +9,7 @@
</script> </script>
<svelte:head> <svelte:head>
<title>GitWorkshop - Repos</title> <title>GitCitadel - Repos</title>
</svelte:head> </svelte:head>
<Container> <Container>

8
static/.well-known/nostr.json

@ -1,11 +1,11 @@
{ {
"names": { "names": {
"DanConwayDev": "a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d", "GitCitadel": "846ebf79a0a8813274ec9727490621ad423f16a3e474d7fd66e6a98bfe4e39a4",
"dan": "a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d" "gc": "846ebf79a0a8813274ec9727490621ad423f16a3e474d7fd66e6a98bfe4e39a4"
}, },
"nip46": { "nip46": {
"a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d": [ "846ebf79a0a8813274ec9727490621ad423f16a3e474d7fd66e6a98bfe4e39a4": [
"wss://relay.nsec.app" "wss://thecitadel.nostr1.com"
] ]
} }
} }

124
static/concept.md

@ -1,124 +0,0 @@
# Concept ngit quick start guide
This is a concept which the developer would like to work towards. a lot of the features / commands are not available yet.
## How it Works
nostr is a decentralised communications protocol with:
- permissionless account creation - created via a public/private key pair
- verifiable signed messages
- messages transported via relays rather than P2P
Code Collaboration via Nostr
* proposals (PRs), issues and related discussion, status, etc. are sent / recieved via nostr.
* repository state stored in nostr.
* git server(s) still required for data storage and transport but they act as dumb relays (apart from use for CI/CD).
maintainers can change git servers via nostr and users will automatically start using the new git server.
[insert diagram which makes git severs appear like just another nostr relay - potentially something like this:]
```
┌──────────┐
│ Author │
└──/─┬─\───┘
,------' │ '--------.-------.
┌──────▼─┐ ┌────▼───┐ ┌───▼───┐ ┌─▼─────┐ ┌───────┐
│ Git │ │ Git │ │ Relay │ │ Relay │ │ Relay │
│ Server │ │ Server │ │ │ │ │ │ │
└────────┘ └────\───┘ └───┬───┘ └──/────┘ └─/─────┘
\----*-. │ ,----/---------/
┌─▼──▼──▼─┐
│ User │
└─────────┘
```
\* git servers are used as dumb relays with content verified via nostr events.
## Contributor's Quick Start Guide
1. install ngit
* download [linux windows mac] (vX.X) add binaries $PATH
* OR if you have cargo use `cargo install ngit`
2. find repository
* using `ngit search` eg `ngit search amethyst`
```
name maintainer(s) starred by
> amethyst 👥Vitor Gigi, fiatjaf, franzap, +5 👥
amethyst impersonator
```
* OR using gitworkshop.dev
* browse https://gitworkshop.dev/repos for the repository
* explore proposals and issues
* copy the naddr (or press the green clone button to copy the clone command)
3. clone repository
`git clone nostr://naddr123...`
4. view open proposals
* `ngit list` - select proposal from titles to checkout branch or apply to current branch tip
* OR review branches starting with 'origin/prs/*' with your favourate git tool
* eg. for git cli use `git branch -r --list origin/prs/` to list and `git switch prs/add-offline-mode[e9ra8281]` to check out
* view and contribute to the proposal discussion on gitworkshop.dev
5. submit proposal
* `ngit send` to send with options
* OR `git push -u` on a branch without an exisitng upstream will submit it as a proposal without commentary if you are not a maintainer
6. update proposal
* `git push` from your proposal branch
7. download releases using `ngit releases amethyst`
```
name maintainer(s) starred by
> amethyst 👥Vitor Gigi, fiatjaf, franzap, +5 👥
amethyst impersonator
```
```
amethyst by 👥Vitor
--------------------------------------
release # files
> v0.87.7: Revert Save button 14
v0.87.6 14
v0.87.5 14
...
```
```
amethyst by Vitor
--------------------------------------
download v0.87.7: Revert Save button (14 files)
all (14 files)
> amethyst-fdroid-arm64-v8a-v0.087.7.apk
amethyst-fdroid-armeabi-v8a-v0.087.7.apk
amethyst-fdroid-universal-v8a-v0.087.7.apk
...
```
```
downloaded to ./amethyst-fdroid-arm64-v8a-v0.087.7.apk
checksum verified
```
## Maintainer's Quick Start Guide
0. for completely fresh git repositories
1. create a new local git repository
* `git init`
* add an initial commit with a `README.md`
2. setup a git server with PRs and Issues disabled
* github guide, codeberg guide, self host (gitea/forgejo guide)
1. install ngit
* download [linux windows mac] (vX.X) add binaries $PATH
* OR if you have cargo use `cargo install ngit`
2. initalize on nostr
* run `ngit init` from git repository, which will:
1. announce with setting such as:
* inbox relays - where contributors should send proposals / issues
* clone - git server(s) to fetch data from
* settings can be updated by running `ngit init` again
2. publish state
* from branch / tag refs on first git server in announcement
3. add nostr as git remote
* `git push` will now update state on nostr and push data to all git servers listed in annonucment event
3. manage proposals
* view and apply open proposals (see contributor guide)
* use gitworkshop.dev to comment on or close it
* if you applied a proposal to master or used `git merge`, the proposal status will be updated when you push those commits
4. issue releases
[TODO]
5. update comms - direct contributors to use nostr. eg. on readme and website.

BIN
static/favicon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 882 B

BIN
static/favicon.png_old

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/icons/GitCitadel_Logo/GitCitadel.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

BIN
static/icons/GitCitadel_Logo/GitCitadel_Graphic_Landscape.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
static/icons/GitCitadel_Logo/GitCitadel_Graphic_Portrait.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

3
static/icons/GitCitadel_Logo/GitCitadel_Icon_Black.svg

@ -0,0 +1,3 @@
<svg width="33" height="40" viewBox="0 0 33 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5891 35.4011L17.5106 39.9785C17.5092 39.979 17.5078 39.9796 17.5064 39.9802L17.5064 35.8771C17.5064 34.7972 17.9225 33.7587 18.6685 32.9767L22.5907 28.8654C23.8341 27.5621 24.5276 25.8312 24.5276 24.0314L24.5276 22.18C26.1639 21.6026 27.3361 20.0448 27.3361 18.2137C27.3361 15.8911 25.45 14.0082 23.1234 14.0082C20.7967 14.0082 18.9106 15.8911 18.9106 18.2137C18.9106 20.0448 20.0829 21.6026 21.7191 22.18L21.7191 24.0314C21.7191 25.1113 21.303 26.1498 20.557 26.9318L16.6348 31.0431C16.4441 31.2429 16.2664 31.4528 16.1021 31.6715C15.9378 31.4528 15.7601 31.2429 15.5695 31.0431L11.6472 26.9318C10.9012 26.1498 10.4851 25.1113 10.4851 24.0314L10.4851 22.18C12.1213 21.6026 13.2936 20.0448 13.2936 18.2137C13.2936 15.8911 11.4075 14.0082 9.08084 14.0082C6.7542 14.0082 4.86808 15.8911 4.86808 18.2137C4.86808 20.0448 6.04036 21.6026 7.67659 22.18L7.67659 24.0314C7.67659 25.8312 8.37011 27.5621 9.61349 28.8654L13.5357 32.9767C14.2817 33.7587 14.6979 34.7972 14.6979 35.8771L14.6979 40C14.6964 39.9995 14.695 39.9989 14.6936 39.9984L2.61761 35.4235C1.04655 34.8115 0 33.3065 0 31.5999L1.91217e-06 18.3826C2.77078e-06 8.56122 6.30147 2.98896 14.9546 0.182845C15.6983 -0.0609484 16.5035 -0.0609483 17.2496 0.182845C25.9052 2.98896 32.2042 8.54132 32.2042 18.3826L32.2042 31.5999C32.2018 33.294 31.1577 34.809 29.5866 35.4036L29.5891 35.4011Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

9
static/icons/GitCitadel_Logo/GitCitadel_Icon_Gradient.svg

@ -0,0 +1,9 @@
<svg width="33" height="40" viewBox="0 0 33 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5891 35.4011L17.5106 39.9785C17.5092 39.979 17.5078 39.9796 17.5064 39.9802L17.5064 35.8771C17.5064 34.7972 17.9225 33.7587 18.6685 32.9767L22.5907 28.8654C23.8341 27.5621 24.5276 25.8312 24.5276 24.0314L24.5276 22.18C26.1639 21.6026 27.3361 20.0448 27.3361 18.2137C27.3361 15.8911 25.45 14.0082 23.1234 14.0082C20.7967 14.0082 18.9106 15.8911 18.9106 18.2137C18.9106 20.0448 20.0829 21.6026 21.7191 22.18L21.7191 24.0314C21.7191 25.1113 21.303 26.1498 20.557 26.9318L16.6348 31.0431C16.4441 31.2429 16.2664 31.4528 16.1021 31.6715C15.9378 31.4528 15.7601 31.2429 15.5695 31.0431L11.6472 26.9318C10.9012 26.1498 10.4851 25.1113 10.4851 24.0314L10.4851 22.18C12.1213 21.6026 13.2936 20.0448 13.2936 18.2137C13.2936 15.8911 11.4075 14.0082 9.08084 14.0082C6.7542 14.0082 4.86808 15.8911 4.86808 18.2137C4.86808 20.0448 6.04036 21.6026 7.67659 22.18L7.67659 24.0314C7.67659 25.8312 8.37011 27.5621 9.61349 28.8654L13.5357 32.9767C14.2817 33.7587 14.6979 34.7972 14.6979 35.8771L14.6979 40C14.6964 39.9995 14.695 39.9989 14.6936 39.9984L2.61761 35.4235C1.04655 34.8115 0 33.3065 0 31.5999L1.91217e-06 18.3826C2.77078e-06 8.56122 6.30147 2.98896 14.9546 0.182845C15.6983 -0.0609484 16.5035 -0.0609483 17.2496 0.182845C25.9052 2.98896 32.2042 8.54132 32.2042 18.3826L32.2042 31.5999C32.2018 33.294 31.1577 34.809 29.5866 35.4036L29.5891 35.4011Z" fill="url(#paint0_radial_272_2081)"/>
<defs>
<radialGradient id="paint0_radial_272_2081" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(-4.86808 4.10744) rotate(37.6295) scale(53.6659 51.3858)">
<stop stop-color="white"/>
<stop offset="1" stop-color="#A7A8FF"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

3
static/icons/GitCitadel_Logo/GitCitadel_Icon_White.svg

@ -0,0 +1,3 @@
<svg width="33" height="40" viewBox="0 0 33 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.5891 35.4011L17.5106 39.9785C17.5092 39.979 17.5078 39.9796 17.5064 39.9802L17.5064 35.8771C17.5064 34.7972 17.9225 33.7587 18.6685 32.9767L22.5907 28.8654C23.8341 27.5621 24.5276 25.8312 24.5276 24.0314L24.5276 22.18C26.1639 21.6026 27.3361 20.0448 27.3361 18.2137C27.3361 15.8911 25.45 14.0082 23.1234 14.0082C20.7967 14.0082 18.9106 15.8911 18.9106 18.2137C18.9106 20.0448 20.0829 21.6026 21.7191 22.18L21.7191 24.0314C21.7191 25.1113 21.303 26.1498 20.557 26.9318L16.6348 31.0431C16.4441 31.2429 16.2664 31.4528 16.1021 31.6715C15.9378 31.4528 15.7601 31.2429 15.5695 31.0431L11.6472 26.9318C10.9012 26.1498 10.4851 25.1113 10.4851 24.0314L10.4851 22.18C12.1213 21.6026 13.2936 20.0448 13.2936 18.2137C13.2936 15.8911 11.4075 14.0082 9.08084 14.0082C6.7542 14.0082 4.86808 15.8911 4.86808 18.2137C4.86808 20.0448 6.04036 21.6026 7.67659 22.18L7.67659 24.0314C7.67659 25.8312 8.37011 27.5621 9.61349 28.8654L13.5357 32.9767C14.2817 33.7587 14.6979 34.7972 14.6979 35.8771L14.6979 40C14.6964 39.9995 14.695 39.9989 14.6936 39.9984L2.61761 35.4235C1.04655 34.8115 0 33.3065 0 31.5999L1.91217e-06 18.3826C2.77078e-06 8.56122 6.30147 2.98896 14.9546 0.182845C15.6983 -0.0609484 16.5035 -0.0609483 17.2496 0.182845C25.9052 2.98896 32.2042 8.54132 32.2042 18.3826L32.2042 31.5999C32.2018 33.294 31.1577 34.809 29.5866 35.4036L29.5891 35.4011Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/icons/GitCitadel_Logo/GitCitadel_Logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
static/icons/GitCitadel_Logo/GitCitadel_PFP.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
static/icons/GitCitadel_Logo/GitCitadel_PFP_Purple.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

BIN
static/icons/icon-16x16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 565 B

BIN
static/icons/icon-32x32.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 882 B

4
static/manifest.json

@ -1,6 +1,6 @@
{ {
"name": "GitWorkshop.dev", "name": "gitcitadel.eu",
"short_name": "GitWorkshop", "short_name": "GitCitadel",
"icons": [ "icons": [
{ {
"src": "icons/icon-512x512.png?v=1", "src": "icons/icon-512x512.png?v=1",

2
tailwind.config.js

@ -13,6 +13,6 @@ export default {
}, },
plugins: [typography, daisyui], plugins: [typography, daisyui],
daisyui: { daisyui: {
themes: ['dracula'], themes: ['forest'],
}, },
} }

11615
yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save