Skip to content

Commit 1e4f23a

Browse files
committed
add comic-walker
1 parent 24ed63d commit 1e4f23a

File tree

3 files changed

+80
-2
lines changed

3 files changed

+80
-2
lines changed

.claude/settings.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
{
2+
"extraKnownMarketplaces": {
3+
"superpowers-marketplace": {
4+
"source": {
5+
"source": "github",
6+
"repo": "obra/superpowers-marketplace"
7+
}
8+
}
9+
},
210
"enabledPlugins": {
3-
"superpowers@superpowers-marketplace": true
11+
"superpowers@superpowers-marketplace": true,
12+
"superpowers-chrome@superpowers-marketplace": true,
13+
"superpowers-developing-for-claude-code@superpowers-marketplace": true,
14+
"superpowers-lab@superpowers-marketplace": true,
15+
"double-shot-latte@superpowers-marketplace": true,
16+
"elements-of-style@superpowers-marketplace": true,
17+
"episodic-memory@superpowers-marketplace": true
418
}
519
}

.claude/settings.local.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@
3737
"Bash(grep:*)",
3838
"Bash(cat:*)",
3939
"Bash(git checkout:*)",
40-
"Bash(gh cache list:*)"
40+
"Bash(gh cache list:*)",
41+
"Skill(superpowers-chrome:browsing)",
42+
"mcp__plugin_superpowers-chrome_chrome__use_browser",
43+
"WebFetch(domain:comic-walker.com)"
4144
]
4245
}
4346
}

config/sites/comic-walker.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# comic-walker.com - JavaScript評価モード
2+
# Next.js製SPAのためカスタムスクリプトで抽出
3+
#
4+
# 共通の抽出スクリプト:
5+
# - ul[class*="EpisodesTabContents_episodeList"] 内の li 要素からエピソード情報を抽出
6+
# - a[class*="EpisodeThumbnail_episodeThumbnail"] からリンク取得
7+
# - テキストから日付(YYYY/MM/DD)とタイトルを抽出
8+
9+
sites:
10+
- name: "アイドルマスター シャイニーカラーズ コヒーレントライト"
11+
id: "comic-walker-shinycolors-coherentlight"
12+
url: "https://comic-walker.com/detail/KC_005662_S?episodeType=latest"
13+
base_url: "https://comic-walker.com"
14+
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
15+
wait_seconds: 8
16+
extraction_script: &comic_walker_script |
17+
() => {
18+
const episodeList = document.querySelector('ul[class*="EpisodesTabContents_episodeList"]');
19+
if (!episodeList) return [];
20+
21+
const episodes = [];
22+
const items = episodeList.querySelectorAll(':scope > li');
23+
24+
items.forEach(li => {
25+
const link = li.querySelector('a[class*="EpisodeThumbnail_episodeThumbnail"]');
26+
if (!link) return;
27+
28+
const href = link.getAttribute('href') || '';
29+
const text = link.textContent || '';
30+
31+
// 日付を抽出 (YYYY/MM/DD形式 -> YYYY-MM-DD)
32+
const dateMatch = text.match(/(\d{4})\/(\d{2})\/(\d{2})/);
33+
const date = dateMatch ? dateMatch[1] + '-' + dateMatch[2] + '-' + dateMatch[3] : '';
34+
35+
// タイトルを抽出 (YYYY年MM月DD日より後の部分)
36+
const titleMatch = text.match(/\d{4}年\d{2}月\d{2}日(.+)$/);
37+
const title = titleMatch ? titleMatch[1].trim() : '';
38+
39+
if (title && href) {
40+
episodes.push({ title, url: href, date });
41+
}
42+
});
43+
44+
return episodes;
45+
}
46+
47+
- name: "崩壊世界の魔法杖職人"
48+
id: "comic-walker-houkai-mahotsue"
49+
url: "https://comic-walker.com/detail/KC_007107_S?episodeType=latest"
50+
base_url: "https://comic-walker.com"
51+
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
52+
wait_seconds: 8
53+
extraction_script: *comic_walker_script
54+
55+
- name: "衛宮さんちの今日のごはん"
56+
id: "comic-walker-emiya-gohan"
57+
url: "https://comic-walker.com/detail/KC_004033_S?episodeType=latest"
58+
base_url: "https://comic-walker.com"
59+
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
60+
wait_seconds: 8
61+
extraction_script: *comic_walker_script

0 commit comments

Comments
 (0)