Starlight Themen-Dropdown und Liste zusammen

Mit dem Starlight Sidebar Topics Plugin zusammen mit der Starlight Sidebar Topics Dropdown Komponente können Sie eine Website erstellen, die eine Themenliste auf dem Desktop und ein Dropdown-Menü auf mobilen Geräten bietet.
Sie benötigen eine bestehende Starlight-Website.
Zuerst installieren Sie das starlight-sidebar-topics
Plugin sowie die starlight-sidebar-topics-dropdown
Komponente:
npm install starlight-sidebar-topics starlight-sidebar-topics-dropdown
pnpm add starlight-sidebar-topics starlight-sidebar-topics-dropdown
yarn add starlight-sidebar-topics starlight-sidebar-topics-dropdown
Anschließend folgen Sie den Einrichtungsanleitungen von Starlight Sidebar Topics und Starlight Sidebar Topics Dropdown.
In der Einrichtungsanleitung der Dropdown-Komponente haben Sie eine Sidebar-Komponente erstellt, die nur das Dropdown-Menü rendert. Nun müssen Sie diese Komponente anpassen, sodass sie auch die Standard-Sidebar rendert, wenn der Benutzer am Desktop ist.
---import Default from '@astrojs/starlight/components/Sidebar.astro';import Topics from 'starlight-sidebar-topics/components/Sidebar.astro';import TopicsDropdown from 'starlight-sidebar-topics-dropdown/TopicsDropdown.astro';---
<div class="topics"> <Topics/></div><div class="topics-dropdown"> <TopicsDropdown/></div><Default><slot /></Default>
<style> /* Hide topics by default and show them on medium screens and larger */ .topics { display: none; }
@media (min-width: 800px) { .topics { display: block; } }
/* Show topics dropdown on small screens and hide it on medium screens and larger */ .topics-dropdown { display: block; }
@media (min-width: 800px) { .topics-dropdown { display: none; } }</style>
Wenn Sie diese Schritte befolgen, sieht Ihre Sidebar folgendermaßen aus:
Den vollständigen Quellcode dieser Anleitung finden Sie in diesem StackBlitz-Beispiel.
Sie könnten es auch umgekehrt machen (Liste auf mobilen Geräten, Dropdown auf dem Desktop), indem Sie die CSS-Eigenschaften display: block
und display: none
tauschen.
Darüber hinaus könnten Sie auch eine eigene Anzeige-Komponente erstellen, die die Routendaten aus dem Starlight Sidebar Topics Plugin verwendet und die Themen auf eine benutzerdefinierte Weise rendert. Das ist etwas anspruchsvoller, aber Sie finden weitere Informationen dazu in der “Custom Topics List”-Dokumentation.