├── .gitignore ├── LICENSE.md ├── README.md ├── bb.edn ├── config ├── config.edn └── plugins.edn └── preferences.json /.gitignore: -------------------------------------------------------------------------------- 1 | settings/ 2 | graphs/ 3 | plugins/ 4 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 Gabriel Horner 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | This project contains my [Logseq](https://logseq.com/) configuration including 4 | plugins. I use this configuration across all my graphs with the [global 5 | configuration feature](https://docs.logseq.com/#/page/Global%20configuration). 6 | 7 | ## Setup 8 | 9 | To try my configuration: 10 | ``` 11 | # If you have an existing logseq config directory, back it up 12 | $ mv ~/.logseq/config ~/.logseq/config.bak 13 | 14 | # Clone this configuration 15 | $ git clone https://github.com/cldwalker/logseq-config . 16 | 17 | # Copy over my config 18 | $ cp -R config ~/.logseq/config 19 | ``` 20 | 21 | Alternatively, you can copy over specific files for more granular usage. 22 | 23 | ## Plugins 24 | 25 | The list of plugins I currently use are in [this file](config/plugins.edn). To 26 | try my plugins, see instructions under the `Functionality` section in 27 | https://docs.logseq.com/#/page/plugins.edn. 28 | 29 | ## Convert your local graph config to a global one 30 | 31 | If you would like to convert your existing Logseq config to a global config and 32 | possibly share with others via git: 33 | 34 | 1. In a shell: `cd ~/.logseq && git init`. 35 | 2. Copy this repository's .gitignore into `~/.logseq`. 36 | 3. Copy the `logseq/config.edn` from your most active graph to 37 | `~/.logseq/config/config.edn`. Be sure to only keep config options you want 38 | applied across all graphs. Remove the global config options from your local 39 | config files. 40 | 4. Save your config: `git add . && git commit -m "Initial commit"` 41 | 42 | ## Previously used plugins 43 | 44 | These are plugins I've tried. As someone who has built many editor plugins, this 45 | is not meant to make anyone feel bad about their hard work. This section is to 46 | share experiences in case it helps others. 47 | 48 | * https://github.com/hkgnp/logseq-mermaid-plugin - Switched from this to logseq-fenced-code-plus as I prefer my content to stay local. 49 | * https://github.com/hkgnp/logseq-quicktodo-plugin - This focuses just on quickly adding TODOs. I like to quickly capture content that isn't always a TODO. 50 | * https://github.com/haydenull/logseq-plugin-agenda - One of the most beautiful plugins I've tried. Unfortunately the dashboard view isn't useful to me with so many TODOs, even when I filter out with one tag. The calendar view was sometimes nice but didn't use it enough. 51 | * https://github.com/yoyurec/logseq-awesome-styler - Great looking theme. Liked it initially but then it got one too many features and didn't have ways to toggle them off 52 | * https://github.com/pengx17/logseq-plugin-tabs - Was useful initially but then I found it accrued too many tabs while navigating back and forth, which created too much visual clutter 53 | * https://github.com/benjaffe/logseq-reference-styles - Fun plugin to configure emojis for block refs. Found I didn't use it much 54 | * https://github.com/sawhney17/logseq-property-visualizer - Interesting usage of properties but found I didn't use it much 55 | * https://github.com/hyrijk/logseq-plugin-block-to-page - Didn't work when I tried with latest master 56 | * https://github.com/hkgnp/logseq-chartrender-plugin - Renders bar charts well but didn't use much 57 | * https://github.com/hkgnp/logseq-datenlp-plugin - Interesting plugin for writing dates as natural language. Didn't use it much though 58 | 59 | ## Dev 60 | 61 | Be sure to have [babashka](https://github.com/babashka/babashka) installed. 62 | 63 | Run `bb tasks` to see available tasks. Currently there are tasks for listing plugins. 64 | 65 | ## License 66 | See LICENSE.md 67 | 68 | ## Additional Links 69 | * https://github.com/search?q=logseq+path%3Aconfig%2Fconfig.edn&ref=opensearch&type=code - Github search for additional global configurations 70 | * https://github.com/search?q=logseq+path%3Alogseq%2Fconfig.edn&ref=opensearch&type=code - Github search for additional repo/graph configurations 71 | -------------------------------------------------------------------------------- /bb.edn: -------------------------------------------------------------------------------- 1 | {:deps 2 | {org.babashka/cli {:mvn/version "0.3.35"}} 3 | 4 | :tasks 5 | {:requires ([babashka.fs :as fs] 6 | [cheshire.core :as json] 7 | [clojure.pprint :as pprint] 8 | [babashka.cli :as cli]) 9 | 10 | :init (def cmd-line-opts (cli/parse-opts *command-line-args*)) 11 | 12 | list-plugins 13 | {:doc "List plugins from ~/.logseq/plugins" 14 | :task (let [map-fn (cond 15 | (:deps cmd-line-opts) 16 | (juxt :name :dependencies) 17 | (:full cmd-line-opts) 18 | (juxt :name (fn [m] (dissoc m :name))) 19 | :else 20 | (juxt :name :version))] 21 | (->> (fs/glob (fs/expand-home "~/.logseq/plugins") "*/package.json") 22 | (map (comp slurp str)) 23 | (map (fn [body] (json/parse-string body keyword))) 24 | (map map-fn) 25 | (into {}) 26 | pprint/pprint))}}} 27 | -------------------------------------------------------------------------------- /config/config.edn: -------------------------------------------------------------------------------- 1 | {;; My config 2 | ;; ========= 3 | ;; Full shortcuts list at https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs 4 | :shortcuts 5 | {:ui/toggle-theme "t z" 6 | :ui/toggle-brackets "t b" 7 | ;; couldn't do mod+shift+p so settled for close letter 8 | :editor/move-block-up ["mod+shift+up" "mod+shift+m"] 9 | :editor/move-block-down ["mod+shift+down" "mod+shift+n"] 10 | ;; TODO: Find better pair for forward and back 11 | ; :editor/forward-word ["mod+shift+f"] 12 | ; :editor/backward-word ["mod+shift+b"] 13 | :editor/open-file-in-default-app "ctrl+shift+a" 14 | :editor/copy-current-file "ctrl+shift+y" 15 | ;; alt+shift adds ˝ in insert mode 16 | :graph/open ["alt+shift+g" "mod+shift+o"] 17 | :ui/clear-all-notifications ["ctrl+, q"] 18 | ;; Turn off conflict warning - most likely with vim 19 | :plugin.logseq-plugin-gpt3-openai/$shortcut$mod_j false 20 | } 21 | 22 | ;; Macros replace texts and will make you more productive. 23 | :macros 24 | {"mark" "[:mark \"$1\"]" 25 | "rose" "Rose is $1, violet's $2. Life's ordered: Org assists you."} 26 | 27 | :preferred-workflow :todo 28 | 29 | ;; Add your own commands to speedup. 30 | ;; E.g. [["js" "Javascript"]] 31 | :commands 32 | [] 33 | 34 | :dev/validate-db-options {:closed-schema? true :fail-invalid? true} 35 | :outliner/block-title-collapse-enabled? true 36 | 37 | :query/views 38 | {:pprint 39 | (fn [r] [:pre.code (pprint r)])} 40 | 41 | ;; TODO: Add actual useful transforms 42 | ;; Pre-defined :result-transform function to use in Query 43 | :query/result-transforms 44 | {:sort-by-priority 45 | (fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))} 46 | 47 | :quick-capture-templates 48 | {:text "{text}{url}" 49 | :media "[[quick capture]] **{time}**: {url}"} 50 | } 51 | -------------------------------------------------------------------------------- /config/plugins.edn: -------------------------------------------------------------------------------- 1 | {:logseq-power-plugin {:version "v1.0.0", :repo "hkgnp/logseq-power-plugin", :effect true, :theme false} 2 | :logseq-tablerender-plugin {:version "v2.3.2", :repo "hkgnp/logseq-tablerender-plugin", :effect false, :theme false} 3 | :logseq-heatmap {:version "v2.4.3", :repo "pengx17/logseq-plugin-heatmap", :effect true, :theme false} 4 | :logseq-bullet-threading {:version "v1.1.4", :repo "pengx17/logseq-plugin-bullet-threading", :effect false, :theme false} 5 | :logseq-vim-shortcuts {:version "v0.1.19", :repo "vipzhicheng/logseq-plugin-vim-shortcuts", :effect true, :theme false} 6 | :logseq-plugin-gpt3-openai {:version "v1.10.0", :repo "briansunter/logseq-plugin-gpt3-openai", :effect true, :theme false} 7 | :logseq-fenced-code-plus {:version "0.0.7", :repo "xyhp915/logseq-fenced-code-plus", :effect true, :theme false} 8 | :logseq-url-plus {:version "0.1.2", :repo "rlhk/logseq-url-plus", :effect true, :theme false}} 9 | -------------------------------------------------------------------------------- /preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "theme": null, 3 | "themes": { 4 | "mode": "dark", 5 | "light": { 6 | "name": "Luma Light", 7 | "url": "assets:///Users/me/.logseq/plugins/logseq-luma/custom.css", 8 | "description": "A minimal and detail oriented light theme for Logseq", 9 | "mode": "light", 10 | "pid": "logseq-luma" 11 | }, 12 | "dark": null 13 | }, 14 | "externals": [], 15 | "pinnedToolbarItems": [] 16 | } --------------------------------------------------------------------------------