Skip to content

Commit 051b3c8

Browse files
mdellwegpedro-psb
authored andcommitted
Rename repository to component
1 parent 0a31c4a commit 051b3c8

File tree

4 files changed

+80
-83
lines changed

4 files changed

+80
-83
lines changed

mkdocs.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
site_name: "Pulp Project"
22
site_url: "https://pulpproject.org/"
33
repo_url: "https://github.com/pulp/pulpcore"
4-
repo_name: "pulp/pulp-docs"
4+
repo_name: "pulp/pulpcore"
55
edit_uri_template: "https://github.com/pulp/pulp-docs/edit/main/pulp_docs/{path}"
66

77
docs_dir: "../pulp-docs/pulp_docs"
@@ -50,7 +50,7 @@ nav:
5050
- Help: "help/"
5151
plugins:
5252
- PulpDocs:
53-
repositories:
53+
components:
5454
- title: "Pulpcore"
5555
path: "pulpcore"
5656
git_url: "https://github.com/pulp/pulpcore"
@@ -151,8 +151,7 @@ plugins:
151151
blog_toc: false
152152
- macros:
153153
render_by_default: false
154-
- tags:
155-
tags_file: pulp-docs/pulp_docs/tags.md
154+
- tags
156155
- literate-nav:
157156
nav_file: _SUMMARY.md
158157
- mkdocstrings:

pulp_docs/help/index.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ Don't hesitate to contact us!
2929

3030
### {{ title }}
3131

32-
Repo | Version | Links |   |  
32+
Component | Version | Links |   |  
3333
--- | --- | --- | --- | ---
34-
{%- for repo in repositories if repo.kind == kind %}
35-
{{ repo.title }} | `{{ repo.version }}` | {{ repo.links | join(" | ") }}
34+
{%- for component in components if component.kind == kind %}
35+
{{ component.title }} | `{{ component.version }}` | {{ component.links | join(" | ") }}
3636
{%- endfor %}
3737
{%- endfor %}
3838

pulp_docs/tags.md

Whitespace-only changes.

src/pulp_docs/plugin.py

+74-76
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828

2929
@config_options.SubConfig
30-
class RepositoryOption(Config):
30+
class ComponentOption(Config):
3131
title = config_options.Type(str)
3232
path = config_options.Type(str)
3333
kind = config_options.Type(str)
@@ -36,20 +36,20 @@ class RepositoryOption(Config):
3636

3737

3838
class PulpDocsPluginConfig(Config):
39-
repositories = config_options.ListOfItems(RepositoryOption, default=[])
39+
components = config_options.ListOfItems(ComponentOption, default=[])
4040

4141

42-
class RepositoryNav:
43-
def __init__(self, config: MkDocsConfig, repository_slug: Path):
42+
class ComponentNav:
43+
def __init__(self, config: MkDocsConfig, component_slug: Path):
4444
self._nav_file_name: str = config.plugins["literate-nav"].config.nav_file
45-
self._repository_slug = repository_slug
45+
self._component_slug = component_slug
4646

47-
self._user_index_uri: Path = repository_slug / "index.md"
47+
self._user_index_uri: Path = component_slug / "index.md"
4848
self._user_index_found: bool = False
4949
self._user_uris: list[Path] = []
5050
self._admin_uris: list[Path] = []
5151

52-
self._dev_index_uri: Path = repository_slug / "docs" / "dev" / "index.md"
52+
self._dev_index_uri: Path = component_slug / "docs" / "dev" / "index.md"
5353
self._dev_index_found: bool = False
5454
self._dev_uris: list[Path] = []
5555

