Skip to main content

Module search_palette

Module search_palette 

Source
Expand description

搜索面板(⌘K) 搜索面板(⌘K):前台全站的即时跳转。

页头「搜索 ⌘K」与全局快捷键打开同一个面板。文章来自 suggest_posts(标题、 摘要、标签,最多 8 条),标签与页面在浏览器内过滤。空查询显示最近搜索与常用 跳转;有查询时按「文章 · 标签 · 跳转」分组,命中词用 <mark> 标出。 样式见 styles/components/palette.css;行为细节见 docs/v1.0-重设计方案.md「搜索面板」。 公共状态、输入与对话框结构见 crate::components::palette。

分包:SearchPalette 外壳(打开状态、快捷键、最近搜索与标签的预取)留在主包; 面板主体(分组构建、条目映射、选中动作与 PaletteShell 视图)在 search_palette_body(#[leptos::lazy])里,首次打开面板时才加载分包。

Structs§

Group 🔒
SearchData 🔒
外壳与分包主体共享的面板数据信号(全部是 Copy 句柄)。
SearchPaletteProps
Props for the SearchPalette component.

Enums§

Item 🔒
面板中的一项。
Scope 🔒
搜索范围。

Constants§

PAGES 🔒
可跳转的页面:标签与路径。
RECENT_LIMIT 🔒

Functions§

SearchPalette
搜索面板。挂在前台布局里一次,由 SearchPaletteHandle 打开。
build_groups 🔒
按查询与范围组织面板内容。posts 为建议接口对当前查询的结果。
entry 🔒
面板中的一行的展示内容。
group_limit 🔒
各组的条数上限:全部范围下文章 5、标签 3、跳转 3;单一范围 8。
open_in_new_tab 🔒
在新标签页打开站内地址(仅 wasm)。
page_href 🔒
跳转页面的站内地址(PAGES 里的路径对应的 Route)。
read_recents 🔒
读取最近搜索;存储不可用或内容损坏时返回 None(该组不显示)。
remember 🔒
把查询记入最近搜索:去重、置顶、最多保留 5 条。
scope_count 🔒
有查询时各范围的命中数(用于范围标签)。
search_palette_body 🔒
面板主体:分组、条目、选中动作与对话框视图。分包函数,首次调用时加载分包。
write_recents 🔒