Skip to content

Commit 12f77f5

Browse files
lhzxbsdrclaude
andcommitted
docs: add Qiita and note.com adapter pages, update Bluesky and index
- Add doc pages for Qiita and note.com adapters - Add search-posts to Bluesky doc page - Add Qiita and note.com to adapter index table - Add sidebar entries in VitePress config - Add entries to README.zh-CN.md adapter table Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c03be25 commit 12f77f5

File tree

7 files changed

+98
-14
lines changed

7 files changed

+98
-14
lines changed

README.zh-CN.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,8 @@ npm install -g @jackwener/opencli@latest
178178
| **producthunt** | `posts` `today` `hot` `browse` | 公开 / 浏览器 |
179179
| **instagram** | `explore` `profile` `search` `user` `followers` `following` `follow` `unfollow` `like` `unlike` `comment` `save` `unsave` `saved` | 浏览器 |
180180
| **lobsters** | `hot` `newest` `active` `tag` | 公开 |
181+
| **qiita** | `search` `user` `articles` | 公开 |
182+
| **note.com** | `search` `user` `articles` | 公开 / 浏览器 |
181183
| **medium** | `feed` `search` `user` | 浏览器 |
182184
| **sinablog** | `hot` `search` `article` `user` | 浏览器 |
183185
| **substack** | `feed` `search` `publication` | 浏览器 |

docs/.vitepress/config.mts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ export default defineConfig({
108108
{ text: 'Wikipedia', link: '/adapters/browser/wikipedia' },
109109
{ text: 'Lobsters', link: '/adapters/browser/lobsters' },
110110
{ text: 'Steam', link: '/adapters/browser/steam' },
111+
{ text: 'Qiita', link: '/adapters/browser/qiita' },
112+
{ text: 'note.com', link: '/adapters/browser/note' },
111113
],
112114
},
113115
{

docs/adapters/browser/bluesky.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
| `opencli bluesky user` | Recent posts from a user |
1111
| `opencli bluesky trending` | Trending topics |
1212
| `opencli bluesky search` | Search users |
13+
| `opencli bluesky search-posts` | Search posts |
1314
| `opencli bluesky feeds` | Popular feed generators |
1415
| `opencli bluesky followers` | User's followers |
1516
| `opencli bluesky following` | Accounts a user follows |
@@ -44,6 +45,9 @@ opencli bluesky thread --uri "at://did:.../app.bsky.feed.post/..."
4445
# Starter packs
4546
opencli bluesky starter-packs --handle bsky.app
4647

48+
# Search posts
49+
opencli bluesky search-posts "AI agent" --limit 10
50+
4751
# JSON output
4852
opencli bluesky profile --handle bsky.app -f json
4953
```

docs/adapters/browser/note.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# note.com
2+
3+
**Mode**: 🌐 / 🔐 · **Domain**: `note.com`
4+
5+
## Commands
6+
7+
| Command | Description | Mode |
8+
|---------|-------------|------|
9+
| `opencli note search <query>` | Search note.com articles | 🔐 Browser |
10+
| `opencli note user <username>` | Get note.com user profile | 🌐 Public |
11+
| `opencli note articles <username>` | List articles by a note.com user | 🌐 Public |
12+
13+
## Usage Examples
14+
15+
```bash
16+
# Search articles (requires browser + login)
17+
opencli note search "AI" --limit 5
18+
19+
# User profile
20+
opencli note user masuyohasiri
21+
22+
# User's articles
23+
opencli note articles masuyohasiri --limit 6
24+
25+
# JSON output
26+
opencli note user masuyohasiri -f json
27+
```
28+
29+
## Prerequisites
30+
31+
- `user` and `articles` commands use public API — no browser required
32+
- `search` command requires the opencli Browser Bridge extension and a logged-in note.com session

docs/adapters/browser/qiita.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Qiita
2+
3+
**Mode**: 🌐 Public · **Domain**: `qiita.com`
4+
5+
## Commands
6+
7+
| Command | Description |
8+
|---------|-------------|
9+
| `opencli qiita search <query>` | Search Qiita articles |
10+
| `opencli qiita user <username>` | Get Qiita user profile |
11+
| `opencli qiita articles <username>` | List articles by a Qiita user |
12+
13+
## Usage Examples
14+
15+
```bash
16+
# Search articles
17+
opencli qiita search "ChatGPT" --limit 5
18+
19+
# User profile
20+
opencli qiita user jnchito
21+
22+
# User's articles
23+
opencli qiita articles jnchito --limit 10
24+
25+
# JSON output
26+
opencli qiita search "LLM" -f json
27+
```
28+
29+
## Prerequisites
30+
31+
- No browser required — uses Qiita public API v2

docs/adapters/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ Run `opencli list` for the live registry.
6666
| **[wikipedia](/adapters/browser/wikipedia)** | `search` `summary` `random` `trending` | 🌐 Public |
6767
| **[lobsters](/adapters/browser/lobsters)** | `hot` `newest` `active` `tag` | 🌐 Public |
6868
| **[steam](/adapters/browser/steam)** | `top-sellers` | 🌐 Public |
69+
| **[qiita](/adapters/browser/qiita)** | `search` `user` `articles` | 🌐 Public |
70+
| **[note.com](/adapters/browser/note)** | `search` `user` `articles` | 🌐 / 🔐 |
6971

7072
## Desktop Adapters
7173

src/clis/note/search.yaml

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,37 @@ args:
1313
limit:
1414
type: int
1515
default: 10
16-
description: Number of results (max ~10 per request)
16+
description: Number of results
1717

1818
pipeline:
19-
- fetch:
20-
url: https://note.com/api/v3/searches
21-
params:
22-
context: note
23-
q: ${{ args.query }}
24-
size: ${{ args.limit }}
25-
start: "0"
19+
- navigate: "https://note.com/search?q=${{ args.query }}&context=note&mode=search"
2620

27-
- select: data.notes
21+
- evaluate: |
22+
(async () => {
23+
for (let i = 0; i < 20; i++) {
24+
await new Promise(r => setTimeout(r, 500));
25+
if (document.querySelectorAll('a[href*="/n/n"]').length > 0) break;
26+
}
27+
const links = document.querySelectorAll('a[href*="/n/n"]');
28+
const seen = new Set();
29+
const results = [];
30+
for (const a of links) {
31+
const href = a.getAttribute('href');
32+
if (!href || seen.has(href)) continue;
33+
seen.add(href);
34+
const title = a.textContent?.trim() || '';
35+
if (!title || title.length < 4) continue;
36+
const url = href.startsWith('http') ? href : 'https://note.com' + href;
37+
results.push({ title, url });
38+
}
39+
return results;
40+
})()
2841
2942
- map:
3043
rank: ${{ index + 1 }}
31-
title: ${{ item.name }}
32-
author: ${{ item.user.urlname }}
33-
likes: ${{ item.likeCount }}
34-
url: ${{ item.noteUrl }}
44+
title: ${{ item.title }}
45+
url: ${{ item.url }}
3546

3647
- limit: ${{ args.limit }}
3748

38-
columns: [rank, title, author, likes, url]
49+
columns: [rank, title, url]

0 commit comments

Comments
 (0)