Comments (6)
@JonatanSahar I have something simple and very hackish that may work for you. I am not very good at elisp.
(defun rlct/denote--pretty-format-filename (file)
(let* (
(title (denote-retrieve-filename-title file))
(keywords (denote-extract-keywords-from-path file))
(keywords-as-string (mapconcat 'identity keywords ", "))
)
(concat title " " "(" keywords-as-string ")" )
)
)
(defun rlct/denote--find-file-with-pretty-format (&optional initial-text)
(interactive)
(let* (
(paths (mapcar #'(lambda (file)
(cons (rlct/denote--pretty-format-filename file) file))
(denote-directory-files)))
(filename (cdr (assoc (completing-read "Select a file: " paths nil t) paths)))
)
filename
)
)
(defun rlct/denote-link()
(interactive)
(let ((denote-file-prompt 'rlct/denote--find-file-with-pretty-format))
(advice-add 'denote-file-prompt :around denote-file-prompt)
)
(call-interactively 'denote-link)
(advice-remove 'denote-file-prompt 'rlct/denote--find-file-with-pretty-format)
)
Instead of calling denote-link
, you can call rlct/denote-link
which shows better formatted titles and keywords. You can customize rlct/denote--pretty-format-filename
function to make it whatever way you like (add colors, faces etc). I use Vertico
, Consult
and so on family of packages and completing-read works well for me.
consult-notes
uses denote-retrieve-title-value
also to get "true" titles from the file, however, in my setup with 600+ notes I found it to be slow (understandably). Hence, I am just using denote-retrieve-filename-title
which just converts the filename into something better looking and doesn't read the actual titles from the files. You can use denote-retrieve-title-value
if you really want to.
from denote.
Hello @JonatanSahar!
In principle, consult-notes
or anything consult
related can be used for this task. I still want to experiment with consult-notes
but have not found the chance to do so. If an existing user reads this, maybe they have an idea on how to go about providing this facility.
from denote.
from denote.
Just an update on my previous comment.
however, in my setup with 600+ notes I found it to be slow (understandably).
I just tested with the latest consult-notes
and its not slow anymore. I will check its source again and see if something has changed.
from denote.
Hi!
There's some bug with the code which prevents the creation of a new note when entering a new name - I get [match required] instead of [confirm] when I use your code to wrap around denote-link-or-create
like so:
(defun my/denote-link-or-create()
(interactive)
(let ((denote-file-prompt 'my/denote--find-file-with-pretty-format))
(advice-add 'denote-file-prompt :around denote-file-prompt)
)
(call-interactively 'denote-link-or-create)
(advice-remove 'denote-file-prompt 'my/denote--find-file-with-pretty-format)
)
Which also persists when I call denote-link-or-create
directly - even though the advice is removed...
from denote.
@JonatanSahar Thanks for updating the code. I actually never tried creating a new note that way. My work-flow is mostly through org-capture
.
from denote.
Related Issues (20)
- Providing a way to extend the content of the backlinks buffer ? HOT 5
- "denote:" link for non-note files doesn't open HOT 22
- Adding denote-keywords-add and denote-keywords-remove as call able function HOT 14
- denote--get-silo-path: Symbol’s function definition is void: file-name-parent-directory HOT 7
- denote-file-types plist now has 11 elements and not 8 HOT 1
- defuns for implementing a zettelkasten in denote. HOT 14
- Selecting a non-denote file navigates to only to denote files with `denote-link-find-file` minibuffer HOT 1
- `denote-link-or-create` enters path instead of note name into title history HOT 5
- add a way to use `denote-link-or-create` programmatically HOT 3
- Delimiters in signatures HOT 6
- denote-rename-file-using-front-matter doesn't work since last update HOT 5
- double `#+title ` when called through keybinding but not through `M-x` HOT 12
- backlinks buffer doesn't support non-latin characters HOT 19
- [feature request] Only display TITLE in tabs HOT 19
- is there a way to skip the "file title" prompt when using the function denote-open-or-create HOT 2
- How to open denote links outside of denote when the note is located in a silo? HOT 2
- parenthesis are stripped from the title including thier content when creating file name HOT 1
- How to stop denote-dired-rename-marked-files from prompting for pdf files? HOT 3
- The denote-find-link is the new name of denote-link-find-file, as part of 2.0.0-dev.] HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from denote.