mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 14:14:55 +00:00
Remove old cmdk && command palette
This commit is contained in:
@@ -192,7 +192,7 @@ export interface BlockEntity {
|
||||
level?: number
|
||||
meta?: { timestamps: any; properties: any; startPos: number; endPos: number }
|
||||
title?: Array<any>
|
||||
marker?: string
|
||||
marker?: string
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -275,7 +275,6 @@ export type ExternalCommandType =
|
||||
| 'logseq.go/next-journal'
|
||||
| 'logseq.go/prev-journal'
|
||||
| 'logseq.go/search'
|
||||
| 'logseq.go/search-in-page'
|
||||
| 'logseq.go/tomorrow'
|
||||
| 'logseq.go/backward'
|
||||
| 'logseq.go/forward'
|
||||
@@ -294,7 +293,6 @@ export type ExternalCommandType =
|
||||
| 'logseq.ui/toggle-settings'
|
||||
| 'logseq.ui/toggle-theme'
|
||||
| 'logseq.ui/toggle-wide-mode'
|
||||
| 'logseq.command-palette/toggle'
|
||||
|
||||
export type UserProxyTags = 'app' | 'editor' | 'db' | 'git' | 'ui' | 'assets'
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
:de #{:graph :host :plugins :port :right-side-bar/whiteboards :search-item/block
|
||||
:settings-of-plugins :search-item/whiteboard :shortcut.category/navigating
|
||||
:settings-page/enable-tooltip :settings-page/enable-whiteboards :settings-page/plugin-system}
|
||||
:es #{:settings-page/tab-general :settings-page/tab-editor :whiteboard/color :search/command-palette-tip-1 :right-side-bar/history-global}
|
||||
:es #{:settings-page/tab-general :settings-page/tab-editor :whiteboard/color :right-side-bar/history-global}
|
||||
:it #{:plugins}
|
||||
:nl #{:plugins :type :left-side-bar/nav-recent-pages :plugin/update}
|
||||
:pl #{:port}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[frontend.components.block :as block]
|
||||
[frontend.components.command-palette :as cp]
|
||||
[frontend.context.i18n :refer [t]]
|
||||
[frontend.db :as db]
|
||||
[frontend.db.model :as model]
|
||||
@@ -25,7 +24,15 @@
|
||||
[frontend.mixins :as mixins]
|
||||
[logseq.graph-parser.util.block-ref :as block-ref]
|
||||
[logseq.graph-parser.util :as gp-util]
|
||||
[logseq.shui.button.v2 :as button]))
|
||||
[logseq.shui.button.v2 :as button]
|
||||
[frontend.modules.shortcut.utils :as shortcut-utils]))
|
||||
|
||||
(defn translate [t {:keys [id desc]}]
|
||||
(when id
|
||||
(let [desc-i18n (t (shortcut-utils/decorate-namespace id))]
|
||||
(if (string/starts-with? desc-i18n "{Missing key")
|
||||
desc
|
||||
desc-i18n))))
|
||||
|
||||
(def GROUP-LIMIT 5)
|
||||
|
||||
@@ -69,7 +76,7 @@
|
||||
{:text "Create whiteboard" :icon "new-whiteboard" :icon-theme :color :info (str "Create whiteboard called '" q "'") :source-create :whiteboard}]))
|
||||
|
||||
;; Take the results, decide how many items to show, and order the results appropriately
|
||||
(defn state->results-ordered [state]
|
||||
(defn state->results-ordered [state search-mode]
|
||||
(let [results @(::results state)
|
||||
input @(::input state)
|
||||
filter @(::filter state)
|
||||
@@ -89,11 +96,16 @@
|
||||
(db/entity [:block/name (string/trim input)]))
|
||||
filter-mode? (or (string/includes? input " /")
|
||||
(string/starts-with? input "/"))
|
||||
order* (if filter-mode?
|
||||
order* (cond
|
||||
(= search-mode :graph)
|
||||
[["Pages" :pages (visible-items :pages)]]
|
||||
|
||||
filter-mode?
|
||||
[["Filters" :filters (visible-items :filters)]
|
||||
["Pages" :pages (visible-items :pages)]
|
||||
(when-not page-exists?
|
||||
["Create" :create (create-items input)])]
|
||||
:else
|
||||
(->>
|
||||
[["Pages" :pages (visible-items :pages)]
|
||||
["Commands" :commands (visible-items :commands)]
|
||||
@@ -114,7 +126,7 @@
|
||||
|
||||
(defn state->highlighted-item [state]
|
||||
(or (some-> state ::highlighted-item deref)
|
||||
(some->> (state->results-ordered state)
|
||||
(some->> (state->results-ordered state (:search/mode @state/state))
|
||||
(mapcat last)
|
||||
(first))))
|
||||
|
||||
@@ -147,7 +159,7 @@
|
||||
(remove (fn [c] (= :window/close (:id c))))
|
||||
(map #(hash-map :icon "command"
|
||||
:icon-theme :gray
|
||||
:text (cp/translate t %)
|
||||
:text (translate t %)
|
||||
:shortcut (:shortcut %)
|
||||
:source-command %)))]
|
||||
(reset! !results (-> default-results (assoc-in [:recents :items] recent-items)
|
||||
@@ -161,12 +173,12 @@
|
||||
(if (empty? @!input)
|
||||
(swap! !results update group merge {:status :success :items default-commands})
|
||||
(let [commands (->> (cp-handler/top-commands 1000)
|
||||
(map #(assoc % :t (cp/translate t %))))
|
||||
(map #(assoc % :t (translate t %))))
|
||||
search-results (search/fuzzy-search commands @!input {:extract-fn :t})]
|
||||
(->> search-results
|
||||
(map #(hash-map :icon "command"
|
||||
:icon-theme :gray
|
||||
:text (cp/translate t %)
|
||||
:text (translate t %)
|
||||
:shortcut (:shortcut %)
|
||||
:source-command %))
|
||||
(hash-map :status :success :items)
|
||||
@@ -319,8 +331,13 @@
|
||||
(when-let [item (some-> state state->highlighted-item)]
|
||||
(let [shift? @(::shift? state)
|
||||
page? (boolean (:source-page item))
|
||||
block? (boolean (:source-block item))]
|
||||
block? (boolean (:source-block item))
|
||||
search-mode (:search/mode @state/state)
|
||||
graph-view? (= search-mode :graph)]
|
||||
(cond
|
||||
(and graph-view? page? (not shift?)) (do
|
||||
(state/add-graph-search-filter! @(::input state))
|
||||
(reset! (::input state) ""))
|
||||
(and shift? block?) (handle-action :open-block-right state event)
|
||||
(and shift? page?) (handle-action :open-page-right state event)
|
||||
block? (handle-action :open-block state event)
|
||||
@@ -450,8 +467,7 @@
|
||||
{:trigger-once? true}))]]))
|
||||
|
||||
(defn move-highlight [state n]
|
||||
(js/console.log "move-highlight" n)
|
||||
(let [items (mapcat last (state->results-ordered state))
|
||||
(let [items (mapcat last (state->results-ordered state (:search/mode @state/state)))
|
||||
highlighted-item (some-> state ::highlighted-item deref (dissoc :mouse-enter-triggered-highlight))
|
||||
current-item-index (some->> highlighted-item (.indexOf items))
|
||||
next-item-index (some-> (or current-item-index 0) (+ n) (mod (count items)))]
|
||||
@@ -523,6 +539,17 @@
|
||||
:recents "Recents"
|
||||
(string/capitalize (name group))))
|
||||
|
||||
(defn- input-placeholder
|
||||
[sidebar?]
|
||||
(let [search-mode (:search/mode @state/state)]
|
||||
(prn :debug :search-mode search-mode)
|
||||
(cond
|
||||
(and (= search-mode :graph) (not sidebar?))
|
||||
"Add graph filter"
|
||||
|
||||
:else
|
||||
"What are you looking for?")))
|
||||
|
||||
(rum/defc input-row
|
||||
[state all-items]
|
||||
(let [highlighted-item @(::highlighted-item state)
|
||||
@@ -544,7 +571,7 @@
|
||||
[:div {:style {:background "var(--lx-gray-02)"
|
||||
:border-bottom "1px solid var(--lx-gray-07)"}}
|
||||
[:input {:class "text-xl bg-transparent border-none w-full outline-none px-4 py-3"
|
||||
:placeholder "What are you looking for?"
|
||||
:placeholder (input-placeholder false)
|
||||
:ref #(when-not @input-ref (reset! input-ref %))
|
||||
:on-change (fn [e]
|
||||
(when (= "" (.-value @input-ref))
|
||||
@@ -582,7 +609,7 @@
|
||||
(ui/rotating-arrow false)
|
||||
(shui/icon "search" {:class "text-gray-12"})
|
||||
[:input {:class "text-base bg-transparent border-none w-full outline-none py-2"
|
||||
:placeholder "What are you looking for?"
|
||||
:placeholder (input-placeholder true)
|
||||
:ref #(reset! input-ref %)
|
||||
:on-change (partial handle-input-change state)
|
||||
:value input}]
|
||||
@@ -659,7 +686,10 @@
|
||||
shortcut/disable-all-shortcuts
|
||||
rum/reactive
|
||||
{:init (fn [state]
|
||||
(assoc state ::ref (atom nil)))}
|
||||
(assoc state ::ref (atom nil)))
|
||||
:will-unmount (fn [state]
|
||||
(state/set-state! :search/mode nil)
|
||||
state)}
|
||||
(mixins/event-mixin
|
||||
(fn [state]
|
||||
(let [ref @(::ref state)]
|
||||
@@ -682,8 +712,9 @@
|
||||
(rum/local nil ::input-ref)
|
||||
[state {:keys [sidebar?]}]
|
||||
(let [*input (::input state)
|
||||
search-mode (:search/mode @state/state)
|
||||
group-filter (:group @(::filter state))
|
||||
results-ordered (state->results-ordered state)
|
||||
results-ordered (state->results-ordered state search-mode)
|
||||
all-items (mapcat last results-ordered)
|
||||
first-item (first all-items)]
|
||||
[:div.cp__cmdk {:ref #(when-not @(::ref state) (reset! (::ref state) %))
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
(ns frontend.components.command-palette
|
||||
(:require [frontend.handler.command-palette :as cp]
|
||||
[frontend.modules.shortcut.core :as shortcut]
|
||||
[frontend.modules.shortcut.utils :as shortcut-utils]
|
||||
[frontend.context.i18n :refer [t]]
|
||||
[frontend.search :as search]
|
||||
[frontend.ui :as ui]
|
||||
[frontend.util :as util]
|
||||
[rum.core :as rum]
|
||||
[clojure.string :as string]))
|
||||
|
||||
(defn translate [t {:keys [id desc]}]
|
||||
(when id
|
||||
(let [desc-i18n (t (shortcut-utils/decorate-namespace id))]
|
||||
(if (string/starts-with? desc-i18n "{Missing key")
|
||||
desc
|
||||
desc-i18n))))
|
||||
|
||||
(defn get-matched-commands [commands input limit t]
|
||||
(search/fuzzy-search commands input :limit limit :extract-fn (partial translate t)))
|
||||
|
||||
(rum/defc render-command
|
||||
[{:keys [id shortcut] :as cmd} chosen?]
|
||||
(let [first-shortcut (first (string/split shortcut #" \| "))
|
||||
desc (translate t cmd)]
|
||||
[:div.inline-grid.grid-cols-4.items-center.w-full
|
||||
{:class (when chosen? "chosen")}
|
||||
[:span.col-span-3 desc]
|
||||
[:div.col-span-1.flex.justify-end.tip
|
||||
(when (and (keyword? id) (namespace id))
|
||||
[:code.opacity-40.bg-transparent (namespace id)])
|
||||
(when-not (string/blank? first-shortcut)
|
||||
[:code.ml-1 first-shortcut])]]))
|
||||
|
||||
(rum/defcs command-palette <
|
||||
shortcut/disable-all-shortcuts
|
||||
(rum/local "" ::input)
|
||||
[state {:keys [commands limit]
|
||||
:or {limit 100}}]
|
||||
(let [input (::input state)]
|
||||
[:div.cp__palette.cp__palette-main
|
||||
[:div.input-wrap
|
||||
[:input.cp__palette-input.w-full.h-full
|
||||
{:type "text"
|
||||
:placeholder (t :command-palette/prompt)
|
||||
:auto-focus true
|
||||
:value @input
|
||||
:on-change (fn [e] (reset! input (util/evalue e)))}]]
|
||||
|
||||
[:div.command-results-wrap
|
||||
(ui/auto-complete
|
||||
(if (string/blank? @input)
|
||||
(cp/top-commands limit)
|
||||
(get-matched-commands commands @input limit t))
|
||||
{:item-render render-command
|
||||
:class "cp__palette-results"
|
||||
:on-chosen (fn [cmd] (cp/invoke-command cmd))})]]))
|
||||
@@ -1,4 +1,4 @@
|
||||
.cp__palette, .cp__select {
|
||||
.cp__select {
|
||||
--palettle-input-height: 64px;
|
||||
--palettle-container-height: 75vh;
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
:refer [*first-command-group *matched-block-commands *matched-commands]]
|
||||
[frontend.components.block :as block]
|
||||
[frontend.components.datetime :as datetime-comp]
|
||||
[frontend.components.search :as search]
|
||||
[frontend.components.svg :as svg]
|
||||
[frontend.components.search :as search]
|
||||
[frontend.context.i18n :refer [t]]
|
||||
[frontend.db :as db]
|
||||
[frontend.db.model :as db-model]
|
||||
@@ -14,6 +14,7 @@
|
||||
[frontend.handler.editor.lifecycle :as lifecycle]
|
||||
[frontend.handler.page :as page-handler]
|
||||
[frontend.handler.paste :as paste-handler]
|
||||
[frontend.handler.search :as search-handler]
|
||||
[frontend.search :refer [fuzzy-search]]
|
||||
[frontend.mixins :as mixins]
|
||||
[frontend.modules.shortcut.core :as shortcut]
|
||||
@@ -157,7 +158,7 @@
|
||||
(when (db-model/whiteboard-page? page-name) [:span.mr-1 (ui/icon "whiteboard" {:extension? true})])
|
||||
[:div.flex.space-x-1
|
||||
[:div (when-not (db/page-exists? page-name) (t :new-page))]
|
||||
(search/highlight-exact-query page-name q)]]
|
||||
(search-handler/highlight-exact-query page-name q)]]
|
||||
:open? chosen?
|
||||
:manual? true
|
||||
:fixed-position? true
|
||||
|
||||
@@ -1,104 +1,7 @@
|
||||
(ns frontend.components.search
|
||||
(:require [rum.core :as rum]
|
||||
[lambdaisland.glogi :as log]
|
||||
[frontend.util :as util]
|
||||
[frontend.components.block :as block]
|
||||
[frontend.components.svg :as svg]
|
||||
[frontend.handler.route :as route-handler]
|
||||
[frontend.handler.editor :as editor-handler]
|
||||
[frontend.handler.page :as page-handler]
|
||||
[frontend.handler.block :as block-handler]
|
||||
[frontend.handler.notification :as notification]
|
||||
[frontend.db :as db]
|
||||
[frontend.db.model :as model]
|
||||
[frontend.handler.search :as search-handler]
|
||||
[frontend.handler.whiteboard :as whiteboard-handler]
|
||||
[frontend.extensions.pdf.utils :as pdf-utils]
|
||||
[frontend.ui :as ui]
|
||||
[frontend.state :as state]
|
||||
[frontend.mixins :as mixins]
|
||||
[frontend.config :as config]
|
||||
[clojure.string :as string]
|
||||
[frontend.context.i18n :refer [t]]
|
||||
[frontend.date :as date]
|
||||
[reitit.frontend.easy :as rfe]
|
||||
[frontend.modules.shortcut.core :as shortcut]
|
||||
[frontend.util.text :as text-util]))
|
||||
|
||||
(defn highlight-exact-query
|
||||
[content q]
|
||||
(if (or (string/blank? content) (string/blank? q))
|
||||
content
|
||||
(when (and content q)
|
||||
(let [q-words (string/split q #" ")
|
||||
lc-content (util/search-normalize content (state/enable-search-remove-accents?))
|
||||
lc-q (util/search-normalize q (state/enable-search-remove-accents?))]
|
||||
(if (and (string/includes? lc-content lc-q)
|
||||
(not (util/safe-re-find #" " q)))
|
||||
(let [i (string/index-of lc-content lc-q)
|
||||
[before after] [(subs content 0 i) (subs content (+ i (count q)))]]
|
||||
[:div
|
||||
(when-not (string/blank? before)
|
||||
[:span before])
|
||||
[:mark.p-0.rounded-none (subs content i (+ i (count q)))]
|
||||
(when-not (string/blank? after)
|
||||
[:span after])])
|
||||
(let [elements (loop [words q-words
|
||||
content content
|
||||
result []]
|
||||
(if (and (seq words) content)
|
||||
(let [word (first words)
|
||||
lc-word (util/search-normalize word (state/enable-search-remove-accents?))
|
||||
lc-content (util/search-normalize content (state/enable-search-remove-accents?))]
|
||||
(if-let [i (string/index-of lc-content lc-word)]
|
||||
(recur (rest words)
|
||||
(subs content (+ i (count word)))
|
||||
(vec
|
||||
(concat result
|
||||
[[:span (subs content 0 i)]
|
||||
[:mark.p-0.rounded-none (subs content i (+ i (count word)))]])))
|
||||
(recur nil
|
||||
content
|
||||
result)))
|
||||
(conj result [:span content])))]
|
||||
[:p {:class "m-0"} elements]))))))
|
||||
|
||||
(defn highlight-page-content-query
|
||||
"Return hiccup of highlighted page content FTS result"
|
||||
[content q]
|
||||
(when-not (or (string/blank? content) (string/blank? q))
|
||||
[:div (loop [content content ;; why recur? because there might be multiple matches
|
||||
result []]
|
||||
(let [[b-cut hl-cut e-cut] (text-util/cut-by content "$pfts_2lqh>$" "$<pfts_2lqh$")
|
||||
hiccups-add [(when-not (string/blank? b-cut)
|
||||
[:span b-cut])
|
||||
(when-not (string/blank? hl-cut)
|
||||
[:mark.p-0.rounded-none hl-cut])]
|
||||
hiccups-add (remove nil? hiccups-add)
|
||||
new-result (concat result hiccups-add)]
|
||||
(if-not (string/blank? e-cut)
|
||||
(recur e-cut new-result)
|
||||
new-result)))]))
|
||||
|
||||
(rum/defc search-result-item
|
||||
[icon content]
|
||||
[:.search-result
|
||||
(ui/type-icon icon)
|
||||
[:.self-center content]])
|
||||
|
||||
(rum/defc page-content-search-result-item
|
||||
[repo uuid format snippet q search-mode]
|
||||
[:div
|
||||
(when (not= search-mode :page)
|
||||
[:div {:class "mb-1" :key "parents"}
|
||||
(block/breadcrumb {:id "block-search-block-parent"
|
||||
:block? true
|
||||
:search? true}
|
||||
repo
|
||||
(clojure.core/uuid uuid)
|
||||
{:indent? false})])
|
||||
[:div {:class "font-medium" :key "content"}
|
||||
(highlight-page-content-query (search-handler/sanity-search-content format snippet) q)]])
|
||||
[frontend.components.block :as block]))
|
||||
|
||||
(rum/defc block-search-result-item
|
||||
[repo uuid format content q search-mode]
|
||||
@@ -113,469 +16,4 @@
|
||||
(clojure.core/uuid uuid)
|
||||
{:indent? false})])
|
||||
[:div {:class "font-medium" :key "content"}
|
||||
(highlight-exact-query content q)]]))
|
||||
|
||||
(defonce search-timeout (atom nil))
|
||||
|
||||
(defn- search-on-chosen-open-link
|
||||
[repo search-q {:keys [data type alias]}]
|
||||
(search-handler/add-search-to-recent! repo search-q)
|
||||
(search-handler/clear-search!)
|
||||
(case type
|
||||
:block
|
||||
;; Open the first link in a block's content
|
||||
(let [block-uuid (uuid (:block/uuid data))
|
||||
block (:block/content (db/entity [:block/uuid block-uuid]))
|
||||
link (re-find editor-handler/url-regex block)]
|
||||
(if link
|
||||
(js/window.open link)
|
||||
(notification/show! "No link found on this block." :warning)))
|
||||
|
||||
:page
|
||||
;; Open the first link found in a page's properties
|
||||
(let [data (or alias data)
|
||||
page (when data (db/entity [:block/name (util/page-name-sanity-lc data)]))
|
||||
link (some #(re-find editor-handler/url-regex (val %)) (:block/properties page))]
|
||||
(if link
|
||||
(js/window.open link)
|
||||
(notification/show! "No link found on this page's properties." :warning)))
|
||||
|
||||
nil)
|
||||
(state/close-modal!))
|
||||
|
||||
(defn- search-on-chosen
|
||||
[repo search-q {:keys [type data alias]}]
|
||||
(search-handler/add-search-to-recent! repo search-q)
|
||||
(search-handler/clear-search!)
|
||||
(case type
|
||||
:graph-add-filter
|
||||
(state/add-graph-search-filter! search-q)
|
||||
|
||||
:new-page
|
||||
(page-handler/create! search-q {:redirect? true})
|
||||
|
||||
:new-whiteboard
|
||||
(whiteboard-handler/create-new-whiteboard-and-redirect! search-q)
|
||||
|
||||
:page
|
||||
(let [data (or alias data)]
|
||||
(cond
|
||||
(model/whiteboard-page? data)
|
||||
(route-handler/redirect-to-whiteboard! data)
|
||||
:else
|
||||
(route-handler/redirect-to-page! data)))
|
||||
|
||||
:file
|
||||
(route-handler/redirect! {:to :file
|
||||
:path-params {:path data}})
|
||||
|
||||
:block
|
||||
(let [block-uuid (uuid (:block/uuid data))
|
||||
collapsed? (db/parents-collapsed? repo block-uuid)
|
||||
page (:block/page (db/entity [:block/uuid block-uuid]))
|
||||
page-name (:block/name page)
|
||||
long-page? (block-handler/long-page? repo (:db/id page))]
|
||||
(if page
|
||||
(cond
|
||||
(model/whiteboard-page? page-name)
|
||||
(route-handler/redirect-to-whiteboard! page-name {:block-id block-uuid})
|
||||
|
||||
(or collapsed? long-page?)
|
||||
(route-handler/redirect-to-page! block-uuid)
|
||||
|
||||
:else
|
||||
(route-handler/redirect-to-page! (:block/name page) {:anchor (str "ls-block-" (:block/uuid data))}))
|
||||
;; search indice outdated
|
||||
(println "[Error] Block page missing: "
|
||||
{:block-id block-uuid
|
||||
:block (db/pull [:block/uuid block-uuid])})))
|
||||
|
||||
:page-content
|
||||
(let [page-uuid (uuid (:block/uuid data))
|
||||
page (model/get-block-by-uuid page-uuid)
|
||||
page-name (:block/name page)]
|
||||
(if page
|
||||
(cond
|
||||
(model/whiteboard-page? page-name)
|
||||
(route-handler/redirect-to-whiteboard! page-name)
|
||||
:else
|
||||
(route-handler/redirect-to-page! page-name))
|
||||
;; search indice outdated
|
||||
(println "[Error] page missing: "
|
||||
{:page-uuid page-uuid
|
||||
:page page})))
|
||||
nil)
|
||||
(state/close-modal!))
|
||||
|
||||
(defn- search-on-shift-chosen
|
||||
[repo search-q {:keys [type data alias]}]
|
||||
(search-handler/add-search-to-recent! repo search-q)
|
||||
(case type
|
||||
:page
|
||||
(let [data (or alias data)
|
||||
page (when data (db/entity [:block/name (util/page-name-sanity-lc data)]))]
|
||||
(when page
|
||||
(state/sidebar-add-block!
|
||||
repo
|
||||
(:db/id page)
|
||||
:page)))
|
||||
|
||||
:page-content
|
||||
(let [page-uuid (uuid (:block/uuid data))
|
||||
page (model/get-block-by-uuid page-uuid)]
|
||||
(if page
|
||||
(state/sidebar-add-block!
|
||||
repo
|
||||
(:db/id page)
|
||||
:page)
|
||||
;; search indice outdated
|
||||
(println "[Error] page missing: "
|
||||
{:page-uuid page-uuid
|
||||
:page page})))
|
||||
|
||||
:block
|
||||
(let [block-uuid (uuid (:block/uuid data))
|
||||
block (db/entity [:block/uuid block-uuid])]
|
||||
(state/sidebar-add-block!
|
||||
repo
|
||||
(:db/id block)
|
||||
:block))
|
||||
|
||||
:new-page
|
||||
(page-handler/create! search-q)
|
||||
|
||||
:file
|
||||
(route-handler/redirect! {:to :file
|
||||
:path-params {:path data}})
|
||||
|
||||
nil)
|
||||
(state/close-modal!))
|
||||
|
||||
(defn- create-item-render
|
||||
[icon label name]
|
||||
(search-result-item
|
||||
{:name icon
|
||||
:class "highlight"
|
||||
:extension? true}
|
||||
[:div.text.font-bold label
|
||||
[:span.ml-2 name]]))
|
||||
|
||||
(defn- search-item-render
|
||||
[search-q {:keys [type data alias]}]
|
||||
(let [search-mode (state/get-search-mode)
|
||||
data (if (string? data) (pdf-utils/fix-local-asset-pagename data) data)]
|
||||
[:div {:class "py-2"}
|
||||
(case type
|
||||
:graph-add-filter
|
||||
[:b search-q]
|
||||
|
||||
:new-page
|
||||
(create-item-render "new-page" (t :new-page) (str "\"" (string/trim search-q) "\""))
|
||||
|
||||
:new-whiteboard
|
||||
(create-item-render "new-whiteboard" (t :new-whiteboard) (str "\"" (string/trim search-q) "\""))
|
||||
|
||||
:page
|
||||
[:span {:data-page-ref data}
|
||||
(when alias
|
||||
(let [target-original-name (model/get-page-original-name alias)]
|
||||
[:span.mr-2.text-sm.font-medium.mb-2 (str "Alias -> " target-original-name)]))
|
||||
(search-result-item {:name (if (model/whiteboard-page? data) "whiteboard" "page")
|
||||
:extension? true
|
||||
:title (t (if (model/whiteboard-page? data) :search-item/whiteboard :search-item/page))}
|
||||
(highlight-exact-query data search-q))]
|
||||
|
||||
:file
|
||||
(search-result-item {:name "file"
|
||||
:title (t :search-item/file)}
|
||||
(highlight-exact-query data search-q))
|
||||
|
||||
:block
|
||||
(let [{:block/keys [page uuid content]} data ;; content here is normalized
|
||||
page (util/get-page-original-name page)
|
||||
repo (state/sub :git/current-repo)
|
||||
format (db/get-page-format page)
|
||||
block (when-not (string/blank? uuid)
|
||||
(model/query-block-by-uuid uuid))
|
||||
content' (if block (:block/content block) content)]
|
||||
[:span {:data-block-ref uuid}
|
||||
(search-result-item {:name "block"
|
||||
:title (t :search-item/block)
|
||||
:extension? true}
|
||||
|
||||
(cond
|
||||
(some? block)
|
||||
(block-search-result-item repo uuid format content' search-q search-mode)
|
||||
|
||||
(not (string/blank? content'))
|
||||
content'
|
||||
|
||||
:else
|
||||
(do (log/error "search result with non-existing uuid: " data)
|
||||
(t :search/cache-outdated))))])
|
||||
|
||||
:page-content
|
||||
(let [{:block/keys [snippet uuid]} data ;; content here is normalized
|
||||
repo (state/sub :git/current-repo)
|
||||
page (when uuid (model/query-block-by-uuid uuid)) ;; it's actually a page
|
||||
format (db/get-page-format page)]
|
||||
(when page
|
||||
[:span {:data-block-ref uuid}
|
||||
(search-result-item {:name "page"
|
||||
:title (t :search-item/page)
|
||||
:extension? true}
|
||||
(if page
|
||||
(page-content-search-result-item repo uuid format snippet search-q search-mode)
|
||||
(do (log/error "search result with non-existing uuid: " data)
|
||||
(t :search/cache-outdated))))]))
|
||||
|
||||
nil)]))
|
||||
|
||||
(rum/defc search-auto-complete
|
||||
"has-more? - if the result is truncated
|
||||
all? - if true, in show-more mode"
|
||||
[{:keys [engine pages files pages-content blocks has-more?] :as result} search-q all?]
|
||||
(let [pages (when-not all? (map (fn [page]
|
||||
(let [alias (model/get-redirect-page-name page)]
|
||||
(cond->
|
||||
{:type :page
|
||||
:data page}
|
||||
(and alias
|
||||
(not= (util/page-name-sanity-lc page)
|
||||
(util/page-name-sanity-lc alias)))
|
||||
(assoc :alias alias))))
|
||||
(remove nil? pages)))
|
||||
files (when-not all? (map (fn [file] {:type :file :data file}) files))
|
||||
blocks (map (fn [block] {:type :block :data block}) blocks)
|
||||
pages-content (map (fn [pages-content] {:type :page-content :data pages-content}) pages-content)
|
||||
search-mode (state/sub :search/mode)
|
||||
new-page (if (or
|
||||
(some? engine)
|
||||
(and (seq pages)
|
||||
(= (util/safe-page-name-sanity-lc search-q)
|
||||
(util/safe-page-name-sanity-lc (:data (first pages)))))
|
||||
(nil? result)
|
||||
all?)
|
||||
[]
|
||||
(if (state/enable-whiteboards?)
|
||||
[{:type :new-page} {:type :new-whiteboard}]
|
||||
[{:type :new-page}]))
|
||||
result (cond
|
||||
config/publishing?
|
||||
(concat pages files blocks) ;; Browser doesn't have page content FTS
|
||||
|
||||
(= :whiteboard/link search-mode)
|
||||
(concat pages blocks pages-content)
|
||||
|
||||
:else
|
||||
(concat new-page pages files blocks pages-content))
|
||||
result (if (= search-mode :graph)
|
||||
[{:type :graph-add-filter}]
|
||||
result)
|
||||
repo (state/get-current-repo)]
|
||||
[:div.results-inner
|
||||
(ui/auto-complete
|
||||
result
|
||||
{:class "search-results"
|
||||
:on-chosen #(search-on-chosen repo search-q %)
|
||||
:on-shift-chosen #(search-on-shift-chosen repo search-q %)
|
||||
:item-render #(search-item-render search-q %)
|
||||
:on-chosen-open-link #(search-on-chosen-open-link repo search-q %)})
|
||||
(when (and has-more? (not all?))
|
||||
[:div.px-2.py-4.search-more
|
||||
[:a.text-sm.font-medium {:href (rfe/href :search {:q search-q})
|
||||
:on-click (fn []
|
||||
(when-not (string/blank? search-q)
|
||||
(state/close-modal!)
|
||||
(search-handler/search (state/get-current-repo) search-q {:limit 1000
|
||||
:more? true})
|
||||
(search-handler/clear-search!)))}
|
||||
(t :more)]])]))
|
||||
|
||||
(rum/defc recent-search-and-pages
|
||||
[in-page-search?]
|
||||
[:div.recent-search
|
||||
[:div.wrap.px-4.pb-2.text-sm.opacity-70.flex.flex-row.justify-between.align-items.mx-1.sm:mx-0
|
||||
[:div (t :search/recent)]
|
||||
[:div.hidden.md:flex
|
||||
(ui/with-shortcut :go/search-in-page "bottom"
|
||||
[:div.flex-row.flex.align-items
|
||||
[:div.mr-3.flex (t :search/blocks-in-page)]
|
||||
[:div.flex.items-center
|
||||
(ui/toggle in-page-search?
|
||||
(fn [_value]
|
||||
(state/set-search-mode! (if in-page-search? :global :page)))
|
||||
true)]
|
||||
(ui/tippy {:html [:div
|
||||
;; TODO: fetch from config
|
||||
(t :search/command-palette-tip-1) [:code (util/->platform-shortcut "Ctrl + Shift + p")] (t :search/command-palette-tip-2)]
|
||||
:interactive true
|
||||
:arrow true
|
||||
:theme "monospace"}
|
||||
[:a.flex.fade-link.items-center
|
||||
{:style {:margin-left 12}
|
||||
:on-click #(state/pub-event! [:modal/command-palette])}
|
||||
(ui/icon "command" {:style {:font-size 20}})])])]]
|
||||
(let [recent-search (mapv (fn [q] {:type :search :data q}) (db/get-key-value :recent/search))
|
||||
pages (->> (db/get-key-value :recent/pages)
|
||||
(remove nil?)
|
||||
(filter string?)
|
||||
(remove #(= (string/lower-case %) "contents"))
|
||||
(mapv (fn [page] {:type :page :data page})))
|
||||
result (concat (take 5 recent-search) pages)]
|
||||
(ui/auto-complete
|
||||
result
|
||||
{:on-chosen (fn [{:keys [type data]}]
|
||||
(case type
|
||||
:page
|
||||
(do (route-handler/redirect-to-page! data)
|
||||
(state/close-modal!))
|
||||
:search
|
||||
(let [q data]
|
||||
(state/set-q! q)
|
||||
(let [search-mode (state/get-search-mode)
|
||||
opts (if (= :page search-mode)
|
||||
(let [current-page (or (state/get-current-page)
|
||||
(date/today))]
|
||||
{:page-db-id (:db/id (db/entity [:block/name (util/page-name-sanity-lc current-page)]))})
|
||||
{})]
|
||||
(if (= :page search-mode)
|
||||
(search-handler/search (state/get-current-repo) q opts)
|
||||
(search-handler/search (state/get-current-repo) q))))
|
||||
|
||||
nil))
|
||||
:on-shift-chosen (fn [{:keys [type data]}]
|
||||
(case type
|
||||
:page
|
||||
(let [page data]
|
||||
(when (string? page)
|
||||
(when-let [page (db/pull [:block/name (util/page-name-sanity-lc page)])]
|
||||
(state/sidebar-add-block!
|
||||
(state/get-current-repo)
|
||||
(:db/id page)
|
||||
:page))
|
||||
(state/close-modal!)))
|
||||
|
||||
nil))
|
||||
:item-render (fn [{:keys [type data]}]
|
||||
(case type
|
||||
:search [:div.flex-row.flex.search-item.font-medium
|
||||
svg/search
|
||||
[:span.ml-2 data]]
|
||||
:page (when-let [original-name (model/get-page-original-name data)] ;; might be block reference
|
||||
(search-result-item {:name "page"
|
||||
:extension? true}
|
||||
original-name))
|
||||
nil))}))])
|
||||
|
||||
(defn default-placeholder
|
||||
[search-mode]
|
||||
(cond
|
||||
config/publishing?
|
||||
(t :search/publishing)
|
||||
|
||||
(= search-mode :whiteboard/link)
|
||||
(t :whiteboard/link-whiteboard-or-block)
|
||||
|
||||
:else
|
||||
(t :search)))
|
||||
|
||||
(rum/defcs search-modal < rum/reactive
|
||||
shortcut/disable-all-shortcuts
|
||||
(mixins/event-mixin
|
||||
(fn [state]
|
||||
(mixins/hide-when-esc-or-outside
|
||||
state
|
||||
:on-hide (fn []
|
||||
(search-handler/clear-search!)))))
|
||||
(rum/local nil ::active-engine-tab)
|
||||
[state]
|
||||
(let [search-result (state/sub :search/result)
|
||||
search-q (state/sub :search/q)
|
||||
search-mode (state/sub :search/mode)
|
||||
engines (state/sub :search/engines)
|
||||
*active-engine-tab (::active-engine-tab state)
|
||||
timeout 300
|
||||
in-page-search? (= search-mode :page)]
|
||||
[:div.cp__palette.cp__palette-main
|
||||
[:div.ls-search.p-2.md:p-0
|
||||
[:div.input-wrap
|
||||
[:input.cp__palette-input.w-full.h-full
|
||||
{:type "text"
|
||||
:auto-focus true
|
||||
:placeholder (case search-mode
|
||||
:graph
|
||||
(t :graph-search)
|
||||
:page
|
||||
(t :page-search)
|
||||
(default-placeholder search-mode))
|
||||
:auto-complete (if (util/chrome?) "chrome-off" "off") ; off not working here
|
||||
:value search-q
|
||||
:on-key-down (fn [^js e]
|
||||
(when (= 27 (.-keyCode e))
|
||||
(when-not (string/blank? search-q)
|
||||
(util/stop e)
|
||||
(search-handler/clear-search!))))
|
||||
:on-change (fn [^js e]
|
||||
(when @search-timeout
|
||||
(js/clearTimeout @search-timeout))
|
||||
(let [value (util/evalue e)
|
||||
is-composing? (util/onchange-event-is-composing? e)] ;; #3199
|
||||
(if (and (string/blank? value) (not is-composing?))
|
||||
(search-handler/clear-search! false)
|
||||
(let [search-mode (state/get-search-mode)
|
||||
opts (if (= :page search-mode)
|
||||
(when-let [current-page (or (state/get-current-page)
|
||||
(date/today))]
|
||||
{:page-db-id (:db/id (db/entity [:block/name (util/page-name-sanity-lc current-page)]))})
|
||||
{})]
|
||||
(state/set-q! value)
|
||||
(reset! search-timeout
|
||||
(js/setTimeout
|
||||
(fn []
|
||||
(if (= :page search-mode)
|
||||
(search-handler/search (state/get-current-repo) value opts)
|
||||
(search-handler/search (state/get-current-repo) value)))
|
||||
timeout))))))}]]
|
||||
[:div.search-results-wrap
|
||||
;; list registered search engines
|
||||
(when (seq engines)
|
||||
[:ul.search-results-engines-tabs
|
||||
[:li
|
||||
{:class (when-not @*active-engine-tab "is-active")}
|
||||
(ui/button
|
||||
[:span.flex.items-center
|
||||
(svg/logo 14) [:span.pl-2 "Default"]]
|
||||
:background "orange"
|
||||
:on-click #(reset! *active-engine-tab nil))]
|
||||
|
||||
(for [[k v] engines]
|
||||
[:li
|
||||
{:key k
|
||||
:class (if (= k @*active-engine-tab) "is-active" "")}
|
||||
(ui/button [:span.flex.items-center
|
||||
[:span.pr-2 (ui/icon "puzzle")]
|
||||
(:name v)
|
||||
(when-let [result (and v (:result v))]
|
||||
(str " (" (apply + (map count ((juxt :blocks :pages :files) result))) ")"))]
|
||||
:on-click #(reset! *active-engine-tab k))])])
|
||||
|
||||
(if-not (nil? @*active-engine-tab)
|
||||
(let [active-engine-result (get-in engines [@*active-engine-tab :result])]
|
||||
(search-auto-complete
|
||||
(merge active-engine-result {:engine @*active-engine-tab}) search-q false))
|
||||
(if (seq search-result)
|
||||
(search-auto-complete search-result search-q false)
|
||||
(recent-search-and-pages in-page-search?)))]]]))
|
||||
|
||||
(rum/defc more < rum/reactive
|
||||
[route]
|
||||
(let [search-q (get-in route [:path-params :q])
|
||||
search-result (state/sub :search/more-result)]
|
||||
[:div#search.flex-1.flex
|
||||
[:div.inner
|
||||
[:h1.title (t :search/result-for) [:i search-q]]
|
||||
[:p.font-medium.tx-sm (str (count (:blocks search-result)) " " (t :search/items))]
|
||||
[:div#search-wrapper.relative.w-full.text-gray-400.focus-within:text-gray-600
|
||||
(when-not (string/blank? search-q)
|
||||
(search-auto-complete search-result search-q true))]]]))
|
||||
(search-handler/highlight-exact-query content q)]]))
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
#search {
|
||||
> .inner {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.search-result {
|
||||
@apply flex;
|
||||
}
|
||||
}
|
||||
|
||||
#search-wrapper {
|
||||
transition: .3s;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
.ls-search {
|
||||
@apply flex flex-col overflow-auto;
|
||||
|
||||
> .search-results-wrap {
|
||||
@apply flex flex-col flex-1 overflow-hidden h-full;
|
||||
|
||||
> .results-inner {
|
||||
@apply h-full overflow-y-auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.search-item svg {
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
.search-results-engines {
|
||||
&-tabs {
|
||||
@apply flex list-none -mx-2 mb-2 px-2;
|
||||
|
||||
background: var(--ls-primary-background-color);
|
||||
|
||||
> li {
|
||||
@apply p-0 m-0 min-w-[150px] flex-1;
|
||||
|
||||
.ui__button {
|
||||
@apply w-full h-full justify-center border;
|
||||
|
||||
background: transparent;
|
||||
border-radius: 0;
|
||||
line-height: 1;
|
||||
color: var(--ls-primary-text-color);
|
||||
}
|
||||
|
||||
&.is-active .ui__button {
|
||||
background: var(--ls-quaternary-background-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,6 @@
|
||||
[frontend.commands :as commands]
|
||||
[frontend.components.block :as block]
|
||||
[frontend.components.cmdk :as cmdk]
|
||||
[frontend.components.command-palette :as command-palette]
|
||||
[frontend.components.conversion :as conversion-component]
|
||||
[frontend.components.diff :as diff]
|
||||
[frontend.components.encryption :as encryption]
|
||||
@@ -21,7 +20,6 @@
|
||||
[frontend.components.git :as git-component]
|
||||
[frontend.components.page :as page]
|
||||
[frontend.components.plugins :as plugin]
|
||||
[frontend.components.search :as component-search]
|
||||
[frontend.components.shell :as shell]
|
||||
[frontend.components.whiteboard :as whiteboard]
|
||||
[frontend.components.user.login :as login]
|
||||
@@ -37,7 +35,6 @@
|
||||
[frontend.fs.nfs :as nfs]
|
||||
[frontend.fs.sync :as sync]
|
||||
[frontend.fs.watcher-handler :as fs-watcher]
|
||||
[frontend.handler.command-palette :as cp]
|
||||
[frontend.handler.common :as common-handler]
|
||||
[frontend.handler.editor :as editor-handler]
|
||||
[frontend.handler.file :as file-handler]
|
||||
@@ -389,18 +386,6 @@
|
||||
_ (repo-handler/graph-ready! repo)
|
||||
_ (fs-watcher/load-graph-files! repo loaded-homepage-files)]))
|
||||
|
||||
;; TODO(junyi): Notify user to update filename format when the UX is smooth enough
|
||||
;; (when-not config/test?
|
||||
;; (js/setTimeout
|
||||
;; (fn []
|
||||
;; (let [filename-format (state/get-filename-format repo)]
|
||||
;; (when (and (util/electron?)
|
||||
;; (not (util/ci?))
|
||||
;; (not (config/demo-graph?))
|
||||
;; (not= filename-format :triple-lowbar))
|
||||
;; (state/pub-event! [:ui/notify-outdated-filename-format []]))))
|
||||
;; 3000))
|
||||
|
||||
(defmethod handle :notification/show [[_ {:keys [content status clear?]}]]
|
||||
(notification/show! content status clear?))
|
||||
|
||||
@@ -409,19 +394,12 @@
|
||||
(state/set-modal! shell/shell)))
|
||||
|
||||
(defmethod handle :go/search [_]
|
||||
(state/set-modal! component-search/search-modal
|
||||
{:fullscreen? false
|
||||
(state/set-modal! cmdk/cmdk-modal
|
||||
{:fullscreen? true
|
||||
:close-btn? false
|
||||
:panel? false
|
||||
:label "ls-modal-search"}))
|
||||
|
||||
(defmethod handle :go/cmdk [_]
|
||||
(when-not (= cmdk/cmdk (:modal/panel-content @state/state))
|
||||
(state/set-modal! cmdk/cmdk-modal
|
||||
{:fullscreen? true
|
||||
:panel? false
|
||||
:close-btn? false
|
||||
:label "ls-modal-cmdk"})))
|
||||
|
||||
(defmethod handle :go/plugins [_]
|
||||
(plugin/open-plugins-modal!))
|
||||
|
||||
@@ -715,12 +693,6 @@
|
||||
opts))
|
||||
{:center? true :close-btn? false :close-backdrop? false}))
|
||||
|
||||
(defmethod handle :modal/command-palette [_]
|
||||
(state/set-modal!
|
||||
#(command-palette/command-palette {:commands (cp/get-commands)})
|
||||
{:fullscreen? false
|
||||
:close-btn? false}))
|
||||
|
||||
(defmethod handle :journal/insert-template [[_ page-name]]
|
||||
(let [page-name (util/page-name-sanity-lc page-name)]
|
||||
(when-let [page (db/pull [:block/name page-name])]
|
||||
@@ -997,4 +969,3 @@
|
||||
(def new-repo (string/replace deprecated-repo deprecated-app-id current-app-id))
|
||||
|
||||
(update-file-path deprecated-repo new-repo deprecated-app-id current-app-id))
|
||||
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
(state/pub-event! [:go/search]))
|
||||
|
||||
(defn go-to-cmdk! []
|
||||
(state/pub-event! [:go/cmdk]))
|
||||
(state/pub-event! [:go/search]))
|
||||
|
||||
(defn sidebar-journals!
|
||||
[]
|
||||
|
||||
@@ -126,3 +126,41 @@
|
||||
(notification/show!
|
||||
"Search indices rebuilt successfully!"
|
||||
:success)))))
|
||||
|
||||
(defn highlight-exact-query
|
||||
[content q]
|
||||
(if (or (string/blank? content) (string/blank? q))
|
||||
content
|
||||
(when (and content q)
|
||||
(let [q-words (string/split q #" ")
|
||||
lc-content (util/search-normalize content (state/enable-search-remove-accents?))
|
||||
lc-q (util/search-normalize q (state/enable-search-remove-accents?))]
|
||||
(if (and (string/includes? lc-content lc-q)
|
||||
(not (util/safe-re-find #" " q)))
|
||||
(let [i (string/index-of lc-content lc-q)
|
||||
[before after] [(subs content 0 i) (subs content (+ i (count q)))]]
|
||||
[:div
|
||||
(when-not (string/blank? before)
|
||||
[:span before])
|
||||
[:mark.p-0.rounded-none (subs content i (+ i (count q)))]
|
||||
(when-not (string/blank? after)
|
||||
[:span after])])
|
||||
(let [elements (loop [words q-words
|
||||
content content
|
||||
result []]
|
||||
(if (and (seq words) content)
|
||||
(let [word (first words)
|
||||
lc-word (util/search-normalize word (state/enable-search-remove-accents?))
|
||||
lc-content (util/search-normalize content (state/enable-search-remove-accents?))]
|
||||
(if-let [i (string/index-of lc-content lc-word)]
|
||||
(recur (rest words)
|
||||
(subs content (+ i (count word)))
|
||||
(vec
|
||||
(concat result
|
||||
[[:span (subs content 0 i)]
|
||||
[:mark.p-0.rounded-none (subs content i (+ i (count word)))]])))
|
||||
(recur nil
|
||||
content
|
||||
result)))
|
||||
(conj result [:span content])))]
|
||||
[:p {:class "m-0"} elements]))))))
|
||||
|
||||
@@ -341,21 +341,11 @@
|
||||
:ui/toggle-brackets {:binding "mod+c mod+b"
|
||||
:fn config-handler/toggle-ui-show-brackets!}
|
||||
|
||||
:go/search-in-page {:binding "mod+shift+k"
|
||||
:fn #(do
|
||||
(editor-handler/escape-editing)
|
||||
(route-handler/go-to-search! :page))}
|
||||
|
||||
:go/search {:binding "mod+k"
|
||||
:fn #(do
|
||||
(editor-handler/escape-editing false)
|
||||
(route-handler/go-to-search! :global))}
|
||||
|
||||
:go/cmdk {:binding "mod+j"
|
||||
:fn #(do
|
||||
(editor-handler/escape-editing false)
|
||||
(route-handler/go-to-cmdk!))}
|
||||
|
||||
:go/electron-find-in-page {:binding "mod+f"
|
||||
:inactive (not (util/electron?))
|
||||
:fn #(search-handler/open-find-in-page!)}
|
||||
@@ -394,11 +384,6 @@
|
||||
:misc/copy {:binding "mod+c"
|
||||
:fn (fn [] (js/document.execCommand "copy"))}
|
||||
|
||||
:command-palette/toggle {:binding "mod+shift+p"
|
||||
:fn #(do
|
||||
(editor-handler/escape-editing)
|
||||
(state/pub-event! [:modal/command-palette]))}
|
||||
|
||||
:graph/export-as-html {:fn #(export-handler/download-repo-as-html!
|
||||
(state/get-current-repo))
|
||||
:binding []}
|
||||
@@ -527,10 +512,10 @@
|
||||
:editor/toggle-open-blocks {:binding "t o"
|
||||
:fn editor-handler/toggle-open!}
|
||||
|
||||
:ui/cycle-color-off {:binding "c o"
|
||||
:ui/cycle-color-off {:binding "c o"
|
||||
:fn state/unset-color-accent!}
|
||||
|
||||
:ui/cycle-color {:binding "c c"
|
||||
:ui/cycle-color {:binding "c c"
|
||||
:fn state/cycle-color!}
|
||||
|
||||
:ui/toggle-cards {:binding "t c"
|
||||
@@ -684,19 +669,16 @@
|
||||
:editor/undo
|
||||
:editor/redo
|
||||
:ui/toggle-brackets
|
||||
:go/search-in-page
|
||||
:go/search
|
||||
:go/electron-find-in-page
|
||||
:go/electron-jump-to-the-next
|
||||
:go/electron-jump-to-the-previous
|
||||
:go/backward
|
||||
:go/cmdk
|
||||
:go/forward
|
||||
:search/re-index
|
||||
:sidebar/open-today-page
|
||||
:sidebar/clear
|
||||
:command/run
|
||||
:command-palette/toggle
|
||||
:window/close])
|
||||
(with-meta {:before m/prevent-default-behavior}))
|
||||
|
||||
@@ -759,7 +741,6 @@
|
||||
:editor/select-all-blocks
|
||||
:editor/select-parent
|
||||
:go/search
|
||||
:go/search-in-page
|
||||
:go/electron-find-in-page
|
||||
:go/electron-jump-to-the-next
|
||||
:go/electron-jump-to-the-previous
|
||||
@@ -890,7 +871,6 @@
|
||||
:pdf/find
|
||||
:command/toggle-favorite
|
||||
:command/run
|
||||
:command-palette/toggle
|
||||
:graph/export-as-html
|
||||
:graph/open
|
||||
:graph/remove
|
||||
|
||||
@@ -7,9 +7,8 @@
|
||||
[frontend.components.page :as page]
|
||||
[frontend.components.plugins :as plugins]
|
||||
[frontend.components.repo :as repo]
|
||||
[frontend.components.search :as search]
|
||||
[frontend.components.settings :as settings]
|
||||
[frontend.components.whiteboard :as whiteboard]
|
||||
[frontend.components.whiteboard :as whiteboard]
|
||||
[frontend.extensions.zotero :as zotero]
|
||||
[frontend.components.bug-report :as bug-report]
|
||||
[frontend.components.user.login :as login]))
|
||||
@@ -44,10 +43,6 @@
|
||||
{:name :file
|
||||
:view file/file}]
|
||||
|
||||
["/search/:q"
|
||||
{:name :search
|
||||
:view search/more}]
|
||||
|
||||
["/page/:name"
|
||||
{:name :page
|
||||
:view page/page}]
|
||||
@@ -75,11 +70,11 @@
|
||||
["/import"
|
||||
{:name :import
|
||||
:view setups/importer}]
|
||||
|
||||
|
||||
["/bug-report"
|
||||
{:name :bug-report
|
||||
:view bug-report/bug-report}]
|
||||
|
||||
|
||||
["/bug-report-tool/:tool"
|
||||
{:name :bug-report-tools
|
||||
:view bug-report/bug-report-tool-route}]
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
:journals-length 3
|
||||
|
||||
:search/q ""
|
||||
:search/mode :global ;; inner page or full graph? {:page :global}
|
||||
:search/mode nil ; nil -> global mode, :graph -> add graph filter, etc.
|
||||
:search/result nil
|
||||
:search/graph-filters []
|
||||
:search/engines {}
|
||||
@@ -2207,11 +2207,11 @@ Similar to re-frame subscriptions"
|
||||
|
||||
(defn cycle-color! []
|
||||
(let [current-color (get-color-accent)
|
||||
next-color (->> (cons nil colors/color-list)
|
||||
(drop-while #(not= % current-color))
|
||||
next-color (->> (cons nil colors/color-list)
|
||||
(drop-while #(not= % current-color))
|
||||
(second))]
|
||||
(if next-color
|
||||
(set-color-accent! next-color)
|
||||
(if next-color
|
||||
(set-color-accent! next-color)
|
||||
(unset-color-accent!))))
|
||||
|
||||
(defn set-page-properties-changed!
|
||||
|
||||
@@ -601,8 +601,8 @@
|
||||
"entered" "ease-out duration-300 opacity-100 translate-y-0 sm:scale-100"
|
||||
"exiting" "ease-in duration-200 opacity-100 translate-y-0 sm:scale-100"
|
||||
"exited" "ease-in duration-200 opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95")}
|
||||
[:div.ui__modal-close-wrap
|
||||
(when-not (false? close-btn?)
|
||||
(when-not (false? close-btn?)
|
||||
[:div.ui__modal-close-wrap
|
||||
[:a.ui__modal-close
|
||||
{:aria-label "Close"
|
||||
:type "button"
|
||||
@@ -613,8 +613,7 @@
|
||||
{:d "M6 18L18 6M6 6l12 12"
|
||||
:stroke-width "2"
|
||||
:stroke-linejoin "round"
|
||||
:stroke-linecap "round"}]]])]
|
||||
|
||||
:stroke-linecap "round"}]]]])
|
||||
(when show?
|
||||
[:div {:class (if fullscreen? "" "panel-content")}
|
||||
(modal-panel-content panel-content close-fn)])])
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
:asset/show-in-folder "Bild im Ordner anzeigen"
|
||||
|
||||
:block/name "Seitenname"
|
||||
|
||||
|
||||
:bug-report/main-title "Bug melden"
|
||||
:bug-report/clipboard-inspector-title "Untersuchung der Zwischenablage"
|
||||
:bug-report/main-desc "Können Sie uns mit einer Fehlermeldung helfen? Wir werden es schnellstmöglich beheben."
|
||||
@@ -115,8 +115,6 @@
|
||||
:color/purple "Violett"
|
||||
:color/pink "Rosa"
|
||||
|
||||
:command-palette/prompt "Befehl eingeben"
|
||||
|
||||
:content/click-to-edit "Klicken zum bearbeiten"
|
||||
:editor/copy "Kopieren"
|
||||
:editor/cut "Ausschneiden"
|
||||
@@ -192,7 +190,7 @@
|
||||
:graph/save "Speichern..."
|
||||
:graph/save-error "Speichern fehlgeschlagen"
|
||||
:graph/save-success "Erfolgreich gespeichert"
|
||||
|
||||
|
||||
:header/go-back "Zurück"
|
||||
:header/go-forward "Vorwärts"
|
||||
:header/more "Weitere Optionen"
|
||||
@@ -388,7 +386,7 @@
|
||||
:plugin.install-from-file/title "Plugins aus plugins.edn installieren"
|
||||
:plugin.install-from-file/notice "Die folgenden Plugins werden Ihre Plugins ersetzen:"
|
||||
:plugin.install-from-file/success "Alle Plugins installiert!"
|
||||
|
||||
|
||||
:query/config-property-settings "Einstellungen für diese Query:"
|
||||
|
||||
:right-side-bar/all-pages "Alle Seiten"
|
||||
@@ -408,9 +406,9 @@
|
||||
:right-side-bar/show-journals "Zeige Journale"
|
||||
:right-side-bar/switch-theme "Zu {1} Thema wechseln"
|
||||
:right-side-bar/toggle-right-sidebar "Rechte Seitenleiste umschalten"
|
||||
|
||||
|
||||
:select/default-select-multiple "Ein oder mehrere auswählen"
|
||||
|
||||
|
||||
:settings-page/app-updated "Ihre Version ist aktuell 🎉"
|
||||
:settings-page/auto-expand-block-refs "Automatisch beim Heranzoomen Blockreferenzen erweitern..."
|
||||
:settings-page/auto-expand-block-refs-tip "Diese Option steuert, ob Blockreferenzen beim Heranzoomen automatisch ausgeklappt werden."
|
||||
@@ -439,9 +437,9 @@
|
||||
:settings-page/update-available "Neue Version gefunden: "
|
||||
:settings-page/update-error-1 "⚠️ Ups, Etwas ist schiefgelaufen!"
|
||||
:settings-page/update-error-2 " Überprüfen Sie den "
|
||||
|
||||
|
||||
:settings-permission/start-granting "Erlauben"
|
||||
|
||||
|
||||
:tips/all-done "Alles erledigt!"
|
||||
|
||||
:tutorial/text #resource "tutorials/tutorial-de.md"
|
||||
@@ -536,7 +534,7 @@
|
||||
:whiteboard/zoom-in "Heranzoomen"
|
||||
:whiteboard/zoom-out "Herauszoomen"
|
||||
:whiteboard/zoom-to-fit "Zoom an Zeichnung anpassen"
|
||||
|
||||
|
||||
:window/minimize "Minimieren"
|
||||
:window/maximize "Maximieren"
|
||||
:window/restore "Wiederherstellen"
|
||||
@@ -545,8 +543,6 @@
|
||||
|
||||
:search/blocks-in-page "Suche nach Blöcken auf der Seite:"
|
||||
:search/cache-outdated "Der Cache ist veraltet. Klicken Sie auf 'Neu indizieren' im Dropdown-Menu des Graphen."
|
||||
:search/command-palette-tip-1 "Tipp: "
|
||||
:search/command-palette-tip-2 " um die Befehlspalette zu öffnen"
|
||||
:search/items "Einträge"
|
||||
:search/page-names "In Seitennamen suchen"
|
||||
:search/publishing "Suchen"
|
||||
@@ -651,7 +647,6 @@
|
||||
:command.cards/recall "Karten: Nehmen Sie sich eine Weile Zeit, um sich zu erinnern"
|
||||
:command.cards/remembered "Karten: Gemerkt"
|
||||
:command.cards/toggle-answers "Karten: Antworten/Lücken ein-/ausblenden"
|
||||
:command.command-palette/toggle "Befehlspalette umschalten"
|
||||
:command.command/run "Git-Befehl ausführen"
|
||||
:command.command/toggle-favorite "Zu Favoriten hinzufügen/entfernen"
|
||||
:command.date-picker/complete "Datumsauswahl: Den gewünschten Tag wählen"
|
||||
@@ -737,7 +732,6 @@
|
||||
:command.go/next-journal "Zum nächsten Journal springen"
|
||||
:command.go/prev-journal "Zum vorherigen Journal springen"
|
||||
:command.go/search "Volltextsuche"
|
||||
:command.go/search-in-page "Blöcke auf der aktuellen Seite suchen"
|
||||
:command.go/tomorrow "Zu morgen springen"
|
||||
:command.go/whiteboards "Zu Whiteboards springen"
|
||||
:command.graph/add "Einen Graph hinzufügen"
|
||||
|
||||
@@ -113,8 +113,6 @@
|
||||
:search/page-names "Search page names"
|
||||
:search/recent "Recent search:"
|
||||
:search/blocks-in-page "Search blocks in page:"
|
||||
:search/command-palette-tip-1 "Tip: "
|
||||
:search/command-palette-tip-2 " to open the commands palette"
|
||||
:search/cache-outdated "Cache is outdated. Please click the 'Re-index' button in the graph's dropdown menu."
|
||||
:search-item/whiteboard "Whiteboard"
|
||||
:search-item/page "Page"
|
||||
@@ -619,7 +617,6 @@
|
||||
|
||||
:tips/all-done "All Done!"
|
||||
|
||||
:command-palette/prompt "Type a command"
|
||||
:select/default-prompt "Select one"
|
||||
:select/default-select-multiple "Select one or multiple"
|
||||
:select.graph/prompt "Select a graph"
|
||||
@@ -770,12 +767,10 @@
|
||||
:whiteboard/ungroup "Ungroup selection"
|
||||
:whiteboard/toggle-grid "Toggle the canvas grid"
|
||||
:ui/toggle-brackets "Toggle whether to display brackets"
|
||||
:go/search-in-page "Search blocks in the current page"
|
||||
:go/electron-find-in-page "Find text in page"
|
||||
:go/electron-jump-to-the-next "Jump to the next match to your Find bar search"
|
||||
:go/electron-jump-to-the-previous "Jump to the previous match to your Find bar search"
|
||||
:go/search "Search pages and blocks"
|
||||
:go/cmdk "Open command center"
|
||||
:go/journals "Go to journals"
|
||||
:go/backward "Backwards"
|
||||
:go/forward "Forwards"
|
||||
@@ -784,7 +779,6 @@
|
||||
:sidebar/close-top "Closes the top item in the right sidebar"
|
||||
:sidebar/clear "Clear all in the right sidebar"
|
||||
:misc/copy "Copy"
|
||||
:command-palette/toggle "Toggle command palette"
|
||||
:graph/export-as-html "Export public graph pages as html"
|
||||
:graph/open "Select graph to open"
|
||||
:graph/remove "Remove a graph"
|
||||
|
||||
@@ -126,7 +126,6 @@
|
||||
:command.cards/recall "Tarjetas: tomar un momento para recordar"
|
||||
:command.cards/remembered "Tarjetas: recordadas"
|
||||
:command.cards/toggle-answers "Tarjetas: mostrar/ocultar respuestas/prueba de completar oraciones "
|
||||
:command.command-palette/toggle "Alternar paleta de comandos"
|
||||
:command.command/run "Ejecutar comando git"
|
||||
:command.command/toggle-favorite "Agregar a/eliminar de favoritos"
|
||||
:command.date-picker/complete "Selector de fechas: Escoger día seleccionado"
|
||||
@@ -213,7 +212,6 @@
|
||||
:command.go/next-journal "Ir al siguiente diario"
|
||||
:command.go/prev-journal "Ir al diario anterior"
|
||||
:command.go/search "Buscar en el grafo"
|
||||
:command.go/search-in-page "Buscar en la página actual"
|
||||
:command.go/tomorrow "Ir a mañana"
|
||||
:command.go/whiteboards "Ir a pizarras"
|
||||
:command.graph/add "Agregar un grafo"
|
||||
@@ -223,7 +221,6 @@
|
||||
:command.graph/remove "Eliminar un grafo"
|
||||
:command.graph/save "Guardar grafo actual al disco"
|
||||
:command.misc/copy "Copiar"
|
||||
:command-palette/prompt "Escriba un comando"
|
||||
:command.pdf/close "Pdf: Cerrar documento pdf actual"
|
||||
:command.pdf/find "Pdf: Buscar texto del documento pdf actual"
|
||||
:command.pdf/next-page "Pdf: Página siguiente del documento pdf actual"
|
||||
@@ -589,8 +586,6 @@
|
||||
:right-side-bar/whiteboards "Pizarras"
|
||||
:search/blocks-in-page "Buscar bloques en página:"
|
||||
:search/cache-outdated "La caché está desactualizada. Por favor da clic en el botón 'Reindexar' en el menú desplegable del grafo."
|
||||
:search/command-palette-tip-1 "Consejo: "
|
||||
:search/command-palette-tip-2 " abrir la paleta de comandos"
|
||||
:search-item/block "Bloque"
|
||||
:search-item/file "Archivo"
|
||||
:search-item/no-result "Sin resultados que coincidan"
|
||||
|
||||
@@ -134,7 +134,6 @@
|
||||
:color/purple "Violet"
|
||||
:color/red "Rouge"
|
||||
:color/yellow "Jaune"
|
||||
:command-palette/prompt "Tapez une commande"
|
||||
:content/copy-block-emebed "Copier l'intégration du bloc"
|
||||
:file-rn/apply-rename "Appliquer le renommage"
|
||||
:file-rn/close-panel "Fermer le panneau"
|
||||
@@ -339,8 +338,7 @@
|
||||
:command.cards/toggle-answers "Cartes : montrer/masquer les réponses/clozes"
|
||||
:command.command/run "Lancer une commande git"
|
||||
:command.command/toggle-favorite "Ajouter/retirer des favoris"
|
||||
:command.command-palette/toggle "Basculer la palette de commandes"
|
||||
:command.date-picker/complete "Sélecteur de date : Choisir le jour sélectionné"
|
||||
:command.date-picker/complete "Sélecteur de date : Choisir le jour sélectionné"
|
||||
:command.date-picker/next-day "Sélecteur de date : Sélectionner le jour suivant"
|
||||
:command.date-picker/next-week "Sélecteur de date : Sélectionner la semaine suivante"
|
||||
:command.date-picker/prev-day "Sélecteur de date : Sélectionner le jour précédent"
|
||||
@@ -398,7 +396,6 @@
|
||||
:command.go/keyboard-shortcuts "Aller vers les raccourcis clavier"
|
||||
:command.go/next-journal "Aller au journal suivant"
|
||||
:command.go/prev-journal "Aller au journal précédent"
|
||||
:command.go/search-in-page "Rechercher des blocs dans la page"
|
||||
:command.go/tomorrow "Aller vers demain"
|
||||
:command.go/whiteboards "Aller vers les tableaux blancs"
|
||||
:command.graph/add "Ajouter un graphe"
|
||||
@@ -529,7 +526,7 @@
|
||||
:whiteboard/distribute-horizontally "Distribution horizontale"
|
||||
:whiteboard/dev-print-shape-props "(Dev) Afficher les accesoires des formes"
|
||||
:whiteboard/deselect-all "Tout désélectionner"
|
||||
:whiteboard/delete "Supprimer"
|
||||
:whiteboard/delete "Supprimer"
|
||||
:whiteboard/dashboard-card-new-whiteboard "Nouveau tableau blanc"
|
||||
:whiteboard/dashboard-card-edited "Modifiée"
|
||||
:whiteboard/dashboard-card-created "Créée"
|
||||
@@ -751,8 +748,6 @@
|
||||
:right-side-bar/toggle-right-sidebar "Activer le panneau latéral droit"
|
||||
:search/blocks-in-page "Chercher des blocs dans la page:"
|
||||
:search/cache-outdated "Le cache n'est plus à jour. Cliquez sur 'ré-indexer' mais..."
|
||||
:search/command-palette-tip-1 "Astuce:"
|
||||
:search/command-palette-tip-2 "pour ouvrir la palette des commandes"
|
||||
:search/recent "Recherche récente:"
|
||||
:search-item/no-result "Aucun résultat correspondant"
|
||||
:select/default-select-multiple "Choisir un ou plusieurs"
|
||||
@@ -774,4 +769,4 @@
|
||||
:settings-page/preferred-pasting-file-hint "Lorsqu'activé, coller une image d'Internet..."
|
||||
:settings-page/revision "Révision:"
|
||||
:settings-page/show-full-blocks "Montrer toutes les lignes d'une référence de bloc"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,8 +113,6 @@
|
||||
:search/page-names "Nama halaman pencarian"
|
||||
:search/recent "Pencarian terbaru:"
|
||||
:search/blocks-in-page "Blok pencarian dalam halaman:"
|
||||
:search/command-palette-tip-1 "Tip:"
|
||||
:search/command-palette-tip-2 "Untuk membuka palet perintah"
|
||||
:search/cache-outdated "Cache sudah kedaluwarsa. Silakan klik tombol 'Indeks ulang' di menu tarik-turun grafik."
|
||||
:search-item/whiteboard "Papan tulis"
|
||||
:search-item/page "Halaman"
|
||||
@@ -370,7 +368,7 @@
|
||||
:sync-from-local-files "Segarkan"
|
||||
:sync-from-local-files-detail "Impor perubahan dari berkas lokal"
|
||||
:sync-from-local-changes-detected "Segarkan mendeteksi dan memproses berkas yang diubah di disk Anda yang telah berbeda dari konten halaman Logseq saat ini. Lanjutkan?"
|
||||
|
||||
|
||||
:search/publishing "Cari"
|
||||
:search "Cari atau buat halaman"
|
||||
:whiteboard/link-whiteboard-or-block "Tautkan papan tulis/halaman/blok"
|
||||
@@ -605,30 +603,29 @@
|
||||
:pdf/toggle-dashed "Gaya putus-putus untuk sorotan area"
|
||||
:pdf/hl-block-colored "Label berwarna untuk blok sorotan"
|
||||
:pdf/doc-metadata "Metadata Dokumen"
|
||||
|
||||
|
||||
:updater/new-version-install "Versi baru telah diunduh."
|
||||
:updater/quit-and-install "Mulai ulang untuk menginstal"
|
||||
|
||||
|
||||
:paginates/pages "Total {1} halaman"
|
||||
:paginates/prev "Sebelumnya"
|
||||
:paginates/next "Berikutnya"
|
||||
|
||||
|
||||
:tips/all-done "Semua Selesai!"
|
||||
|
||||
:command-palette/prompt "Ketik perintah"
|
||||
|
||||
:select/default-prompt "Pilih salah satu"
|
||||
:select/default-select-multiple "Pilih satu atau beberapa"
|
||||
:select.graph/prompt "Pilih grafik"
|
||||
:select.graph/empty-placeholder-description "Tidak ada grafik yang cocok. Apakah Anda ingin menambahkan yang lain?"
|
||||
:select.graph/add-graph "Ya, tambahkan grafik lain"
|
||||
|
||||
|
||||
:file-sync/other-user-graph "Grafik lokal saat ini terikat ke grafik jarak jauh pengguna lain. Jadi tidak dapat memulai sinkronisasi."
|
||||
:file-sync/graph-deleted "Grafik jarak jauh saat ini telah dihapus"
|
||||
:file-sync/rsapi-cannot-upload-err "Tidak dapat memulai sinkronisasi, harap periksa apakah waktu lokal sudah benar."
|
||||
:file-sync/connectivity-testing-failed "Pengujian koneksi jaringan gagal. Harap periksa pengaturan jaringan Anda. URL pengujian: "
|
||||
|
||||
|
||||
:notification/clear-all "Hapus semua"
|
||||
|
||||
|
||||
:shortcut.category/basics "Dasar"
|
||||
:shortcut.category/formatting "Pemformatan"
|
||||
:shortcut.category/navigating "Navigasi"
|
||||
@@ -639,7 +636,7 @@
|
||||
:shortcut.category/others "Lainnya"
|
||||
:shortcut.category/plugins "Plugin"
|
||||
:shortcut.category/whiteboard "Papan Tulis"
|
||||
|
||||
|
||||
:keymap/all "Semua"
|
||||
:keymap/disabled "Nonaktifkan"
|
||||
:keymap/unset "Tidak diatur"
|
||||
@@ -658,7 +655,7 @@
|
||||
:window/restore "Pulihkan"
|
||||
:window/close "Tutup"
|
||||
:window/exit-fullscreen "Keluar dari layar penuh"
|
||||
|
||||
|
||||
:header/toggle-left-sidebar "Alihkan bilah sisi kiri"
|
||||
:header/search "Cari"
|
||||
:header/more "Lainnya"
|
||||
@@ -677,7 +674,6 @@
|
||||
:command.cards/toggle-answers "Kartu: tampilkan / sembunyikan jawaban/clozes"
|
||||
:command.command/run "Jalankan perintah git"
|
||||
:command.command/toggle-favorite "Tambahkan/hapus dari favorit"
|
||||
:command.command-palette/toggle "Aktifkan/matikan palet perintah"
|
||||
:command.date-picker/complete "Date picker: Pilih hari yang dipilih"
|
||||
:command.date-picker/next-day "Date picker: Pilih hari berikutnya"
|
||||
:command.date-picker/next-week "Date picker: Pilih minggu berikutnya"
|
||||
@@ -762,7 +758,6 @@
|
||||
:command.go/next-journal "Buka jurnal berikutnya"
|
||||
:command.go/prev-journal "Buka jurnal sebelumnya"
|
||||
:command.go/search "Cari halaman dan blok"
|
||||
:command.go/search-in-page "Cari blok di halaman saat ini"
|
||||
:command.go/tomorrow "Buka ke esok hari"
|
||||
:command.go/whiteboards "Buka papan tulis"
|
||||
:command.graph/add "Tambahkan grafik"
|
||||
@@ -818,4 +813,4 @@
|
||||
:command.whiteboard/zoom-out "Perkecil"
|
||||
:command.whiteboard/zoom-to-fit "Zoom ke gambar"
|
||||
:command.whiteboard/zoom-to-selection "Zoom ke seleksi"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,7 +214,6 @@
|
||||
:paginates/prev "Precedente"
|
||||
:paginates/next "Successivo"
|
||||
|
||||
:command-palette/prompt "Digita un comando"
|
||||
:select/default-prompt "Selezionane uno"
|
||||
:select.graph/prompt "Seleziona un grafo"
|
||||
:select.graph/empty-placeholder-description "Non ci sono grafi corrispondenti. Vuoi aggiungerne uno nuovo?"
|
||||
@@ -291,7 +290,6 @@
|
||||
:command.editor/zoom-in "Ingrandisci blocco di modifica / Avanti altrimenti"
|
||||
:command.editor/zoom-out "Rimpicciolisci il blocco di modifica / Indietro altrimenti"
|
||||
:command.ui/toggle-brackets "Selezionare se visualizzare le parentesi"
|
||||
:command.go/search-in-page "Cerca nella pagina attuale"
|
||||
:command.go/search "Ricerca testo completo"
|
||||
:command.go/journals "Vai ai diari"
|
||||
:command.go/backward "Indietro"
|
||||
@@ -299,7 +297,6 @@
|
||||
:command.search/re-index "Ricostruisci indice di ricerca"
|
||||
:command.sidebar/open-today-page "Apri la pagina di oggi nella barra laterale destra"
|
||||
:command.sidebar/clear "Pulisci tutto nella barra laterale destra"
|
||||
:command.command-palette/toggle "Attiva/disattiva tavolozza comandi"
|
||||
:command.graph/open "Seleziona il diagramma da aprire"
|
||||
:command.graph/remove "Rimuovi un diagramma"
|
||||
:command.graph/add "Aggiungi un diagramma"
|
||||
|
||||
@@ -113,8 +113,6 @@
|
||||
:search/page-names "ページ名で検索"
|
||||
:search/recent "最近の検索:"
|
||||
:search/blocks-in-page "ページ内のブロックを検索:"
|
||||
:search/command-palette-tip-1 "お役立ち情報:"
|
||||
:search/command-palette-tip-2 "でコマンドパレットを開けます"
|
||||
:search/cache-outdated "キャッシュが古くなっています。グラフのドロップダウンメニューにある「インデックス再構築」ボタンをクリックしてください。"
|
||||
:search-item/whiteboard "ホワイトボード"
|
||||
:search-item/page "ページ"
|
||||
@@ -614,7 +612,6 @@
|
||||
|
||||
:tips/all-done "全て完了しました"
|
||||
|
||||
:command-palette/prompt "コマンドを入力"
|
||||
:select/default-prompt "選択してください"
|
||||
:select/default-select-multiple "一つもしくは複数選択してください"
|
||||
:select.graph/prompt "グラフを選んでください"
|
||||
@@ -750,7 +747,6 @@
|
||||
:command.whiteboard/ungroup "選択範囲のグループ化解除"
|
||||
:command.whiteboard/toggle-grid "キャンバスの格子の表示を切り替える"
|
||||
:command.ui/toggle-brackets "ブラケットの表示/非表示"
|
||||
:command.go/search-in-page "ページ内を検索"
|
||||
:command.go/electron-find-in-page "ページ内で文字列検索"
|
||||
:command.go/electron-jump-to-the-next "文字列検索で次を検索"
|
||||
:command.go/electron-jump-to-the-previous "文字列検索で前を検索"
|
||||
@@ -763,7 +759,6 @@
|
||||
:command.sidebar/close-top "右サイドバーの一番上の項目を閉じる"
|
||||
:command.sidebar/clear "右サイドバーの内容を全てクリア"
|
||||
:command.misc/copy "コピー"
|
||||
:command.command-palette/toggle "コマンドパレットを開く"
|
||||
:command.graph/export-as-html "公開グラフのページをHTMLとしてエクスポート"
|
||||
:command.graph/open "グラフを選択して開く"
|
||||
:command.graph/remove "グラフを削除"
|
||||
|
||||
@@ -218,7 +218,6 @@
|
||||
:paginates/prev "이전"
|
||||
:paginates/next "다음"
|
||||
|
||||
:command-palette/prompt "커맨드를 입력하십시오"
|
||||
:select/default-prompt "하나를 선택하십시오"
|
||||
:select.graph/prompt "그래프를 선택하십시오."
|
||||
:select.graph/empty-placeholder-description "일치하는 그래프가 없습니다. 새로 추가하시겠습니까?"
|
||||
@@ -357,7 +356,6 @@
|
||||
:command.go/next-journal "다음 일지로 이동"
|
||||
:command.go/prev-journal "이전 일지로 이동"
|
||||
:command.go/keyboard-shortcuts "키보드 단축키로 이동"
|
||||
:command.go/search-in-page "페이지 안에서 검색"
|
||||
:command.ui/toggle-document-mode "문서 모드 토글"
|
||||
:command.ui/toggle-contents "목차 토글"
|
||||
:command.ui/toggle-theme "테마 토글"
|
||||
@@ -401,7 +399,6 @@
|
||||
:command.pdf/next-page "다음 페이지"
|
||||
:command.pdf/previous-page "이전 페이지"
|
||||
:command.command/run "Git 명령 실행"
|
||||
:command.command-palette/toggle "명령 팔레트 토글"
|
||||
:command.graph/open "그래프 열기"
|
||||
:command.graph/remove "그래프 제거"
|
||||
:command.graph/add "그래프 추가"
|
||||
|
||||
@@ -203,7 +203,6 @@
|
||||
:paginates/prev "Forrige"
|
||||
:paginates/next "Neste"
|
||||
|
||||
:command-palette/prompt "Skriv en kommando"
|
||||
:select/default-prompt "Velg en"
|
||||
:select.graph/prompt "Velg en graf"
|
||||
:select.graph/empty-placeholder-description "Ingen grafer matcher. Vil du legge til en ny?"
|
||||
@@ -367,7 +366,6 @@
|
||||
:command.ui/toggle-help "Vis hjelp"
|
||||
:command.git/commit "Git commit beskjed"
|
||||
:command.go/search "Fulltekst søk"
|
||||
:command.go/search-in-page "Søk på nåværende side"
|
||||
:command.ui/toggle-document-mode "Aktiver dokumentmodus"
|
||||
:command.ui/toggle-contents "Åpne favoritter i sidestolpen"
|
||||
:command.ui/toggle-theme "Veksle mellom lyst og mørkt tema"
|
||||
@@ -417,7 +415,6 @@
|
||||
:command.cards/toggle-answers "Kort: vis/skjul svar/clozes"
|
||||
:command.command/run "Kjør git kommando"
|
||||
:command.command/toggle-favorite "Legg til eller fjern fra favoritter"
|
||||
:command.command-palette/toggle "Veksle kommandolinje"
|
||||
:command.date-picker/complete "Datovelger: Bruk valgt dag"
|
||||
:command.date-picker/next-day "Datovelger: Velg neste dag"
|
||||
:command.date-picker/next-week "Datovelger: Velg neste uke"
|
||||
@@ -632,7 +629,7 @@
|
||||
:window/maximize "Maksimer"
|
||||
:window/minimize "Minimer"
|
||||
:window/restore "Gjenopprett"
|
||||
|
||||
|
||||
:loading "Laster..."
|
||||
:logout-user "Logg av ({1})"
|
||||
:new-page "Ny side:"
|
||||
@@ -735,8 +732,6 @@
|
||||
:plugin/title "Tittel ({1})"
|
||||
:plugin/up-to-date "Den er oppdatert {1}"
|
||||
:plugin/update-plugin "Oppdater utvidelse: {1} - {2}"
|
||||
:search/command-palette-tip-1 "Tips: "
|
||||
:search/command-palette-tip-2 " for å åpne kommandopaletten"
|
||||
:settings-page/app-updated "Appen er oppdatert 🎉"
|
||||
:settings-page/auto-expand-block-refs-tip "Dette valget styrer om blokkreferansen automatisk ekspanderes dersom du zoomer inn."
|
||||
:settings-page/changelog "Hva er nytt?"
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
|
||||
:block/name "Pagina naam"
|
||||
|
||||
:command-palette/prompt "Type een commando"
|
||||
|
||||
:content/click-to-edit "Klik om te bewerken"
|
||||
:editor/copy "Kopieer"
|
||||
@@ -238,7 +237,6 @@
|
||||
:command.cards/toggle-answers "Kaarten: toon/verberg antwoorden/clozes"
|
||||
:command.command/run "Voer git commando uit"
|
||||
:command.command/toggle-favorite "Toevoegen aan/verwijderen uit favorieten"
|
||||
:command.command-palette/toggle "Schakel commando lijn"
|
||||
:command.date-picker/complete "Datumkiezer: Kies de geselecteerde dag"
|
||||
:command.date-picker/next-day "Datumkiezer: Volgende dag kiezen"
|
||||
:command.date-picker/next-week "Datumkiezer: Volgende week kiezen"
|
||||
@@ -308,7 +306,6 @@
|
||||
:command.go/next-journal "Ga naar volgende journaal"
|
||||
:command.go/prev-journal "Ga naar vorige journaal"
|
||||
:command.go/search "Zoeken in volledige tekst"
|
||||
:command.go/search-in-page "Zoeken in de huidige pagina"
|
||||
:command.go/tomorrow "Ga naar morgen"
|
||||
:command.graph/add "Voeg een grafiek toe"
|
||||
:command.graph/open "Selecteer grafiek om te openen"
|
||||
|
||||
@@ -219,7 +219,6 @@
|
||||
:paginates/prev "← Poprzednia"
|
||||
:paginates/next "Następna →"
|
||||
|
||||
:command-palette/prompt "Wprowadź komendę"
|
||||
:select/default-prompt "Wybierz jeden"
|
||||
:select.graph/prompt "Wybierz graf"
|
||||
:select.graph/empty-placeholder-description "Brak pasujących grafów. Chcesz dodać nowy?"
|
||||
@@ -303,7 +302,6 @@
|
||||
:command.editor/redo "Ponów"
|
||||
:command.editor/select-all-blocks "Zaznacz wszystkie bloki"
|
||||
:command.ui/toggle-brackets "Pokaż / Ukrywaj kwadratowe nawiasy"
|
||||
:command.go/search-in-page "Szukaj na aktualnej stronie"
|
||||
:command.go/search "Wyszukiwanie tekstowe"
|
||||
:command.go/journals "Idź do dzienników"
|
||||
:command.go/backward "Wstecz"
|
||||
@@ -318,7 +316,6 @@
|
||||
:command.graph/re-index "Reindeksuj obecny graf"
|
||||
:command.command/run "Wykonaj polecenie GIT"
|
||||
:command.command/toggle-favorite "Dodaj / Usuń z ulubionych"
|
||||
:command.command-palette/toggle "Pokaż / Ukryj paletę poleceń"
|
||||
:command.go/home "Idź do strony głównej"
|
||||
:command.go/all-pages "Idź do indeksu wszystkich stron"
|
||||
:command.go/graph-view "Idź do widoku grafu"
|
||||
|
||||
@@ -142,7 +142,6 @@
|
||||
:pdf/copy-ref "Copiar referência"
|
||||
:pdf/copy-text "Copiar texto"
|
||||
:pdf/linked-ref "Referências ligadas"
|
||||
:command-palette/prompt "Digite um comando"
|
||||
:remove-orphaned-pages "Remover páginas órfãs"
|
||||
:sync-from-local-files "Recarregar arquivos"
|
||||
:sync-from-local-files-detail "Importar modificações de arquivos"
|
||||
@@ -344,7 +343,6 @@
|
||||
:command.ui/toggle-help "Alternar ajuda"
|
||||
:command.git/commit "Confirmar"
|
||||
:command.go/search "Pesquisar no grafo"
|
||||
:command.go/search-in-page "Pesquisar na página atual"
|
||||
:command.ui/toggle-document-mode "Alternar modo de documento"
|
||||
:command.ui/toggle-contents "Alternar Conteúdo na barra lateral"
|
||||
:command.ui/toggle-theme "Alternar entre tema claro/escuro"
|
||||
@@ -391,7 +389,6 @@
|
||||
:command.cards/remembered "Cartões: Relembrado"
|
||||
:command.cards/toggle-answers "Cartões: mostrar/esconder as respostas/clozes"
|
||||
:command.command/toggle-favorite "Adicionar aos/remover dos favoritos"
|
||||
:command.command-palette/toggle "Editar atalhos"
|
||||
:command.date-picker/complete "Escolher data: Escolha o dia selecionado"
|
||||
:command.date-picker/next-day "Escolher data: Selecione o próximo dia"
|
||||
:command.date-picker/next-week "Escolher data: Selecione a próxima semana"
|
||||
|
||||
@@ -310,7 +310,6 @@
|
||||
:paginates/prev "Ant."
|
||||
:paginates/next "Próx."
|
||||
|
||||
:command-palette/prompt "Introduza um comando"
|
||||
:select/default-prompt "Selecione um"
|
||||
:select/default-select-multiple "Selecione um ou vários"
|
||||
:select.graph/prompt "Selecione um grafo"
|
||||
@@ -349,7 +348,6 @@
|
||||
:command.ui/toggle-help "Alternar ajuda"
|
||||
:command.git/commit "Confirmar"
|
||||
:command.go/search "Pesquisar no grafo"
|
||||
:command.go/search-in-page "Pesquisar na página atual"
|
||||
:command.ui/toggle-document-mode "Alternar modo de documento"
|
||||
:command.ui/toggle-contents "Alternar Conteúdo na barra lateral"
|
||||
:command.ui/toggle-theme "Alternar entre tema claro/escuro"
|
||||
@@ -399,7 +397,6 @@
|
||||
:command.cards/toggle-answers "Cartões: mostrar/esconder as respostas/clozes"
|
||||
:command.command/run "Execute o comando Git"
|
||||
:command.command/toggle-favorite "Adicionar aos/remover dos favoritos"
|
||||
:command.command-palette/toggle "Editar atalhos"
|
||||
:command.date-picker/complete "Escolher data: Escolha o dia selecionado"
|
||||
:command.date-picker/next-day "Escolher data: Selecione o próximo dia"
|
||||
:command.date-picker/next-week "Escolher data: Selecione a próxima semana"
|
||||
|
||||
@@ -474,7 +474,6 @@
|
||||
|
||||
:tips/all-done "Всё готово!"
|
||||
|
||||
:command-palette/prompt "Введите команду"
|
||||
:select/default-prompt "Выберите"
|
||||
:select/default-select-multiple "Выберите один или несколько"
|
||||
:select.graph/prompt "Выберите граф"
|
||||
@@ -606,7 +605,6 @@
|
||||
:command.whiteboard/ungroup "Разгруппировать выбранное"
|
||||
:command.whiteboard/toggle-grid "Переключить отображение сетки"
|
||||
:command.ui/toggle-brackets "Переключить отображение скобок"
|
||||
:command.go/search-in-page "Поиск блоков на текущей странице"
|
||||
:command.go/electron-find-in-page "Поиск текста на странице"
|
||||
:command.go/electron-jump-to-the-next "Перейти к следующему совпадению в строке поиска"
|
||||
:command.go/electron-jump-to-the-previous "Перейти к предыдущему совпадению в строке поиска"
|
||||
@@ -619,7 +617,6 @@
|
||||
:command.sidebar/close-top "Закрыть верхний элемент на правой боковой панели"
|
||||
:command.sidebar/clear "Очистить всё на правой боковой панели"
|
||||
:command.misc/copy "Копировать"
|
||||
:command.command-palette/toggle "Показать палитру команд"
|
||||
:command.graph/export-as-html "Экспорт публичных страниц графов в формате html"
|
||||
:command.graph/open "Выберите граф для открытия"
|
||||
:command.graph/remove "Удалить граф"
|
||||
|
||||
@@ -300,7 +300,6 @@
|
||||
:paginates/prev "Predchádzajúca"
|
||||
:paginates/next "Ďalšia"
|
||||
|
||||
:command-palette/prompt "Zadať príkaz"
|
||||
:select/default-prompt "Vybrať jeden"
|
||||
:select.graph/prompt "Vybrať graf"
|
||||
:select.graph/empty-placeholder-description "Žiadne zodpovedajúce grafy. Chcete pridať ďalší?"
|
||||
@@ -392,7 +391,6 @@
|
||||
:command.editor/zoom-in "Priblížiť upravovaný blok/Inak vpred"
|
||||
:command.editor/zoom-out "Oddialiť upravaný blok/Inak dozadu"
|
||||
:command.ui/toggle-brackets "Prepnúť, či sa majú zobraziť hranaté zátvorky"
|
||||
:command.go/search-in-page "Hľadať bloky na aktuálnej stránke"
|
||||
:command.go/electron-find-in-page "Nájsť text na stránke"
|
||||
:command.go/electron-jump-to-the-next "Preskočiť na ďalšiu zhodu s vyhľadávaním v Paneli hľadania"
|
||||
:command.go/electron-jump-to-the-previous "Preskočiť na predchádzajúcu zhodu s vyhľadávaním v Paneli hľadania"
|
||||
@@ -405,7 +403,6 @@
|
||||
:command.sidebar/close-top "Zavri hornú položku na pravom bočnom paneli"
|
||||
:command.sidebar/clear "Vymazať všetko na pravom bočnom paneli"
|
||||
:command.misc/copy "Kopírovať"
|
||||
:command.command-palette/toggle "Zobraziť/Skryť zoznam príkazov"
|
||||
:command.graph/export-as-html "Exportovať verejné stránky grafu ako HTML"
|
||||
:command.graph/open "Vybrať graf na otvorenie"
|
||||
:command.graph/remove "Odstrániť graf"
|
||||
|
||||
@@ -113,8 +113,6 @@
|
||||
:search/page-names "Sayfa adlarında ara"
|
||||
:search/recent "Son arama:"
|
||||
:search/blocks-in-page "Blokları sayfada ara:"
|
||||
:search/command-palette-tip-1 "İpucu: "
|
||||
:search/command-palette-tip-2 " komut paletini açar"
|
||||
:search/cache-outdated "Önbellek eski. Lütfen grafın açılır menüsündeki 'Yeniden dizin oluştur' düğmesini tıklayın."
|
||||
:search-item/whiteboard "Beyaz tahta"
|
||||
:search-item/page "Sayfa"
|
||||
@@ -352,7 +350,7 @@
|
||||
:settings-permission/start-granting "İzin ver"
|
||||
|
||||
:yes "Evet"
|
||||
|
||||
|
||||
:submit "Onayla"
|
||||
:cancel "İptal"
|
||||
:close "Kapat"
|
||||
@@ -613,10 +611,9 @@
|
||||
:paginates/pages "Toplam {1} sayfa"
|
||||
:paginates/prev "Önceki"
|
||||
:paginates/next "Sonraki"
|
||||
|
||||
|
||||
:tips/all-done "Tamamlandı!"
|
||||
|
||||
:command-palette/prompt "Bir komut yazın"
|
||||
:select/default-prompt "Birini seçin"
|
||||
:select/default-select-multiple "Bir veya daha fazla seçin"
|
||||
:select.graph/prompt "Bir graf seçin"
|
||||
@@ -658,13 +655,13 @@
|
||||
:window/restore "Pencere durumuna dön"
|
||||
:window/close "Kapat"
|
||||
:window/exit-fullscreen "Tam ekrandan çık"
|
||||
|
||||
|
||||
:header/toggle-left-sidebar "Sol kenar çubuğunu aç/kapat"
|
||||
:header/search "Ara"
|
||||
:header/more "Diğer"
|
||||
:header/go-back "Geri git"
|
||||
:header/go-forward "İleri git"
|
||||
|
||||
|
||||
:command.date-picker/complete "Tarih seçici: Seçilen günü seç"
|
||||
:command.date-picker/prev-day "Tarih seçici: Önceki günü seç"
|
||||
:command.date-picker/next-day "Tarih seçici: Sonraki günü seç"
|
||||
@@ -762,7 +759,6 @@
|
||||
:command.whiteboard/ungroup "Seçimi gruptan çıkar"
|
||||
:command.whiteboard/toggle-grid "Tuval ızgarasını değiştir"
|
||||
:command.ui/toggle-brackets "Köşeli ayraçların görüntülenip görüntülenmeyeceğini değiştir"
|
||||
:command.go/search-in-page "Geçerli sayfada ara"
|
||||
:command.go/electron-find-in-page "Sayfada bul"
|
||||
:command.go/electron-jump-to-the-next "Aramanız için bir sonraki eşleşmeye atlayın"
|
||||
:command.go/electron-jump-to-the-previous "Aramanız için bir önceki eşleşmeye atlayın"
|
||||
@@ -775,7 +771,6 @@
|
||||
:command.sidebar/close-top "Sağ kenar çubuğunun en üst öğesini kapatır"
|
||||
:command.sidebar/clear "Sağ kenar çubuğundaki herşeyi temizle"
|
||||
:command.misc/copy "Kopyala"
|
||||
:command.command-palette/toggle "Komut paletini aç"
|
||||
:command.graph/export-as-html "Herkese açık graf sayfalarını html olarak dışarı aktar"
|
||||
:command.graph/open "Açılacak grafı seçin"
|
||||
:command.graph/remove "Bir grafı kaldır"
|
||||
|
||||
@@ -341,7 +341,6 @@
|
||||
:paginates/prev "Попередня"
|
||||
:paginates/next "Наступна"
|
||||
|
||||
:command-palette/prompt "Введіть команду"
|
||||
:select/default-prompt "Виберіть один"
|
||||
:select/default-select-multiple "Виберіть один або кілька"
|
||||
:select.graph/prompt "Виберіть графік"
|
||||
@@ -462,7 +461,6 @@
|
||||
:command.whiteboard/ungroup "Розгрупувати"
|
||||
:command.whiteboard/toggle-grid "Переключити відображення сітки"
|
||||
:command.ui/toggle-brackets "Показати/Сховати квадратні дужки"
|
||||
:command.go/search-in-page "Пошук блоків на поточній сторінці"
|
||||
:command.go/electron-find-in-page "Знайти текст на сторінці"
|
||||
:command.go/electron-jump-to-the-next "Шукати далі"
|
||||
:command.go/electron-jump-to-the-previous "Шукати назад"
|
||||
@@ -475,7 +473,6 @@
|
||||
:command.sidebar/close-top "Закрити верхній елемент на правій бічній панелі"
|
||||
:command.sidebar/clear "Очистити усе на правій бічній панелі"
|
||||
:command.misc/copy "Копіювати"
|
||||
:command.command-palette/toggle "Показати/Сховати список команд"
|
||||
:command.graph/export-as-html "Експортувати загальнодоступні сторінки графіків у форматі HTML"
|
||||
:command.graph/open "Виберіть графік, яку потрібно відкрити"
|
||||
:command.graph/remove "Видалити графік"
|
||||
|
||||
@@ -470,8 +470,6 @@
|
||||
:paginates/prev "上一页"
|
||||
:paginates/next "下一页"
|
||||
|
||||
:command-palette/prompt "输入指令"
|
||||
|
||||
:file-sync/other-user-graph "当前本地图谱绑定在其他用户的远程图谱上。因此无法启动同步。"
|
||||
:file-sync/graph-deleted "当前远程图谱已经删除"
|
||||
:file-sync/rsapi-cannot-upload-err "无法同步,请检查本机时间是否准确"
|
||||
@@ -515,7 +513,6 @@
|
||||
:command.cards/toggle-answers "卡片:显示/隐藏 答案/填空"
|
||||
:command.command/run "运行 git 命令"
|
||||
:command.command/toggle-favorite "切换收藏"
|
||||
:command.command-palette/toggle "切换命令面板"
|
||||
:command.date-picker/complete "日期选择:选择当前天"
|
||||
:command.date-picker/next-day "日期选择:下一天"
|
||||
:command.date-picker/next-week "日期选择:下一周"
|
||||
@@ -582,7 +579,6 @@
|
||||
:command.go/search "搜索页面和块"
|
||||
:command.go/backward "回退"
|
||||
:command.go/forward "前进"
|
||||
:command.go/search-in-page "在当前页面搜索块"
|
||||
:command.go/electron-find-in-page "在当前页面查找文本"
|
||||
:command.ui/toggle-document-mode "切换文档模式"
|
||||
:command.ui/toggle-contents "打开/关闭目录"
|
||||
|
||||
@@ -310,7 +310,6 @@
|
||||
:paginates/prev "上一頁"
|
||||
:paginates/next "下一頁"
|
||||
|
||||
:command-palette/prompt "請輸入指令"
|
||||
:select/default-prompt "請選擇提示"
|
||||
:select.graph/prompt "請選擇圖表"
|
||||
:select.graph/empty-placeholder-description "沒有符合的圖表,您要新增另一個嗎?"
|
||||
|
||||
Reference in New Issue
Block a user