Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
- Add installing `simple-httpd`
I had an error loading org-roam-ui (on Emacs 27.2 vanilla)
- Remove `(require 'webisocket)
Redundant; it's required at the top of org-roam-ui)
I confirm that this works on my end -- Emacs 27.2 vanilla on Windows.
Thank you.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Allow user styling of citation nodes via templates.
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.
* Add the ability to retitle reference notes with bibliography
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
* Add basic CI
* Fix CI credentials
* fix
* Use https:// instead of ssh://git
* Fix
* Add suggesting steps and badge
|
|
Use `org-roam-bibtex` to find titles for node-less cite nodes.
|
|
|
|
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)
|
|
Process org-roam-bibtex citations links differently depending on if they have an associated node.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|