summaryrefslogtreecommitdiff
path: root/org-roam-ui.el
AgeCommit message (Collapse)Author
2021-10-11chore(preview): merge branchesThomas F. K. Jorna
2021-10-09feat(preview): image previewingThomas F. K. Jorna
2021-10-09fix: images in previewThomas F. K. Jorna
2021-10-09fix(preview): changed from api routing to emacs serverThomas F. K. Jorna
2021-10-08feat(preview): proper file preview with api routingThomas F. K. Jorna
2021-10-07fix: make daily toggle usefulThomas F. K. Jorna
2021-10-07feat(preview): hover links + ui upgradeThomas F. K. Jorna
2021-10-06feat: filter dailes (#68)Thomas F. K. Jorna
2021-10-04feat(preview): changed text-retrieval to httpThomas F. K. Jorna
2021-09-27feat: get org text from emacsThomas F. K. Jorna
2021-09-21Merge branch 'main' of https://github.com/org-roam/org-roam-uiThomas F. K. Jorna
2021-09-21fix: make org-roam-version check more robustThomas F. K. Jorna
2021-09-19fix: make follow-mode work with indirect buffersAlois Janíček
Same as in `org-roam-buffer-p`, call `buffer-file-name` with `buffer-base-buffer` which ensures that file name is determined under all circumstances.
2021-09-15fix: #82 split windows sensibly in exwm/webkitThomas F. K. Jorna
2021-09-11fix: don't open roam buffers on top of other buffers #82Thomas F. K. Jorna
2021-09-07Note opens in new window, if current isn't RoamZediu Almos
2021-08-30fix: #78 handle pre-org-cite org-roam-dbThomas F. K. Jorna
2021-08-29feat: support org-cite and new org-roam-db citationsThomas F. K. Jorna
2021-08-24fix: changed org-roam version checkThomas F. K. Jorna
2021-08-20fix: follow mode breaks on org-capture #74Thomas F. K. Jorna
2021-08-17Extract org-roam-ui-open command from minor mode (#69)Damien Pollet
* Extract org-roam-ui-open command from minor mode The new command allows reopening the web UI without toggling the whole mode off and on again. Eliminates hardcoded port in URL string, using org-roam-ui-port variable instead. IMHO a better distribution of responsibilities: - org-roam-ui-open opens the web UI (and that may require enabling the minor mode) - org-roam-ui-mode makes web service and websocket available * misc: change function prefix to orui Co-authored-by: Thomas F. K. Jorna <[email protected]>
2021-08-16fix: #67, correctly skip non-node headlinesThomas F. K. Jorna
2021-08-16feat: link children to parent heading #62 #53 #49Thomas F. K. Jorna
2021-08-16feat: support all citationsThomas F. K. Jorna
2021-08-16chore: build and mergeThomas F. K. Jorna
2021-08-16fix:#65 include citet and citep keywordsThomas F. K. Jorna
2021-08-10Fix: #58Thomas F. K. Jorna
2021-08-09Lighter name should be prefixed by space (#54)Bram Schoenmakers
Convention appears to be that the name is prefixed by a space, not suffixed.
2021-08-09fix: #56 org-preformat-keywords not containing keywordsThomas F. K. Jorna
2021-08-09fix: mostly pass checkdocThomas F. K. Jorna
2021-08-09chore: updated emacs version dep to 27.1Thomas F. K. Jorna
2021-08-08feat: much smoother local modeThomas F. K. Jorna
2021-08-07fix: correct label background text and .el cleanupThomas F. K. Jorna
2021-08-07fix: no bare boundp in ifletThomas F. K. Jorna
2021-08-06fix: set orb-keywords if not thereThomas F. K. Jorna
2021-08-05Merge branch 'main' into mainBrian Lester
2021-08-06feature: custom browserThomas F. K. Jorna
2021-08-06feature: warning when people are not using proper org-roamThomas F. K. Jorna
2021-08-06features!: context menu, better ui, and smoother updatesThomas F. K. Jorna
2021-08-05fix: update notes smoothlyThomas F. K. Jorna
2021-08-05feature: context menu and slightly less jumpy graphThomas F. K. Jorna
2021-08-04Add the ability to retitle reference notes with bibliographyBrian Lester
information. This change adds the ability to update the title of notes that have a `:ROAM_REFS:` property and an associated bibtex entry. The new title will be created by `orb--pre-expand-template` and the `org-roam-ui-ref-title-template`, just like citation nodes that don't have associated nodes. This also requires that `org-ref` be loaded, otherwise it falls back to the original title. I put this behind another customizable variable in case it gets slow or a user wants to title reference nodes with the title they actually have in the node. Currently the handing of citation links throughout `org-roam` and `org-roam-bibtex` is rather scatter and seems rather brittle. At version points, different code processes the `:ROAM_REF:` filed differently, and it seems mostly because the fact that the default citation format `cite:%s` is so simple is why it works. For example, when inserting a ref into the database, org-roam uses the `org-link-plain-re` regex to normalize the reference. This results in the `cite:` being removed. When processing a link, it depends on the fact that `org` itself has split the link to `:type` and `:path`. The `:path` (without the `cite:`) is then inserted. In `org-roam-bibtex` they use `org-ref-cite-re` to remove the `cite:`, turning it into a key that is in the bibliography. In the PR, I followed the `org-roam-bibtex` method, parsing the `:ROAM_REFS:` property directly. We could also update the db node query to do a left outer join on the refs table. We then would have a new `refs` field on the node (we wouldn't need to send this over the wire) that is already formatted the way the database (and `org-roam-bibtex`) expect it to be. Then we wouldn't need to worry about our parsing getting out of sync with the other libraries. We would end up having to deal with multiple rows for the same node if it has multiple `refs`. I can look into a solution like this is we want. Another small thing to note, is that `:ROAM_REFS` doesn't have to specifically be a citation key for a bibliography. The examples have things like linking to google.com and then that is a reference where links to google can send you to your google note. In the UI we just check if `:ROAM_REFS:` is a there or not to making something a citation. Eventually we may want to actually include the `type` field from the `refs` table and make our decision based on that instead.
2021-08-04Allow user styling of citation nodes via templates.Brian Lester
This change updates the way that the title field is created for a citation node without an underlying node. Instead of manually calling `orb-bib-entry-get-value-function` and building the title via concatenation, it uses `orb--pre-xpand-template` to create a title. The template used can be customized with the `org-roam-ui-ref-title-template` variable.
2021-08-04feature: changed title format & default settingThomas F. K. Jorna
2021-08-03Use `org-roam-bibtex` to find titles for node-less cite nodes.Brian Lester
This change uses `org-roam-bibtex` (if it and it's dependencies are installed) to look up the cite links that do not have an associated node in the bibliography. This feature also needs to be enabled by setting `org-roam-ui-find-ref-title` variable to `'t`. This uses `fboundp` and `boundp` to check if `org-roam-bibtex` is installed, this are the same kinds of checks that projectile uses to decide between backends like helm or ivy, so it seems like a reason approach. I currently have only tested on my personal graph which only has around 10 node-less cite links, so I don't know how drastically this would slow things down. Given that bibliography entries are not updated often it think it would be safe to cache the titles based on the ref, then only the initial load of the graph would be slow. Later, adding a cite link to a new entry would get looked up, but that wouldn't be a huge cost. We could either roll our own with a hash table or bring in a [memoization library](https://github.com/skeeto/emacs-memoize)
2021-08-02Process org-roam-bibtex citations links differently depending on if theyBrian Lester
have an associated node. It is easy to imagine how overlapping citations could clue one into connections about otherwise un-related work and generate insights. However, `org-roam-ui` currently only shows citation links when the `target` of the link has an associated node, that is, a node with a matching `:ROAM_REFS:` property. Often one doesn't have a note for every single thing they cite, and requiring them to create an empty note is a bad user experience and something that would often be forgotten. Without having citations links without associated nodes, connections in a users notes will most likely be missed. This change splits the handling of `org-roam-bibtex` citations links into two categories, a citation link (when the target of the link does not have an associated node, a node with a matching `:ROAM_REFS:`) and a reference link (when the target of the link does have a node). Reasoning for the naming is that a citation in a paper is generally just a link to it, there is no extra commentary from you when that link if followed, while a reference sound more like something you would refer to for information, i.e. the notes you took in the attached node. I am willing to flip the names if we want though. Citations and References are customizable separately, with new menu items for node/link color and dashed links added for Reference links. A new filter option has also been added, the new switch `Citations without note files` will remove all Citation nodes (and links to them) when activated. On the emacs side, this in implemented by using a new link type keyword, `"ref"`, for any cite link where the target has an underlying node (a node with a matching `:ROAM_REFS:` property). Links with this new type are styled according to the new Ref styles in the UI. Any cite link where the target does _not_ have an underlying node is left as a `"cite"` link. Additionally, this set of link targets without associated nodes is used to create fake nodes. These fake nodes have the `ref` key (the link target) as their `id`, `file`, `title`, and `.properties.ROAM_REFS`. Their `level` is set to `0`, and a new property, `FILELESS`, is set to `t`. Their id is used for actually connecting links in the UI, and the new `.properties.FILELESS` is used to styling a Citation vs a Reference node. Theoretically, if we wanted to depend on `org-roam-bibtex`, and pay the cost of look up citation information in the bibliography, we could use the citation key to look up an actual title in the bibtex bibliography during node creation, but that seems like it could get heavy for large numbers of citations.
2021-08-02feature: tag filtering lotic and uiThomas F. K. Jorna
2021-08-02build: citelinksThomas F. K. Jorna
2021-08-02feature: citation optionsThomas F. K. Jorna
2021-08-02feature: open org-roam-ui by defaultThomas F. K. Jorna