Feature Request: ctrl-click to open in new window on react based pages
メンテナーはふだん 1 日以内に返信
@morozov-av がすでに取り組んでいます。
2026年10月8日 から。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 75/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- react, typescript
- 領域
- frontend
調査の方向性
まず、Runestone Academy フロントエンドでトップレベルのナビゲーションリンクとボタンを描画する React コンポーネントを特定します。Ctrl キーが押されているかを確認し、issue で説明されている部分文字列の比較を使って、リンク先が新しいトップレベルページかどうかを判定するクリックハンドラーを追加します。該当する場合は、現在のページで遷移する代わりにリンクを新しいタブで開きます。同じページ内へのナビゲーションリンクと別ページへのナビゲーションリンクの両方を Ctrl キーを押しながらクリックして修正をテストし、正しく動作することを確認します。
索引モデルが issue の本文から書いたものです。
説明
Is your feature request related to a problem? Please describe.
I often want to leave the page I am on up while I open a link in a new tab. The react pages treat Ctrl-click like click and always changes the current page, even for something that is a top level navigation change.
Describe the solution you'd like
Buttons that function as top level links should try to handle ctrl-click by opening in a new window.
I think if neither current nor new URL are a substring of the other we could assume it is a new top level destination.
https://runestone.academy/assignment/instructor/grader
to
https://runestone.academy/assignment/instructor/grader/293802
is same page. As would be the other direction because one URL is a substring of the other.
https://runestone.academy/assignment/instructor/grader
to
https://runestone.academy/assignment/instructor/builder
is different page.
- 主要言語
- TypeScript
- スター
- 69
- フォーク
- 119
- 平均マージ
- 2日 5時間
- マージ済み PR(30日)
- 30
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
RunestoneInteractive/rs のほかの issue
-
Problem report: https://runestone.academy/ns/books/published/wcc_py4eint_fall26/conditional_short-circuit-evaluation-of-logical-expressions.html対応中かも @barbarer が 7 日前に担当しました。 オープンContent
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
RunestoneInteractive/rs#1602 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Problem report: https://runestone.academy/ns/books/published/wakeforest_py4eint_fall26/lists_parsing-lines.html対応中かも @barbarer が 12 日前に担当しました。 オープンContent
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
RunestoneInteractive/rs#1591 · コメント 5 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Accessibility: react page notification should be aria-live対応中かも @morozov-av が 11 日前に担当しました。 オープンaccessibility enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
RunestoneInteractive/rs#1574 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Content
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
RunestoneInteractive/rs#1570 ·
メンテナーはふだん 1 日以内に返信
-
Content
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
RunestoneInteractive/rs#1559 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
RunestoneInteractive/rs の issue をすべて見る
似ている issue
-
[测试] 等待仓库加载后再记录多仓库排序基线対応中かも @myot233 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
area:arcade p3-medium ready-for-agent testing type:docs
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
fderuiter/deruiter.dev#2369 ·
メンテナーはふだん 1 日以内に返信
-
area:devenv origin:agent type:bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
overengineeringstudio/effect-utils#1949 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
ccch1mneyyy/dsh-TUI#1631 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
MiniMax-AI/minimax-code#507 ·
メンテナーはふだん 1 日以内に返信