add-feedback-improvements #5
@@ -254,6 +254,13 @@ def main():
|
|||||||
help="Use vault directory instead of pub (vault/rocky instead of pub/rocky)",
|
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(
|
parser.add_argument(
|
||||||
"--template-dir",
|
"--template-dir",
|
||||||
type=Path,
|
type=Path,
|
||||||
@@ -333,13 +340,24 @@ def main():
|
|||||||
allow_all_sections=args.allow_all_sections,
|
allow_all_sections=args.allow_all_sections,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Scan for existing versions in output directory
|
# Get existing versions from scan and argument
|
||||||
existing_versions = [
|
scanned_versions = [
|
||||||
d.name
|
d.name
|
||||||
for d in config.output_dir.iterdir()
|
for d in config.output_dir.iterdir()
|
||||||
if d.is_dir() and re.match(r"\d+\.\d+", d.name)
|
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("Rocky Man - Rocky Linux Man Page Generator")
|
||||||
logger.info(f"Versions to process: {', '.join(config.versions)}")
|
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)
|
minors_list = sorted(major_to_minors[major], key=int, reverse=True)
|
||||||
if minor_idx < len(minors_list):
|
if minor_idx < len(minors_list):
|
||||||
row.append((major, minors_list[minor_idx]))
|
row.append((major, minors_list[minor_idx]))
|
||||||
|
else:
|
||||||
|
row.append(None) # Empty cell placeholder
|
||||||
version_rows.append(row)
|
version_rows.append(row)
|
||||||
|
|
||||||
html = template.render(
|
html = template.render(
|
||||||
|
|||||||
@@ -164,7 +164,9 @@
|
|||||||
<div class="version-grid">
|
<div class="version-grid">
|
||||||
{% for row in version_rows %}
|
{% for row in version_rows %}
|
||||||
{% set outer_loop = loop %}
|
{% 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 %}">
|
<a href="{{ major }}.{{ minor }}/index.html" class="version-card{% if not outer_loop.first %} small{% endif %}">
|
||||||
<div class="version-number">{{ major }}.{{ minor }}</div>
|
<div class="version-number">{{ major }}.{{ minor }}</div>
|
||||||
{% if outer_loop.first %}
|
{% if outer_loop.first %}
|
||||||
@@ -172,6 +174,9 @@
|
|||||||
<div class="version-browse">Browse man pages →</div>
|
<div class="version-browse">Browse man pages →</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
|
{% else %}
|
||||||
|
<div></div>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user