Kungsgeten / org-brain

Org-mode wiki + concept-mapping
MIT License
1.72k stars 102 forks source link

I can set friends to file entries but not to non-file entries, not sure why #366

Closed michaelsjackson closed 3 years ago

michaelsjackson commented 3 years ago

What could be the reason for this behaviour? I would like to set friend relationships to any kind of entries, no matter if file or non-file entry. My problem is non-file entries do not appear on my ivy-list and I have to select from this list it seems. At least on my computer with my current settings.

Kungsgeten commented 3 years ago

Could you post your org-brain configuration? It sounds strange, but perhaps you have changed some kind of variable.

michaelsjackson commented 3 years ago

Maybe this is a good limitation? Let me check if I can get the org-brain configuration together.

I used following method: I am searching in .emacs for "org-brain". Then I find this:

; search with deft (defun org-brain-deft () "Use deft' for files inorg-brain-path'." (interactive) (let ((deft-directory org-brain-path) (deft-recursive t) (deft-extensions '("org"))) (deft)))

Then this:

(setq org-brain-path "~/org-brain") (setq org-id-track-globally t) (setq org-id-locations-file "~/.emacs.d/.org-id-locations") (setq org-brain-visualize-default-choices 'files) (setq org-brain-visualize-one-child-per-line t) (setq org-brain-file-entries-use-title nil)

Then this, f9 is not shown here in github below:

(global-set-key (kbd "") 'org-brain-visualize)

Then this:

(defun helm-org-rifle-brain () "Rifle files in `org-brain-path'." (interactive) (helm-org-rifle-directories (list org-brain-path)))

Then this:

(require 'org-brain) (define-key org-brain-visualize-mode-map (kbd "C-l") #'link-hint-open-link)

Then this:

(defun org-brain-switch-link-complete () (concat "brainswitch:" (read-directory-name "Brain dir: " org-brain-path) "::" (read-string "Entry: " "index"))) (defun org-brain-switch-and-visualize (directory entry) (org-brain-switch-brain directory) (org-brain-visualize entry)) (defun org-brain-switch-link-follow (link) (let ((link-parts (split-string link "::"))) (org-brain-switch-and-visualize (car link-parts) (cadr link-parts))))

Later this, I guess scan-for-header-entries nil might be the reason for it? I set this to make org-brain faster in the past. If I would unnil it again, org-brain would slow down again I guess?

'(org-brain-scan-for-header-entries nil) '(org-brain-show-history nil)

Then this:

;; speeding up org-brain hopefully a bit more (savehist-mode 1) (setq savehist-additional-variables '(org-brain-headline-cache))

That's it. I hope this helps. Any suggestions are welcome, except unniling story above.

Side comment: There are so many tools going on in parallel, not clear which to use and which not. And when using, exactly for what where how? Something works here better, another thing elsewhere. org-brain is still one of my favourites for not losing the overview. The better it would integrate with the rest the better. What else is there?

My latest discovery: The fantastic org-transclusion. org-roam, zetteldeft, zettlr, Obsidian, org-wiki, org-brain-deft, and some more variants I can not remember. Maybe org-brain can make use of org-transclusion ideas? I like in org-transclusion you can develop your content in separate modules, then quickly putting together those modules according to your needs. Now I am thinking more: How can I split the whole content into separate more independish modules, so I can reuse those in various combinations with the rest of modules, developing over time. Something like Niklas Luhmann's Zettelkasten technique but in bigger chunks called here "modules". If I try to visualize the organization:

You do not need in any scenarios all levels above, it is just one organizational model how you could use same .org files for various degrees of generality. From highest abstraction on top, to lowest abstraction, down to claims as header outputs, and content as argument inputs, as those guys from zettelkasten.de like to use in some of their Youtube videos.

Anyway, thanks again for this fantastic org-brain (as an old The Brain user, many years ago.)

Kungsgeten commented 3 years ago

Try setting org-brain-scan-for-header-entries to t (the default). You'll have to see for yourself how much slower it is. To me org-brain is pretty fast once the entries are cached (caching takes a couple of seconds), but I currently have only 400 entries.

Yes, there are several tools for "personal knowledge management". Many seem to be inspired by "Zettelkasten" (and/or the book about it). org-brain started as a "clone" of The Brain's functionality, and thus isn't tailored toward Zettelkasten methods (but can be used as such). I haven't tried org-transclusion, but my guess is that it should work okay with org-brain.

I don't get your idea of modules, but it seems to be an aspect of workflow. If you know what you want (and how it would look in org-mode and perhaps org-brain-visualize) then it would be easier to discuss :)

michaelsjackson commented 3 years ago

No, my extra story below was just as a sharing of my use cases, maybe it would help others in future. This is how I see my organization in general. In the end a simple .org file you can use for whatever you want. It is up to the user what an .org file is or should be. As general as you want or as detailed as you want. This is the beauty of it somehow.

What I call now modules just appeared from the use of org-transclusion. You have to try it out for sure. Stop anything you do now. Try org-transclusion. :-) It is really cool. Thanks to its developer also from here if he / she will read this in 5 years. I would describe org-transclusion in my own words as follows:

I hope those comments can help future readers. Have a nice day / night.

michaelsjackson commented 3 years ago

I set your mentioned variable to t again, it is working now. Great, thanks! Will close then. But then my suggestions above will be more hidden. Well, this is how it is. Thanks. Now org-brain will be even more fun to use! Now only input, output links are missing.