To create a Filter by Category on Summary Block, like this

You can follow these steps
#1. You need to add a Summary Block with Grid or List Layout
#2. Next, enable Category on Primary Metadata

#3. Use this code to Custom CSS box
/* Summary Filter */
.summary-filter {
display: none;
}
.summary-filter span {
display: inline-block;
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
}
.summary-filter {
text-align: center;
margin-bottom: 30px;
}
.active-filter {
text-decoration: underline;
font-weight: bold;
}
.summary-v2-block .summary-filter {
display: block !important;
}

#4. Use this code to Page Header (page where you use Summary Block)
<div class="summary-filter"> <span class="filter-all">All</span> <span class="filter-inbound-marketing">Inbound Marketing</span> <span class="filter-search-engine-marketing">Search Engine Marketing</span> <span class="filter-content-marketing">Content Marketing</span> <span class="filter-brand-point">Brand Point</span> </div>

In my example, we will create Filter with some links: Inbound Marketing, Search Engine Marketing, Content Marketing, Brand Point
so I added some corresponding ID to <span> tag
- filter-inbound-marketing
- filter-search-engine-marketing
- filter-content-marketing
- filter-brand-point
If you want to create it with other filters name, you can change both text + ID.
#5. Use this code to Page Header Injection, under #4 code.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('.summary-filter').insertBefore('.summary-item-list');
const filters = {
'filter-all': '',
'filter-inbound-marketing': 'Inbound+marketing',
'filter-search-engine-marketing': 'Search+Engine+Marketing',
'filter-content-marketing': 'Content+Marketing',
'filter-brand-point': 'Brand+Point'
};
$('.summary-filter span').click(function() {
$('.summary-filter span').removeClass('active-filter');
$(this).addClass('active-filter');
const filterClass = $(this).attr('class').split(' ')[0];
const keyword = filters[filterClass];
$('.summary-item').hide();
if (keyword === '') {
$('.summary-item').show();
} else {
$('.summary-item').filter(function() {
return $(this).find('.summary-metadata-item--cats a[href*="' + keyword + '"]').length > 0;
}).show();
}
});
});
</script>

You need to change ID in number (1) and Category URL in number (2)

#6. Number (2), to find these URLs, just click on Category on Summary Block

You will see these

