You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.7 KiB
65 lines
1.7 KiB
import yaml
|
|
|
|
|
|
def update_mkdocs(
|
|
class_names,
|
|
base_path="docs/zeta/nn/modules",
|
|
mkdocs_file="mkdocs.yml",
|
|
):
|
|
"""
|
|
Update the mkdocs.yml file with new documentation links.
|
|
|
|
Args:
|
|
- class_names: A list of class names for which documentation is generated.
|
|
- base_path: The base path where documentation Markdown files are stored.
|
|
- mkdocs_file: The path to the mkdocs.yml file.
|
|
"""
|
|
with open(mkdocs_file) as file:
|
|
mkdocs_config = yaml.safe_load(file)
|
|
|
|
# Find or create the 'zeta.nn.modules' section in 'nav'
|
|
zeta_modules_section = None
|
|
for section in mkdocs_config.get("nav", []):
|
|
if "zeta.nn.modules" in section:
|
|
zeta_modules_section = section["zeta.nn.modules"]
|
|
break
|
|
|
|
if zeta_modules_section is None:
|
|
zeta_modules_section = {}
|
|
mkdocs_config["nav"].append(
|
|
{"zeta.nn.modules": zeta_modules_section}
|
|
)
|
|
|
|
# Add the documentation paths to the 'zeta.nn.modules' section
|
|
for class_name in class_names:
|
|
doc_path = f"{base_path}/{class_name.lower()}.md"
|
|
zeta_modules_section[class_name] = doc_path
|
|
|
|
# Write the updated content back to mkdocs.yml
|
|
with open(mkdocs_file, "w") as file:
|
|
yaml.safe_dump(mkdocs_config, file, sort_keys=False)
|
|
|
|
|
|
# Example usage
|
|
classes = [
|
|
"DenseBlock",
|
|
"HighwayLayer",
|
|
"MultiScaleBlock",
|
|
"FeedbackBlock",
|
|
"DualPathBlock",
|
|
"RecursiveBlock",
|
|
"PytorchGELUTanh",
|
|
"NewGELUActivation",
|
|
"GELUActivation",
|
|
"FastGELUActivation",
|
|
"QuickGELUActivation",
|
|
"ClippedGELUActivation",
|
|
"AccurateGELUActivation",
|
|
"MishActivation",
|
|
"LinearActivation",
|
|
"LaplaceActivation",
|
|
"ReLUSquaredActivation",
|
|
]
|
|
|
|
update_mkdocs(classes)
|