[utils] Update check_doc_toc (#12642)

update

Co-authored-by: Sayak Paul <spsayakpaul@gmail.com>
This commit is contained in:
Steven Liu
2025-11-13 08:42:31 -08:00
committed by GitHub
parent cd3bbe2910
commit 6a2309b98d
2 changed files with 16 additions and 14 deletions

View File

@@ -450,6 +450,8 @@
- sections:
- local: api/pipelines/overview
title: Overview
- local: api/pipelines/auto_pipeline
title: AutoPipeline
- sections:
- local: api/pipelines/audioldm
title: AudioLDM
@@ -462,8 +464,6 @@
- local: api/pipelines/stable_audio
title: Stable Audio
title: Audio
- local: api/pipelines/auto_pipeline
title: AutoPipeline
- sections:
- local: api/pipelines/amused
title: aMUSEd
@@ -527,6 +527,8 @@
title: HiDream-I1
- local: api/pipelines/hunyuandit
title: Hunyuan-DiT
- local: api/pipelines/hunyuanimage21
title: HunyuanImage2.1
- local: api/pipelines/pix2pix
title: InstructPix2Pix
- local: api/pipelines/kandinsky
@@ -640,8 +642,6 @@
title: ConsisID
- local: api/pipelines/framepack
title: Framepack
- local: api/pipelines/hunyuanimage21
title: HunyuanImage2.1
- local: api/pipelines/hunyuan_video
title: HunyuanVideo
- local: api/pipelines/i2vgenxl

View File

@@ -21,20 +21,23 @@ import yaml
PATH_TO_TOC = "docs/source/en/_toctree.yml"
# Titles that should maintain their position and not be sorted alphabetically
FIXED_POSITION_TITLES = {"overview", "autopipeline"}
def clean_doc_toc(doc_list):
"""
Cleans the table of content of the model documentation by removing duplicates and sorting models alphabetically.
"""
counts = defaultdict(int)
overview_doc = []
fixed_position_docs = []
new_doc_list = []
for doc in doc_list:
if "local" in doc:
counts[doc["local"]] += 1
if doc["title"].lower() == "overview":
overview_doc.append({"local": doc["local"], "title": doc["title"]})
if doc["title"].lower() in FIXED_POSITION_TITLES:
fixed_position_docs.append({"local": doc["local"], "title": doc["title"]})
else:
new_doc_list.append(doc)
@@ -57,14 +60,13 @@ def clean_doc_toc(doc_list):
new_doc.extend([doc for doc in doc_list if "local" not in counts or counts[doc["local"]] == 1])
new_doc = sorted(new_doc, key=lambda s: s["title"].lower())
# "overview" gets special treatment and is always first
if len(overview_doc) > 1:
raise ValueError("{doc_list} has two 'overview' docs which is not allowed.")
# Fixed-position titles maintain their original order
result = []
for doc in fixed_position_docs:
result.append(doc)
overview_doc.extend(new_doc)
# Sort
return overview_doc
result.extend(new_doc)
return result
def check_scheduler_doc(overwrite=False):