論文閲覧機能
Chemmaryのメイン機能である論文閲覧について詳しく説明します。
基本的な表示
日別論文リスト
- 最新の論文を日付ごとに整理して表示
- 各論文はタイトル、著者、ジャーナル名、アブストラクトを含む
- 見やすいカード形式でレイアウト
日付選択機能
ヘッダーのカレンダーボタンから過去の論文を日付別に閲覧可能:
機能概要
- カレンダーピッカー: 日付を選択して過去の論文を表示
- 日本語ローカライゼーション: 日本語表記のカレンダー
- ダークモード対応: テーマに合わせた見た目の調整
- レスポンシブ対応: モバイル・デスクトップ両対応
使用方法
- ヘッダーの「日付を選択」ボタンをクリック
- カレンダーから希望の日付をクリック
- 専用の日付ページ(
/date/2024-12-17)に移動 - その日の論文一覧を表示
- 「今日に戻る」リンクで最新の論文に戻る
ページネーション機能
日付ページでは前日・次日への移動が簡単:
- 前日ボタン: 前の日の論文を表示
- 次日ボタン: 次の日の論文を表示
- 範囲制限: 30日間のデータ保持期間内のみ移動可能
- キーボード対応: 矢印キーでの移動(予定)

カレンダーピッカーの操作画面
ダークモード対応
すべての機能でダークモードがサポートされています:

