GM Nostr ๐
Things are finally moving along, toward the full release of the Gutenberg edition of #Alexandria.
We have a stable v0.0.1 on https://alexandria.gitcitadel.eu and the (buggy, very much alpha, but feature-complete) v0.0.2 has been rolled out to our staging area on https://next-alexandria.gitcitadel.eu.
This iteration adds the features:
* Table of contents (a work in progress, but fun to play with)
* Events search page for
* unique IDs (hex, npub, naddr, nevent, note, nprofile, and NIP-05)
* n: name
* d: d-tag
* t: hashtag
* Publishing of any event kind, including 30040 publications
* Commenting with kinds 01/1111, for any event
* D-tag/wiki disambiguation, that respects deferrals
* Relay and network monitoring
* Automatic detection and integration of local relays
* Rendering of long-form articles, publications and notes, wiki pages
* All content fields rendered with #NostrMarkup, either Asciidoc or Markdown, depending upon the kind
* Login with browser extension, npub-only, and Amber (remote!)
* Note (30041) composition
There's a link to a short mobile screencast, on our Geyser page:
https://geyser.fund/project/gitcitadel/posts/view/4803
I apologize for our tardiness in rolling changes out for #Alexandria.
We sped development way up, but now the review+merge process is the new DevOps bottleneck. Alexandria is already so massive and complex that the PR process is a trial.
We're trying to clear the PR traffic jam with a more continuous and automated process, so that you can actually try out the stuff we're building on next-alexandria, #thoon after it has been prototyped, rather than having to wait until its final iteration. That will also keep us from having gigantic PRs.
We're also trying hard to get the #GitRepublicServer moving, so that we can get the #GitRepublicWeb prototype rolled out. Those two products are tightly-integrated, as the app is the viewer for the #ngit server.
For now, here is an overview of some of the stuff in review:
Pride of place goes to the long-awaited table of contents, that nostr:npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn is building. This is much harder, than it looks, as its a lazy-loaded ToC, to match the lazy-loaded publications (the solution for gigantic publications running smoothly), and aligning all of the various reactive bits is tricky.
https://i.nostr.build/z2vsC2UTZskU0PPF.png
https://i.nostr.build/j64NsSX6f5y0gI44.png
https://i.nostr.build/KtlMQNDybzCRlC41.png
It actually almost-works, but he has to go back and rework it for blog posts, viewing individual articles (30023 and 30041) and wiki pages.
https://i.nostr.build/iIghKXPcLGAXIKLp.png
https://i.nostr.build/Q3KMAo920ZAn8M3K.png
We've added npub (read-only) and amber (read and write) logins. Since we have a reader, the read-only login is actually useful for most of what you do with the app.
https://i.nostr.build/YOAwFmInDYDzVLA6.png
https://i.nostr.build/8FIQbfoZyEoJqE3D.png
The landing page is now completely reactive. It loads all available publications, and displays them in pages and according to the width of your screen, with the search bar "finding" publications that you can't yet see.
https://i.nostr.build/CtCWQQhVUmbiWAk3.png
https://i.nostr.build/5IVQOzm3Eg0rydF2.png
The about page has a relay connection status view, which I use for testing.
https://i.nostr.build/BJXiMKvugaB2F2GE.png
We implemented syntax highlighting, MathJax (LaTeX), and PlantUML displays, for Asciidoc and NostrMarkup parsers. Prepared it for BPMN and TikZ rendering.
30041:
https://i.nostr.build/bZmJZlkiHXWTulE5.png
https://i.nostr.build/aEuyrqBbEd3nVLMt.png
30023:
https://i.nostr.build/5quFU2cKvvDXj3Cs.png
30818 (those are wikilinks, at the top, but remember that you can put wikilinks in any event, now, and Alexandria will display the link, properly, and navigate to the rendered page when clicked):
https://i.nostr.build/2d2cT1zCb8dhZhnO.png
And the feature I'm already addicted to is the Events page, which allows you to search for any event, displays the event in its original state, and lets you reply to any event and publish any event (yes, including 30040 publications!) The d: search is for d-tags and second-order events (things that quote or respond to the d-tagged events found).
https://i.nostr.build/CzFvHLpyD5PuRRoT.png
https://i.nostr.build/oAXhrwvdKnIJs8KN.png
https://i.nostr.build/tWLD618ComQWvuXW.png
https://i.nostr.build/tWVLHZ6E0wHCfrVr.png
https://i.nostr.build/g3JwKixIk4GVvu52.png
https://i.nostr.build/C0agFp7yyjKS64m8.png
https://i.nostr.build/ZomqsN3OaVtdUA8o.png
This is *not* the Awesome Search Page we're building, but just something rudimentary, to hold everyone over until GRW comes out in protoype. We need to build an entirely new architecture, based on an entirely-new tech stack, to get that working. We've officially hit the #ScriptkiddieWall, where the architects and engineers need to roll up their sleeves, to get things built.
Good thing we have some architects and engineers. ๐
But, first, they must work through the Merge Conflict From Hell.




















