@canion This looks really interesting! Thanks for sharing.
@canion This looks really interesting! Thanks for sharing.
@aaronpk A starred article is a private favorite — generally it means something you want to come back to later for some reason. It’s common to have a special pseudo-feed that shows just starred articles, so a user can find them all easily.
I haven’t worked with current syncing system APIs much yet: my experience is mainly with NewsGator and Google Reader APIs, both now defunct. I vastly preferred NewsGator’s API, because it was designed as a syncing system, where Google Reader’s API was designed for Google, and was never publicly documented or supported, and didn’t work very well for apps like Evergreen (there were lots of ambiguous cases).
@aaronpk Thanks!
Let me see if I understand it. I’ll try putting it into my own words:
Microsub is a spec for a syncing system.
The server crawls feeds, handles feed parsing, and keeps the true copy of the subscriptions list (folders and feeds).
A client app can add/remove folders and feeds and can download the parsed feed data.
(There are additional features, but I think those are the basics. True?)
The two things I think an Evergreen user would still want are: 1) per-article read/unread status syncing, and 2) per-article starred status syncing.
@brentsimmons totally fair. In concept, a Microsub server acts like the server-side of a reader. It has “channels” which are like folders and in them will be feeds. It fetches feeds, parses them, and normalizes them. @aaronpk is the spec author.
@EddieHinkle Indeed. If you're already signed in on the phone I think that's a really elegant solution.
@manton @aaronpk's idea about sending a push notification to an existing logged in m.b mobile app could help around this issue 😉
Encountered two blockers working on this:
1) In a simple example of an img
tag inside an e-content
tag, the parsers are using the img
tag as an implied photo property. This seems wrong to me. Example This means XRay sees a post like this as a photo post, and would remove the img tag from the content, which is definitely not the right thing to do.
<div class="h-entry"><p class="e-content p-name">Hello World <img src="example.jpg"></p></div>
{
"type": [
"h-entry"
],
"properties": {
"name": [
"Hello World http://example.com/example.jpg"
],
"content": [
{
"html": "Hello World <img src=\"http://example.com/example.jpg\">",
"value": "Hello World http://example.com/example.jpg"
}
],
"photo": [
"http://example.com/example.jpg"
]
}
}
2) At the point that XRay is sanitizing the HTML value, the Microformats parser has already converted the HTML to plaintext.
For example, XRay sees this object and runs the HTML sanitizer on the HTML value:
{
"html": "Hello World <img src=\"http://example.com/example.jpg\">",
"value": "Hello World http://example.com/example.jpg"
}
This means I can't remove the img
tag from the plaintext value since it's already been parsed. I think my only solution for this is going to be to create my own plaintext value out of the sanitized HTML. Unfortunately, that is not a straightforward process, as demonstrated by this relatively long function that does this in the PHP parser. However that might be the technically better option anyway, since XRay can't be sure exactly what method was used to generate the plaintext value from the original HTML anyway.
Terrible colds and flus have been going around. Amy had it all last week and I thought I had managed to avoid it. Then an inflamed feeling and coughing started yesterday. 😩 Definitely something I don’t have time for, haha.