Follow

@Valenoern
Hello, I discovered and it is funny to see that it seems similar to org-roam, which will be compatible with ActivityPub. Tell me if it is a caricature of what bopwiki is, but I just wanted to share with you one of my recent project which does that in some limited ways. It is a exporter for org files (edited using emacs) to Activity Streams JSON files.
buron.coffee/entity/ox_activit

Anyway, I will be interested to hear more about bopwiki.

@Valenoern Thanks for your detailed answer, but I still don't get what is the activitypub support of bopwiki.

@LaBecasse

#bopwiki and "org-mode In General" do have similar purposes,

but I think one of the biggest differences is I've always felt like emacs is a bit impenetrable to outsiders while bop is supposed to be more immediately self-explanatory.
(and that's a subjective thing. but when possible I prefer to use programs that are easy to explain to people who just discovered linux.)

bop also uses regular old Common Lisp for all its main code / configuration instead of elisp

1/

@LaBecasse

As for org-roam,

I think that in its 'final form' bopwiki could actually load an extension to use org-roam's syntax for metadata lines.

as I look at it I personally don't think I like this syntax, but the true power of bop is you're supposed to one day be able to select an arbitrary syntax for a given kind of file, so you could have a Tiddlywiki file and an org-roam file and a plain rdf file in the same folder if you wanted to

distributary.network/bop/issue

2/

@LaBecasse

one thing that's different between org-roam's syntax and bop's "default" syntax is I currently assume bop files will have all their metadata lines at the bottom of the file and their content at the top
(which makes files a bit more trivial to parse)

2a/

@LaBecasse

I actually hadn't been thinking very often about when I was going to make it possible to put meta lines in an entry body,

though it *had* always been in the back of my mind due to the fact I copied bop's "=>" line from gemini but gemini can easily put these external link lines in the middle of a webpage.

so it's somewhat likely it will happen some day

2b/

@LaBecasse

> org protocol/capture extension

this is a really cool feature.

I'm not sure I would have bothered with this for bop,
although it's been a dream of mine to *somehow* easily archive specific kinds of "posts" on the web, such as toots you posted, rss/atom feed entries, or title + link + thumbnail information for online videos.

(I think one difference is I don't want bop to depend on a browser at all, so I'd want it to download the toot etc in a 'headless' way.)

4/

@LaBecasse

> graphing

this just doesn't exist for bop right now

although when org-roam seems to be using existing things like graphviz, maybe it could?

5/

@LaBecasse

> bibtex citations

another thing that doesn't exist for bop but has been a 'maybe'

I'd done some reading about bibtex before, and sort of concluded that it might be more flexible to just use bop's rdf capabilities (once they exist) to manage citations expressed in rdf vocabularies

(this may be one of those times I made a decision that would shock academics because I've never been a grad student and am more of a programmer.)

6/

@Valenoern Yes it is using graphviz, which is ok, but at the end very limited. A complementary project have been developed on top of D3.js (so in the browser) to interact with the graph of notes and to be able to edit the selected notes back in emacs using org-protocol.
github.com/org-roam/org-roam-s

@Valenoern Ok, I am also personally interested in archiving and extracting metadata from the different documents one can find on the web. I am currently using several tools that you may already hear about, like Wallabag (for web page), youtube-dl (for video). I created a (messy) project to manage an archive of medias built on top of youtube-dl : github.com/laBecasse/youtube-d

@LaBecasse

okay. I've reached the bottom of the org-roam manual I was using for reference and that's everything I can think of for now.

orgroam.com/manual.html

I should probably some time soon see what parts of this I can add to the bop manual so this information is a bit more available.

7/7

@Valenoern I am not sure to understand what do you mean by plain rdf file ? Do you want to support any rdf file as a possible entry. I am a bit lost here.

@LaBecasse

ah right,
another big difference from org-roam is... org-roam is a realtime text editor
(or to be accurate, a mode inside one.)

bop is very specifically Not an Editor; you run "bop open pagename" and it launches your editor of choice. -although there's a bug in this currently-

this is because bop was made in response to #Tiddlywiki (on nodejs) taking too long to boot each time just to edit files in an html textarea, and I decided I'd rather open files in jedit/kate/etc.

3/

@LaBecasse

in bop's 'final form' it might have a nice little GUI ("BEbop") where you can access all its commands from instead of having to read the manual/manpage/etc

but also, you could in theory use bop to open entries in emacs

(when it's likely BEbop would need to have multiple versions for different desktops anyway, I can easily see there being an elisp BEbop which itself lives inside emacs.)

3a/

@LaBecasse

"but if bop could make its 'home base' inside emacs, what would it *do* there?"

for one,
in bop you typically name entries like "1631146746_example.txt",
so you could call some kind of (bop-open example) to open this entry no matter what subdirectory of your entries folder it's in.

socialhub.activitypub.rocks/t/

(I'm not totally sure emacs couldn't do something like that with autocompletion already, but it works as an example.)

3b/

> not totally sure emacs couldn't

ah, okay, if you use org-roam you can assign aliases to org entries.
(like bop is supposed to be able to as well, though currently it only guesses those from the filename)

so that example would be most useful if you were using emacs *without* org-roam but for some reason *with* emacs bop.

3c/

> At its core, Org-roam provides a database abstraction layer, ... a dual representation

same thing bop does, but in a more simple way
(perhaps laughably simple; I assume that with sqlite org-roam's querying/caching is a bit more powerful.)

3d/

> emacs is a bit impenetrable

case in point:
just now I had to do about five web searches (!) simply to find a single example of what a link looks like in an org/org-roam file.

manual: "we link between nodes with org's standard id link"
me: ok, can you give me a reference on that or something? an example org file?
[all the 'example org files' are emacs screenshots that don't show the source markup for links]

1a/

@Valenoern Here you can find a org file (a complicated one) and the corresponding HTML:
1. buron.coffee/entity/ox_activit
2. buron.coffee/entity/ox_activit

Basically the file id is at the top of the file between :PROP:. And the links have this form [[id:file_id][link label]], but nobody neither see nor write this, since the links are nicely displayed in emacs (by default) and there is a prompt for creating link, which is very handy.

@Valenoern Ok, this is very interesting. Because, you are right saying that emacs + org-mode + org-roam require a very long time to be handled properly.

Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!