config.edn 15 KB

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