Commit Graph

40 Commits

Author SHA1 Message Date
Brent Simmons
6342eaeb00 Add mactories.net to the JSON special case list with titles. 2018-02-19 21:23:58 -08:00
Brent Simmons
0e2e0f7eea Do a case-insensitive match when checking for special-case feed URLs. 2018-02-16 13:15:20 -08:00
Brent Simmons
891416e7b7 Add a special case to the JSON Feed parser for feeds that include HTML entities in their titles. At the moment this is used for kottke.org and pxlnv.com. More could be added later, and these feeds could be removed if fixed. 2018-02-16 13:13:00 -08:00
Brent Simmons
f8f78810ef When detecting and parsing a potential JSON Feed, allow for the version URL to have the wrong scheme, as it does (at this writing) in https://pxlnv.com/feed/json/
Fix #347.
2018-02-14 20:56:02 -08:00
Daniel Jalkut
d7f13ca4be Change from flatMap to new compactMap rename in Xcode 9.3. 2018-01-29 11:19:54 -05:00
Brent Simmons
6c5566e184 Parse Atom authors. Fix #260. 2017-12-19 13:24:19 -08:00
Brent Simmons
ccd87040c3 Support multiple authors in RSS and Atom feeds. 2017-12-19 13:03:05 -08:00
Brent Simmons
fefa96d259 Prefer permalink to link when creating a calculated unique ID. 2017-12-19 11:19:46 -08:00
Brent Simmons
a82cee29b8 Make RSParsedArticle calculate a unique ID only when there’s no guid. Otherwise use the guid. Do not attempt to create a globally-unique ID — that’s out of scope for the parser and should be (and is) handled at the app’s model layer. 2017-12-19 10:59:24 -08:00
Brent Simmons
7ccb531f0c Parse Atom enclosures. However, I couldn’t find any in the wild, so there are no tests yet. 2017-12-19 10:17:09 -08:00
Brent Simmons
fb9a1d610c Parse enclosures in RSS. 2017-12-18 15:35:50 -08:00
Brent Simmons
de883ce082 Define string constants in JSONFeedParser rather than using literals all over the place. Also: remove a no-longer-needed do/try/catch. 2017-12-10 13:56:40 -08:00
Brent Simmons
cc3f77571b Make JSONTypes public. Add JSONUtilities. 2017-12-10 13:53:00 -08:00
Brent Simmons
f99cd162bb Add support for RSS 1.0 (RDF) feeds. Added so we can handle Pinboard feeds. (Not sure if anyone else is still using RSS 1.0.) Fix #231. 2017-12-02 16:37:24 -08:00
Brent Simmons
f28d921aff Avoid skipping parsing Dr. Drang’s JSON Feed, which can’t be detected that it’s a JSON Feed with only partial data, since it has the version element at the end. Add a test for this. 2017-12-01 13:19:30 -08:00
Brent Simmons
e4008b677f Fix two typos in JSONFeedParser which kept the parser from getting the feed’s favicon and icon URLs. Also added a test for this. 2017-11-25 10:34:48 -08:00
Brent Simmons
ca081c41a9 Decode HTML entities in the JSON Feed parser for content_html. Fix #176. 2017-11-18 12:41:15 -08:00
Brent Simmons
0fe8cbd360 Remove redundant check to see if feed is probably XML. 2017-11-11 14:27:56 -08:00
Brent Simmons
2982109f9b Check that data is not XML, rather than that it is HTML, when determining feed type. Fix #144. 2017-11-11 10:30:01 -08:00
Brent Simmons
199dd0e247 Fix bug loading feeds from disk. 2017-10-05 21:08:27 -07:00
Brent Simmons
c80c6c30f8 Fix builder errors, mostly in RSParser. 2017-10-04 13:28:48 -07:00
Brent Simmons
83231ed373 Fix some build errors. 2017-10-02 13:15:07 -07:00
Brent Simmons
2943fca8e3 Make ParsedAttachment require a URL. 2017-09-10 11:21:49 -07:00
Brent Simmons
9ad83e58b3 Make tags and attachments sets instead of arrays. 2017-09-10 11:18:15 -07:00
Brent Simmons
b1bd1ac75a Use a Set<ParsedAuthor> instead of [ParsedAuthor] array. 2017-09-10 11:02:05 -07:00
Brent Simmons
9a45ab7996 Marked ParsedFeed.hubs a Set<ParsedHub>. 2017-09-10 10:53:24 -07:00
Brent Simmons
7415131e8d Make ParsedFeed.items a Set<ParsedItem>. Fix some build errors in Database.framework. 2017-09-09 18:46:58 -07:00
Brent Simmons
fb121f8a8c Make more progress on saving/updating articles. 2017-09-02 16:08:02 -07:00
Brent Simmons
d33d8a0330 Make progress toward saving/updating articles. 2017-09-02 14:19:42 -07:00
Brent Simmons
d47c60e6de Work on getting Database.framework to build. 2017-07-03 11:20:14 -07:00
Brent Simmons
944f05c71e Commit major surgery but leave it unfinished. Everything is broken. 2017-07-01 17:22:19 -07:00
Brent Simmons
c32e1a3933 Fix bug finding channel element in RSS-in-JSON parser. 2017-06-26 19:51:01 -07:00
Brent Simmons
49a5e58ff2 Move feedType function to FeedType.swift. Add a few more cases to FeedParserTypeTests. 2017-06-26 19:37:30 -07:00
Brent Simmons
e9c19e427a Make it build. Add a README. 2017-06-25 16:32:07 -07:00
Brent Simmons
1ad4474b29 Make progress on getting RSParser.framework to build. 2017-06-25 14:06:01 -07:00
Brent Simmons
6f0e4a9da6 Start JSONFeed parser. No idea if it works yet. 2017-06-25 11:48:44 -07:00
Brent Simmons
aaa83e07aa Extract some code into methods in the RSS-in-JSON parser. 2017-06-25 10:37:02 -07:00
Brent Simmons
8589c21091 Start RSS-in-JSON parser. 2017-06-25 10:23:30 -07:00
Brent Simmons
552ab693a3 Create common data structure for all feeds. Using Swift structs, because I love them so awfully much. 2017-06-20 22:00:19 -07:00
Brent Simmons
b00b2f39d7 Start work on turning RSXML.framework into RSParser.framework. 2017-06-20 21:18:46 -07:00