I actually originally put this on #Alexandria, using 30040s as folders, but it seemed sort of redundant with the ToC, and I need folders where the order of the content isn't essential.
https://i.nostr.build/s6HGc2SHifGD20Fg.png
And then I got to thinking about nostr:npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q and his notes, and it was like... where to put the notes, tho? Cuz like, if you hang the 30041s directly on the npub, then it's great because it's "my notes", right? And then you could go look at them from the note viewer. So, I built that.
And then nostr:npub1m3xdppkd0njmrqe2ma8a6ys39zvgp5k8u22mev8xsnqp4nh80srqhqa5sf was like, but what if he wants to use something other than 30041s to take notes with? And how does he organize the notes? Then we need 30040s, but then his folder of notes ends up on Alexandria, as if it were a publication. But publications are meant to be _curated_ and this is just "my notes", all lumped together in cyberspace.
And what if he wants to share a folder with someone else? Then it's really stupid. He should be able to have n number of folders and share them, so the folders should originate from himself; they should be independent things, with only his signature on them. But how do you figure out the top folder? You have to mount the top folder on top of something, but we have no distinct hardware to mount on. So, let's mount on an event.
So, that's where I'm at, now.
Who knew that needing to select a grand total of one relay, to use as a mailbox, and not-selecting Primal, Damus, Band, or Lol would turn out to be such a challenge?
We have community default-relays on #Alexandria, such as https://theforest.nostr1.com, but you can override them in the client, just by logging in with your npub.
No, there's no benefit to being on one of the gigantic relays because we all share events on the server-side and clients can follow relay hints and mailboxes. If you post something to theforest, it is all over Nostr in like 10 seconds.
I feel like everyone is overthinking this.
I don't know if this has been clear, but what you see on https://next-alexandria.gitcitadel.eu is actually quite old and the https://alexandria.gitcitadel.eu is even older. nostr:npub1l40cx7mc8cr23qamy6xhjx4gng9wmuczj2d8ertvw98w0aak9x3qyxmh7n is working with a newer version.
The #Alexandria master branch has had a lot of commits merged, since then, and we have massive dev branches with major rewrites and expansions coming up for PR #thoon.
I suspect we are now the largest Nostr project, from feature set, after Amethyst. As well as being the largest project team. Your zaps finance all of that.
And this is just the MVP. We haven't even made it to v0.1, yet, and we have an eye-watering road map to tread, after that, including major functionality for #MedSchlr. This is gonna be real, professional-quality, B2B software, folks, with the feature set to match.
https://media.tenor.com/iRDEt6V-Wm4AAAAC/absolutely-massive-hunter-engel.gif
nostr:nevent1qvzqqqqqqypzp4cd2qy32p9ejtgc8zpz4uj96hmt8gttstv30t9hjfxw7c0dft8wqyt8wumn8ghj7ct8vaezumn0wd68ytnvv9hxgtcqyrl3fkkevg2q0vjpk6qwqlq092qf7juaz6tgd4rvcnrpapz2yruw2fdwq5r
Showing page 1 of
11 pages