Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to NET8.0 #12

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/FUNDING.yml

This file was deleted.

35 changes: 35 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: .NET Build and test

on:
push:
branches: [ "trunk" ]
pull_request:
branches: [ "trunk" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: Firenza/[email protected]
name: Set secrets as environment variables
with:
secrets: ${{ toJSON(secrets) }}
secret_filter_regex: ENV_*
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore src
- name: Build
run: dotnet build src --no-restore
- name: Test
run: dotnet test src --no-build --verbosity normal
- name: Publish
run: dotnet nuget push **/*.nupkg --api-key ${{ secrets.PACKAGE_N2 }} --source https://api.nuget.org/v3/index.json
87 changes: 0 additions & 87 deletions Help/SimpleFeedReaderHelp.shfbproj

This file was deleted.

31 changes: 23 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ![Logo](https://raw.githubusercontent.com/RobThree/SimpleFeedReader/master/Gfx/icon.png) SimpleFeedReader
# ![Logo](https://raw.githubusercontent.com/gjkaal/SimpleFeedReader/refs/heads/trunk/src/Gfx/icon.png) SimpleFeedReader

Easy to use, simple, Syndication feed reader (Atom / RSS). Available as [Nuget Package](https://www.nuget.org/packages/SimpleFeedReader/).
Easy to use, simple, Syndication feed reader (Atom / RSS). Available as [Nuget Package](https://www.nuget.org/packages/N2.FeedReader/).

## Usage

Expand All @@ -25,14 +25,29 @@ Output:

## Notes

By default the `FeedReader` suppresses exceptions (since feeds tend to go down occasionally, they contain invalid XML from time-to-time and have all other sorts of problems). However, you can tell the `FeedReader` to throw exceptions simply by setting the `throwOnError` argument of the `FeedReader`'s constructor to true.
This is a fork of [SimpleFeedReader](https://github.com/RobThree/SimpleFeedReader) by [RobIII](https://github.com/RobThree).
The original project is no longer maintained.
In this fork, the code is converted to Net8.0 and .NET Standard 2.0.

The `FeedReader` also accepts an optional `FeedNormalizer` (needs to implement the `IFeedItemNormalizer` interface). This "normalizer" can transform or otherwise affect the way [`SyndicationItem`](http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationitem.aspx)s are transformed into `FeedItem`s. The `FeedItem` is the basic object retrieved from feeds and, for simplicity, contains only a few simple properties and methods. It has `Title`, `Summary`, `Content`, `Uri` , `PublishDate`, `LastUpdatedDate`, `Images` and `Categories` properties and that's about it. The default `DefaultFeedItemNormalizer` strips and decodes any HTML in the `Title`, `Summary`, `Content` to (try to) reliably return plain text only. The `Date` property will be populated with whatever the `SyndicationItem`'s latest date is: the `PublishDate` or `LastUpdatedTime`.
By default the `FeedReader` suppresses exceptions (since feeds tend to go down occasionally,
they contain invalid XML from time-to-time and have all other sorts of problems). However,
you can tell the `FeedReader` to throw exceptions simply by setting the `throwOnError`
argument of the `FeedReader`'s constructor to true.

You can implement your own `IFeedItemNormalizer` (see the [UnitTest project](https://github.com/RobThree/SimpleFeedReader/tree/master/SimpleFeedReaderTests) for examples) to handle 'normalization' differently to your desire. The `FeedReader` has some convienience methods like `RetrieveFeeds()` that retrieve more than one feed.
The `FeedReader` also accepts an optional `FeedNormalizer` (needs to implement the `IFeedItemNormalizer` interface).
This "normalizer" can transform or otherwise affect the way [`SyndicationItem`](http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationitem.aspx)s
are transformed into `FeedItem`s. The `FeedItem` is the basic object retrieved from feeds and, for simplicity,
contains only a few simple properties and methods. It has `Title`, `Summary`, `Content`, `Uri` , `PublishDate`, `LastUpdatedDate`, `Images`
and `Categories` properties and that's about it. The default `DefaultFeedItemNormalizer` strips and decodes any
HTML in the `Title`, `Summary`, `Content` to (try to) reliably return plain text only. The `Date` property will be
populated with whatever the `SyndicationItem`'s latest date is: the `PublishDate` or `LastUpdatedTime`.

Included in the project is a [Sandcastle Helpfile Builder project](https://github.com/RobThree/SimpleFeedReader/tree/master/Help) that creates a helpfile for easy to use documentation.
You can implement your own `IFeedItemNormalizer` (see the [UnitTest project](https://github.com/RobThree/SimpleFeedReader/tree/master/SimpleFeedReaderTests) for examples)
to handle 'normalization' differently to your desire. The `FeedReader` has some convienience methods like `RetrieveFeeds()` that retrieve more than one feed.

The project is aimed at easy, don't-make-me-think, retrieval of syndication feeds' entries. It is by no means intended as full-fledged feedreader. It is, however, easily extensible for your purposes (again, see the [UnitTest project](https://github.com/RobThree/SimpleFeedReader/tree/master/SimpleFeedReaderTests) for examples; the `ExtendedFeedItem` and `ExtendedFeedItemNormalizer` are nice concrete examples of this idea).
The project is aimed at easy, don't-make-me-think, retrieval of syndication feeds' entries. It is by no means intended as full-fledged feedreader.
It is, however, easily extensible for your purposes (again, see the [UnitTest project](https://github.com/RobThree/SimpleFeedReader/tree/master/SimpleFeedReaderTests)
for examples; the `ExtendedFeedItem` and `ExtendedFeedItemNormalizer` are nice concrete examples of this idea).

[![Build status](https://ci.appveyor.com/api/projects/status/wy2swaddwhukotg8)](https://ci.appveyor.com/project/RobIII/simplefeedreader) <a href="https://www.nuget.org/packages/SimpleFeedReader/"><img src="http://img.shields.io/nuget/v/SimpleFeedReader.svg?style=flat-square" alt="NuGet version" height="18"></a>
[![Build status](https://github.com/gjkaal/SimpleFeedReader/actions/workflows/dotnet.yml/badge.svg)](https://github.com/gjkaal/SimpleFeedReader/actions/workflows/dotnet.yml/badge.svg)
<a href="https://www.nuget.org/packages/N2.FeedReader"><img src="http://img.shields.io/nuget/v/N2.FeedReader.svg?style=flat-square" alt="NuGet version" height="18"></a>
45 changes: 0 additions & 45 deletions SimpleFeedReader.sln

This file was deleted.

54 changes: 0 additions & 54 deletions SimpleFeedReaderTests/SimpleFeedReaderTests.csproj

This file was deleted.

File renamed without changes
File renamed without changes.
Loading