# Visual Parity Pass 2 — Implementation Plan **Goal:** Restore the missing team carousel on `/team/`, fix carousel image distortion, clean up markdown / autoescape glitches in `doctors.md` and navbar — closing the regressions reported after Phase 1.5 deploy. **Architecture:** New `team_carousel.html` macro + `section.html` dispatch by `page.extra.layout`; rewrite `content/team/employees.md` to carry slides as front-matter data; spot fixes in `doctors.md` and `navbar.html`. **Tech Stack:** Zola 0.22, Tera, Bootstrap 3 (carousel JS already wired in `base.html`), Font Awesome (icons already loaded). --- ## Task 1: Rewrite `content/team/employees.md` with carousel front matter **Files:** - Modify: `content/team/employees.md` (full rewrite) Replace the entire file with TOML front matter holding the five slides and an empty body: ```toml +++ title = "Unser Praxis-Team" weight = 20 [extra] anchor = "employees" layout = "carousel" [[extra.slides]] name = "Frau Berscheidt" image = "Berscheidt.jpg" description = "Medizinische Fachangestellte, Diabetes-Assistentin" [[extra.slides]] name = "Frau Bolz" image = "Bolz.jpg" description = "Medizinische Fachangestellte" [[extra.slides]] name = "Frau Frohne" image = "Frohne.jpg" description = "Medizinische Fachangestellte" [[extra.slides]] name = "Frau Merhof" image = "Merhof.jpg" description = "Medizinische Fachangestellte" [[extra.slides]] name = "Frau Rodrigues" image = "Rodrigues.jpg" description = "Medizinische Fachangestellte" +++ ``` Commit: ``` fix(team): convert employees.md to carousel front-matter data ``` ## Task 2: Create `templates/macros/team_carousel.html` **Files:** - Create: `templates/macros/team_carousel.html` ```html {% macro team_carousel(title, anchor, slides) %}
{%- if anchor %}

{{ title }}

{%- else %}

{{ title }}

{%- endif %}
{% endmacro %} ``` Commit: ``` feat(templates): add team_carousel macro mirroring live employees block ``` ## Task 3: Wire macro into `templates/section.html` **Files:** - Modify: `templates/section.html` Add the macro import alongside the others, and branch on `page.extra.layout` in the child-page loop: ```html {% extends "base.html" %} {% import "macros/section_title.html" as st %} {% import "macros/page_title.html" as pt %} {% import "macros/team_carousel.html" as tc %} {% block content %} {{ pt::page_title(title=section.title) }} {% if section.content %}
{{ section.content | safe }}
{% endif %} {% for page in section.pages %} {% if page.extra.layout == "carousel" %} {{ tc::team_carousel( title=page.title, anchor=page.extra.anchor | default(value=page.slug), slides=page.extra.slides) }} {% else %}
{{ st::section_title(title=page.title, anchor=page.extra.anchor | default(value=page.slug)) }}
{{ page.content | safe }}
{% endif %} {% endfor %} {% endblock %} ``` Commit: ``` feat(templates): dispatch section pages by extra.layout for carousel support ``` ## Task 4: Fix `
` headings in `content/team/doctors.md` **Files:** - Modify: `content/team/doctors.md` Replace every `#####X` (no space) with `##### X` (with space) — exactly six lines: - `#####Qualifikation` → `##### Qualifikation` (3×) - `#####Tätigkeitsschwerpunkte` → `##### Tätigkeitsschwerpunkte` (2×) - `#####Tätigkeitsschwerpunkt` → `##### Tätigkeitsschwerpunkt` (1×) - `#####Interessenschwerpunkt` → `##### Interessenschwerpunkt` (1×) (Total occurrences: 6 — verified via `grep -c '^#####[^ ]' content/team/doctors.md`.) ## Task 5: Fix `` closing tags in `content/team/doctors.md` **Files:** - Modify: `content/team/doctors.md` Each doctor block has a schedule table with two `…` mismatches in its first row. Replace `` with `` — six total occurrences. Combine commits 4+5: ``` fix(content): proper md headings and td closing tags in doctors.md ``` ## Task 6: Strip base_url from nav permalinks in `templates/partials/navbar.html` **Files:** - Modify: `templates/partials/navbar.html` For each `` (two top-level loops, plus the mobile menu list further down): - Old: `href="{{ sub.permalink }}"` (etc.) - New: `href="{{ sub.permalink | replace(from=config.base_url, to='') | safe }}"` Same treatment for `cpage.permalink` inside the dropdown. Commit: ``` fix(navbar): render nav hrefs as relative paths to match live markup ``` ## Task 7: Build, deploy, verify - [ ] Run `zola build` from project root. Expect zero warnings/errors. - [ ] Read `public/team/index.html` and confirm: - One `
` containing `id="employeesSlider"`. - Exactly five `