@@ -34,6 +34,17 @@ <h2 class="title">A decade of dialogues with the engineers, authors, and communi
3434 < a href ="https://github.com/just3ws/just3ws.github.io/issues " target ="_blank " rel ="noopener "> submit an issue</ a > on GitHub.
3535 </ p >
3636 </ section >
37+
38+ < nav class ="archive-filters no-print " aria-label ="Archive Collections ">
39+ < span class ="filter-label "> Browse Collections:</ span >
40+ < div class ="filter-group ">
41+ < button class ="filter-btn is-active " data-filter ="all "> All</ button >
42+ < button class ="filter-btn " data-filter ="UGtastic "> UGtastic</ button >
43+ < button class ="filter-btn " data-filter ="SCMC "> SCMC</ button >
44+ < button class ="filter-btn " data-filter ="Archive "> Archive</ button >
45+ </ div >
46+ </ nav >
47+
3748 {% include schema-factory.html
3849 collection_name="Technical Conversations"
3950 collection_description=page.description
@@ -52,4 +63,31 @@ <h2 class="title">A decade of dialogues with the engineers, authors, and communi
5263 {% endif %}
5364 {% endfor %}
5465 </ div >
66+
67+ < script >
68+ document . addEventListener ( 'DOMContentLoaded' , ( ) => {
69+ const buttons = document . querySelectorAll ( '.filter-btn' ) ;
70+ const cards = document . querySelectorAll ( '.editorial-card' ) ;
71+
72+ buttons . forEach ( btn => {
73+ btn . addEventListener ( 'click' , ( ) => {
74+ const filter = btn . getAttribute ( 'data-filter' ) ;
75+
76+ // Update active state
77+ buttons . forEach ( b => b . classList . remove ( 'is-active' ) ) ;
78+ btn . classList . add ( 'is-active' ) ;
79+
80+ // Filter cards
81+ cards . forEach ( card => {
82+ const collection = card . getAttribute ( 'data-collection' ) ;
83+ if ( filter === 'all' || collection === filter ) {
84+ card . classList . remove ( 'is-hidden' ) ;
85+ } else {
86+ card . classList . add ( 'is-hidden' ) ;
87+ }
88+ } ) ;
89+ } ) ;
90+ } ) ;
91+ } ) ;
92+ </ script >
5593</ article >
0 commit comments