Skip to content

Commit

Permalink
Magiclink: fix handling of repos that start with dot
Browse files Browse the repository at this point in the history
Fixes #2562
  • Loading branch information
facelessuser committed Jan 10, 2025
1 parent 51bf163 commit 760e56b
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 3 deletions.
4 changes: 4 additions & 0 deletions docs/src/markdown/about/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 10.14.1

- **FIX**: Magiclink: Ensure that repo names that start with `.` are handled correctly.

## 10.14

- **NEW**: Blocks.HTML: Add new `custom` option to specify tags and the assumed handling for them when automatic mode
Expand Down
2 changes: 1 addition & 1 deletion pymdownx/__meta__.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,5 +185,5 @@ def parse_version(ver, pre=False):
return Version(major, minor, micro, release, pre, post, dev)


__version_info__ = Version(10, 14, 0, "final")
__version_info__ = Version(10, 14, 1, "final")
__version__ = __version_info__._get_canonical()
4 changes: 2 additions & 2 deletions pymdownx/magiclink.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,14 @@ def create_ext_mentions(name, provider_type):
# External reference patterns (issue, pull request, commit, compare)
RE_GIT_EXT_REFS = r'''(?x)
(?P<all>(?<![@/])(?:(?P<user>\b{})/)
(?P<repo>\b[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d])
(?P<repo>[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d])
(?:(?P<issue>(?:\#|!|\?)[1-9][0-9]*)|(?P<commit>@[a-f\d]{{40}})(?:\.{{3}}(?P<diff>[a-f\d]{{40}}))?))\b
'''

# Internal reference patterns (issue, pull request, commit, compare)
RE_GIT_INT_EXT_REFS = r'''(?x)
(?P<all>(?<![@/])(?:(?P<user>\b{})/)?
(?P<repo>\b[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d])
(?P<repo>[-._a-zA-Z\d]{{0,99}}[a-zA-Z\d])
(?:(?P<issue>(?:\#|!|\?)[1-9][0-9]*)|(?P<commit>@[a-f\d]{{40}})(?:\.{{3}}(?P<diff>[a-f\d]{{40}}))?))\b
'''

Expand Down
4 changes: 4 additions & 0 deletions tests/extensions/magiclink/magiclink (shorthand).html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
<p>Pull request <a class="magiclink magiclink-bitbucket magiclink-pull" href="https://bitbucket.org/some-user/some-repo/pull-requests/2" title="Bitbucket Pull Request: some-user/some-repo #2">some-user/some-repo!2</a></p>
<p>Commit <a class="magiclink magiclink-gitlab magiclink-commit" href="https://gitlab.com/some-user/some-repo/-/commit/3f6b07a8eeaa9d606115758d90f55fec565d4e2a" title="GitLab Commit: some-user/some-repo@3f6b07a8">some-user/some-repo@3f6b07a8</a></p>
<p>Compare <a class="magiclink magiclink-gitlab magiclink-compare" href="https://gitlab.com/some-user/some-repo/-/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitLab Compare: some-user/some-repo@e2ed7e0b...90b6fb87">some-user/some-repo@e2ed7e0b...90b6fb87</a></p>
<p>Mention <a class="magiclink magiclink-github magiclink-repository" href="https://github.com/facelessuser/.repo" title="GitHub Repository: facelessuser/.repo">facelessuser/.repo</a></p>
<p>Mention <a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/.repo/issues/3" title="GitHub Issue: facelessuser/.repo #3">.repo#3</a></p>
<p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/.repo/issues/3" title="GitHub Issue: facelessuser/.repo #3">.repo#3</a></p>
<p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/some-user/.repo/issues/3" title="GitHub Issue: some-user/.repo #3">some-user/.repo#3</a></p>
<hr />
<p><a class="magiclink magiclink-x magiclink-mention" href="https://x.com/username" title="X User: username">@username</a></p>
<hr />
Expand Down
8 changes: 8 additions & 0 deletions tests/extensions/magiclink/magiclink (shorthand).txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,14 @@ Commit gitlab:some-user/some-repo@3f6b07a8eeaa9d606115758d90f55fec565d4e2a

Compare gitlab:some-user/some-repo@e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac

Mention @facelessuser/.repo

Mention facelessuser/.repo#3

.repo#3

some-user/.repo#3

---

@x:username
Expand Down
2 changes: 2 additions & 0 deletions tests/extensions/magiclink/magiclink.html
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,12 @@ <h1>These should be invalid</h1>
<p>test@...........com</p>
<h1>Repo Links</h1>
<p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/pymdown-extensions/issues/49" title="GitHub Issue: facelessuser/pymdown-extensions #49">#49</a></p>
<p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/facelessuser/.repo/issues/49" title="GitHub Issue: facelessuser/.repo #49">.repo#49</a></p>
<p><a class="magiclink magiclink-github magiclink-pull" href="https://github.com/facelessuser/pymdown-extensions/pull/87" title="GitHub Pull Request: facelessuser/pymdown-extensions #87">!87</a></p>
<p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819" title="GitHub Commit: facelessuser/pymdown-extensions@6a09fde">6a09fde</a></p>
<p><a class="magiclink magiclink-github magiclink-compare" href="https://github.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: facelessuser/pymdown-extensions@e2ed7e0...90b6fb8">e2ed7e0...90b6fb8</a></p>
<p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/fake-user/fake-repository/issues/538" title="GitHub Issue: fake-user/fake-repository #538">fake-user/fake-repository#538</a></p>
<p><a class="magiclink magiclink-github magiclink-issue" href="https://github.com/fake-user/.repo/issues/49" title="GitHub Issue: fake-user/.repo #49">fake-user/.repo#49</a></p>
<p><a class="magiclink magiclink-github magiclink-pull" href="https://github.com/fake-user/fake-repository/pull/539" title="GitHub Pull Request: fake-user/fake-repository #539">fake-user/fake-repository!539</a></p>
<p><a class="magiclink magiclink-github magiclink-commit" href="https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16" title="GitHub Commit: fake-user/fake-repository@594b25d">fake-user/fake-repository@594b25d</a></p>
<p><a class="magiclink magiclink-github magiclink-compare" href="https://github.com/fake-user/fake-repository/compare/e2ed7e0b3973f3f9eb7a26b8ef7ae514eebfe0d2...90b6fb8711e75732f987982cc024e9bb0111beac" title="GitHub Compare: fake-user/fake-repository@e2ed7e0...90b6fb8">fake-user/fake-repository@e2ed7e0...90b6fb8</a></p>
Expand Down
4 changes: 4 additions & 0 deletions tests/extensions/magiclink/magiclink.txt
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,8 @@ test@...........com

https://github.com/facelessuser/pymdown-extensions/issues/49

https://github.com/facelessuser/.repo/issues/49

https://github.com/facelessuser/pymdown-extensions/pull/87

https://github.com/facelessuser/pymdown-extensions/commit/6a09fde5c1cad66c660c3aa7792385c52c49e819
Expand All @@ -235,6 +237,8 @@ https://github.com/facelessuser/pymdown-extensions/compare/e2ed7e0b3973f3f9eb7a2

https://github.com/fake-user/fake-repository/issues/538

https://github.com/fake-user/.repo/issues/49

https://github.com/fake-user/fake-repository/pull/539

https://github.com/fake-user/fake-repository/commit/594b25d53798c30735da5a9be19c06cc94052a16
Expand Down

0 comments on commit 760e56b

Please sign in to comment.