Repository: sloria/sphinx-issues

Issue:
Default to linking GH Sponsors for the `:user:` role
So I've been using regular `extlinks` for this (having seen the idea in the tox repo years ago). But I improved it for many of the projects I contribute to by linking the GitHub Sponsors pages of people, since this role is advertised for use in bylines. Here's some examples: https://setuptools.pypa.io/en/latest/history.html#v67-7-0 / https://yarl.aio-libs.org/en/latest/changes/#released-versions / https://yarl.aio-libs.org/en/latest/contributing/guidelines/#alright-so-how-to-add-a-news-fragment.

The primary motivation is to give credit to people who contribute / send pull requests. Then, when somebody else reads that changelog and clicks on the usernames, they are hinted to tip. 

It's also worth noting, that for the accounts that don't have GH Sponsors set up, GH itself automatically redirects to their normal profile pages, so there's always a fallback.

This is basically what I propose:
```diff
- issues_user_uri = "https://github.com/{user}"
+ issues_user_uri = "https://github.com/sponsors/{user}"
```

Discussion:
@sloria: This is a great idea! I'd accept a PR updating this

Solution patch:
diff --git a/README.rst b/README.rst
index 654f972..1c875b6 100644
--- a/README.rst
+++ b/README.rst
@@ -152,6 +152,8 @@ Changelog
 3.1.0 (unreleased)
 ------------------
 
+- Default to linking GH Sponsors for the :user: role `Issue #93 <https://github.com/sloria/sphinx-issues/issues/129>`_.
+  Thanks @webknjaz for the suggestion.
 - Support Python 3.8-3.12. Older versions are no longer supported.
 - Remove `__version__`, `__author__`, and `__license__` attributes.
   Use `importlib.metadata` to read this metadata instead.
diff --git a/src/sphinx_issues/__init__.py b/src/sphinx_issues/__init__.py
index b5c7bec..f63824a 100644
--- a/src/sphinx_issues/__init__.py
+++ b/src/sphinx_issues/__init__.py
@@ -369,7 +369,10 @@ def setup(app):
     # e.g. 'https://github.com/{user}'
     app.add_config_value(
         "issues_user_uri",
-        default="https://github.com/{user}",
+        # Default to sponsors URL.
+        # GitHub will automatically redirect to profile
+        # if Sponsors isn't set up.
+        default="https://github.com/sponsors/{user}",
         rebuild="html",
         types=[str],
     )


Test patch:
diff --git a/tests/test_sphinx_issues.py b/tests/test_sphinx_issues.py
index 8462d1d..84b9f52 100644
--- a/tests/test_sphinx_issues.py
+++ b/tests/test_sphinx_issues.py
@@ -86,13 +86,13 @@ def inliner(app):
             "#42",
             "https://github.com/marshmallow-code/marshmallow/pull/42",
         ),
-        (user_role, "user", "sloria", "@sloria", "https://github.com/sloria"),
+        (user_role, "user", "sloria", "@sloria", "https://github.com/sponsors/sloria"),
         (
             user_role,
             "user",
             "Steven Loria <sloria>",
             "Steven Loria",
-            "https://github.com/sloria",
+            "https://github.com/sponsors/sloria",
         ),
         (
             cve_role,