CUSP-1346 - Add support for existing-folders
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
This commit is contained in:
@@ -254,6 +254,13 @@ def main():
|
||||
help="Use vault directory instead of pub (vault/rocky instead of pub/rocky)",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--existing-versions",
|
||||
nargs="*",
|
||||
metavar="VERSION",
|
||||
help="List of existing versions to include in root index (e.g., 8.10 9.7)",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--template-dir",
|
||||
type=Path,
|
||||
@@ -333,13 +340,24 @@ def main():
|
||||
allow_all_sections=args.allow_all_sections,
|
||||
)
|
||||
|
||||
# Scan for existing versions in output directory
|
||||
existing_versions = [
|
||||
# Get existing versions from scan and argument
|
||||
scanned_versions = [
|
||||
d.name
|
||||
for d in config.output_dir.iterdir()
|
||||
if d.is_dir() and re.match(r"\d+\.\d+", d.name)
|
||||
]
|
||||
all_versions = sorted(set(existing_versions + config.versions))
|
||||
arg_versions = args.existing_versions or []
|
||||
|
||||
# Sort versions numerically by (major, minor)
|
||||
def version_key(v):
|
||||
try:
|
||||
major, minor = v.split(".")
|
||||
return (int(major), int(minor))
|
||||
except (ValueError, AttributeError):
|
||||
return (0, 0)
|
||||
|
||||
existing_versions = sorted(set(scanned_versions + arg_versions), key=version_key)
|
||||
all_versions = sorted(set(existing_versions + config.versions), key=version_key)
|
||||
|
||||
logger.info("Rocky Man - Rocky Linux Man Page Generator")
|
||||
logger.info(f"Versions to process: {', '.join(config.versions)}")
|
||||
|
||||
@@ -292,6 +292,8 @@ class WebGenerator:
|
||||
minors_list = sorted(major_to_minors[major], key=int, reverse=True)
|
||||
if minor_idx < len(minors_list):
|
||||
row.append((major, minors_list[minor_idx]))
|
||||
else:
|
||||
row.append(None) # Empty cell placeholder
|
||||
version_rows.append(row)
|
||||
|
||||
html = template.render(
|
||||
|
||||
@@ -164,7 +164,9 @@
|
||||
<div class="version-grid">
|
||||
{% for row in version_rows %}
|
||||
{% set outer_loop = loop %}
|
||||
{% for major, minor in row %}
|
||||
{% for item in row %}
|
||||
{% if item %}
|
||||
{% set major, minor = item %}
|
||||
<a href="{{ major }}.{{ minor }}/index.html" class="version-card{% if not outer_loop.first %} small{% endif %}">
|
||||
<div class="version-number">{{ major }}.{{ minor }}</div>
|
||||
{% if outer_loop.first %}
|
||||
@@ -172,6 +174,9 @@
|
||||
<div class="version-browse">Browse man pages →</div>
|
||||
{% endif %}
|
||||
</a>
|
||||
{% else %}
|
||||
<div></div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user