From 36edf87db3794cd49f7c90f37288c5b82db1e3c9 Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Fri, 8 Sep 2023 13:48:47 -0400 Subject: [PATCH] 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 --- deps/common/README.md | 10 +- deps/common/deps.edn | 3 +- deps/common/nbb.edn | 2 +- deps/common/resources/templates/config.edn | 410 ++++++++++++++++++++ docs/dev-practices.md | 2 +- scripts/nbb.edn | 3 + src/resources/templates/config.edn | 411 +-------------------- 7 files changed, 423 insertions(+), 418 deletions(-) create mode 100644 deps/common/resources/templates/config.edn mode change 100644 => 120000 src/resources/templates/config.edn diff --git a/deps/common/README.md b/deps/common/README.md index 39ad33b1a1..4fe37aa251 100644 --- a/deps/common/README.md +++ b/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 diff --git a/deps/common/deps.edn b/deps/common/deps.edn index cfe8fa52e2..1e4e85c209 100644 --- a/deps/common/deps.edn +++ b/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"}} diff --git a/deps/common/nbb.edn b/deps/common/nbb.edn index 3774f52e5a..cb82c3e8e3 100644 --- a/deps/common/nbb.edn +++ b/deps/common/nbb.edn @@ -1,4 +1,4 @@ -{:paths ["src"] +{:paths ["src" "resources"] :deps {io.github.nextjournal/nbb-test-runner {:git/sha "60ed57aa04bca8d604f5ba6b28848bd887109347"}}} diff --git a/deps/common/resources/templates/config.edn b/deps/common/resources/templates/config.edn new file mode 100644 index 0000000000..0ea4f32a16 --- /dev/null +++ b/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} diff --git a/docs/dev-practices.md b/docs/dev-practices.md index dbf56b71e6..286ce693b0 100644 --- a/docs/dev-practices.md +++ b/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 diff --git a/scripts/nbb.edn b/scripts/nbb.edn index f5afe220c9..f72a2ffe7a 100644 --- a/scripts/nbb.edn +++ b/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"}}} diff --git a/src/resources/templates/config.edn b/src/resources/templates/config.edn deleted file mode 100644 index 0ea4f32a16..0000000000 --- a/src/resources/templates/config.edn +++ /dev/null @@ -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} diff --git a/src/resources/templates/config.edn b/src/resources/templates/config.edn new file mode 120000 index 0000000000..baf1942b36 --- /dev/null +++ b/src/resources/templates/config.edn @@ -0,0 +1 @@ +../../../deps/common/resources/templates/config.edn \ No newline at end of file