npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

tinker-bookmark

v0.2.0

Published

Search Chrome browser bookmarks

Readme

📑 tinker-bookmark

Tinker 插件,用于快速搜索和打开 Chrome 浏览器书签。

功能特性

  • 🔍 多关键词搜索 — 空格分隔的关键词,每个词独立进行模糊匹配,全部匹配才显示结果
  • 🎯 相关性排序 — 标题精确匹配 > 前缀匹配 > 包含匹配 > URL 路径匹配
  • ⌨️ 键盘导航 / 选择结果,Enter 打开书签,Backspace 清空搜索
  • 🌐 系统浏览器打开 — 使用系统默认浏览器打开链接,不在 Tinker 内嵌窗口中
  • 🌙 主题同步 — 自动跟随 Tinker 亮色/暗色主题
  • 🌍 中英文界面 — 支持 en-USzh-CN
  • 📊 结果限制 — 最多显示前 10 条最相关结果,自动滚动跟随高亮项

安装

前提条件

从本地安装

git clone https://gitee.com/kristar/tinker-bookmark.git
cd tinker-bookmark
npm install
npm run build
npm i -g

开发模式

npm run dev

在 Tinker 中刷新插件即可看到实时更新。

构建产物

dist/
├── renderer/
│   ├── index.html
│   └── assets/
│       ├── app-*.js
│       └── app-*.css
└── preload/
    └── index.mjs

项目结构

src/
├── common/types.ts              # 书签类型定义
├── preload/index.ts             # Electron preload 层
├── renderer/
│   ├── main.tsx                 # React 入口
│   ├── App.tsx                  # 根组件
│   ├── store.ts                 # MobX 状态管理
│   ├── theme.ts                 # 主题同步
│   ├── components/
│   │   ├── BookmarkSearchBar.tsx   # 搜索框
│   │   ├── BookmarkItem.tsx        # 单条书签(含高亮渲染)
│   │   ├── BookmarkList.tsx        # 书签列表
│   │   ├── LoadingView.tsx         # 加载状态
│   │   ├── ErrorView.tsx           # 错误状态
│   │   └── EmptyView.tsx           # 空状态
│   └── i18n/
│       ├── index.ts
│       └── locales/
│           ├── en-US.json
│           └── zh-CN.json
└── global.d.ts                  # 全局类型声明

技术栈

| 类别 | 技术 | |------|------| | 框架 | React 19 + TypeScript | | 状态管理 | MobX 6 | | 构建 | Vite 5 | | 样式 | TailwindCSS 4 + Sass | | 国际化 | i18next | | 运行时 | Electron (Tinker 插件) |

工作原理

Chrome Bookmarks JSON
         ↓
  preload/index.ts (Electron 主进程)
         ↓
  bookmark.read() → 解析书签数据
         ↓
  store.ts (MobX Store) → 搜索、过滤、排序
         ↓
  React 组件 → 渲染搜索结果
         ↓
  bookmark.openExternal() → 系统浏览器打开

License

MIT