Browse Source

Move config.edn template to a library

so it can be used outside Electron e.g. when creating graphs from CLI.
Put a symlink in the old templates/config.edn location to make new
location easier to find but it's not needed for anything to work
Gabriel Horner 2 years ago
parent
commit
36edf87db3

+ 5 - 5
deps/common/README.md

@@ -1,10 +1,10 @@
 ## Description
 
-This library provides common util namespaces to share between the frontend and
-other non-frontend namespaces. This library is not supposed to depend on other logseq
-libraries. This library is compatible with ClojureScript and with
-node/[nbb-logseq](https://github.com/logseq/nbb-logseq) to respectively provide
-frontend and Electron/commandline functionality.
+This library provides common util namespaces and resources to share between the
+frontend and other non-frontend contexts. This library is not supposed to depend
+on other logseq libraries. This library is compatible with ClojureScript and
+with node/[nbb-logseq](https://github.com/logseq/nbb-logseq) to respectively
+provide frontend and Electron/commandline functionality.
 
 
 ## API

+ 2 - 1
deps/common/deps.edn

@@ -1,4 +1,5 @@
-{:aliases
+{:paths ["src" "resources"]
+ :aliases
  {:test {:extra-paths ["test"]
          :extra-deps  {olical/cljs-test-runner   {:mvn/version "3.8.0"}
                        org.clojure/clojurescript {:mvn/version "1.11.54"}}

+ 1 - 1
deps/common/nbb.edn

@@ -1,4 +1,4 @@
-{:paths ["src"]
+{:paths ["src" "resources"]
  :deps
  {io.github.nextjournal/nbb-test-runner
   {:git/sha "60ed57aa04bca8d604f5ba6b28848bd887109347"}}}

+ 410 - 0
deps/common/resources/templates/config.edn

@@ -0,0 +1,410 @@
+{:meta/version 1
+
+ ;; Set the preferred format.
+ ;; Available options:
+ ;; - Markdown (default)
+ ;; - Org
+ ;; :preferred-format "Markdown"
+
+ ;; Set the preferred workflow style.
+ ;; Available options:
+ ;; - :now for NOW/LATER style (default)
+ ;; - :todo for TODO/DOING style
+ :preferred-workflow :now
+
+ ;; Exclude directories/files.
+ ;; Example usage:
+ ;; :hidden ["/archived" "/test.md" "../assets/archived"]
+ :hidden []
+
+ ;; Define the default journal page template.
+ ;; Enter the template name between the quotes.
+ :default-templates
+ {:journals ""}
+
+ ;; Set a custom date format for the journal page title.
+ ;; Default value: "MMM do, yyyy"
+ ;; e.g., "Jan 19th, 2038"
+ ;; Example usage e.g., "Tue 19th, Jan 2038"
+ ;; :journal/page-title-format "EEE do, MMM yyyy"
+
+ ;; Specify the journal filename format using a valid date format string.
+ ;; !Warning:
+ ;;   This configuration is not retroactive and affects only new journals.
+ ;;   To show old journal files in the app, manually rename the files in the
+ ;;   journal directory to match the new format.
+ ;; Default value: "yyyy_MM_dd"
+ ;; :journal/file-name-format "yyyy_MM_dd"
+
+ ;; Enable tooltip preview on hover.
+ ;; Default value: true
+ :ui/enable-tooltip? true
+
+ ;; Display brackets [[]] around page references.
+ ;; Default value: true
+ ;; :ui/show-brackets? true
+
+ ;; Display all lines of a block when referencing ((block)).
+ ;; Default value: false
+ :ui/show-full-blocks? false
+
+ ;; Automatically expand block references when zooming in.
+ ;; Default value: true
+ :ui/auto-expand-block-refs? true
+
+ ;; Disable accent marks when searching.
+ ;; After changing this setting, rebuild the search index by pressing (^C ^S).
+ ;; Default value: true
+ :feature/enable-search-remove-accents? true
+
+ ;; Enable journals.
+ ;; Default value: true
+ ;; :feature/enable-journals? true
+
+ ;; Enable flashcards.
+ ;; Default value: true
+ ;; :feature/enable-flashcards? true
+
+ ;; Enable whiteboards.
+ ;; Default value: true
+ ;; :feature/enable-whiteboards? true
+
+ ;; Disable the journal's built-in 'Scheduled tasks and deadlines' query.
+ ;; Default value: false
+ ;; :feature/disable-scheduled-and-deadline-query? false
+
+ ;; Specify the number of days displayed in the future for
+ ;; the 'scheduled tasks and deadlines' query.
+ ;; Example usage:
+ ;; Display all scheduled and deadline blocks for the next 14 days:
+ ;; :scheduled/future-days 14
+ ;; Default value: 7
+ ;; :scheduled/future-days 7
+
+ ;; Specify the first day of the week.
+ ;; Available options:
+ ;;  - integer from 0 to 6 (Monday to Sunday)
+ ;; Default value: 6 (Sunday)
+ :start-of-week 6
+
+ ;; Specify a custom CSS import.
+ ;; This option takes precedence over the local `logseq/custom.css` file.
+ ;; Example usage:
+ ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
+
+ ;; Specify a custom JS import.
+ ;; This option takes precedence over the local `logseq/custom.js` file.
+ ;; Example usage:
+ ;; :custom-js-url "https://cdn.logseq.com/custom.js"
+
+ ;; Set a custom Arweave gateway
+ ;; Default gateway: https://arweave.net
+ ;; :arweave/gateway "https://arweave.net"
+
+ ;; Set bullet indentation when exporting
+ ;; Available options:
+ ;;  - `:eight-spaces` as eight spaces
+ ;;  - `:four-spaces` as four spaces
+ ;;  - `:two-spaces` as two spaces
+ ;;  - `:tab` as a tab character (default)
+ ;; :export/bullet-indentation :tab
+
+ ;; Publish all pages within the Graph
+ ;; Regardless of whether individual pages have been marked as public.
+ ;; Default value: false
+ ;; :publishing/all-pages-public? false
+
+ ;; Define the default home page and sidebar status.
+ ;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden.
+ ;; The `:page` value represents the name of the page displayed at startup.
+ ;; Available options for `:sidebar` are:
+ ;; - "Contents" to display the Contents page in the right sidebar.
+ ;; - A specific page name to display in the right sidebar.
+ ;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"].
+ ;; If `:sidebar` remains unset, the right sidebar will stay hidden.
+ ;; Examples:
+ ;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar:
+ ;; :default-home {:page "Changelog", :sidebar "Contents"}
+ ;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar:
+ ;; :default-home {:page "Jun 3rd, 2021"}
+ ;; 3. Set "home" as the home page and display multiple pages in the right sidebar:
+ ;; :default-home {:page "home", :sidebar ["Page A" "Page B"]}
+
+ ;; Set the default location for storing notes.
+ ;; Default value: "pages"
+ ;; :pages-directory "pages"
+
+ ;; Set the default location for storing journals.
+ ;; Default value: "journals"
+ ;; :journals-directory "journals"
+
+ ;; Set the default location for storing whiteboards.
+ ;; Default value: "whiteboards"
+ ;; :whiteboards-directory "whiteboards"
+
+ ;; Enabling this option converts
+ ;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode.
+ ;; For more information, visit https://github.com/logseq/logseq/issues/672
+ ;; :org-mode/insert-file-link? false
+
+ ;; Configure custom shortcuts.
+ ;; Syntax:
+ ;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`.
+ ;; 2. A space between keys represents key chords, e.g., `t s` means
+ ;;    pressing `t` followed by `s`.
+ ;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac.
+ ;; 4. Use false to disable a specific shortcut.
+ ;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"].
+ ;; The full list of configurable shortcuts is available at:
+ ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
+ ;; Example:
+ ;; :shortcuts
+ ;; {:editor/new-block       "enter"
+ ;;  :editor/new-line        "shift+enter"
+ ;;  :editor/insert-link     "mod+shift+k"
+ ;;  :editor/highlight       false
+ ;;  :ui/toggle-settings     "t s"
+ ;;  :editor/up              ["ctrl+k" "up"]
+ ;;  :editor/down            ["ctrl+j" "down"]
+ ;;  :editor/left            ["ctrl+h" "left"]
+ ;;  :editor/right           ["ctrl+l" "right"]}
+ :shortcuts {}
+
+ ;; Configure the behavior of pressing Enter in document mode.
+ ;; if set to true, pressing Enter will create a new block.
+ ;; Default value: false
+ :shortcut/doc-mode-enter-for-new-block? false
+
+ ;; Block content larger than `block/content-max-length` will not be searchable
+ ;; or editable for performance.
+ ;; Default value: 10000
+ :block/content-max-length 10000
+
+ ;; Display command documentation on hover.
+ ;; Default value: true
+ :ui/show-command-doc? true
+
+ ;; Display empty bullet points.
+ ;; Default value: false
+ :ui/show-empty-bullets? false
+
+ ;; Pre-defined :view function to use with advanced queries.
+ :query/views
+ {:pprint
+  (fn [r] [:pre.code (pprint r)])}
+
+ ;; Advanced queries `:result-transform` function.
+ ;; Transform the query result before displaying it.
+ :query/result-transforms
+ {:sort-by-priority
+  (fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
+
+ ;; The following queries will be displayed at the bottom of today's journal page.
+ ;; The "NOW" query returns tasks with "NOW" or "DOING" status.
+ ;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status.
+ :default-queries
+ {:journals
+  [{:title "🔨 NOW"
+    :query [:find (pull ?h [*])
+            :in $ ?start ?today
+            :where
+            [?h :block/marker ?marker]
+            [(contains? #{"NOW" "DOING"} ?marker)]
+            [?h :block/page ?p]
+            [?p :block/journal? true]
+            [?p :block/journal-day ?d]
+            [(>= ?d ?start)]
+            [(<= ?d ?today)]]
+    :inputs [:14d :today]
+    :result-transform (fn [result]
+                        (sort-by (fn [h]
+                                   (get h :block/priority "Z")) result))
+    :group-by-page? false
+    :collapsed? false}
+   {:title "📅 NEXT"
+    :query [:find (pull ?h [*])
+            :in $ ?start ?next
+            :where
+            [?h :block/marker ?marker]
+            [(contains? #{"NOW" "LATER" "TODO"} ?marker)]
+            [?h :block/page ?p]
+            [?p :block/journal? true]
+            [?p :block/journal-day ?d]
+            [(> ?d ?start)]
+            [(< ?d ?next)]]
+    :inputs [:today :7d-after]
+    :group-by-page? false
+    :collapsed? false}]}
+
+ ;; Add custom commands to the command palette
+ ;; Example usage:
+ ;; :commands
+ ;; [
+ ;;  ["js" "Javascript"]
+ ;;  ["md" "Markdown"]
+ ;;  ]
+ :commands []
+
+ ;; Enable collapsing blocks with titles but no children.
+ ;; By default, only blocks with children can be collapsed.
+ ;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing
+ ;; blocks with titles (multiple lines) and content. For example:
+ ;; - block title
+ ;;   block content
+ ;; Default value: false
+ :outliner/block-title-collapse-enabled? false
+
+ ;; Macros replace texts and will make you more productive.
+ ;; Example usage:
+ ;; Change the :macros value below to:
+ ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
+ ;; input "{{poem red,blue}}"
+ ;; becomes
+ ;; Rose is red, violet's blue. Life's ordered: Org assists you.
+ :macros {}
+
+ ;; Configure the default expansion level for linked references.
+ ;; For example, consider the following block hierarchy:
+ ;; - a [[page]] (level 1)
+ ;;   - b        (level 2)
+ ;;     - c      (level 3)
+ ;;       - d    (level 4)
+ ;;
+ ;; With the default value of level 2, block b will be collapsed.
+ ;; If the level's value is set to 3, block c will be collapsed.
+ ;; Default value: 2
+ :ref/default-open-blocks-level 2
+
+ ;; Configure the threshold for linked references before collapsing.
+ ;; Default value: 100
+ :ref/linked-references-collapsed-threshold 50
+
+ ;; Graph view configuration.
+ ;; Example usage:
+ ;; :graph/settings
+ ;; {:orphan-pages?   true   ; Default value: true
+ ;;  :builtin-pages?  false  ; Default value: false
+ ;;  :excluded-pages? false  ; Default value: false
+ ;;  :journal?        false} ; Default value: false
+
+ ;; Favorites to list on the left sidebar
+ :favorites []
+
+ ;; Set flashcards interval.
+ ;; Expected value:
+ ;; - Float between 0 and 1
+ ;; higher values result in faster changes to the next review interval.
+ ;; Default value: 0.5
+ ;; :srs/learning-fraction 0.5
+
+ ;; Set the initial interval after the first successful review of a card.
+ ;; Default value: 4
+ ;; :srs/initial-interval 4
+
+ ;; Hide specific block properties.
+ ;; Example usage:
+ ;; :block-hidden-properties #{:public :icon}
+
+ ;; Create a page for all properties.
+ ;; Default value: true
+ :property-pages/enabled? true
+
+ ;; Properties to exclude from having property pages
+ ;; Example usage:
+ ;; :property-pages/excludelist #{:duration :author}
+
+ ;; By default, property value separated by commas will not be treated as
+ ;; page references. You can add properties to enable it.
+ ;; Example usage:
+ ;; :property/separated-by-commas #{:alias :tags}
+
+ ;; Properties that are ignored when parsing property values for references
+ ;; Example usage:
+ ;; :ignored-page-references-keywords #{:author :website}
+
+ ;; logbook configuration.
+ ;; :logbook/settings
+ ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
+ ;;  :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
+ ;;  :enabled-in-timestamped-blocks false ;don't display logbook at all
+ ;; }
+
+ ;; Mobile photo upload configuration.
+ ;; :mobile/photo
+ ;; {:allow-editing? true
+ ;;  :quality        80}
+
+ ;; Mobile features options
+ ;; Gestures
+ ;; Example usage:
+ ;; :mobile
+ ;; {:gestures/disabled-in-block-with-tags ["kanban"]}
+
+ ;; Extra CodeMirror options
+ ;; See https://codemirror.net/5/doc/manual.html#config for possible options
+ ;; Example usage:
+ ;; :editor/extra-codemirror-options
+ ;; {:lineWrapping  false  ; Default value: false
+ ;;  :lineNumbers   true   ; Default value: true
+ ;;  :readOnly      false} ; Default value: false
+
+ ;; Enable logical outdenting
+ ;; Default value: false
+ ;; :editor/logical-outdenting? false
+
+ ;; Prefer pasting the file when text and a file are in the clipboard.
+ ;; Default value: false
+ ;; :editor/preferred-pasting-file? false
+
+ ;; Quick capture templates for receiving content from other apps.
+ ;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
+ ;; by receiving content from other apps. Note: the {} cannot be omitted.
+ ;; - {time}: capture time
+ ;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
+ ;; - {text}: text that users selected before sharing.
+ ;; - {url}: URL or assets path for media files stored in Logseq.
+ ;; You can also reorder them or use only one or two of them in the template.
+ ;; You can also insert or format any text in the template, as shown in the following examples.
+ ;; :quick-capture-templates
+ ;; {:text "[[quick capture]] **{time}**: {text} from {url}"
+ ;;  :media "[[quick capture]] **{time}**: {url}"}
+
+ ;; Quick capture options.
+ ;; - insert-today?   Insert the capture at the end of today's journal page (boolean).
+ ;; - redirect-page?  Redirect to the quick capture page after capturing (boolean).
+ ;; - default-page    The default page to capture to if insert-today? is false (string).
+ ;; :quick-capture-options
+ ;; {:insert-today? false           ;; Default value: true
+ ;;  :redirect-page? false          ;; Default value: false
+ ;;  :default-page "quick capture"} ;; Default page: "quick capture"
+
+ ;; File sync options
+ ;; Ignore these files when syncing, regexp is supported.
+ ;; :file-sync/ignore-files []
+
+ ;; Configure the Enter key behavior for
+ ;; context-aware editing with DWIM (Do What I Mean).
+ ;; context-aware Enter key behavior implies that pressing Enter will
+ ;; have different outcomes based on the context.
+ ;; For instance, pressing Enter within a list generates a new list item,
+ ;; whereas pressing Enter in a block reference opens the referenced block.
+ ;; :dwim/settings
+ ;; {:admonition&src?  true        ;; Default value: true
+ ;;  :markup?          false       ;; Default value: false
+ ;;  :block-ref?       true        ;; Default value: true
+ ;;  :page-ref?        true        ;; Default value: true
+ ;;  :properties?      true        ;; Default value: true
+ ;;  :list?            false}      ;; Default value: false
+
+ ;; Configure the escaping method for special characters in page titles.
+ ;; Warning:
+ ;;   This is a dangerous operation. To modify the setting,
+ ;;   access the 'Filename format' setting and follow the instructions.
+ ;;   Otherwise, You may need to manually rename all affected files and
+ ;;   re-index them on all clients after synchronization.
+ ;;   Incorrect handling may result in messy page titles.
+ ;; Available options:
+ ;;   - :triple-lowbar (default)
+ ;;      ;use triple underscore `___` for slash `/` in page title
+ ;;      ;use Percent-encoding for other invalid characters
+ :file/name-format :triple-lowbar}

+ 1 - 1
docs/dev-practices.md

@@ -298,7 +298,7 @@ point out:
 * `dev:validate-repo-config-edn` - Validate a repo config.edn
 
   ```sh
-  bb dev:validate-repo-config-edn src/resources/templates/config.edn
+  bb dev:validate-repo-config-edn deps/common/resources/templates/config.edn
   ```
 
 * `dev:publishing` - Build a publishing app for a given graph dir. If the

+ 3 - 0
scripts/nbb.edn

@@ -4,5 +4,8 @@
   {:local/root "../deps/graph-parser"}
   logseq/outliner
   {:local/root "../deps/outliner"}
+  ;; for config.edn
+  logseq/common
+  {:local/root "../deps/common"}
   logseq/publishing
   {:local/root "../deps/publishing"}}}

+ 0 - 410
src/resources/templates/config.edn

@@ -1,410 +0,0 @@
-{:meta/version 1
-
- ;; Set the preferred format.
- ;; Available options:
- ;; - Markdown (default)
- ;; - Org
- ;; :preferred-format "Markdown"
-
- ;; Set the preferred workflow style.
- ;; Available options:
- ;; - :now for NOW/LATER style (default)
- ;; - :todo for TODO/DOING style
- :preferred-workflow :now
-
- ;; Exclude directories/files.
- ;; Example usage:
- ;; :hidden ["/archived" "/test.md" "../assets/archived"]
- :hidden []
-
- ;; Define the default journal page template.
- ;; Enter the template name between the quotes.
- :default-templates
- {:journals ""}
-
- ;; Set a custom date format for the journal page title.
- ;; Default value: "MMM do, yyyy"
- ;; e.g., "Jan 19th, 2038"
- ;; Example usage e.g., "Tue 19th, Jan 2038"
- ;; :journal/page-title-format "EEE do, MMM yyyy"
-
- ;; Specify the journal filename format using a valid date format string.
- ;; !Warning:
- ;;   This configuration is not retroactive and affects only new journals.
- ;;   To show old journal files in the app, manually rename the files in the
- ;;   journal directory to match the new format.
- ;; Default value: "yyyy_MM_dd"
- ;; :journal/file-name-format "yyyy_MM_dd"
-
- ;; Enable tooltip preview on hover.
- ;; Default value: true
- :ui/enable-tooltip? true
-
- ;; Display brackets [[]] around page references.
- ;; Default value: true
- ;; :ui/show-brackets? true
-
- ;; Display all lines of a block when referencing ((block)).
- ;; Default value: false
- :ui/show-full-blocks? false
-
- ;; Automatically expand block references when zooming in.
- ;; Default value: true
- :ui/auto-expand-block-refs? true
-
- ;; Disable accent marks when searching.
- ;; After changing this setting, rebuild the search index by pressing (^C ^S).
- ;; Default value: true
- :feature/enable-search-remove-accents? true
-
- ;; Enable journals.
- ;; Default value: true
- ;; :feature/enable-journals? true
-
- ;; Enable flashcards.
- ;; Default value: true
- ;; :feature/enable-flashcards? true
-
- ;; Enable whiteboards.
- ;; Default value: true
- ;; :feature/enable-whiteboards? true
-
- ;; Disable the journal's built-in 'Scheduled tasks and deadlines' query.
- ;; Default value: false
- ;; :feature/disable-scheduled-and-deadline-query? false
-
- ;; Specify the number of days displayed in the future for
- ;; the 'scheduled tasks and deadlines' query.
- ;; Example usage:
- ;; Display all scheduled and deadline blocks for the next 14 days:
- ;; :scheduled/future-days 14
- ;; Default value: 7
- ;; :scheduled/future-days 7
-
- ;; Specify the first day of the week.
- ;; Available options:
- ;;  - integer from 0 to 6 (Monday to Sunday)
- ;; Default value: 6 (Sunday)
- :start-of-week 6
-
- ;; Specify a custom CSS import.
- ;; This option takes precedence over the local `logseq/custom.css` file.
- ;; Example usage:
- ;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
-
- ;; Specify a custom JS import.
- ;; This option takes precedence over the local `logseq/custom.js` file.
- ;; Example usage:
- ;; :custom-js-url "https://cdn.logseq.com/custom.js"
-
- ;; Set a custom Arweave gateway
- ;; Default gateway: https://arweave.net
- ;; :arweave/gateway "https://arweave.net"
-
- ;; Set bullet indentation when exporting
- ;; Available options:
- ;;  - `:eight-spaces` as eight spaces
- ;;  - `:four-spaces` as four spaces
- ;;  - `:two-spaces` as two spaces
- ;;  - `:tab` as a tab character (default)
- ;; :export/bullet-indentation :tab
-
- ;; Publish all pages within the Graph
- ;; Regardless of whether individual pages have been marked as public.
- ;; Default value: false
- ;; :publishing/all-pages-public? false
-
- ;; Define the default home page and sidebar status.
- ;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden.
- ;; The `:page` value represents the name of the page displayed at startup.
- ;; Available options for `:sidebar` are:
- ;; - "Contents" to display the Contents page in the right sidebar.
- ;; - A specific page name to display in the right sidebar.
- ;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"].
- ;; If `:sidebar` remains unset, the right sidebar will stay hidden.
- ;; Examples:
- ;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar:
- ;; :default-home {:page "Changelog", :sidebar "Contents"}
- ;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar:
- ;; :default-home {:page "Jun 3rd, 2021"}
- ;; 3. Set "home" as the home page and display multiple pages in the right sidebar:
- ;; :default-home {:page "home", :sidebar ["Page A" "Page B"]}
-
- ;; Set the default location for storing notes.
- ;; Default value: "pages"
- ;; :pages-directory "pages"
-
- ;; Set the default location for storing journals.
- ;; Default value: "journals"
- ;; :journals-directory "journals"
-
- ;; Set the default location for storing whiteboards.
- ;; Default value: "whiteboards"
- ;; :whiteboards-directory "whiteboards"
-
- ;; Enabling this option converts
- ;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode.
- ;; For more information, visit https://github.com/logseq/logseq/issues/672
- ;; :org-mode/insert-file-link? false
-
- ;; Configure custom shortcuts.
- ;; Syntax:
- ;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`.
- ;; 2. A space between keys represents key chords, e.g., `t s` means
- ;;    pressing `t` followed by `s`.
- ;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac.
- ;; 4. Use false to disable a specific shortcut.
- ;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"].
- ;; The full list of configurable shortcuts is available at:
- ;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
- ;; Example:
- ;; :shortcuts
- ;; {:editor/new-block       "enter"
- ;;  :editor/new-line        "shift+enter"
- ;;  :editor/insert-link     "mod+shift+k"
- ;;  :editor/highlight       false
- ;;  :ui/toggle-settings     "t s"
- ;;  :editor/up              ["ctrl+k" "up"]
- ;;  :editor/down            ["ctrl+j" "down"]
- ;;  :editor/left            ["ctrl+h" "left"]
- ;;  :editor/right           ["ctrl+l" "right"]}
- :shortcuts {}
-
- ;; Configure the behavior of pressing Enter in document mode.
- ;; if set to true, pressing Enter will create a new block.
- ;; Default value: false
- :shortcut/doc-mode-enter-for-new-block? false
-
- ;; Block content larger than `block/content-max-length` will not be searchable
- ;; or editable for performance.
- ;; Default value: 10000
- :block/content-max-length 10000
-
- ;; Display command documentation on hover.
- ;; Default value: true
- :ui/show-command-doc? true
-
- ;; Display empty bullet points.
- ;; Default value: false
- :ui/show-empty-bullets? false
-
- ;; Pre-defined :view function to use with advanced queries.
- :query/views
- {:pprint
-  (fn [r] [:pre.code (pprint r)])}
-
- ;; Advanced queries `:result-transform` function.
- ;; Transform the query result before displaying it.
- :query/result-transforms
- {:sort-by-priority
-  (fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
-
- ;; The following queries will be displayed at the bottom of today's journal page.
- ;; The "NOW" query returns tasks with "NOW" or "DOING" status.
- ;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status.
- :default-queries
- {:journals
-  [{:title "🔨 NOW"
-    :query [:find (pull ?h [*])
-            :in $ ?start ?today
-            :where
-            [?h :block/marker ?marker]
-            [(contains? #{"NOW" "DOING"} ?marker)]
-            [?h :block/page ?p]
-            [?p :block/journal? true]
-            [?p :block/journal-day ?d]
-            [(>= ?d ?start)]
-            [(<= ?d ?today)]]
-    :inputs [:14d :today]
-    :result-transform (fn [result]
-                        (sort-by (fn [h]
-                                   (get h :block/priority "Z")) result))
-    :group-by-page? false
-    :collapsed? false}
-   {:title "📅 NEXT"
-    :query [:find (pull ?h [*])
-            :in $ ?start ?next
-            :where
-            [?h :block/marker ?marker]
-            [(contains? #{"NOW" "LATER" "TODO"} ?marker)]
-            [?h :block/page ?p]
-            [?p :block/journal? true]
-            [?p :block/journal-day ?d]
-            [(> ?d ?start)]
-            [(< ?d ?next)]]
-    :inputs [:today :7d-after]
-    :group-by-page? false
-    :collapsed? false}]}
-
- ;; Add custom commands to the command palette
- ;; Example usage:
- ;; :commands
- ;; [
- ;;  ["js" "Javascript"]
- ;;  ["md" "Markdown"]
- ;;  ]
- :commands []
-
- ;; Enable collapsing blocks with titles but no children.
- ;; By default, only blocks with children can be collapsed.
- ;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing
- ;; blocks with titles (multiple lines) and content. For example:
- ;; - block title
- ;;   block content
- ;; Default value: false
- :outliner/block-title-collapse-enabled? false
-
- ;; Macros replace texts and will make you more productive.
- ;; Example usage:
- ;; Change the :macros value below to:
- ;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
- ;; input "{{poem red,blue}}"
- ;; becomes
- ;; Rose is red, violet's blue. Life's ordered: Org assists you.
- :macros {}
-
- ;; Configure the default expansion level for linked references.
- ;; For example, consider the following block hierarchy:
- ;; - a [[page]] (level 1)
- ;;   - b        (level 2)
- ;;     - c      (level 3)
- ;;       - d    (level 4)
- ;;
- ;; With the default value of level 2, block b will be collapsed.
- ;; If the level's value is set to 3, block c will be collapsed.
- ;; Default value: 2
- :ref/default-open-blocks-level 2
-
- ;; Configure the threshold for linked references before collapsing.
- ;; Default value: 100
- :ref/linked-references-collapsed-threshold 50
-
- ;; Graph view configuration.
- ;; Example usage:
- ;; :graph/settings
- ;; {:orphan-pages?   true   ; Default value: true
- ;;  :builtin-pages?  false  ; Default value: false
- ;;  :excluded-pages? false  ; Default value: false
- ;;  :journal?        false} ; Default value: false
-
- ;; Favorites to list on the left sidebar
- :favorites []
-
- ;; Set flashcards interval.
- ;; Expected value:
- ;; - Float between 0 and 1
- ;; higher values result in faster changes to the next review interval.
- ;; Default value: 0.5
- ;; :srs/learning-fraction 0.5
-
- ;; Set the initial interval after the first successful review of a card.
- ;; Default value: 4
- ;; :srs/initial-interval 4
-
- ;; Hide specific block properties.
- ;; Example usage:
- ;; :block-hidden-properties #{:public :icon}
-
- ;; Create a page for all properties.
- ;; Default value: true
- :property-pages/enabled? true
-
- ;; Properties to exclude from having property pages
- ;; Example usage:
- ;; :property-pages/excludelist #{:duration :author}
-
- ;; By default, property value separated by commas will not be treated as
- ;; page references. You can add properties to enable it.
- ;; Example usage:
- ;; :property/separated-by-commas #{:alias :tags}
-
- ;; Properties that are ignored when parsing property values for references
- ;; Example usage:
- ;; :ignored-page-references-keywords #{:author :website}
-
- ;; logbook configuration.
- ;; :logbook/settings
- ;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
- ;;  :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
- ;;  :enabled-in-timestamped-blocks false ;don't display logbook at all
- ;; }
-
- ;; Mobile photo upload configuration.
- ;; :mobile/photo
- ;; {:allow-editing? true
- ;;  :quality        80}
-
- ;; Mobile features options
- ;; Gestures
- ;; Example usage:
- ;; :mobile
- ;; {:gestures/disabled-in-block-with-tags ["kanban"]}
-
- ;; Extra CodeMirror options
- ;; See https://codemirror.net/5/doc/manual.html#config for possible options
- ;; Example usage:
- ;; :editor/extra-codemirror-options
- ;; {:lineWrapping  false  ; Default value: false
- ;;  :lineNumbers   true   ; Default value: true
- ;;  :readOnly      false} ; Default value: false
-
- ;; Enable logical outdenting
- ;; Default value: false
- ;; :editor/logical-outdenting? false
-
- ;; Prefer pasting the file when text and a file are in the clipboard.
- ;; Default value: false
- ;; :editor/preferred-pasting-file? false
-
- ;; Quick capture templates for receiving content from other apps.
- ;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
- ;; by receiving content from other apps. Note: the {} cannot be omitted.
- ;; - {time}: capture time
- ;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
- ;; - {text}: text that users selected before sharing.
- ;; - {url}: URL or assets path for media files stored in Logseq.
- ;; You can also reorder them or use only one or two of them in the template.
- ;; You can also insert or format any text in the template, as shown in the following examples.
- ;; :quick-capture-templates
- ;; {:text "[[quick capture]] **{time}**: {text} from {url}"
- ;;  :media "[[quick capture]] **{time}**: {url}"}
-
- ;; Quick capture options.
- ;; - insert-today?   Insert the capture at the end of today's journal page (boolean).
- ;; - redirect-page?  Redirect to the quick capture page after capturing (boolean).
- ;; - default-page    The default page to capture to if insert-today? is false (string).
- ;; :quick-capture-options
- ;; {:insert-today? false           ;; Default value: true
- ;;  :redirect-page? false          ;; Default value: false
- ;;  :default-page "quick capture"} ;; Default page: "quick capture"
-
- ;; File sync options
- ;; Ignore these files when syncing, regexp is supported.
- ;; :file-sync/ignore-files []
-
- ;; Configure the Enter key behavior for
- ;; context-aware editing with DWIM (Do What I Mean).
- ;; context-aware Enter key behavior implies that pressing Enter will
- ;; have different outcomes based on the context.
- ;; For instance, pressing Enter within a list generates a new list item,
- ;; whereas pressing Enter in a block reference opens the referenced block.
- ;; :dwim/settings
- ;; {:admonition&src?  true        ;; Default value: true
- ;;  :markup?          false       ;; Default value: false
- ;;  :block-ref?       true        ;; Default value: true
- ;;  :page-ref?        true        ;; Default value: true
- ;;  :properties?      true        ;; Default value: true
- ;;  :list?            false}      ;; Default value: false
-
- ;; Configure the escaping method for special characters in page titles.
- ;; Warning:
- ;;   This is a dangerous operation. To modify the setting,
- ;;   access the 'Filename format' setting and follow the instructions.
- ;;   Otherwise, You may need to manually rename all affected files and
- ;;   re-index them on all clients after synchronization.
- ;;   Incorrect handling may result in messy page titles.
- ;; Available options:
- ;;   - :triple-lowbar (default)
- ;;      ;use triple underscore `___` for slash `/` in page title
- ;;      ;use Percent-encoding for other invalid characters
- :file/name-format :triple-lowbar}

+ 1 - 0
src/resources/templates/config.edn

@@ -0,0 +1 @@
+../../../deps/common/resources/templates/config.edn