Variable: denote-prompts
denote-prompts is a customizable variable defined in denote.el.
Value
(title keywords)
Documentation
Specify the prompts followed by relevant Denote commands.
Commands that prompt for user input to construct a Denote file name
include, but are not limited to: denote, denote-signature,
denote-type, denote-date, denote-subdirectory,
denote-rename-file, denote-dired-rename-files.
The value of this user option is a list of symbols, which includes any of the following:
- title: Prompt for the title of the new note.
- keywords: Prompts with completion for the keywords of the new note.
Available candidates are those specified in the user option
denote-known-keywords. If the user option denote-infer-keywords
is non-nil, keywords in existing note file names are included in the
list of candidates. The keywords prompt uses completing-read-multiple,
meaning that it can accept multiple keywords separated by a comma (or
whatever the value of crm-separator is).
- file-type: Prompts with completion for the file type of the new
note. Available candidates are those specified in the user option
denote-file-type(var)/denote-file-type(fun). Without this prompt, denote uses the value of
the variable denote-file-type(var)/denote-file-type(fun).
- subdirectory: Prompts with completion for a subdirectory in which to
create the note. Available candidates are the value of the user
option denote-directory(var)/denote-directory(fun) and all of its subdirectories. Any
subdirectory must already exist: Denote will not create it.
- date: Prompts for the date of the new note. It will expect an input
like 2022-06-16 or a date plus time: 2022-06-16 14:30. Without the
date prompt, the denote command uses the current-time. (To
leverage the more sophisticated Org method, see the
denote-date-prompt-use-org-read-date.)
- identifier: Prompts for the identifier of the new note. It expects
a string that has the format of denote-date-identifier-format.
- template: Prompts for a KEY among denote-templates. The value of
that KEY is used to populate the new note with content, which is added
after the front matter.
- signature: Prompts for an arbitrary string that can be used for any
kind of workflow, such as a special tag to label the part1 and part2
of a large file that is split in half, or to add special contexts like
home and work, or even priorities like a, b, c. One other use-case is
to implement a sequencing scheme that makes notes have hierarchical
relationships. This is handled by our optional extension
denote-sequence.el, which is its own package (read the manual).
The prompts occur in the given order.
If the value of this user option is nil, no prompts are used. The
resulting file name will consist of an identifier (i.e. the date and
time) and a supported file type extension (per the variable
denote-file-type(var)/denote-file-type(fun)).
Recall that Denote's standard file-naming scheme is defined as follows (read the manual for the technicalities):
ID--TITLE__KEYWORDS.EXT
Depending on the inclusion of the title, keywords, and
signature prompts, file names will be any of those
permutations:
ID.EXT
ID--TITLE.EXT
ID__KEYWORDS.EXT
ID==SIGNATURE.EXT
ID==SIGNATURE--TITLE.EXT
ID==SIGNATURE--TITLE__KEYWORDS.EXT
ID==SIGNATURE__KEYWORDS.EXT
When in doubt, always include the title and keywords
prompts (the default style).
Finally, this user option only affects the interactive use of the
denote or other relevant commands (advanced users can call it from
Lisp). In Lisp usage, the behaviour is always what the caller
specifies, based on the supplied arguments.
Also see denote-history-completion-in-prompts.
To change the order of the file name components, refer to
denote-file-name-components-order.
This variable was added, or its default value changed, in denote version 2.3.0.
Source Code
;; Defined in ~/.emacs.d/elpa/denote-4.2.3/denote.el
(defcustom denote-prompts '(title keywords)
"Specify the prompts followed by relevant Denote commands.
Commands that prompt for user input to construct a Denote file name
include, but are not limited to: `denote', `denote-signature',
`denote-type', `denote-date', `denote-subdirectory',
`denote-rename-file', `denote-dired-rename-files'.
The value of this user option is a list of symbols, which includes any
of the following:
- `title': Prompt for the title of the new note.
- `keywords': Prompts with completion for the keywords of the new note.
Available candidates are those specified in the user option
`denote-known-keywords'. If the user option `denote-infer-keywords'
is non-nil, keywords in existing note file names are included in the
list of candidates. The `keywords' prompt uses `completing-read-multiple',
meaning that it can accept multiple keywords separated by a comma (or
whatever the value of `crm-separator' is).
- `file-type': Prompts with completion for the file type of the new
note. Available candidates are those specified in the user option
`denote-file-type'. Without this prompt, `denote' uses the value of
the variable `denote-file-type'.
- `subdirectory': Prompts with completion for a subdirectory in which to
create the note. Available candidates are the value of the user
option `denote-directory' and all of its subdirectories. Any
subdirectory must already exist: Denote will not create it.
- `date': Prompts for the date of the new note. It will expect an input
like 2022-06-16 or a date plus time: 2022-06-16 14:30. Without the
`date' prompt, the `denote' command uses the `current-time'. (To
leverage the more sophisticated Org method, see the
`denote-date-prompt-use-org-read-date'.)
- `identifier': Prompts for the identifier of the new note. It expects
a string that has the format of `denote-date-identifier-format'.
- `template': Prompts for a KEY among `denote-templates'. The value of
that KEY is used to populate the new note with content, which is added
after the front matter.
- `signature': Prompts for an arbitrary string that can be used for any
kind of workflow, such as a special tag to label the part1 and part2
of a large file that is split in half, or to add special contexts like
home and work, or even priorities like a, b, c. One other use-case is
to implement a sequencing scheme that makes notes have hierarchical
relationships. This is handled by our optional extension
denote-sequence.el, which is its own package (read the manual).
The prompts occur in the given order.
If the value of this user option is nil, no prompts are used. The
resulting file name will consist of an identifier (i.e. the date and
time) and a supported file type extension (per the variable
`denote-file-type').
Recall that Denote's standard file-naming scheme is defined as
follows (read the manual for the technicalities):
ID--TITLE__KEYWORDS.EXT
Depending on the inclusion of the `title', `keywords', and
`signature' prompts, file names will be any of those
permutations:
ID.EXT
ID--TITLE.EXT
ID__KEYWORDS.EXT
ID==SIGNATURE.EXT
ID==SIGNATURE--TITLE.EXT
ID==SIGNATURE--TITLE__KEYWORDS.EXT
ID==SIGNATURE__KEYWORDS.EXT
When in doubt, always include the `title' and `keywords'
prompts (the default style).
Finally, this user option only affects the interactive use of the
`denote' or other relevant commands (advanced users can call it from
Lisp). In Lisp usage, the behaviour is always what the caller
specifies, based on the supplied arguments.
Also see `denote-history-completion-in-prompts'.
To change the order of the file name components, refer to
`denote-file-name-components-order'."
:group 'denote
:package-version '(denote . "2.3.0")
:link '(info-link "(denote) The denote-prompts option")
:type '(radio (const :tag "Use no prompts" nil)
(set :tag "Available prompts" :greedy t
(const :tag "Title" title)
(const :tag "Keywords" keywords)
(const :tag "Date" date)
(const :tag "Identifier" identifier)
(const :tag "File type extension" file-type)
(const :tag "Subdirectory" subdirectory)
(const :tag "Template" template)
(const :tag "Signature" signature))))