Commit Graph

825 Commits

Author SHA1 Message Date
Bram Schoenmakers
56e66f92d2 Force sync: close the database before removal (#1738)
A force resync of the database does not work in Windows (Cygwin):

apply: Removing old name: Device or resource busy, /home/brschoen/.emacs.d/org-roam.db

Therefore, close the connection first and then try to remove the database file.
2021-08-04 22:07:55 +08:00
Jethro Kuan
1d03f87cd1 (docs)capture: document default-val syntax and available expansions (#1721)
Closes #1399.
2021-08-01 14:26:31 +08:00
Jethro Kuan
48d1c152f5 (feat)db: add org-roam-db-update-on-save (#1720)
Adds new variable org-roam-db-update-on-save, which when set to nil,
will disable db updates on file save. Closes #1717.
2021-08-01 14:00:16 +08:00
Jethro Kuan
e8b720faad (minor)org-roam-get-keyword: make-obsolete (#1716)
Prefer Org's org-collect-keywords over org-roam-get-keyword. This
function is not used anywhere, but perhaps some people's configurations
depend on it, so it will be left as is for now.
2021-07-31 14:36:43 +08:00
Alan Zimmerman
cf918c3d18 (fix)capture: check if file exists on disk before template insertion (#1713)
Co-authored-by: Jethro Kuan <jethrokuan95@gmail.com>
2021-07-31 03:09:13 +08:00
Michael Eliachevitch
5fc57b2e06 (minor): correct type for INFO argument in org-roam-capture docstring (#1711) 2021-07-30 17:16:16 +08:00
Jethro Kuan
829ee68860 (feat): add org-roam-extract-subtree (#1710)
Adds org-roam-extract-subtree, which converts the subtree at point
into a top-level file node. This is useful for when a node you are
expanding on gets too big, and deserves its own file.

Closes #1104, #1658
2021-07-30 14:49:32 +08:00
Jethro Kuan
127d6efa48 (feat)org-roam-format: add default-value (#1709)
Allow specification of default values in org-roam-format of the form ${key=default_val}.
2021-07-29 23:27:55 +08:00
Jethro Kuan
d3b7c9b921 (fix)capture: check for buffer existence before template insertion (#1707)
Redefine a new file to Org-roam's capture system as one that does not
have a buffer visiting it yet. This means that if a buffer is already
visiting the file, then the HEAD template will not be inserted. This is
important because Org-roam capture does not enforce the save of files,
and this can lead to scenarios where the template is inserted multiple
times to a buffer for a file that has not yet been written to disk.
2021-07-29 22:39:24 +08:00
Brian Lester
a84da59b41 (fix)tags: splitting and joining of multiple filetags (#1705)
Current, when fetching file level org tags (from the #+filetags property), multiple tags are split based on the default `split-string` separator. This is incorrect because the org documentation says that multiple file-level tags should be separated by `:` (like headline level tags). This results in a improper splitting (aka no split) of the tag string into multiple tags. This leads to the inability to delete tags that are there.

Similarly, when writing multiple filetags, the tags are joined by " " instead instead of ":" as mentioned in the org docs. This leads to improperly added tags where newly added tags would not be recognized by org.

This PR fixes both problems, parsing is done by string splitting on ":" (with the `OMIT-NULLS` parameter set to true so you don't get a null values from the fact tags start and end with `:`). Joining multiple tags is now done with the `org-make-tag-string` function instead of manually joining on space. These changes result in the ability to add and remove file level tags such that the resulting value of the `#+filetags` property is a valid tag string.
2021-07-29 18:52:07 +08:00
Jethro Kuan
3f2d42142c (fix)org-roam-id-at-point: ignore top-level excluded nodes (#1704)
Previously if a top-level file node is excluded, it would still be
picked up by org-roam-id-at-point. This adds another org-roam-db-node-p
check before returning an ID, fixing the broken behaviour. Fixes #1635.
2021-07-29 11:15:14 +08:00
Jethro Kuan
b3b6277b96 (docs): roam_key -> ROAM_REFS (#1703)
Also fixes #1697
2021-07-29 02:09:53 +08:00
Wetlize
20514b7c6d (fix)autoloads: Exclude org-roam-graphs from patched autoload cookie
`org-roam-graph` doesn't need the patch from #1673, because it sort of
lives on its own island, isolated from the rest of the codebase and can
simply do `(require 'org-roam)` when its autoload is fired.

Otherwise the autoload for this command will never end-up resolved,
because nothing `require`s it in the codebase.
2021-07-28 20:34:59 +03:00
Matt Chowning
1db4c34c8a (fix): remove invisible tag (#1641) 2021-07-28 21:41:45 +08:00
Jethro Kuan
0c24540639 (feat): allow special 'ignore key in capture template (#1701)
Allow 'ignore as a valid value in place of function
2021-07-28 20:17:59 +08:00
Jethro Kuan
1848ca2495 (fix): fix url in v2 warning (#1695)
Fixes #1689
2021-07-28 02:20:23 +08:00
Jeremy Friesen
e31ac73a4d (feat): add filter-fn and templates to interactive commands (#1693)
The rationale for this change is to allow context-specific capture
consideration.  That is to say, in my experience, when I'm working on a
project, I often want to scope my note finding and creation to that
project.  By adding `filter-fn` and `templates` I can easily craft
context-aware functions for my note-taking.

I chose to switch these to `cl-defun` to expose `&key` parameters, which I
find more useful as the method signature grows.

Closes #1681

From the Github Issue:

> Adding a `filter-fn` parameter to `org-roam-capture` and a `templates`
> parameter to `org-roam-capture` , `org-roam-node-insert`,
> `org-roam-node-find` would improve their general utility, and reduce
> fiddling with the more inner functionality of `org-roam-capture-` and
> `org-roam-node-read`
2021-07-28 02:16:00 +08:00
Jethro Kuan
33ed817826 (fix)db: skip nodes with no title (#1694)
In scenarios where a headline node has no title, skip the node instead
of erroring out. Fixes #1692.
2021-07-28 02:11:08 +08:00
Wetlize
de47f0a28d (fix)autoloads: Point autoloads to org-roam.el file (#1673)
At the current state autoloads from non `org-roam.el` unable to start
loading of the package from their own file. See the following to learn
more about the problem:

  https://github.com/org-roam/org-roam/issues/1590#issuecomment-885817825

This is no more than a workaround to bandage a more deeper underlying
problem. Until the more fundamental problem won't be fixed, all autoload
cookies from non "org-roam.el" file will need to manually point to the
main entry point of the package -- "org-roam.el" file, to load it
without causing errors.

Fixes #1590, #1620, #1600 and other similar issues.
2021-07-27 20:33:50 +08:00
Jethro Kuan
04a0fec5c1 (docs): Add intro video to README (#1685) 2021-07-27 13:28:22 +08:00
Thomas von Eyben
7723f6ca88 (fix): correct typo about v1 being incompatible with v1 (#1682) 2021-07-27 11:56:55 +08:00
Jethro Kuan
6dc8dda5e5 (fix)preview: fix link preview when headline contains link (#1676) 2021-07-26 13:48:50 +08:00
Wetlize
4455762c38 (fix)capture: Adjust the point for capture targets in missing places (#1675)
The previous fix[0] for capture targets did the right thing. However, it
didn't account that `org-roam-capture--get-point` branches to 3
different paths, where each of them set the point to a different
location, and the fix only addressed the branch in which
`org-roam-capture--goto-location` would run.

This commit adjusts the point for all other branches, which fixes a
problem where you would try to run capture to existing node with
something like `org-roam-capture` and it wouldn't set the point to the
right location; same with ref capturing through the `org-roam-protocol`.

[0]: c9bed390b6
2021-07-26 11:38:05 +08:00
Jethro Kuan
6ce07cdbf7 (fix) org-roam-get-keyword: fix for cjk characters (#1672) 2021-07-25 23:07:51 +08:00
Jethro Kuan
9acd982332 (docs): add org-id-link-to-org-use-id to FAQ (#1670)
Address a common question about Org-roam creating IDs
2021-07-25 10:31:20 +08:00
Jethro Kuan
028c95a011 (fix)migration: upgrade db to v2 before conversion (#1666)
`org-roam-migrate-v1-to-v2` requires the v2 db to already be in place,
so run `org-roam-db-sync` once first.

Fixes #1664
2021-07-24 16:54:46 +08:00
Wetlize
d1e3a5d9be (feat): formalize node dedicated buffers (#1622)
This adds the whole new section in `org-roam-mode.el` for node dedicated
buffers, with a new global command `org-roam-buffer-display-dedicated`,
which supersedes `org-roam-buffer` command.

Along the way this also refactors the code for the persistent buffers to
clean it up, make it more clear in what it does, improve its robustness,
and to make it play nice with the dedicated buffers.
2021-07-23 19:19:30 +08:00
Jethro Kuan
8e89bad945 (migration)docs: Warn requirement of at least Org 9.4 (#1663)
Closes #1661
2021-07-23 19:17:47 +08:00
Jethro Kuan
9c10a3c04c (feat)preview: improve org-roam link preview (#1655)
1. If it the link is at a headline, it shows the headline's content
instead of just repeating the headline
2. If the link is a bullet item in the plain-list, show the full list instead
2021-07-22 01:46:12 +08:00
Jethro Kuan
1aba91eacd (fix)tags: fix tags migration (#1653)
- prevent botching of existing filetags
- insert new tag list using `org-make-tag-string` (colon-delimited) for resilience

Fixes #1642.
2021-07-21 23:25:04 +08:00
Jethro Kuan
2fe233ffa0 (fix)dailies: prevent non-compliant dailies from breaking calendar (#1652)
ht @mbafford for finding the cause
2021-07-21 23:03:03 +08:00
Jethro Kuan
d9015cb931 (fix): fix org-roam-file-p crashing (#1651)
org-roam-file-p throws `wrong-type-argument stringp nil` on buffers that
do not have a corresponding file. This fix changes org-roam-file-p to
return nil instead of crashing in this scenario.

Addresses #1645
2021-07-21 20:57:59 +08:00
Jethro Kuan
7d5b7e6185 (fix): fix org-ref cite links (#1637) 2021-07-20 16:25:54 +08:00
Jethro Kuan
3ea433c09d (migration): mention org-roam-directory (#1636)
Mention the requirement to set org-roam-directory before running the
migration wizard. Closes #1624.
2021-07-20 15:17:28 +08:00
Jethro Kuan
e5c735c86a (docs): remove apt installation (#1634)
Apt installation is only valid for Org-roam v1. To be re-added when
Debian updates their repos. Closes #1631.
2021-07-20 15:10:01 +08:00
Stanley Chan
23605546d8 (docs): mention magit-section as dependency in install from source (#1618) 2021-07-19 17:30:52 +08:00
Gustavo
f50e30dd51 Include desc back in replace-match statement (#1615)
Following @jcguu95's suggestion on #1602.
2021-07-19 10:38:19 +08:00
Alexey Shmalko
a529b20a81 fix(#1575): fix display of non-ASCII in unlinked references section (#1616)
Non-ASCII characters are displayed incorrectly because
`org-roam-unlinked-references-preview-line` uses
`insert-file-contents-literally` which ignores the encoding.

Use `insert-file-contents` which does the right thing.

fixes #1575
2021-07-19 10:36:21 +08:00
Nguyễn Đức Hiếu
6cbd4ad3e8 org-roam-mode-sections -> org-roam-mode-section-functions (#1612) 2021-07-19 10:35:40 +08:00
Carwin Young
e997c017de (docs): adjusted configuration examples for backlinks buffer (#1610)
- Fixed the original example's extra parenthesis, which broke the alist.
 - Added a second example for configuring the buffer as a side window.
2021-07-19 01:31:34 +08:00
Jethro Kuan
63450e9eaf migration: proper fix for file-link replacement (#1609) 2021-07-18 23:23:04 +08:00
Jethro Kuan
da02453ab1 (fix): migration: ensure empty roam_alias is removed (#1608)
* (fix): migration: ensure empty roam_alias is removed

Addresses #1596

* fix lint
2021-07-18 23:08:59 +08:00
Wetlize
bbf1d97eb0 (refactor): move all the backward compatibility related code to org-roam-compat.el (#1595) 2021-07-18 22:50:45 +08:00
Donovan
7d9fcf5288 (docs) Replace mention of org-roam-db-build-cache with org-roam-db-sync (#1606) 2021-07-18 21:43:34 +08:00
Jethro Kuan
d0be7f3b2a (fix): allow migration for desc with backslash (#1604)
Fixes #1602
2021-07-18 19:51:05 +08:00
Sidharth Arya
363dca1765 (doc): add my braindump example (Sidharth Arya) (#1599) 2021-07-18 19:35:18 +08:00
Jethro Kuan
4c5a041556 (docs): add note on encryption (#1597) 2021-07-18 14:55:32 +08:00
Noboru Ota
5e42d854c1 (doc): Add section for C Compiler (#1593)
* (doc): Add section for C Compiler

In the Post-Installation Tasks section, I suggest to add a sub-section for the C
compiler requirement for emacsql-sqlite. I have put an explanation for Windows
-- I have tried to make it as succinct as I can without losing some fine points
that I believe important for users to avoid confusion.

I have just removed MSYS2 and the PATH on my Windows machine and repeated the
process as I described it here to confirm that it works.

Since this new part is distinct from the existing paragraphs for SQLite, I also
suggest a sub-section heading for them -- I used "SQLite" as its title.

Please feel feel to change any part as you see fit.

It might be also useful if macOS users added their parts. I believe XCode is the
easiest way to install a C compiler (I believe it would be clang for recent
XCode versions) or perhaps brew. I don't use macOS so I will refrain from adding
this part..

I did not add .texi file to this commit -- last time, I believe you had to
revise the texi file that my machine generated anyway. Let me know if I should
follow up with a texi file.

* remove reference to emacsql-sqlite3

Co-authored-by: Jethro Kuan <jethrokuan95@gmail.com>
2021-07-18 14:39:30 +08:00
Wetlize
681873759d Refactor some docstring and parameters in org-roam.el (#1594)
This mostly goes over docstrings, updating them in places where it was
outdated and adding them to places where they didn't exist or were
existed as placeholders.
2021-07-18 14:22:45 +08:00
Jethro Kuan
2168490d5a bump docs for Org-roam v2 (#1591) 2021-07-17 22:54:31 +08:00