diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9bbd6379..76195aed 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
but displays values as ints, does not convert to floats or add bit/bytes units).
https://github.com/Textualize/rich/pull/1941
+### Fixed
+
+- In Jupyter mode make the link target be set to "_blank"
## [11.2.0] - 2022-02-08
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 61c67de9..23109df8 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -29,3 +29,4 @@ The following people have contributed to the development of Rich:
- [Gabriele N. Tornetta](https://github.com/p403n1x87)
- [Patrick Arminio](https://github.com/patrick91)
- [Michał Górny](https://github.com/mgorny)
+- [Arian Mollik Wasi](https://github.com/wasi-master)
diff --git a/README.md b/README.md
index f7cf6368..b33df9bd 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
[](https://pypi.org/project/rich/) [](https://badge.fury.io/py/rich)
[](https://pepy.tech/project/rich)
-[](https://codecov.io/gh/willmcgugan/rich)
+[](https://codecov.io/gh/willmcgugan/rich)
[](https://www.willmcgugan.com/tag/rich/)
[](https://twitter.com/willmcgugan)
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 84985477..19311472 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,4 +1,4 @@
alabaster==0.7.12
Sphinx==4.4.0
sphinx-rtd-theme==1.0.0
-sphinx-copybutton==0.4.0
+sphinx-copybutton==0.5.0
diff --git a/docs/source/tables.rst b/docs/source/tables.rst
index 7429ac66..22236358 100644
--- a/docs/source/tables.rst
+++ b/docs/source/tables.rst
@@ -62,14 +62,14 @@ There are a number of keyword arguments on the Table constructor you can use to
- ``expand`` Set to True to expand the table to the full available size.
- ``show_header`` Set to True to show a header, False to disable it.
- ``show_footer`` Set to True to show a footer, False to disable it.
-- ``show edge`` Set to False to disable the edge line around the table.
+- ``show_edge`` Set to False to disable the edge line around the table.
- ``show_lines`` Set to True to show lines between rows as well as header / footer.
- ``leading`` Additional space between rows.
- ``style`` A Style to apply to the entire table, e.g. "on blue"
- ``row_styles`` Set to a list of styles to style alternating rows. e.g. ``["dim", ""]`` to create *zebra stripes*
- ``header_style`` Set the default style for the header.
- ``footer_style`` Set the default style for the footer.
-- ``border style`` Set a style for border characters.
+- ``border_style`` Set a style for border characters.
- ``title_style`` Set a style for the title.
- ``caption_style`` Set a style for the caption.
- ``title_justify`` Set the title justify method ("left", "right", "center", or "full")
diff --git a/poetry.lock b/poetry.lock
index 59c3236d..fcfe395f 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -3,7 +3,7 @@ name = "appnope"
version = "0.1.2"
description = "Disable App Nap on macOS >= 10.9"
category = "main"
-optional = false
+optional = true
python-versions = "*"
[[package]]
@@ -74,7 +74,7 @@ name = "backcall"
version = "0.2.0"
description = "Specifications for callback functions passed in to an API"
category = "main"
-optional = false
+optional = true
python-versions = "*"
[[package]]
@@ -195,7 +195,7 @@ name = "decorator"
version = "5.1.0"
description = "Decorators for Humans"
category = "main"
-optional = false
+optional = true
python-versions = ">=3.5"
[[package]]
@@ -309,7 +309,7 @@ name = "ipython"
version = "7.16.3"
description = "IPython: Productive Interactive Computing"
category = "main"
-optional = false
+optional = true
python-versions = ">=3.6"
[package.dependencies]
@@ -340,7 +340,7 @@ name = "ipython-genutils"
version = "0.2.0"
description = "Vestigial utilities from IPython"
category = "main"
-optional = false
+optional = true
python-versions = "*"
[[package]]
@@ -368,7 +368,7 @@ name = "jedi"
version = "0.17.2"
description = "An autocompletion tool for Python that can be used for text editors."
category = "main"
-optional = false
+optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[package.dependencies]
@@ -641,7 +641,7 @@ name = "parso"
version = "0.7.1"
description = "A Python Parser"
category = "main"
-optional = false
+optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.extras]
@@ -660,7 +660,7 @@ name = "pexpect"
version = "4.8.0"
description = "Pexpect allows easy control of interactive console applications."
category = "main"
-optional = false
+optional = true
python-versions = "*"
[package.dependencies]
@@ -671,7 +671,7 @@ name = "pickleshare"
version = "0.7.5"
description = "Tiny 'shelve'-like database with concurrency support"
category = "main"
-optional = false
+optional = true
python-versions = "*"
[[package]]
@@ -735,7 +735,7 @@ name = "prompt-toolkit"
version = "3.0.24"
description = "Library for building powerful interactive command lines in Python"
category = "main"
-optional = false
+optional = true
python-versions = ">=3.6.2"
[package.dependencies]
@@ -746,7 +746,7 @@ name = "ptyprocess"
version = "0.7.0"
description = "Run a subprocess in a pseudo terminal"
category = "main"
-optional = false
+optional = true
python-versions = "*"
[[package]]
@@ -794,7 +794,7 @@ python-versions = ">=3.6"
[[package]]
name = "pytest"
-version = "6.2.5"
+version = "7.0.0"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
@@ -809,10 +809,10 @@ iniconfig = "*"
packaging = "*"
pluggy = ">=0.12,<2.0"
py = ">=1.8.2"
-toml = "*"
+tomli = ">=1.0.0"
[package.extras]
-testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
+testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
[[package]]
name = "pytest-cov"
@@ -953,7 +953,7 @@ name = "traitlets"
version = "4.3.3"
description = "Traitlets Python config system"
category = "main"
-optional = false
+optional = true
python-versions = "*"
[package.dependencies]
@@ -1013,7 +1013,7 @@ name = "wcwidth"
version = "0.2.5"
description = "Measures the displayed width of unicode strings in a terminal"
category = "main"
-optional = false
+optional = true
python-versions = "*"
[[package]]
@@ -1053,7 +1053,7 @@ jupyter = ["ipywidgets"]
[metadata]
lock-version = "1.1"
python-versions = "^3.6.2"
-content-hash = "d642a2a33643ec67d8ec48fef8ac01b7226829d0dcc3a14b10c3140005cbd0f0"
+content-hash = "74159f2d5dbb53418204e0fd27ef544256648663c41d0a2841c11c34589c52f6"
[metadata.files]
appnope = [
@@ -1525,8 +1525,8 @@ pyrsistent = [
{file = "pyrsistent-0.18.0.tar.gz", hash = "sha256:773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b"},
]
pytest = [
- {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
- {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},
+ {file = "pytest-7.0.0-py3-none-any.whl", hash = "sha256:42901e6bd4bd4a0e533358a86e848427a49005a3256f657c5c8f8dd35ef137a9"},
+ {file = "pytest-7.0.0.tar.gz", hash = "sha256:dad48ffda394e5ad9aa3b7d7ddf339ed502e5e365b1350e0af65f4a602344b11"},
]
pytest-cov = [
{file = "pytest-cov-3.0.0.tar.gz", hash = "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470"},
diff --git a/pyproject.toml b/pyproject.toml
index 4b221c35..d110cf38 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -39,7 +39,7 @@ ipywidgets = { version = "^7.5.1", optional = true }
jupyter = ["ipywidgets"]
[tool.poetry.dev-dependencies]
-pytest = "^6.2.5"
+pytest = "^7.0.0"
black = "^21.11b1"
mypy = "^0.930"
pytest-cov = "^3.0.0"
diff --git a/rich/jupyter.py b/rich/jupyter.py
index bedf5cb1..97340d00 100644
--- a/rich/jupyter.py
+++ b/rich/jupyter.py
@@ -63,7 +63,7 @@ def _render_segments(segments: Iterable[Segment]) -> str:
rule = style.get_html_style(theme)
text = f'{text}' if rule else text
if style.link:
- text = f'{text}'
+ text = f'{text}'
append_fragment(text)
code = "".join(fragments)