config.edn
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 422 :graph/settings {:orphan-pages? true 423 :builtin-pages? false}}