Skip to content

dive2Pro/roam-search-plus

Repository files navigation

Roam search+

Search keywords do not need to be in a block

image

image

image image

New Features

Inline search

inline search

How to use it

place {{search+}} in a block

Details

  • Divided into Two Parts: The first part is the Filter, where you can set query logic. The second part displays the query results, including a further filtering bar, a side list displaying the results, and a view showing the selected results.

  • In the First Part, there are various query logic chains:

    • You can choose Content, representing the content of Pages and Blocks. After selecting it, you can choose further operations. For example, if I choose "contains" and input "roam," it means I want to query all pages and blocks with content containing "roam."
      • The meaning of each option:
        • contains: includes
        • does not contain: does not include
        • regex: supports Regex operations with built-in options
        • equals to: content equals the title or block
        • does not equal to: not (equals to)
        • is empty: find blocks with empty content
        • is not empty: find blocks or pages with non-empty content
    • Page ref and Block ref have the same meaning for operation options.
      • Hierarchical search: Indicates a hierarchical relationship between the target and filtering conditions.
        • under any of: the target block has children blocks containing page ref or block ref
        • not under any of: the target block is not under related page ref or block ref's children blocks
      • Inline search: Indicates conditions apply on the same block.
        • contains any of: contains 1 or more refs
        • contains: contains all refs
        • does not contain: does not contain listed refs; the block may have other refs
        • is empty: block or page without refs
        • is not empty: block or page with refs
    • Created time and Edited time represent the creation and modification time of pages and blocks.
      • equals to: within a specific time frame, with a minimum unit of a day
      • does not equal to: not within a specific time frame
      • greater than: after that time point
      • not less than: not earlier than that time point
      • less than: before that time point
      • not greater than: not later than that time point
    • Every time an input box loses focus or "enter" is pressed during input, an immediate query can be performed.
  • In the Second Part,

    • Two means are provided to further filter the query results:
      • Filter input
        • Supports fuzzy search
          • Generally speaking, fuzzy searching, more formally known as approximate string matching, is the technique of finding strings that are approximately equal to a given pattern.
      • Page or block selection
    • Result view
      • Side menu
        • Displays all results that meet the conditions.
      • Edit view
        • Allows direct editing of selected results.

Features

  • search within specific pages
  • search within a specific time range
  • sort by
    • priority: page title, block, keywords
    • modified time
    • created time
  • supports "expressions in quotes" and case intensive
  • supports copy result as references
  • open in main window or sidebar
  • record your queries and browsing history

Usage

You can open the search dialog in two ways

  • click in sidebar menu image

  • ctrl + shift + p

TODO

  • more accurate context
  • users involve
  • mobile support
  • performance improvement
  • embed mode
  • multiple choice
  • tags involve
  • RegExp search
  • panel settings
  • save inputs as config like tab
  • arrow key to select
  • resistance to typos
  • toggle Exactly

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published