#Alexandria update:

Recent work on this project has focused on extending Asciidoctor's converter to organize an AsciiDoc document into individual indices and zettels according to the Nostr Knowledge Base specification. This is now working on a basic level (though we will add additional features to this parser as the project continues), so I can turn to the editor preview.

Since this is UI-focused work, I have screenshots!

First, we have an editor area into which you can type or paste AsciiDoc content.

Clicking the eye icon shows a preview.

Hovering the mouse cursor over the preview highlights each discrete section. Each paragraph will become a kind 30041 zettel, and each section with a header will become a kind 30040 index that references the zettel events produced for the paragraphs it contains.

Images, tables, code blocks, and other entities will all be published as unique Nostr events so that they may be easily remixed and referenced in other index events.

Once the preview works, my next effort will be to write the actual upload functionality to turn Alexandria into an honest-to-goodness Nostr Knowledge Base publisher app. Stay tuned!

#GitCitadel

Reply to this note

Please Login to reply.

Discussion

Oh, good grief, that looks so lovely. I'm gobsmacked.

Let me update the documentation with the screenshots.

I love the LETTERING!!

nostr:npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q

This is #Asciidoc, at work! 🀩

We can create truly elegant, beautiful, documents.

The lettering all comes out of the box with Flowbite's Svelte components.

We can switch to a serif font at some point, and we can use a different font to make the document summary/overview right below the title pop out.

Can it automatically tell, to write like that, since the first words are capitalized?

I should do that with the Bible books. I've been waiting, for us to finalize the changes to the spec, so that I can transfer everything to Asciidoc, from Markdown, and then clean it up. But that sort of lettering is so classy, fr. Antique.

It can't tell automatically, but at render time the Svelte component is viewing a list of documents nodes and rendering them in order, under each section. I told it to capitalize the first letter of the first node in each section.

It works because Asciidoctor gives us some powerful documents parsing tools.

πŸ’ͺ

Serif for the article.

Sans for the intro.

I like that. Is there a specific reason why? I want to understand the design logic.

Maybe because the horizontal lines make it easier to read?

Just checked. Serif easier to read at smaller scale.

**Serif** is the best experience (for most people) for long form reading:

Articles, Book chapters, ...

**Sans** is great for shorter, more chopped up types of reading:

Posts, Wiki entries (with all the links etc...), Descriptions, ....

Many are critiquing Serif as inheritance from the printing press and so on.

Plus, a lot of research has gone into maximizing readability.

Lexend β€” Change the way the world reads. to name just one example.

But you don't see many customers actually preferring those fonts. Readability isn't everything. Serif has a great vibe going for it and fonts like "Lora" are very much readable enough.

Left: Inter + Lora VS Right: Lexend

The one on the left reads so much better. Wow. Huge difference.

Not in the experts' tests 😹

πŸ˜… Maybe because I'm old and half-blind.

Eyepatch!; Pirate confirmed 🦜 πŸ΄β€β˜ οΈ

Arrr....

Which common fonts are the left ones closest to?

They **are** the common fonts lol.

Lora, Georgia, Cambria are some that I'd recommend.

Ooooh, nostr:npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn look, pretty! That looks very neat and a bit classic.

I love that for a body font.

Like that header. πŸ€”

Georgia might be a good font for our "Alexandria" website title.

More CSS then asciidoc in this case, but yes looking great.

First letter capitalized is great for this use case πŸ‘Œ.

Asciidoctor's extensions API made this relatively easy, given the complexity of what we're trying to do.

It's so elegant, that it looks like it must be simple to do, but we've been breaking our heads over this, for weeks. 🀣 Discussions, PRs, diagrams, research papers with LLM models and algorithmic design and now the parser and...

The complexity of the data structure is so well-hidden. Very nice. Looks just like you would expect it to.

Just wait till we add in the fun features.

Wikilinks, point-and-click reorganization of zettels, remixing, commenting...

The goal is to make it feel natural. What you see is just the beginning.

It's been so hard finalizing the spec. A grind, and all we got out of it was a few lines of example json. πŸ˜…πŸ™ˆ

Well we are only doing this part time.

The Asciidoc markup helps determine the stylesheet. It's the closest you can get to HTML, without writing in HTML.

So the preamble (the bit beneath the = doc header and above the first == chapter header) becomes a separate field, displayed at the top of the page? Is that the summary tag?

The document title and the preamble will stay where they are in the screenshots, I think, at least for now.

For the first pass at editor functionality, I just want to be able to show how Alexandria breaks down AsciiDoc into events.

Future versions will support different editor modes where you can edit the contents or tags of individual events with in the structure, or rearrange them before publishing.

I like this default placement. Preamble should be on the top, as it is.

Looking good.

For everyone as mentally-slow as I am, today, this is three levels of events:

30040 the book: More of Aesop's Fables

300040 the chapter: The Crow and the Pitcher

30041 the verse/paragraph: A CROW PERISHING

30041 the verse/paragraph: Necessity is...

Alexandria can currently handle 5 levels of 30040s and a 30041. So, six levels to the hierarchy in the Table of Contents. (More than enough for any Bible. We checked. πŸ˜… )

That should be a 30040 followed by another 30040. #typostr

Look at this. This is the single best thing of "the other stuff" that I've seen yet. I don't know if you can figure it out, but... This is going to change things forever. I'm so friggin excited for this!

nostr:nevent1qqsftkcdd4ffzmzy7843az8mty228x805kvqh45cp9pc9wa7kuftdrqprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7q3qwqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzusxpqqqqqqza7u6m8