I have made a lib called SignalR.EventAggregatorProxy
It serves has a proxy between a backend service bus or event aggregator and seamlessly forwards all or selected events to the client. The client subscribes to certain events but you can also create custom constraints so that the user only receives a selection of said event.
Check the wiki for how to set it up
https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki
Install using nuget
Install-Package SignalR.EventAggregatorProxy
Once configured fire a event when a news article is added or updated, you can fire it anywhere in your backend, domain, DAL, etc, as long as your service bus can pick it up my proxy will pick it up too.
For the UI use Knockout or Angular to create a dynamic list that can push changes to the UI . Load the initial data first time the user connects and add a listener to the event. Once a event come in check if the item is in the list, if it is update it, if its not add it.
SqlDependency
that Lin suggests is fine for trivial systems, but once your system grows you do not want to have that kind of coupling directly to SQL