Skip to content

Commit a55f1a1

Browse files
committed
Fix changelog URL pattern to "{repo}/changes/"
[noissue]
1 parent 3fa873d commit a55f1a1

File tree

3 files changed

+24
-11
lines changed

3 files changed

+24
-11
lines changed

src/pulp_docs/mkdocs_macros.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -179,26 +179,26 @@ def _place_doc_files(src_dir: Path, docs_dir: Path, repo: Repo, api_src_dir: Pat
179179

180180
# Get changelog
181181
repo.status.has_changelog = False
182-
changes_dir = Path(docs_dir / "changes")
182+
changes_dir = Path(docs_dir)
183183
changes_dir.mkdir(exist_ok=True)
184184
for changelog_name in ("CHANGELOG.md", "CHANGES.md", "CHANGES.rst"):
185185
changelog_path = Path(src_dir / changelog_name)
186186
if changelog_path.exists():
187-
shutil.copy(changelog_path, changes_dir / "changelog.md")
187+
shutil.copy(changelog_path, changes_dir / "changes.md")
188188
repo.status.has_changelog = True
189189
return
190190

191191
# Create redirect message for nested packages
192192
if isinstance(repo, SubPackage):
193-
empty_changelog = changes_dir / "changelog.md"
194-
changes_url = f"site:{repo.subpackage_of}/changes/changelog/"
193+
empty_changelog = changes_dir / "changes.md"
194+
changes_url = f"site:{repo.subpackage_of}/changes/"
195195
empty_changelog.write_text(
196196
f"# Changelog\n\nThe changelog for this package is nested under [{repo.subpackage_of}]({changes_url})."
197197
)
198198
return
199199

200200
# Create placeholder, case it was not possible to fetch one
201-
empty_changelog = changes_dir / "changelog.md"
201+
empty_changelog = changes_dir / "changes.md"
202202
empty_changelog.write_text(
203203
"# Changelog\n\nThe repository does not provide a changelog or there was a problem fetching it."
204204
)
@@ -360,7 +360,7 @@ def get_repos(repo_type="content"):
360360
"version": "3.12.1",
361361
"rest_api_url": f"https://docs.pulpproject.org/{repo.name}/restapi.html",
362362
"codebase_url": f"https://github.com/{repo.owner}/{repo.name}",
363-
"changelog_url": f"site:{repo.name}/changes/changelog/",
363+
"changelog_url": f"site:{repo.name}/changes/",
364364
}
365365
for repo in repos_list
366366
]

src/pulp_docs/navigation.py

+3-5
Original file line numberDiff line numberDiff line change
@@ -132,17 +132,15 @@ def grouped_by_persona(tmpdir: Path, repos: Repos):
132132
{"More": f.get_children("pulp-docs/docs/sections/help/more")},
133133
{
134134
"Changelogs": [
135-
{"Pulpcore": "pulpcore/changes/changelog.md"},
135+
{"Pulpcore": "pulpcore/changes.md"},
136136
{
137137
"Plugins": sorted(
138-
f.repo_grouping(
139-
"{repo}/changes", repo_types=["content"]
140-
).items()
138+
f.aggregate_file("{repo}/changes.md", repo_types=["content"] ).items()
141139
)
142140
},
143141
{
144142
"Extra": sorted(
145-
f.repo_grouping("{repo}/changes", repo_types=["other"]).items()
143+
f.aggregate_file("{repo}/changes.md", repo_types=["other"]).items()
146144
)
147145
},
148146
]

src/pulp_docs/utils/aggregation.py

+15
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,27 @@ def repo_grouping(
137137
if _repo_content:
138138
content_type_name = Names.get(content_type)
139139
repo_nav[content_type_name] = _repo_content # type: ignore
140+
141+
# Add REST API and Changes
140142
if repo.type == "content" and "docs/user" in template_str:
141143
repo_nav["Rest API"] = f"{repo.name}/docs/rest_api.md"
144+
142145
if repo_nav:
143146
_nav[repo.title] = repo_nav
144147
return _nav or ["#"]
145148

149+
def aggregate_file(self, template_str: str, repo_types: t.Optional[t.List[str]]=None):
150+
"""Aggregate single file by RepoType then Repo"""
151+
selected_repos = self.repos.all
152+
if repo_types:
153+
selected_repos = self.repos.get_repos(repo_types=repo_types)
154+
155+
_nav = {}
156+
for repo in selected_repos:
157+
_nav[repo.title] = template_str.format(repo=repo.name)
158+
159+
return _nav
160+
146161
def _parse_template_str(
147162
self, template_str: str, repo_name: str, content_type: t.Optional[str] = None
148163
) -> Path:

0 commit comments

Comments
 (0)