Here's what I ended up with:
\procedure excerptify(title)
<$wikify name="contents" text={{{ [<title>get[text]] }}}>
<$text text={{{ [<contents>split[]first[200]join[]] }}} />...
</$wikify>
\end
\procedure linkDisplay(title, subfilter)
<<title>>:
<ul>
<$list filter="[all[current]subfilter<subfilter>]">
<li><$link />: <$transclude $variable="excerptify" title={{!!title}}/></li>
</$list>
</ul>
\end
<<linkDisplay "Links" "[links[]]">>
<<linkDisplay "Backlinks" "[backlinks[]]">>
You might notice that if the first line is shorter than 200 characters, the lines are run together. This is a common issue with excerpting algorithms which you'll often see even on professional blogs and websites. While it's undoubtedly possible to fix, we won't get into the necessary machinations here; feel free to take it on as a challenge project if you like!