What is Nostr?
buttercat1791 / Michael J
npub1wqf…qsyn
2024-10-17 13:30:10

buttercat1791 on Nostr: For those who are curious about the parser, and why the Compose view is taking time, ...

For those who are curious about the parser, and why the Compose view is taking time, here are some details:

The parser hooks into the Asciidoctor library's extensions API. Asciidoctor does the tedious part of converting a wall of AsciiDoc text into a semantic tree. Think of the whole document, with its title, as the trunk. Documents are normally divided into named sections, so each section is a branch. Branches may split into smaller branches if there are subsections within sections. Out on the end, as leaves, are individual paragraphs, images, tables, and the like.

Once Asciidoctor has created this tree, our parser can manipulate it. Each "node" (a node can be the trunk, a branch, or a leaf) is assigned a unique, human-readable ID, usually based on the document or section title. The node's ID will become its identifying #d tag when it is published as a Nostr event.

The thing we're doing with the Composer view is making it into a user interface for restructuring the whole tree. You'll be able to edit the text (and eventually images, tables, and more) of individual leaves, or move leaves or branches from one part of the tree to another. Did you decide Section B should actually go before Section A? Easy! Use the arrows to move Section B and everything that branches off of it to a different place on the tree.

Getting the UI for this right is the tricky part, and we'll surely make tweaks as we test it out and get feedback. I'm not aware of any major apps that have a UI for tree composition from text, so we're making this up as we go along. I'm excited to see what y'all think when we're ready to roll it out!

The edit page had buttercat1791 (npub1wqf…qsyn) stuck in Parser Purgatory for a few weeks, but it's working relatively smoothly, now. Compose is fiddly, as each section has its own set of buttons, that appear on hover, to edit or move up-n-down, so there's a lot of stuff that can go wrong because of all the moveable parts. But, it's still exciting to see it all coming together, slowly, but steadily. 😊

We have some cool announcements coming up, from other GitCitadel (npub1s3h…75wz) members (ChipTuner (npub1qdj…fqm7) , finrod (npub1ecd…s735) , liminal 🦠 (npub1m3x…a5sf) and buttercat1791 (npub1wqf…qsyn) about other "behind the scenes" stuff we've been working on, for the real computer/math nerds out there. 💪

And I got the generic version of my Nostrbot (https://github.com/SilberWitch/Nostrbots) posting articles, late last night, so that's been fun. I'm going to clean it up a bit more and then "release" it, so that Gigi ⚡🧡 (npub1der…xzpc) can try it out. It works as a publisher of long-form articles and kind 1111 notes, with everything setup so that you can easily hook it up to a Jenkins build (or a cron job or Windows scheduler), to schedule your publishing, or to publish from different npubs.
That's just a teaser for my Sybil utility, but I needed it for testing #Alexandria, so I pulled it forward.

Yeah, so, that's all I got, for now.
Author Public Key
npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn