Meaningness stack has back-end search I think, which is fine, just trying to avoid that I guess.
OK now we have elasticlunr, pretty sweet
Just enhanced it for immediacy and partial matching – easy peasy
DONE Sorry sidenotes look heinous when they overlap the sidebar (see AMMDI: nebulosity
) for example).
If sidebar didn't scroll, that would partly fix the problem; you could at least see the text which now is irrevocably occluded.
Fixed by moving main col to lhs
DONE bug when there are multiple italic areas in a block, see end of White Noise
Anyway, White Noise is thematically timely and one of the best novels of the late 20th century according to Harold Bloom, who placed it in the tradition of "American comic apocalypses" that includes Melville's The Confidence Man and Thomas Pynchon's Crying of Lot 49. (I guess I'd put Infinite Jest and the work of Philip K Dick in that bucket as well). And it's due to be turned into a movie this year.
DONE Looks like search index includes non-displayed text!!! (example: "Elder" matches hidden text at GBG).
Built out Goddinpotty (renamed from the boring "Static-roam") and this website. Got mistreated by Roam so switched to logseq, which took a lot more energy than I thought it would. Somebody expressed an interest in using it to set up a pretty neat academic anthropology journal site, but that fell through. Lots of little formatting tweaks and adjustments, in particular I hid the hairball diagrams in the left-hand column under an expander, because they were very distracting (and stupid in other ways – if you want to spatialize your knowledge palace, you have to do it in a navigable and stable way).
This took more finagling with the web server than I wanted, but feel like I've modernized. Works better with Twin Pages - WebSeitz/wiki although still not well enough.
Also figured out how to add a .htacess to make the old URLs work and feeling very pleased with myself for some reason.
Mar 8th, 2022
Working on getting page hierarchicies handled right. I'm not sure I like this feature, it seems too old-school, why should I have rigid trees alongside my freewheeling graph? But the content is getting way unwieldy and this is a way of imposing some order.
How this works:
Slashes in page titles are interpreted as directory separators
There's code to gather the resultant hierarchies and render them in the side column
Because the web is terrible, the output is NOT in subdirectories, that broke every relative link in the output. Instead it writes into a flat output directory with a fake slash character.
Created some new hierarchies, for LWMap and Marvin Minsky. Seems like an awkward process and the resulting links don't flow. Oh well. Still a useful kind of structure to have.
Current-wave hypertext and knowledge management tools like Roam (not very code related, except I am coding my own Goddinpotty , and the Roam-tools all have a plugin/extension culture which is interesting in terms of having code and text intermingled).
Should be a more persistent search results. Either hold them in the left-hand column, or make a dynamic page (harder).
Should have a way to capture embedded tweets as images, since Twitter is melting down and might vanish any day.
It's easy for links to become dead through page renames and other ways. So:
ideally, retain all historic page names and redirect
easier: have a custom 404 page that at least goes somewhere non-jarring
TODO minor bug, if you have ws/foo and ws is not a page but an alias, wrong things will happen. (basically both aliases and hierarchies are underspecified and have bugs, and their interaction has more bugs)
May have been caused by Play having "play" as title property. undid that...yes that fixed it, but there is still an underlying problem.
Another: search for "goddin", you get a link that doesn't work, Goddinpotty (real link is lowercase)
hm, OK on local?
TODO new time system with nbb, seems to work but has some peculiarities that I don't have the patience to dig into now.
Oh wondered why some pages seem to have write dates that didn't make sense, turns out changing the name of a page will (of course) update any pages that link to it. Fuck, that kind of breaks using git for change dates...unless I make my thing a level or two hairier
Idea: have an escape to allow Hiccup, then I can do tables with pretty zero cost. Oh you can do that now. Here's a 2x2 template. Note you have to have it on a single line or it gets confused.
No this does not currently render correctly, looks like you need to try to do a clojure parse on each block? Ugh, like it's not already slow enough.
Aliases still aren't working right; eg there is a separate Latour page output even though it is supposed to be an alias to Bruno Latour
DONE seem to be a lot of broken block refs from import (well one at least), should check for those.
fixed so error would be caught at least
DONE have to do something with hierarchies
Should hierarchy links be treated as regular links? Would make sense, but also a bit dicey to implement. Hm how will it interact with inclusion. Hm yes they should be done, but now I want typed links.
Instead: Have hierarchy nav box at top of pages, it's easy (more or less) to generate
for all links, compute possible parent-child relations
for top links, compute the full hierarchy for display
render this in sidebar (I guess?)
TODO Automate graph export
Partly done, but still pretty sucky
It's even more sucky than I realized, I do not know how to force the most recent graph out of Logseq
DONE Pages with actual slash in name are causing fuckage
Not that bad, just a bogus parent page. Could have a flag to suppress, or use a fake slash.
Immediate need: adding a css class to an image so it can have a border; currently images with white background bleed into the page and looks weird.
Needs new front page strategy, but god knows what
Bare tags (like book in a line) should not render themselves in text. They should maybe appear as tags since that's what they are, or even trigger css variations or big icons to create some visual differentiation of the sea of pages.
Not quite sure what I meant by that
sort of spontaneously grew
which I can't link to because it's implemented wrong
TODO graphics should match those in force-layout view, more or less.
would be cool to include edges but that might be out of scope
DONE adjust labels and legend
Version for me with all blocks, color-coded by public or not
TODO for long pages; have sidebar table of contents
That's for quoting stuff from other sources, but it might also be a feature to support multiple Roam authors. Not an issue for my solo site.
More curatorial features (replace dead links with archive.org links, check for bad Markdown, etc)
Really need a Roam write API (or equivalent) for this and Blogger import and other things.
It's easy to accidently paste in links (esp. images) that are temp urls from CDNs. These should be detected and copied if possible. Dead link detection would also be useful
Have an option to download all images on Roam servers and include as part of static site (if not, probably will break if you stop paying the Roam bills)
TODO links from Recent Changes and sidebar should be to particular block
TODO (which requires rendering anchors)
TODO Roam tables not being rendered right at all
Might not be worth supporting this and other Roam features; but there should at least be a warning when you do a build and hit a feature like this.
TODO for empty pages (or maybe specifed with flag) the Incoming Links section should be in main body of page – bare column looks weird
On-page about box with contact / feedback info
See meaningness for good example
Goes well with
Some kind of feed for subscribers
eg, post link to changes every week to a Twitter account
Done the guts, but a UI won't make sense without a search for words to link to, or staticly creating fake pages
can do it now that we have search, but it turns out to not be that interesting, given the existing wiki-ish page titles.
TODO If there are two pages whose names differ only in case (eg author and Author) you end up with broken links, at least if you are going through a case-folding filesystem like MacOS. Should detect and warn user.
Trying to slim down the grammar actually made things worse for some reason
I'm wondering if dispensing with instaparse and using some hacky regex parser would be an improvement...prob not?
Noticing that it is even worse if you rerun -main ,,, like it crawls. Not sure why, suspect memoization? Nothing else should change between runs, but its hard to see that producing such a dramatic slowdown.
Might have fixed these, should test to make sure
OK, I now have a deploy script. takes 4.5 minutes (for around 300 pages)
Use git for deploy, would be a lot faster
Some kind of incremental page rebuild. It's parsing thats's slow, so cache locally and use Roam timestamps to invalidatate.
All this hypertext goodness is based on Logseq, a newish note-taking tool which I've recently adopted. It's similar to Roam and was started with Roam, but after a brief fling with that I've decided that I can't use it, and Logseq is the best alternative. Because these new hypertext tools are a bit deficient on publishing tools I rolled my own starting from an existing open source project.