(projects: list[dict])
| 800 | |
| 801 | |
| 802 | def write_project_index(projects: list[dict]) -> None: |
| 803 | cards = "\n".join(project_card(project) for project in projects) |
| 804 | description = "Browse all 54 DevOps projects without leaving the learning portal." |
| 805 | content = f"""{frontmatter("Projects", order=1, description=description)} |
| 806 | Every project now has an internal guide page and a standard lab card. Use the |
| 807 | fields to compare level, time, cost, tools, cleanup, credentials, local |
| 808 | support, review date, and portfolio proof before you open a lab. Tool tags are |
| 809 | clickable and open matching project collections. |
| 810 | |
| 811 | <div class="project-grid"> |
| 812 | {cards} |
| 813 | </div> |
| 814 | """ |
| 815 | (TARGET_DOCS / "projects" / "index.md").write_text(content, encoding="utf-8") |
| 816 | |
| 817 | |
| 818 | def write_start_here_page() -> None: |
no test coverage detected