Rudimentary Roam replica with Org-mode
In this release, we improved the linking process by achieving feature parity between links to files and links to headlines. Before, we used the file:foo::*bar
format to link to the headline bar
in file foo
, but this was prone to breakage upon renaming the file or modifying the headline. This is not the case anymore. Now, we use org-id
to create IDs for those headlines, which are then stored in our database to compute the relationships and jump around. Note that this will work even if youโre not using org-id
in your global configuration for Org-mode.
This is a major step forward. Supporting the in-file structure of Org-mode files means that we can interface with many of its core-features like TODOs, properties, priorities, etc. UX will have to be figured out, but this release ushers in a new age in terms of functionalities.
We also add org-roam-unlinked-references
, which naively finds text that could be references to the current Org-roam file.
emacsql-sqlite3
instead of emacsql-sqlite
for better Windows compatibility. This requires the presence of the standard sqlite3
binary on your machine.org-roam-buffer-no-delete-other-windows
in favour of org-roam-buffer-window-parameters
.org-roam-unlinked-references
org-roam-doctor
checkers for ROAM_*
propertiesrg
and find
in org-roam--list-files
ROAM_KEY
property or org-ref
is not installedorg-roam
directoryMany thanks to those who have been participating actively and helping make Org-roam better. (shoutout to @TimQuelch , @nobiot , @alan-carroll!)
In this release, we added two new features:
org-roam-doctor
: a linting system that helps you discover possible problems with your Org-roam files. This is in the spirit of keeping notes in top quality.#+ROAM_TAG
key add additional meta data to notes. For more information, see here.As usual, this release comes with a multitude of bug-fixes and refactorings.
org-roam-completion-fuzzy-match
in favor of using completion mechanism's configuration options directlyorg-roam-db--maybe-update
, in favour of org-roam-db--update-maybe
org-roam-title-include-subdirs
, org-roam-title-subdir-format
org-roam-title-subdir-separator
, for a more general tagging system built on subdirectoriesorg-roam--extract-links
to ensure that multiple citations (cite:key1,key2
) are split correctlyorg-roam-db-build-cache
for forcing rebuildsorg-roam-doctor
to diagnose org-roam filesorg-roam-title-sources
to control how titles are retrieved within notesorg-roam-tag-sources
controls how tags are retrieved from notesTo the average user, this release is mainly a bugfix release with additional options to customize. However, the changes made to the source is significant. Most notably, in this release:
org-ref
natively: cite links now show up in both the graph and the org-roam buffer.In the coming months, you can expect work on bigger projects (e.g. revamping the org-roam buffer).
org-roam-graph-node-shape
in favour of org-roam-graph-node-extra-config
.org-roam-date-filename-format
and org-roam-date-title-format
, in favour of org-roam-dailies-capture-templates
.org-roam-db-location
to customize location of org-roam database.org-roam-verbose
to allow or silence printing of information.org-ref
cite:
linksorg-roam-buffer-position
to also be top
or bottom
org-roam-graph-node-extra-config
to configure Graphviz nodesorg-roam-graph-edge-extra-config
to configure Graphviz edgesorg-ref
citations to display as edges in graph. Add org-roam-graph-edge-cites-extra-config
to configure these edgesorg-roam-file-extensions
to allow detection of org files with different file extensionsorg-roam-graph-viewer
file-truename
behaviour in org-roam--org-roam-file-p
.Org-roam is now on MELPA! We have squashed most of the bugs, and Org-roam has been stable for the most part.
org-roam-graphviz-extra-options
company-org-roam
org-roam-completion-system
with options 'default
, 'ido
, 'ivy
and 'helm
org-roam-fuzzy-match
to allow fuzzy-matching of candidatesorg-roam-date-title-format
and org-roam-date-filename-format
for customizing Org-roam's date filesorg-roam-graph-exclude-matcher
org-roam-find-file
org-roam-directory
is set locallyThis is a pre-release before the push to MELPA. It contains large
internal changes, with little user-facing changes. Most notably, the
backing storage has been changed to a SQLite database, and a
templating system using org-capture
is introduced.
#+ROAM_ALIAS
.org-roam-show-graph
, to generate graph without opening it.org-roam-graph-exclude-matcher
, which allows exclusion of nodes from graph.This release brings with it some breaking changes, but as a whole the project feels a lot more stable.
org-roam-mode
is now a global mode. The installation instructions have changed accordingly.org-roam-file-format
to a function: org-roam-file-name-function
to allow more flexible file name customizaton. Also changes org-roam-use-timestamp-as-filename
to org-roam-filename-noconfirm
to better describe what it does.org-roam-show-graph
: Fallback to Emacs SVG viewerorg-roam-new-file-directory
for new Org-roam filesorg-roam-switch-to-buffer
org-roam-insert
, for inserting titles down-cased<return>
or mouse-1
in the backlinks buffer visits the source file of the backlink at pointorg-roam
was called fromorg-roam--parse-content
incorrect :to
computation for nested filesorg-roam--find-file
picking up temporary filesWe have a bunch of new contributors to this project, which is nice! Glad to transform this into a community effort.
Another release in 3 days?! I wasn't very happy with the state of the first release, so I'm cutting a new one. It's mostly a documentation and cleanup release, with no new features.
There's now a new documentation page, and CI is now enabled.
org-roam-use-timestamps-as-filename
and org-roam-file-format
, more in documentation.This tag marks the first stable-ish release of Org-roam. A lot of things were learnt when building this, and I still plan to make big changes to the project while it is still in its infancy. If you have already built a workflow around this release (hopefully not), you can continue using it as is.
From this point on, I'll be maintaining a proper changelog, and master branch will be the stable branch.