Commit 5d87d824e2
Verified · cmc
.gitbay/wiki/Parity.org +22 −9
| @@ -148,7 +148,7 @@ always markdown. | ||
| 148 | 148 | |
| 149 | 149 | Every web form that takes markup has a Preview button beside its own |
| 150 | 150 | submit: issue and merge request create, their edit and comment boxes, |
| 151 | release create and edit, the profile about text, and the file editor on | |
| 151 | release create and edit, and the file editor on | |
| 152 | 152 | a path the forge renders. It posts to the form's own action, which |
| 153 | 153 | renders the draft and hands the page back without writing, so what you |
| 154 | 154 | see is the rendering the thread will show, autolinks included. It is a |
| @@ -287,6 +287,7 @@ now render the way the reference does. go-org is not yet on the corpus. | ||
| 287 | 287 | | browse all public repositories | yes | yes | yes | |
| 288 | 288 | | profile page | yes | yes | yes | |
| 289 | 289 | | profile about and links | yes | yes | yes | |
| 290 | | profile about as a file | yes | yes | yes | | |
| 290 | 291 | | activity feed | yes | yes | yes | |
| 291 | 292 | | command reference | yes | no | n/a | |
| 292 | 293 | |
| @@ -300,8 +301,14 @@ operator — =c++=, =AND=, a lone quote — is a word to match and never a | ||
| 300 | 301 | syntax error. =repo grep= remains the per-repository file-contents |
| 301 | 302 | search. |
| 302 | 303 | |
| 303 | About text renders as markdown or org-mode per the =about_format= it | |
| 304 | was stored with. The iOS client decodes and renders both, | |
| 304 | The about text is =profile/README.{md,org,markdown}= on the default | |
| 305 | branch of =<owner>/.gitbay=, resolved in that order, so the extension | |
| 306 | picks the renderer rather than a stored format. =profile show= reports | |
| 307 | it as =about=, =about_format= and =about_path=. It reads with the | |
| 308 | repository's own access, so a private =.gitbay= is a profile with no | |
| 309 | about text to anyone but its owner and the admins. A repository whose | |
| 310 | name starts with a dot stays out of =explore= and off the profile's | |
| 311 | repository list. The iOS client decodes and renders both formats, | |
| 305 | 312 | through the same OrgSwift path a README takes. |
| 306 | 313 | |
| 307 | 314 | =help= lists the command registry. Bare it is an index, one line per |
| @@ -328,7 +335,7 @@ client has no use for one (krz/gitbay#57). | ||
| 328 | 335 | | API token mint | yes | no | no | |
| 329 | 336 | | account export bundle | yes | yes | n/a | |
| 330 | 337 | | profile set | yes | yes | yes | |
| 331 | | preview profile about | n/a | yes | no | | |
| 338 | | write the profile about | yes | yes | yes | | |
| 332 | 339 | | request a login link | n/a | yes | n/a | |
| 333 | 340 | | account import bundle | yes | no | n/a | |
| 334 | 341 | |
| @@ -360,11 +367,17 @@ The account export bundle is =n/a= on iOS on the archive-download | ||
| 360 | 367 | argument above — a JSON bundle has nowhere useful to land on a phone, |
| 361 | 368 | and the web route stays the way to get one. |
| 362 | 369 | |
| 363 | =profile set= carries description, website, about and links; the JSON | |
| 364 | API runs it like any other write. The account settings page has the form, and so does the iOS client: | |
| 365 | =--link= replaces the whole set rather than appending, so a client sends | |
| 366 | every link it keeps on every save, and =--link ''= is how they are | |
| 367 | cleared. | |
| 370 | =profile set= carries description, website and links; the JSON API runs | |
| 371 | it like any other write. The account settings page has the form, and so | |
| 372 | does the iOS client: =--link= replaces the whole set rather than | |
| 373 | appending, so a client sends every link it keeps on every save, and | |
| 374 | =--link ''= is how they are cleared. | |
| 375 | ||
| 376 | The about text is not among those flags. It is a file, written by a push | |
| 377 | or =repo commit-file= like any other file, which is why writing it is | |
| 378 | yes on every surface: anything that can commit a file can write it. The | |
| 379 | settings page points at the file and offers to create =<owner>/.gitbay= | |
| 380 | when there is none. | |
| 368 | 381 | |
| 369 | 382 | * Administration |
| 370 | 383 | |
.gitbay/wiki/Users.org +25 −8
| @@ -142,14 +142,28 @@ gitbay profile show alice | ||
| 142 | 142 | gitbay profile set --description "builds small tools" --website https://alice.example |
| 143 | 143 | #+end_src |
| 144 | 144 | |
| 145 | About text is markdown by default, or org-mode. It takes inline text or | |
| 146 | stdin, so it can live in a file you keep: | |
| 145 | The about text is not a field. It is =profile/README.md= or | |
| 146 | =profile/README.org= on the default branch of =<owner>/.gitbay=, a | |
| 147 | repository you own like any other, written by a push or by | |
| 148 | =repo commit-file=: | |
| 147 | 149 | |
| 148 | 150 | #+begin_src sh |
| 149 | gitbay profile set --about "I maintain a few small tools." | |
| 150 | gitbay profile set --file - --about-format org < about.org | |
| 151 | gitbay repo create alice/.gitbay | |
| 152 | gitbay repo commit-file alice/.gitbay profile/README.org \ | |
| 153 | --ref main --file - < about.org | |
| 151 | 154 | #+end_src |
| 152 | 155 | |
| 156 | The extension picks the renderer; =.md=, =.org= and =.markdown= are | |
| 157 | resolved in that order, so a =README.md= beside a =README.org= wins. | |
| 158 | =profile show= reports the text as =about=, its format as | |
| 159 | =about_format=, and the file it came from as =about_path=. | |
| 160 | ||
| 161 | Access follows the repository: a private =.gitbay= keeps the about text | |
| 162 | to you and the admins. A repository whose name starts with a dot is | |
| 163 | infrastructure rather than a project, so it stays out of =explore= and | |
| 164 | off the profile's repository list — =repo list= still shows it, and it | |
| 165 | is reachable at its own URL. | |
| 166 | ||
| 153 | 167 | Up to five links, each =label|url= or a bare url, http(s) only. Passing |
| 154 | 168 | =--link= replaces the whole set; a single empty one clears it: |
| 155 | 169 | |
| @@ -164,13 +178,16 @@ leave out is untouched, and ='' clears the one you name. Org profiles | ||
| 164 | 178 | work the same way and need org admin: |
| 165 | 179 | |
| 166 | 180 | #+begin_src sh |
| 167 | gitbay org profile krz --description "software and experiments" --about-format org --file - < krz.org | |
| 181 | gitbay org profile krz --description "software and experiments" | |
| 168 | 182 | gitbay org profile krz # no flags shows it |
| 169 | 183 | #+end_src |
| 170 | 184 | |
| 171 | The web renders profiles but has no form for editing one, so the CLI is | |
| 172 | the only interface today. The JSON API runs =profile set= like any | |
| 173 | other write command. | |
| 185 | An org's about text works the same way, in =<org>/.gitbay=. | |
| 186 | ||
| 187 | The settings page edits description, website and links, and points at the | |
| 188 | about file — with a button that creates =<owner>/.gitbay= and its first | |
| 189 | README when you have none, so the file editor has a branch to open. The | |
| 190 | JSON API runs =profile set= like any other write command. | |
| 174 | 191 | |
| 175 | 192 | * Repositories |
| 176 | 193 | |
CHANGELOG.org +25
| @@ -44,6 +44,31 @@ sixteen-page one never covered (#226): | ||
| 44 | 44 | crumb, a heading that names an owner, an empty-state note. Link and |
| 45 | 45 | muted text are 1.07:1 apart in dark. |
| 46 | 46 | |
| 47 | The profile about text is a file (#236). | |
| 48 | ||
| 49 | *Upgrade note.* Run =gitbayd admin migrate-profile-about= after | |
| 50 | upgrading. Migration 0058 parks each owner's about text in a holding | |
| 51 | table and drops the columns; that command writes it into a public | |
| 52 | =<owner>/.gitbay=. Until it runs, profiles that had an about show none. | |
| 53 | Nothing is lost in between — the table keeps the text. | |
| 54 | ||
| 55 | - The about text on a profile is =profile/README.md= or | |
| 56 | =profile/README.org= on the default branch of =<owner>/.gitbay=, | |
| 57 | read with that repository's own access. The extension picks the | |
| 58 | renderer; =.md=, =.org= and =.markdown= resolve in that order. | |
| 59 | =profile show= gains =about_path=, the file the text came from. | |
| 60 | - =profile set= and =org profile= lose =--about=, =--about-format= and | |
| 61 | =--file=. The about is written by a push or =repo commit-file=, the | |
| 62 | way a wiki page is. The settings page points at the file and offers | |
| 63 | to create the repository that holds it. | |
| 64 | - Repository names may start with a dot; owner names may not. A | |
| 65 | repository whose name starts with a dot stays out of =explore= and | |
| 66 | off the profile's repository list, and remains in =repo list= and at | |
| 67 | its own URL. | |
| 68 | - =repo commit-file= writes the first commit of a repository that has | |
| 69 | never been pushed to. An unresolvable branch is still an error | |
| 70 | anywhere the repository already has refs. | |
| 71 | ||
| 47 | 72 | * v1.30.0 — 2026-09-19 |
| 48 | 73 | |
| 49 | 74 | Every command runs on every surface, markup previews before it is |