ダークモードでのカレンダー表示
対応期間とURL構造
- 過去30日間: RSS取得済みの論文を表示
- データ保持: 30日を超えた古い論文は自動削除
- 表示件数: 1日あたり最大50件の論文を表示
- URL形式:
/date/YYYY-MM-DD(例:/date/2024-12-17) - ブックマーク対応: 各日付ページは独立してアクセス可能
- SEO対応: 検索エンジンでの日付別論文ページの発見が容易
無効な日付の処理
- 範囲外日付: 30日より古い日付はカレンダーで選択不可
- データなし日付: 論文が存在しない日付でも専用ページを表示
- エラーハンドリング: 無効な日付形式は自動的にトップページにリダイレクト
コンパクトリストデザイン
情報密度を重視した横長リスト形式で論文を表示:
デザイン原則
- 情報密度最優先: 1画面で5-6本の論文を同時閲覧可能
- スキャナビリティ: 素早い情報取得を重視
- コンパクト性: 無駄なスペースを削除し効率的な画面利用
- 最適な幅制御: 最大幅を制限し大画面での余白を最小化
リストアイテム構成
┌─────────────────────────────────────────────────────────────┐
│ ● 工業プロセスにおける持続可能な触媒作用 │
│ Sustainable Catalysis in Industrial Chemical Processes │
│ Angewandte Chemie • 8:00 [詳細] [原文] │
└─────────────────────────────────────────────────────────────┘
情報階層(上から下へ)
- 日本語タイトル: 太字、大きめフォント(主要情報)
- 英語原文タイトル: 小さめフォント、グレー(補助情報)
- メタ情報: ジャーナル名、更新時刻、アクションボタン(一行)
参考デザインソース
- Hacker News日本語まとめ: 番号リスト、コンパクト表示
- 情報密度: 縦空間の効率的活用
- リピーター最適化: 余計な装飾を削除し実用性重視
詳細表示機能
アブストラクト展開
- タイトルクリックでアブストラクト全文を表示
- ワンクリックで簡単に詳細確認
- 読み終わったら再クリックで折りたたみ
原文へのアクセス
- 「原文を読む」リンクで元の論文ページへ直接移動
- 各論文誌の公式サイトで全文確認可能
化学式表示対応
Chemmaryでは化学式を正確に表示できます:
サポートされるHTML要素
- 下付き文字: CO2, H2O, SO2など
- 上付き文字: Fe3+, H+など(今後対応予定)
- 特殊文字: 化学記号、ギリシャ文字など
表示例
通常テキスト: CO2 → 化学式表示: CO₂
通常テキスト: H2O → 化学式表示: H₂O
通常テキスト: SO2 → 化学式表示: SO₂
ナビゲーション機能
ホームリンク
- ヘッダーのChemmaryロゴをクリックでホームページに戻る
- どのページからでもワンクリックで最新論文一覧へ
- 標準的なWebサイトナビゲーション方式を採用
検索機能
リアルタイム検索
ヘッダーの検索ボックスで論文をリアルタイム検索できます:
検索対象フィールド
- 日本語タイトル: AI翻訳されたタイトル
- 英語タイトル: 原文タイトル
- 著者名: 研究者名での絞り込み
- ジャーナル名: 論文誌名での絞り込み
- アブストラクト: 論文概要での全文検索
検索機能の特徴
interface SearchFeatures {
realtime: true; // リアルタイム検索
caseInsensitive: true; // 大文字小文字を区別しない
partialMatch: true; // 部分一致検索
multiLanguage: true; // 日本語・英語対応
chemicalFormula: true; // 化学式対応
}
使用方法
- ヘッダーの検索ボックスに検索キーワードを入力
- リアルタイム表示: 入力と同時に結果をフィルタリング
- 検索結果表示: マッチした論文数と検索語句を表示
- 日付グループ維持: 検索結果も日付ごとにグループ化
- クリア機能: 検索ボックスを空にすると全論文表示に戻る
検索例
基本検索:
- "触媒" → 触媒関連論文を表示
- "catalyst" → 英語での触媒検索
- "CO2" → 二酸化炭素関連論文
化学式検索:
- "H2O" → 水関連論文
- "SO2" → 二酸化硫黄関連論文
- "Fe3+" → 鉄イオン関連論文
ジャーナル検索:
- "Nature" → Nature Chemistry論文のみ
- "JACS" → JACS論文のみ
- "Angewandte" → Angewandte Chemie論文のみ
著者検索:
- "Smith" → Smith氏の論文
- "田中" → 田中氏の論文
モバイル対応
- レスポンシブデザイン: モバイルでも快適な検索体験
- モバイルメニュー: ハンバーガーメニュー内に検索ボックス
- タッチ最適化: タップしやすいインターフェース
パフォーマンス
- 高速検索: クライアントサイド検索で即座に結果表示
- メモ化最適化: React useMemoによる再計算抑制
- 軽量実装: 外部ライブラリ不要のシンプル実装
データ更新
自動更新スケジュール
- 朝の更新: 午前8時(通勤前チェック)
- 夕方の更新: 午後5時(帰宅前チェック)
- GitHub Actions: 定期実行によるRSSフィード取得
- 静的サイト再生成: 新着論文データでページ更新
RSS取得システム
各論文誌の公式RSSフィードから自動取得:
データフロー
- RSS取得: 各ジャーナルの公式フィードを定期取得
- データ変換: 統一フォーマットへの正規化
- 翻訳処理: タイトルの日本語翻訳(AI翻訳)
- サイト更新: 新しいデータでAstro.jsサイトを再生成
対応論文誌とRSSフィード
Nature Chemistry
- RSS URL:
https://feeds.nature.com/nchem/rss/current - 更新頻度: 週2-3回
- 特徴: 材料科学、触媒、有機化学など幅広い分野
- 取得データ: タイトル、著者、アブストラクト、DOI
Journal of the American Chemical Society (JACS)
- RSS URL:
https://pubs.acs.org/action/showFeed?type=etoc&feed=rss&jc=jacsat - 更新頻度: 週5-6回
- 特徴: 化学全般の最高峰ジャーナル
- 取得データ: タイトル、著者、アブストラクト、DOI
Angewandte Chemie International Edition
- RSS URL:
https://onlinelibrary.wiley.com/action/showFeed?jc=15213773&type=etoc&feed=rss - 更新頻度: 週3-4回
- 特徴: ドイツ化学会の国際誌
- 取得データ: タイトル、著者、アブストラクト、DOI
データ処理仕様
取得フィールド
interface PaperData {
title: string; // 英語原題
titleJa?: string; // 日本語翻訳(AI生成)
authors: string[]; // 著者リスト
journal: string; // ジャーナル名
abstract: string; // アブストラクト
doi: string; // DOI識別子
publishedDate: Date; // 公開日
rssDate: Date; // RSS取得日時
originalLink: string; // 原文リンク
}
フィルタリング条件
- 日付範囲: 過去30日間のみ保持
- 重複除去: DOIベースでの重複記事排除
- 品質管理: アブストラクトが存在する記事のみ
表示の工夫
レイアウト最適化
- 最大幅制限: 大画面では不要な余白を削減
- レスポンシブ設計: 画面サイズに応じた最適な表示
- コンテンツ密度: 読みやすさを保ちつつ情報量を最大化
読みやすさの配慮
- 大きなフォントサイズで移動中でも読みやすい
- 十分な行間でストレスなく閲覧
- 明確な区切りで論文同士を判別しやすく
画面サイズ別最適化
- モバイル: フルスクリーン活用、縦方向の効率化
- タブレット: 中程度の幅制限、読みやすい行長
- デスクトップ: 最大幅制限で集中的な閲覧体験
情報の階層化
- 第1階層: タイトル・ジャーナル名(一覧性重視)
- 第2階層: 著者・要約の冒頭(概要把握)
- 第3階層: 全文アブストラクト(詳細確認)
必要に応じて段階的に情報を取得できます。
今後の改善予定
表示機能の拡張
- 分野別フィルタリング: 有機化学、無機化学など
- 重要度表示: インパクトファクターによる表示順調整
- 関連論文表示: 類似研究の自動検出
パフォーマンス向上
- 画像の最適化: より高速な表示
- キャッシュ機能: 繰り返し閲覧の高速化
- オフライン対応: 一度見た論文はオフラインでも閲覧可能