diff --git a/CHANGELOG.org b/CHANGELOG.org index 5a5acd0..46b2267 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -13,6 +13,497 @@ the manual: . #+toc: headlines 1 insert TOC here, with one headline level +* Version 4.2.0 on 2026-05-20 +:PROPERTIES: +:CUSTOM_ID: h:68f86f8a-928d-4a1e-b83c-62c648753965 +:END: + +This version brings several improvements to the core ~denote~ package +as well as all the Denote extensions I maintain. The core package is +stable, its feature set is rich, and the wider ecosystem of extensions +is growing. + +Most of the changes documented herein are of interest to experienced +users who may be looking for ways to refine their workflow. I +recommend that new users start with the basics, as I explained them in +the original video demonstration of Denote or as they are documented +in the manual's section for newcomers: + +- Webpage :: . +- Info manual :: With the latest ~denote~ package installed, evaluate =(info "(denote) Getting started with Denote")=. + +Remember that the release notes are true only at the time of +publication. The single source of truth is the official manual. + +** Core Denote +:PROPERTIES: +:CUSTOM_ID: h:cc1daf10-2335-4f81-93f4-e5b29929a670 +:END: +*** Overview of the new features +:PROPERTIES: +:CUSTOM_ID: h:7a5e8f4c-1d2b-4c3e-8a9d-0f1e2d3c4b5a +:END: + +- The command ~denote-dired-focus~ will filter the results of an + existing ~denote-dired~ buffer. Use this to narrow down the results. + +- In Org files, the =denote:= link type can now be previewed using the + built-in ~org-link-preview~ command, starting with Org version + =9.8.0=. + +- The command ~denote-link-or-create-with-command~ extends the + existing convenience functions of the "do or create note" kind. + +- The ~denote-file-prompt~ uses completion metadata to sort by most + recently accessed, group by directory or file extension, and cover + packages that display cosmetic icons alongside completion + candidates. + +- Denote now enforces a controlled vocabulary for keywords when + ~denote-infer-keywords~ is set to ~nil~, such that only the + ~denote-known-keywords~ are provided as an option at the relevant + prompts. + +- The mechanism for integrating Denote with ~org-capture~ now supports + prompting for an signature via ~denote-org-capture-with-prompts~ + (the signature is an optional, free-form component of the Denote + file-naming scheme). + +- Several packages that extend Denote are documented in the manual. If + you have a package for Denote, let me know and I will write a + section about it. + +*** Focus a ~denote-dired~ buffer with ~denote-dired-focus~ +:PROPERTIES: +:CUSTOM_ID: h:5e4d3c2b-1a0e-9d8c-7b6a-5f4e3d2c1b0a +:END: + +The command ~denote-dired~ produces a Dired listing of file names that +match the given regular expressions. Users can benefit from the Denote +file-naming scheme to, for example, include all files that have the +keyword =_emacs=. In the resulting Dired buffer, the new command +~denote-dired-focus~ can then be invoked to further narrow down the +results, such as to only show files that have =2026= in their file +(with default settings, the date is part of the Denote identifier). + +I implemented this feature in response to issue 693 by 82Kang: +. + +*** Improvements to the file prompt +:PROPERTIES: +:CUSTOM_ID: h:2b1a0e9d-8c7b-6a5f-4e3d-2c1b0a987654 +:END: + +Various Denote commands prompt for a file name: for instance, +~denote-link~ asks which file to link to. This file prompt is now +augmented with completion metadata that transform how files look and +how the information is organised. + +Before, the prompt presented full file names like: + +: 20220610T043241--initial-thoughts-on-the-zettelkasten-method__notetaking.org +: 20220610T062201--define-custom-org-hyperlink-type__denote_emacs_package.md +: 20220610T162327--on-hierarchy-and-taxis__notetaking_philosophy.txt + +Those same file names are now transformed to look like this: + +: 2022-06-10 initial-thoughts-on-the-zettelkasten-method notetaking +: 2022-06-10 define-custom-org-hyperlink-type denote_emacs_package +: 2022-06-10 on-hierarchy-and-taxis notetaking_philosophy + +The files will be grouped by file extension or directory (if they are +in a subdirectory of the ~denote-directory~). Furthermore, they will +be sorted by most recently accessed. + +The underlying file names are still available except that their +presentation is modified. This means that input at the minibuffer +prompt will still match everything they contain. + +This completion metadata extends to the packages ~all-the-icons~ and +~nerd-icons~, which are now instructed to add the correct file icons +to the completion candidates: an Org file will have the unicorn icon +beside it, for example. + +Users who do not like the new style can revert to the plain +presentation by setting ~denote-file-prompt-extra-metadata~ to ~nil~. + +Advanced users who wish to set up the ~completion-category-overrides~ +may target the ~denote-file~ completion category or, anyhow, modify +the ~denote-file-prompt-extra-metadata~. + +*** Link to a file or create a new note using a specific command +:PROPERTIES: +:CUSTOM_ID: h:3c2b1a0e-9d8c-7b6a-5f4e-3d2c1b0a9876 +:END: + +Denote provides many "convenience wrapper" commands that do something +quickly which can also be achieved with minimal configuration. For +example, the ~denote~ command may be modified to also prompt for a +file type and so the ~denote-type~ command is like ~denote~ with the +addition of the file type prompt. Users can look at the source code of +~denote-type~ to write their own small variations (the manual provides +several examples as well). + +The ~denote-open-or-create-with-command~ may then use those to +implement its specified behaviour of "open an existing file or create +it using a convenience wrapper command". + +Same principle for the new ~denote-link-or-create-with-command~: it +makes possible the workflow of "link to an existing file or create a +new note with the given command". + +Convenience wrappers are listed in the value of the user option +~denote-commands-for-new-notes~. + +Thanks to Matthew Batson for building on top of existing functionality +to contribute ~denote-link-or-create-with-command~ in pull request +674: . Matthew has +assigned copyright to the Free Software Foundation. + +*** Preview =denote:= links in Org files +:PROPERTIES: +:CUSTOM_ID: h:4d3c2b1a-0e9d-8c7b-6a5f-4e3d2c1b0a98 +:END: + +Starting with Org version =9.8.0= custom link types such as =denote:= +can implement their own preview mechanism. In practice, this means +that =denote:= links pointing to image files will now work as expected +with ~org-link-preview~ (remember that the Denote file-naming scheme +can be applied to any file and is in no way specific to +note-taking---I use it for documents and videos, for example). + +Thanks to Samuel W. Flint for the original contribution in pull request 683: +, with further changes +by me. The original contribution is small, meaning that Samuel does +not need to assign copyright to the Free Software Foundation. + +*** Signature support in Org capture +:PROPERTIES: +:CUSTOM_ID: h:1a0e9d8c-7b6a-5f4e-3d2c-1b0a98765432 +:END: + +The ~denote-org-capture-with-prompts~ function now supports the +signature file name component as an additional parameter. This +function is meant to be used in tandem with the ~org-capture~ +mechanism, as shown in the manual. + +Thanks to Tobias Lidman-Strauss for the contribution in merge request +2 on the GitLab mirror: . +The change is small, meaning that Tobias does not need to assign +copyright to the Free Software Foundation. + +*** The ~denote-fontify-links-mode~ is only relevant for =.txt= files +:PROPERTIES: +:CUSTOM_ID: h:0e9d8c7b-6a5f-4e3d-2c1b-0a9876543210 +:END: + +The =denote:= links are automatically highlighted as links in Org and +Markdown bufers. Users who prefer to write notes in plain =.txt= files +must enable the ~denote-fontify-links-mode~ to get the same effect. + +I have revised ~denote-fontify-links-mode~ to only work with =.txt= as +its other users were not necessary. In the process, I have deprecated +the ~denote-fontify-links-mode-maybe~ function: just use the ~denote-fonftify-links-mode~. + +The keys =RET= and =C-c C-o= open the link (same keys used by Org and +Markdown modes). + +*** Growing ecosystem of Denote packages +:PROPERTIES: +:CUSTOM_ID: h:9d8c7b6a-5f4e-3d2c-1b0a-9876543210fe +:END: + +In the Denote manual I mention packages that build on top of Denote. +There is one section for each package. The manual now includes the +following: + +- ~denote-agenda~ (by Samuel W. Flint) :: Use Denote notes as Org agenda files. +- ~denote-journal-capture~ (by Samuel W. Flint) :: Enhanced journaling workflows. +- ~denote-lint~ (Peter Smith) :: Checks for inconsistencies in Denote file names and front matter. +- ~denote-project-notes~ (by Samuel W. Flint) :: Integrate Denote with Emacs' built-in project support. +- ~denote-regexp~ (by Samuel W. Flint) :: Search and link notes using regular expressions. +- ~denote-review~ (by Matto Fransen) :: A package for reviewing notes over time. +- ~denote-sections~ (by Samuel W. Flint) :: Manage sections within Denote notes. +- ~denote-wordcloud~ (by Alexander Kuzmin) :: Generate word clouds from Denote notes. + +*** Miscellaneous +:PROPERTIES: +:CUSTOM_ID: h:8c7b6a5f-4e3d-2c1b-0a98-76543210fedc +:END: + +- The command ~denote-dired~ (alias ~denote-sort-dired~) is refactored + to work as intended in all cases. Thanks to kilesduli for the + contribution in pull request 666: . + Further changes by me, including the option to maintain many + separate ~denote-dired~ buffers, which I did in response to issue + 693 by 82Kang: . + +- I have revised the ~denote-grep~ mechanism and all of its ancillary + functions and variables are revised in the interest of consistency + and maintainability. Thanks to gnuhack for contributing a macro that + was meant to streamline some commands. This was done in pull request + 697: . I eventually + changed lots of things so that the macro was not relevant anymore, + though mine was a change with a wider scope. + +- The Org link storage mechanism (~denote-link-ol-store~) now works + correctly within ~org-capture~ buffers, allowing for more flexible + linking workflows. + +- Following non-Denote Markdown links no longer result in an error + under certain circumstances. Thanks to bplubell for the contribution + in pull request 685: . + The change is small, meaning that its author does not need to assign + copyright to the Free Software Foundation. + +- Retrieving front matter is now more reliable, even when the buffer + is unsaved. Thanks to kilesduli for the contribution in pull request + 672: . Also thanks + to Jean-Philippe Gagné Guay for reviewing the change and for + reporting a problem with an earlier version of the code in issue + 670: . Further + changes by me. + +- The various Denote rename commands that affect the front matter in + files no longer change existing spacing. I did this to address the + comment posted by Morten Kjeldgaard in issue 703: . + +- Updated the documentation to explain how to automatically encrypt + new notes when using a custom file type. + +- Refined the internal helper functions for directory management and + identifier validation. + +- Thanks to nescias for fixing three typos in the manual. This was + sent to me as a patch, which I installed as commit =c772378=. + +*** Changes to the extensions of Denote I maintain +:PROPERTIES: +:CUSTOM_ID: h:6e7f8a9b-0c1d-2e3f-4a5b-6c7d8e9f0a1b +:END: + +This is about packages I maintain. Some of them were originally part +of the denote.git repository, but I moved them out into their own +packages to make everything easier to reason about. + +**** ~consult-denote~ version 0.5.0 +:PROPERTIES: +:CUSTOM_ID: h:1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d +:END: + +- Package name (GNU ELPA): ~consult-denote~ +- Official manual: +- Change log: +- Git repository: +- Backronym: Consult-Orchestrated Navigation and Selection of + Unambiguous Targets...denote. + +- References to the long-obsolete "denote-silo-extras-" prefix are + replaced by "denote-silo-". Thanks to IT Ascalium for the + contribution in pull request 20: . + The change is small, so its author does not need to assign copyright + to the Free Software Foundation. + +- The ~consult-denote-file-prompt~ correctly handles relative file + paths when ~denote-directory~ is set to a list of directories. This + is what the underlying ~denote-file-prompt~ does (which I mentioned + above about its metadata). Thanks to Kai von Fintel for the + contribution in pull request 24: . + The change does not require copyright assignment. + +**** ~denote-merge~ version 0.1.0 +:PROPERTIES: +:CUSTOM_ID: h:c877c108-9d57-4b54-a16f-fbeb8c92fa16 +:END: + +- Git repository: +- Official manual: +- Backronym: Denote... Merging Eventually Reformats the Given Entries. + +This is an optional extension to the ~denote~ package. It provides +commands and relevant user options to streamline the work of merging +contents from one Denote file to another. This is for users who +periodically review their notes to add, remove, or otherwise +consolidate their accumulated knowledge. + +**** ~denote-journal~ version 0.3.0 +:PROPERTIES: +:CUSTOM_ID: h:2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e +:END: + +- Package name (GNU ELPA): ~denote-journal~ +- Official manual: +- Git repository: +- Backronym: Denote... Journaling Obviously Utilises Reasonableness + Notwithstanding Affectionate Longing. + +- The user option ~denote-journal-keyword~ now supports a ~nil~ value, + allowing users to create journal entries without a specific keyword. + Thanks to nescias for sending me the patch via email, which I + installed as commit =d4cc501= in denote-journal.git. The change does + not require copyright assignment. + +- Fixed an issue about how the function ~denote-directory-files~ was + used. Thanks to Donald Brady for reporting the bug in issue 656 on + the main Denote repository and to kamchy for confirming the problem: + . The approach was + utlimately revised in denote.git courtesy of a change by + Jean-Philippe Gagné Guay in pull request 661: + . + +**** ~denote-markdown~ version 0.3.0 +:PROPERTIES: +:CUSTOM_ID: h:3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f +:END: + +- Package name (GNU ELPA): ~denote-markdown~ +- Official manual: +- Git repository: +- Backronyms: Denote... Markdown's Ambitious Reimplimentations + Knowingly Dilute Obvious Widespread Norms; Denote... Markup + Agnosticism Requires Knowhow to Do Only What's Necessary. + +- The package defines a =markdown-obsidian= file type which can be + used by relevant note-creating commands, such as ~denote~ or the + convenience wrapper ~denote-type~. This file type is updated to be + more robust, in accordance with some changes in core Denote (I am + not even documenting those, as they are not intended for users). + +**** ~denote-org~ version 0.3.0 +:PROPERTIES: +:CUSTOM_ID: h:4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a +:END: + +- Package name (GNU ELPA): ~denote-org~ +- Official manual: +- Git repository: +- Backronym: Denote... Ordinarily Restricts Gyrations. + +- The command ~denote-org-link-to-heading~ now supports linking to the + current file when called with a prefix argument. This way, a file + can have links between its headings. Thanks to Tonus for pointing + out that it was impossible to create a link inside the current file. + This was done in issue 17: . + +- A helper function for retrieving the backlinks of a heading is + updated to return full file paths. Thanks to Vedang Manerikar for + the contribution in pull request 20: . + Vedang has assigned copyright to the Free Software Foundation. + +- Another helper function is updated to conform with changes to core + Denote with regard to how the ~denote-link-description-format~ is + handled. Thanks to Jung Han for reporting the bug in issue 21: + . + +**** ~denote-silo~ version 0.3.0 +:PROPERTIES: +:CUSTOM_ID: h:6f7a8b9c-0d1e-2f3a-4b5c6d7e8f9a0b1c +:END: + +- Package name (GNU ELPA): ~denote-silo~ +- Official manual: +- Git repository: +- Backronym: Denote... Silos Insulate Localised Objects. + +The minibuffer prompt for silo directories uses the corrent completion +category (consistent with what I mentioned above about completion +metadata). Thanks to Wilf-bog for reporting an error with the +completion prompt in issue 1: . + +**** ~denote-sequence~ version 0.3.0 +:PROPERTIES: +:CUSTOM_ID: h:5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b +:END: + +- Package name (GNU ELPA): ~denote-sequence~ +- Official manual: +- Git repository: +- Backronym: Denote... Sequences Efficiently Queue Unsorted Entries + Notwithstanding Curation Efforts. + +This package deserved its own release notes, as I did a lot of work on +it. But as this file is already long, I will focus on the essentials: + +- The ~denote-sequence-scheme~ used to support a =numeric= and + =alphanumeric= option. There now is a third one called + =alphanumeric-delimited=. It combines features from the other two + and may be better suited for especially long/intricate sequences. + +- The ~denote-sequence-reparent~ command now works recursively to + produce the desired consequences to all descendants of a given + sequence note. Thanks to Peter Prevos for the contribution in pull + request 13, which further changes by me: + . + +- The command ~denote-sequence-view-hierarchy~ produces a bespoke + buffer with all the sequence notes that form a hierarchy. The buffer + displays file titles, the concomitant sequence, and file keywords. + Each level of depth is expressed by a number of spaces, controlled + by the user option ~denote-sequence-hierarchy-indentation~. In the + hierarchy buffer, there are commands that move to the next/previous + item, or forward/backward at the same level of depth. =RET= opens + the file at point, =TAB= folds/unfolds the tree. The user option + ~denote-sequence-hierarchy-move-and-open~ controls whether motion + commands should automatically open the file, which by default + happens in the other window (users who modify the variable + ~denote-open-link-function~ will get the specified behaviour in this + context as well). The ~denote-sequence-view-hierarchy~ can be called + with one or two prefix arguments to limit to a given sequence prefix + and/or level of depth (something that ~denote-sequence-dired~ also + supports). In short, this is a way to visualise your sequence notes + in a buffer that has a different presentation than Dired. + +- Thanks to alan-w-255 for renaming and refining a prompt that is also + used in the hierarchy feature. This was done in pull request 15: + . The change + is small, meaning that its author does not need to assign copyright + to the Free Software Foundation. Further refinements by me. + +- Thanks to Nicolas Semrau for binding =q= to ~quit-window~ in the + ~denote-sequence-hierarchy-mode-map~. This was done in pull request + 20: . The + change is small, meaning that Nicolas does not need to assign + copyright to the Free Software Foundation. + +- The ~denote-sequence-file-prompt-extra-metadata~ is the functional + equivalent of the aforementioned ~denote-file-prompt-extra-metadata~. + +- Thanks to liyingzhi for pointing out an inaccurate comment in the + docstring of ~denote-sequence-scheme~. This was done in issue 18: + . + +- The ~denote-sequence-dired~ is updated to align with the modalities + of ~denote-dired~, as noted above. Thanks to juh for reminding me + about the need for changes in issue 14: . + +- Thanks to Stefan Monnier for pointing out a stylistic mistake in an + older version of ~denote-sequence-dired~. This was done on the + emacs-devel mailing list: . + Also thanks to Stefan for telling me about some other compiler + warnings: . + +*** Git commits +:PROPERTIES: +:CUSTOM_ID: h:7b6a5f4e-3d2c-1b0a-9876-543210fedcba +:END: + +#+begin_src sh +~/Git/Projects/denote $ git shortlog 4.1.0..4.2.0 --summary --numbered + 184 Protesilaos + 4 duli + 3 Jean-Philippe Gagné Guay + 3 Matthew Batson + 2 alvmts + 2 gnuhack + 1 Alvin Hsu + 1 Matto Fransen + 1 Samuel W. Flint + 1 Tobias Lidman-Strauss + 1 bplubell + 1 gvalson + 1 nescias +#+end_src + * Version 4.1.0 on 2025-10-17 :PROPERTIES: :CUSTOM_ID: h:385847d5-4990-4c1f-9869-82113fe1b47f diff --git a/README.org b/README.org index dc95e90..d91ab5c 100644 --- a/README.org +++ b/README.org @@ -4,9 +4,9 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 4.1.0 -#+macro: release-date 2025-10-17 -#+macro: development-version 4.2.0-dev +#+macro: stable-version 4.2.0 +#+macro: release-date 2026-05-20 +#+macro: development-version 4.3.0-dev #+export_file_name: denote.texi #+texinfo_filename: denote.info #+texinfo_dir_category: Emacs misc features @@ -996,7 +996,6 @@ Otherwise, it produces a minibuffer prompt for every non-nil value that corresponds to the =TITLE=, =KEYWORDS=, =SUBDIRECTORY=, =DATE=, =TEMPLATE=, and =SIGNATURE= arguments. The prompts are those used by the standard ~denote~ command and all of its utility commands ([[#h:17896c8c-d97a-4faa-abf6-31df99746ca6][Points of entry]]). -[ The =SIGNATURE= was missing in previous versions and is now part of {{{development-version}}}. ] When returning the contents that fill in the Org capture template, the sequence is as follows: front matter, =TEMPLATE=, and then the value @@ -1496,9 +1495,6 @@ The match is performed with ~string-match-p~. The user option ~denote-keywords-to-not-infer-regexp~ omits keywords that match a regular expression from the list of inferred keywords. -[ The ~denote-excluded-keywords-regexp~ is an obsolete alias for - ~denote-keywords-to-not-infer-regexp~ as part of {{{development-version}}}. ] - Keywords are inferred from file names and provided at relevant prompts as completion candidates when the user option ~denote-infer-keywords~ is non-nil. @@ -1532,10 +1528,10 @@ something like this in their configuration: (setq denote-known-keywords (list "politics" "economics" "emacs" "philosophy")) #+end_src -[ As part of {{{development-version}}}, setting ~denote-infer-keywords~ - to ~nil~ also makes the ~denote-keywords-prompt~ demand that the - input matches one of the keywords in ~denote-known-keywords~. In - previous versions, the prompt would accept arbitrary text. ] +Setting ~denote-infer-keywords~ to ~nil~ also makes the +~denote-keywords-prompt~ demand that the input matches one of the +keywords in ~denote-known-keywords~. In previous versions, the prompt +would accept arbitrary text. ** Use Denote commands from the menu bar or context menu :PROPERTIES: @@ -2942,11 +2938,6 @@ as the date and unique identifier, which are derived automatically. This is how it looks for Org mode (when ~denote-file-type~ is set to the =org= symbol, which is the default): -[ The ~org~ symbol is made the default as of {{{development-version}}}. - Previous versions were also defaulting to Org, but the ~denote-file-type~ - was not explicitly set to ~org~, which could lead to unpredictable - results in certain cases. ] - #+begin_example #+title: This is a sample note #+date: [2022-06-30 Thu 16:09] @@ -3268,9 +3259,6 @@ as a typographic list, such as: - link3 #+end_example -[ The ~denote-link-to-all-files-with-regexp~ is an alias for - ~denote-add-links~ as part of {{{development-version}}}. ] - Each link is formatted according to the file type of the current note, as explained further above about the ~denote-link~ command. The current note is excluded from the matching entries (adding a link to itself is @@ -3519,7 +3507,6 @@ this end, Denote provides two convenience commands: + ~denote-link-or-create-with-command~ :: This command is the same concept as ~denote-link-or-create~ except it prompts for the specific command for creating a new note ([[#h:98c732ac-da0e-4ebd-a0e3-5c47f9075e51][Choose which commands to prompt for]]). - [ The ~denote-link-or-create-with-command~ is part of {{{development-version}}}. ] In all of the above, an optional prefix argument (=C-u= by default) creates a link that consists of just the identifier. This has the @@ -3665,11 +3652,6 @@ appropriate than the other. :CUSTOM_ID: h:156c5ea3-147b-4f9d-a404-86a00558c60a :END: -[ Revised as part of {{{development-version}}} to only target the - generic ~text-mode~. Org mode and Markdown mode are both excluded - because they work with Denote links by default. This revision also - inlcudes the =RET= and =C-c C-o= key bindings for fontified links. ] - #+findex: denote-fontify-links-mode Denote links are automatically fontified in Org mode and Markdown mode buffers ([[#h:5e5e3370-12ab-454f-ba09-88ff44214324][Adding a single link]]). This means that the given major mode @@ -3707,9 +3689,6 @@ For backward compatibility, the function can also take a single parameter, the given file. In that case, it is responsible for figuring out the file type in order to return the correct description. -[ The calling convention for the function with two arguments is - introduced as part of {{{development-version}}}. ] - If the value is a string, it treats specially the following specifiers: - The =%t= is the Denote =TITLE= in the front matter or the file name. @@ -4018,8 +3997,6 @@ means of the non-interactive function ~denote-sort-files~. :CUSTOM_ID: h:738b4895-00e3-47a5-a1de-bb0eeef93998 :END: -[ This is part of {{{development-version}}}. The specifics may change. ] - #+findex: denote-dired-focus The command ~denote-dired-focus~ gives users the option to further filter an existing Dired buffer that was produced by the @@ -5751,8 +5728,6 @@ The following sections cover the specifics. optional =FILES-MATCHING-REGEXP=, to extract keywords only from the matching files. Otherwise, do it for all files. Filter inferred keywords with the user option ~denote-keywords-to-not-infer-regexp~. - [ The ~denote-excluded-keywords-regexp~ is an obsolete alias for - ~denote-keywords-to-not-infer-regexp~ as part of {{{development-version}}}. ] #+findex: denote-keywords-sort + Function ~denote-keywords-sort~ :: Sort =KEYWORDS= if @@ -5952,7 +5927,7 @@ there will be no corresponding prompt. the first file type whose =:get-file-type-function= returns non-nil. If =:get-file-type-function= is nil rely on the ~:title-key-regexp~ and return the first matching file type. Return nil if FILE is not - recognized. [ Revised as part of {{{development-version}}}. ] + recognized. #+vindex: denote-get-identifier-function + Variable ~denote-get-identifier-function~ :: The function to @@ -6227,13 +6202,13 @@ there will be no corresponding prompt. + Function ~denote-get-file-type-markdown-yaml~ :: Return =markdown-yaml= if FILE has YAML front matter. YAML front matter starts with =---= on the first line. Consult the ~denote-file-types~ - for how this is used. [ Part of {{{development-version}}}. ] + for how this is used. #+findex: denote-get-file-type-markdown-toml + Function ~denote-get-file-type-markdown-toml~ :: Return =markdown-toml= if FILE has TOML front matter. Consult the ~denote-file-types~ for how this is used. TOML front matter starts - with =+++= on the first line. [ Part of {{{development-version}}}. ] + with =+++= on the first line. #+vindex: denote-file-types + Variable ~denote-file-types~ :: Alist of ~denote-file-type~ and @@ -6252,7 +6227,7 @@ there will be no corresponding prompt. file, that reads the file contents and returns the file type as a symbol or nil. If there is no function, Denote will fall back to a search for a title in the front matter (per =:title-key-regexp=, - which is described below). [ Part of {{{development-version}}}. ] + which is described below). 3. =:date-function= is a function that can format a date. See the functions ~denote--date-iso-8601~, ~denote--date-rfc3339~, and @@ -6352,8 +6327,7 @@ there will be no corresponding prompt. + Function ~denote-link-description-with-signature-and-title~ :: Return link description for =FILE= with =FILE-TYPE=. For backward compatibility, =FILE-TYPE= is an optional parameter. If it is ~nil~, - then compute =FILE-TYPE= internally. [ =FILE-TYPE= is added as part - of {{{development-version}}}. ] + then compute =FILE-TYPE= internally. - If the region is active, use it as the description. diff --git a/denote.el b/denote.el index 65fbc31..97a3396 100644 --- a/denote.el +++ b/denote.el @@ -5,7 +5,7 @@ ;; Author: Protesilaos ;; Maintainer: Protesilaos ;; URL: https://github.com/protesilaos/denote -;; Version: 4.1.3 +;; Version: 4.2.0 ;; Package-Requires: ((emacs "28.1")) ;; This file is NOT part of GNU Emacs.