1{:meta/version 1
2
3 ;; Set the preferred format.
4 ;; Available options:
5 ;; - Markdown (default)
6 ;; - Org
7 ;; :preferred-format "Markdown"
8
9 ;; Set the preferred workflow style.
10 ;; Available options:
11 ;; - :now for NOW/LATER style (default)
12 ;; - :todo for TODO/DOING style
13 :preferred-workflow :now
14
15 ;; Exclude directories/files.
16 ;; Example usage:
17 ;; :hidden ["/archived" "/test.md" "../assets/archived"]
18 :hidden []
19
20 ;; Define the default journal page template.
21 ;; Enter the template name between the quotes.
22 :default-templates
23 {:journals ""}
24
25 ;; Set a custom date format for the journal page title.
26 ;; Default value: "MMM do, yyyy"
27 ;; e.g., "Jan 19th, 2038"
28 ;; Example usage e.g., "Tue 19th, Jan 2038"
29 ;; :journal/page-title-format "EEE do, MMM yyyy"
30
31 ;; Specify the journal filename format using a valid date format string.
32 ;; !Warning:
33 ;; This configuration is not retroactive and affects only new journals.
34 ;; To show old journal files in the app, manually rename the files in the
35 ;; journal directory to match the new format.
36 ;; Default value: "yyyy_MM_dd"
37 ;; :journal/file-name-format "yyyy_MM_dd"
38
39 ;; Enable tooltip preview on hover.
40 ;; Default value: true
41 :ui/enable-tooltip? true
42
43 ;; Display brackets [[]] around page references.
44 ;; Default value: true
45 ;; :ui/show-brackets? true
46
47 ;; Display all lines of a block when referencing ((block)).
48 ;; Default value: false
49 :ui/show-full-blocks? false
50
51 ;; Automatically expand block references when zooming in.
52 ;; Default value: true
53 :ui/auto-expand-block-refs? true
54
55 ;; Enable Block timestamps.
56 ;; Default value: false
57 :feature/enable-block-timestamps? false
58
59 ;; Disable accent marks when searching.
60 ;; After changing this setting, rebuild the search index by pressing (^C ^S).
61 ;; Default value: true
62 :feature/enable-search-remove-accents? true
63
64 ;; Enable journals.
65 ;; Default value: true
66 ;; :feature/enable-journals? true
67
68 ;; Enable flashcards.
69 ;; Default value: true
70 ;; :feature/enable-flashcards? true
71
72 ;; Enable whiteboards.
73 ;; Default value: true
74 ;; :feature/enable-whiteboards? true
75
76 ;; Disable the journal's built-in 'Scheduled tasks and deadlines' query.
77 ;; Default value: false
78 ;; :feature/disable-scheduled-and-deadline-query? false
79
80 ;; Specify the number of days displayed in the future for
81 ;; the 'scheduled tasks and deadlines' query.
82 ;; Example usage:
83 ;; Display all scheduled and deadline blocks for the next 14 days:
84 ;; :scheduled/future-days 14
85 ;; Default value: 7
86 ;; :scheduled/future-days 7
87
88 ;; Specify the first day of the week.
89 ;; Available options:
90 ;; - integer from 0 to 6 (Monday to Sunday)
91 ;; Default value: 6 (Sunday)
92 :start-of-week 6
93
94 ;; Specify a custom CSS import.
95 ;; This option takes precedence over the local `logseq/custom.css` file.
96 ;; Example usage:
97 ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
98
99 ;; Specify a custom JS import.
100 ;; This option takes precedence over the local `logseq/custom.js` file.
101 ;; Example usage:
102 ;; :custom-js-url "https://cdn.logseq.com/custom.js"
103
104 ;; Set a custom Arweave gateway
105 ;; Default gateway: https://arweave.net
106 ;; :arweave/gateway "https://arweave.net"
107
108 ;; Set bullet indentation when exporting
109 ;; Available options:
110 ;; - `:eight-spaces` as eight spaces
111 ;; - `:four-spaces` as four spaces
112 ;; - `:two-spaces` as two spaces
113 ;; - `:tab` as a tab character (default)
114 ;; :export/bullet-indentation :tab
115
116 ;; Publish all pages within the Graph
117 ;; Regardless of whether individual pages have been marked as public.
118 ;; Default value: false
119 ;; :publishing/all-pages-public? false
120
121 ;; Define the default home page and sidebar status.
122 ;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden.
123 ;; The `:page` value represents the name of the page displayed at startup.
124 ;; Available options for `:sidebar` are:
125 ;; - "Contents" to display the Contents page in the right sidebar.
126 ;; - A specific page name to display in the right sidebar.
127 ;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"].
128 ;; If `:sidebar` remains unset, the right sidebar will stay hidden.
129 ;; Examples:
130 ;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar:
131 ;; :default-home {:page "Changelog", :sidebar "Contents"}
132 ;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar:
133 ;; :default-home {:page "Jun 3rd, 2021"}
134 ;; 3. Set "home" as the home page and display multiple pages in the right sidebar:
135 ;; :default-home {:page "home", :sidebar ["Page A" "Page B"]}
136
137 ;; Set the default location for storing notes.
138 ;; Default value: "pages"
139 ;; :pages-directory "pages"
140
141 ;; Set the default location for storing journals.
142 ;; Default value: "journals"
143 ;; :journals-directory "journals"
144
145 ;; Set the default location for storing whiteboards.
146 ;; Default value: "whiteboards"
147 ;; :whiteboards-directory "whiteboards"
148
149 ;; Enabling this option converts
150 ;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode.
151 ;; For more information, visit https://github.com/logseq/logseq/issues/672
152 ;; :org-mode/insert-file-link? false
153
154 ;; Configure custom shortcuts.
155 ;; Syntax:
156 ;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`.
157 ;; 2. A space between keys represents key chords, e.g., `t s` means
158 ;; pressing `t` followed by `s`.
159 ;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac.
160 ;; 4. Use false to disable a specific shortcut.
161 ;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"].
162 ;; The full list of configurable shortcuts is available at:
163 ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
164 ;; Example:
165 ;; :shortcuts
166 ;; {:editor/new-block "enter"
167 ;; :editor/new-line "shift+enter"
168 ;; :editor/insert-link "mod+shift+k"
169 ;; :editor/highlight false
170 ;; :ui/toggle-settings "t s"
171 ;; :editor/up ["ctrl+k" "up"]
172 ;; :editor/down ["ctrl+j" "down"]
173 ;; :editor/left ["ctrl+h" "left"]
174 ;; :editor/right ["ctrl+l" "right"]}
175 :shortcuts {}
176
177 ;; Configure the behavior of pressing Enter in document mode.
178 ;; if set to true, pressing Enter will create a new block.
179 ;; Default value: false
180 :shortcut/doc-mode-enter-for-new-block? false
181
182 ;; Block content larger than `block/content-max-length` will not be searchable
183 ;; or editable for performance.
184 ;; Default value: 10000
185 :block/content-max-length 10000
186
187 ;; Display command documentation on hover.
188 ;; Default value: true
189 :ui/show-command-doc? true
190
191 ;; Display empty bullet points.
192 ;; Default value: false
193 :ui/show-empty-bullets? false
194
195 ;; Pre-defined :view function to use with advanced queries.
196 :query/views
197 {:pprint
198 (fn [r] [:pre.code (pprint r)])}
199
200 ;; Advanced queries `:result-transform` function.
201 ;; Transform the query result before displaying it.
202 :query/result-transforms
203 {:sort-by-priority
204 (fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
205
206 ;; The following queries will be displayed at the bottom of today's journal page.
207 ;; The "NOW" query returns tasks with "NOW" or "DOING" status.
208 ;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status.
209 :default-queries
210 {:journals
211 [{:title "🔨 NOW"
212 :query [:find (pull ?h [*])
213 :in $ ?start ?today
214 :where
215 [?h :block/marker ?marker]
216 [(contains? #{"NOW" "DOING"} ?marker)]
217 [?h :block/page ?p]
218 [?p :block/journal? true]
219 [?p :block/journal-day ?d]
220 [(>= ?d ?start)]
221 [(<= ?d ?today)]]
222 :inputs [:14d :today]
223 :result-transform (fn [result]
224 (sort-by (fn [h]
225 (get h :block/priority "Z")) result))
226 :group-by-page? false
227 :collapsed? false}
228 {:title "📅 NEXT"
229 :query [:find (pull ?h [*])
230 :in $ ?start ?next
231 :where
232 [?h :block/marker ?marker]
233 [(contains? #{"NOW" "LATER" "TODO"} ?marker)]
234 [?h :block/page ?p]
235 [?p :block/journal? true]
236 [?p :block/journal-day ?d]
237 [(> ?d ?start)]
238 [(< ?d ?next)]]
239 :inputs [:today :7d-after]
240 :group-by-page? false
241 :collapsed? false}]}
242
243 ;; Add custom commands to the command palette
244 ;; Example usage:
245 ;; :commands
246 ;; [
247 ;; ["js" "Javascript"]
248 ;; ["md" "Markdown"]
249 ;; ]
250 :commands []
251
252 ;; Enable collapsing blocks with titles but no children.
253 ;; By default, only blocks with children can be collapsed.
254 ;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing
255 ;; blocks with titles (multiple lines) and content. For example:
256 ;; - block title
257 ;; block content
258 ;; Default value: false
259 :outliner/block-title-collapse-enabled? false
260
261 ;; Macros replace texts and will make you more productive.
262 ;; Example usage:
263 ;; Change the :macros value below to:
264 ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
265 ;; input "{{poem red,blue}}"
266 ;; becomes
267 ;; Rose is red, violet's blue. Life's ordered: Org assists you.
268 :macros {}
269
270 ;; Configure the default expansion level for linked references.
271 ;; For example, consider the following block hierarchy:
272 ;; - a [[page]] (level 1)
273 ;; - b (level 2)
274 ;; - c (level 3)
275 ;; - d (level 4)
276 ;;
277 ;; With the default value of level 2, block b will be collapsed.
278 ;; If the level's value is set to 3, block c will be collapsed.
279 ;; Default value: 2
280 :ref/default-open-blocks-level 2
281
282 ;; Configure the threshold for linked references before collapsing.
283 ;; Default value: 100
284 :ref/linked-references-collapsed-threshold 50
285
286 ;; Graph view configuration.
287 ;; Example usage:
288 ;; :graph/settings
289 ;; {:orphan-pages? true ; Default value: true
290 ;; :builtin-pages? false ; Default value: false
291 ;; :excluded-pages? false ; Default value: false
292 ;; :journal? false} ; Default value: false
293
294 ;; Graph view configuration.
295 ;; Example usage:
296 ;; :graph/forcesettings
297 ;; {:link-dist 180 ; Default value: 180
298 ;; :charge-strength -600 ; Default value: -600
299 ;; :charge-range 600} ; Default value: 600
300
301 ;; Favorites to list on the left sidebar
302 :favorites []
303
304 ;; Set flashcards interval.
305 ;; Expected value:
306 ;; - Float between 0 and 1
307 ;; higher values result in faster changes to the next review interval.
308 ;; Default value: 0.5
309 ;; :srs/learning-fraction 0.5
310
311 ;; Set the initial interval after the first successful review of a card.
312 ;; Default value: 4
313 ;; :srs/initial-interval 4
314
315 ;; Hide specific block properties.
316 ;; Example usage:
317 ;; :block-hidden-properties #{:public :icon}
318
319 ;; Create a page for all properties.
320 ;; Default value: true
321 :property-pages/enabled? true
322
323 ;; Properties to exclude from having property pages
324 ;; Example usage:
325 ;; :property-pages/excludelist #{:duration :author}
326
327 ;; By default, property value separated by commas will not be treated as
328 ;; page references. You can add properties to enable it.
329 ;; Example usage:
330 ;; :property/separated-by-commas #{:alias :tags}
331
332 ;; Properties that are ignored when parsing property values for references
333 ;; Example usage:
334 ;; :ignored-page-references-keywords #{:author :website}
335
336 ;; logbook configuration.
337 ;; :logbook/settings
338 ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
339 ;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
340 ;; :enabled-in-timestamped-blocks false ;don't display logbook at all
341 ;; }
342
343 ;; Mobile photo upload configuration.
344 ;; :mobile/photo
345 ;; {:allow-editing? true
346 ;; :quality 80}
347
348 ;; Mobile features options
349 ;; Gestures
350 ;; Example usage:
351 ;; :mobile
352 ;; {:gestures/disabled-in-block-with-tags ["kanban"]}
353
354 ;; Extra CodeMirror options
355 ;; See https://codemirror.net/5/doc/manual.html#config for possible options
356 ;; Example usage:
357 ;; :editor/extra-codemirror-options
358 ;; {:lineWrapping false ; Default value: false
359 ;; :lineNumbers true ; Default value: true
360 ;; :readOnly false} ; Default value: false
361
362 ;; Enable logical outdenting
363 ;; Default value: false
364 ;; :editor/logical-outdenting? false
365
366 ;; Prefer pasting the file when text and a file are in the clipboard.
367 ;; Default value: false
368 ;; :editor/preferred-pasting-file? false
369
370 ;; Quick capture templates for receiving content from other apps.
371 ;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
372 ;; by receiving content from other apps. Note: the {} cannot be omitted.
373 ;; - {time}: capture time
374 ;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
375 ;; - {text}: text that users selected before sharing.
376 ;; - {url}: URL or assets path for media files stored in Logseq.
377 ;; You can also reorder them or use only one or two of them in the template.
378 ;; You can also insert or format any text in the template, as shown in the following examples.
379 ;; :quick-capture-templates
380 ;; {:text "[[quick capture]] **{time}**: {text} from {url}"
381 ;; :media "[[quick capture]] **{time}**: {url}"}
382
383 ;; Quick capture options.
384 ;; - insert-today? Insert the capture at the end of today's journal page (boolean).
385 ;; - redirect-page? Redirect to the quick capture page after capturing (boolean).
386 ;; - default-page The default page to capture to if insert-today? is false (string).
387 ;; :quick-capture-options
388 ;; {:insert-today? false ;; Default value: true
389 ;; :redirect-page? false ;; Default value: false
390 ;; :default-page "quick capture"} ;; Default page: "quick capture"
391
392 ;; File sync options
393 ;; Ignore these files when syncing, regexp is supported.
394 ;; :file-sync/ignore-files []
395
396 ;; Configure the Enter key behavior for
397 ;; context-aware editing with DWIM (Do What I Mean).
398 ;; context-aware Enter key behavior implies that pressing Enter will
399 ;; have different outcomes based on the context.
400 ;; For instance, pressing Enter within a list generates a new list item,
401 ;; whereas pressing Enter in a block reference opens the referenced block.
402 ;; :dwim/settings
403 ;; {:admonition&src? true ;; Default value: true
404 ;; :markup? false ;; Default value: false
405 ;; :block-ref? true ;; Default value: true
406 ;; :page-ref? true ;; Default value: true
407 ;; :properties? true ;; Default value: true
408 ;; :list? false} ;; Default value: false
409
410 ;; Configure the escaping method for special characters in page titles.
411 ;; Warning:
412 ;; This is a dangerous operation. To modify the setting,
413 ;; access the 'Filename format' setting and follow the instructions.
414 ;; Otherwise, You may need to manually rename all affected files and
415 ;; re-index them on all clients after synchronization.
416 ;; Incorrect handling may result in messy page titles.
417 ;; Available options:
418 ;; - :triple-lowbar (default)
419 ;; ;use triple underscore `___` for slash `/` in page title
420 ;; ;use Percent-encoding for other invalid characters
421 :file/name-format :triple-lowbar}