@@ -79,7 +79,7 @@ def _add_to_taxonomy_nav(
7979
taxonomy_nav[k1][k2].append(obj)
8080

8181
def add(self, src_uri: Path) -> None:
82-
assert src_uri.parts[0] == str(self._repository_slug)
82+
assert src_uri.parts[0] == str(self._component_slug)
8383
if src_uri.suffix == ".md":
8484
if src_uri == self._user_index_uri:
8585
self._user_index_found = True
@@ -174,36 +174,36 @@ def _render_sitemap_item(nav_item: Page | Section) -> str:
174174
# jinja2 macros and helpers
175175

176176

177-
def repository_data(
178-
repository: RepositoryOption,
179-
repository_dir: Path,
177+
def component_data(
178+
component: ComponentOption,
179+
component_dir: Path,
180180
) -> dict[str, str | list[str]]:
181181
"""Generate data for rendering md templates."""
182-
path = repository_dir.name
182+
path = component_dir.name
183183

184184
version = "unknown"
185185
try:
186-
pyproject = repository_dir / "pyproject.toml"
186+
pyproject = component_dir / "pyproject.toml"
187187
version = tomllib.loads(pyproject.read_text())["project"]["version"]
188188
except Exception:
189189
pass
190190
github_org = "pulp"
191191
try:
192-
template_config = repository_dir / "template_config.yml"
192+
template_config = component_dir / "template_config.yml"
193193
github_org = yaml.safe_load(template_config.read_text())["github_org"]
194194
except Exception:
195195
pass
196196

197197
links = []
198-
if repository.rest_api:
198+
if component.rest_api:
199199
links.append(f"[REST API](site:{path}/restapi/)")
200200
links.append(f"[Repository](https://github.com/{github_org}/{path})")
201-
if (repository_dir / "CHANGES.md").exists():
201+
if (component_dir / "CHANGES.md").exists():
202202
links.append(f"[Changelog](site:{path}/changes/)")
203203

204204
return {
205-
"title": f"[{repository.title}](site:{path}/)",
206-
"kind": repository.kind,
205+
"title": f"[{component.title}](site:{path}/)",
206+
"kind": component.kind,
207207
"version": version,
208208
"links": links,
209209
}
@@ -236,27 +236,27 @@ def on_config(self, config: MkDocsConfig) -> MkDocsConfig | None:
236236
self.repositories_dir = self.pulp_docs_dir.parent
237237

238238
mkdocstrings_config = config.plugins["mkdocstrings"].config
239-
repositories_var = []
240-
new_repositories = []
241-
for repository in self.config.repositories:
242-
repository_dir = self.repositories_dir / repository.path
243-
if repository_dir.exists():
244-
repositories_var.append(repository_data(repository, repository_dir))
245-
config.watch.append(str(repository_dir / "docs"))
239+
components_var = []
240+
new_components = []
241+
for component in self.config.components:
242+
component_dir = self.repositories_dir / component.path
243+
if component_dir.exists():
244+
components_var.append(component_data(component, component_dir))
245+
config.watch.append(str(component_dir / "docs"))
246246
mkdocstrings_config.handlers["python"]["paths"].append(
247-
str(repository_dir)
247+
str(component_dir)
248248
)
249-
new_repositories.append(repository)
249+
new_components.append(component)
250250
else:
251251
if self.draft:
252-
log.warning(f"Skip missing repository '{repository.title}'.")
252+
log.warning(f"Skip missing component '{component.title}'.")
253253
else:
254-
raise PluginError(f"Repository '{repository.title}' missing.")
255-
self.config.repositories = new_repositories
254+
raise PluginError(f"Component '{component.title}' missing.")
255+
self.config.components = new_components
256256

257257
macros_plugin = config.plugins["macros"]
258258
macros_plugin.register_macros({"rss_items": rss_items})
259-
macros_plugin.register_variables({"repositories": repositories_var})
259+
macros_plugin.register_variables({"components": components_var})
260260

261261
blog_plugin = config.plugins["material/blog"]
262262
blog_plugin.config["enabled"] = self.blog
@@ -267,109 +267,107 @@ def on_config(self, config: MkDocsConfig) -> MkDocsConfig | None:
267267
return config
268268

269269
def on_files(self, files: Files, /, *, config: MkDocsConfig) -> Files | None:
270-
log.info(f"Loading Pulp repositories: {self.config.repositories}")
270+
log.info(f"Loading Pulp components: {self.config.components}")
271271

272-
pulp_docs_git_repository = Repo(self.pulp_docs_dir)
272+
pulp_docs_git = Repo(self.pulp_docs_dir)
273273
user_nav: dict[str, t.Any] = {}
274274
dev_nav: dict[str, t.Any] = {}
275-
for repository in self.config.repositories:
276-
repository_dir = self.repositories_dir / repository.path
275+
for component in self.config.components:
276+
component_dir = self.repositories_dir / component.path
277277

278-
log.info(f"Fetching docs from '{repository.title}'.")
279-
git_repository_dir = self.repositories_dir / Path(repository.path).parts[0]
278+
log.info(f"Fetching docs from '{component.title}'.")
279+
git_repository_dir = self.repositories_dir / Path(component.path).parts[0]
280280
try:
281281
git_branch = Repo(git_repository_dir).active_branch.name
282282
except TypeError:
283283
git_branch = None
284-
repository_parent_dir = repository_dir.parent
285-
repository_docs_dir = repository_dir / "staging_docs"
286-
if repository_docs_dir.exists():
284+
component_parent_dir = component_dir.parent
285+
component_docs_dir = component_dir / "staging_docs"
286+
if component_docs_dir.exists():
287287
log.warning(
288-
f"Found deprecated 'staging_docs' directory in {repository.path}."
288+
f"Found deprecated 'staging_docs' directory in {component.path}."
289289
)
290290
else:
291-
repository_docs_dir = repository_dir / "docs"
292-
repository_slug = Path(repository_dir.name)
293-
assert repository_docs_dir.exists()
291+
component_docs_dir = component_dir / "docs"
292+
component_slug = Path(component_dir.name)
293+
assert component_docs_dir.exists()
294294

295-
repository_nav = RepositoryNav(config, repository_slug)
295+
component_nav = ComponentNav(config, component_slug)
296296

297-
for dirpath, dirnames, filenames in repository_docs_dir.walk(
297+
for dirpath, dirnames, filenames in component_docs_dir.walk(
298298
follow_symlinks=True
299299
):
300300
for filename in filenames:
301301
abs_src_path = dirpath / filename
302302
pulp_meta: dict[str, t.Any] = {}
303-
if abs_src_path == repository_docs_dir / "index.md":
304-
src_uri = repository_slug / "index.md"
303+
if abs_src_path == component_docs_dir / "index.md":
304+
src_uri = component_slug / "index.md"
305305
pulp_meta["index"] = True
306-
elif abs_src_path == repository_docs_dir / "dev" / "index.md":
307-
src_uri = repository_slug / "docs" / "dev" / "index.md"
306+
elif abs_src_path == component_docs_dir / "dev" / "index.md":
307+
src_uri = component_slug / "docs" / "dev" / "index.md"
308308
pulp_meta["index"] = True
309309
else:
310-
src_uri = abs_src_path.relative_to(repository_parent_dir)
310+
src_uri = abs_src_path.relative_to(component_parent_dir)
311311
log.debug(f"Adding {abs_src_path} as {src_uri}.")
312-
if repository.git_url and git_branch:
312+
if component.git_url and git_branch:
313313
git_relpath = abs_src_path.relative_to(git_repository_dir)
314314
pulp_meta["edit_url"] = (
315-
f"{repository.git_url}/edit/{git_branch}/{git_relpath}"
315+
f"{component.git_url}/edit/{git_branch}/{git_relpath}"
316316
)
317317
new_file = File.generated(
318318
config, src_uri, abs_src_path=abs_src_path
319319
)
320320
new_file.pulp_meta = pulp_meta
321321
files.append(new_file)
322-
repository_nav.add(src_uri)
322+
component_nav.add(src_uri)
323323

324-
for src_uri in repository_nav.missing_indices():
324+
for src_uri in component_nav.missing_indices():
325325
new_file = File.generated(
326326
config,
327327
src_uri,
328-
content=f"# Welcome to {repository.title}\n\nThis is a generated page. "
328+
content=f"# Welcome to {component.title}\n\nThis is a generated page. "
329329
"See how to add a custom overview page for your plugin "
330330
"[here](site:pulp-docs/docs/dev/guides/create-plugin-overviews/).",
331331
)
332332
new_file.pulp_meta = {"index": True}
333333
files.append(new_file)
334334

335-
if repository.rest_api:
336-
src_uri = repository_slug / "restapi.md"
335+
if component.rest_api:
336+
src_uri = component_slug / "restapi.md"
337337
files.append(
338338
File.generated(
339339
config,
340340
src_uri,
341341
content=REST_API_MD,
342342
)
343343
)
344-
repository_nav.add(src_uri)
344+
component_nav.add(src_uri)
345345
try:
346-
api_json = pulp_docs_git_repository.git.show(
347-
f"docs-data:data/openapi_json/{repository.rest_api}-api.json"
346+
api_json = pulp_docs_git.git.show(
347+
f"docs-data:data/openapi_json/{component.rest_api}-api.json"
348348
)
349349
except GitCommandError:
350350
# Try again on the first remote.
351-
remote = pulp_docs_git_repository.remotes[0]
352-
api_json = pulp_docs_git_repository.git.show(
353-
f"{remote}/docs-data:data/openapi_json/{repository.rest_api}-api.json"
351+
remote = pulp_docs_git.remotes[0]
352+
api_json = pulp_docs_git.git.show(
353+
f"{remote}/docs-data:data/openapi_json/{component.rest_api}-api.json"
354354
)
355-
src_uri = (repository_dir / "api.json").relative_to(
356-
repository_parent_dir
357-
)
355+
src_uri = (component_dir / "api.json").relative_to(component_parent_dir)
358356
files.append(File.generated(config, src_uri, content=api_json))
359357

360-
repository_changes = repository_dir / "CHANGES.md"
361-
if repository_changes.exists():
362-
src_uri = repository_slug / "changes.md"
358+
component_changes = component_dir / "CHANGES.md"
359+
if component_changes.exists():
360+
src_uri = component_slug / "changes.md"
363361
files.append(
364-
File.generated(config, src_uri, abs_src_path=repository_changes)
362+
File.generated(config, src_uri, abs_src_path=component_changes)
365363
)
366-
repository_nav.add(src_uri)
364+
component_nav.add(src_uri)
367365

368-
user_nav.setdefault(repository.kind, []).append(
369-
{repository.title: repository_nav.user_nav()}
366+
user_nav.setdefault(component.kind, []).append(
367+
{component.title: component_nav.user_nav()}
370368
)
371-
dev_nav.setdefault(repository.kind, []).append(
372-
{repository.title: repository_nav.dev_nav()}
369+
dev_nav.setdefault(component.kind, []).append(
370+
{component.title: component_nav.dev_nav()}
373371
)
374372

375373
config.nav[1]["User Manual"].extend(

0 commit comments

Comments
 (0)