aaronpk / indienews Goto Github PK
View Code? Open in Web Editor NEWπ° News aggregator for IndieWeb-related posts
Home Page: https://news.indieweb.org/
License: Other
π° News aggregator for IndieWeb-related posts
Home Page: https://news.indieweb.org/
License: Other
My page didn't have a p-name on it, and X-ray correctly parses my post as a bookmark with no name, but IndieNews seems to have done an implied p-name to grab all the content inside of my h-entry making for a messy looking post rather than having a link to the original article.
Probably either needs updated logic or needs to use the current xray version.
Hasn't shown to get much usage yet, and probably the better way to do this is for IndieNews to find comments on the original post later.
and render the timestamp in the local timezone
When submitting https://news.indieweb.org/en/licit.li/595611f87aae1 through a post on my site there was at first a display error: the post title was the url of the target (licit.li....) and the title was shown below as the content.
I had markup as (slightly simplified)
<div class="h-entry">
<a href="https://licit.li/595611f87aae1" class="u-bookmark-of">https://licit.li/595611f87aae1</a>
<div class="e-content p-name"><a href="https://licit.li/595611f87aae1">Take-aways from IndieWeb Summit 2017</a><a href="https://news.indieweb.org/en" class="u-syndication"></a>
</div></div>
This means content[text]
and name
of the parsed mf2 are identical. When this is processed by X-Ray, it recognizes that the name is a prefix of the content, and removes the name
property: https://github.com/aaronpk/XRay/blob/master/lib/XRay/Formats/Mf2.php#L307
https://github.com/aaronpk/IndieNews/blob/master/controllers/webmention.php#L133 then adds a notice about the missing name property to the webmention status report (which I saw). I'm not sure how the URL got into the title property later.
My temporary fix to get it into the newsletter correctly was to turn the note into an article (which on my site then moves the p-name
to the headline) and to intentionally misspell the link title in the body to defeat the prefix check.
IndieNews should handle this correctly and accept note-style posts (name==content) for bookmarks.
Filing to track: feed pages (eg https://news.indieweb.org/en ) are currently crashing with this stack trace. May have been caused by submitting https://snarfed.org/2023-10-13_51135 , not sure yet. cc @tantek
Slim Application Error
The application could not run because of the following error:
Details
Type: ErrorException
Code: 8
Message: Uninitialized string offset: 0
File: /web/sites/news.indieweb.org/vendor/tantek/cassis/cassis.php
Line: 118
Trace
#0 /web/sites/news.indieweb.org/vendor/tantek/cassis/cassis.php(118): Slim\Slim::handleErrors()
#1 /web/sites/news.indieweb.org/views/_post-row.php(6): auto_link()
#2 /web/sites/news.indieweb.org/lib/Savant3/Savant3.php(1074): include('/web/sites/news...')
#3 /web/sites/news.indieweb.org/lib/Savant3/Savant3.php(1006): Savant3->fetch()
#4 /web/sites/news.indieweb.org/lib/Savant3/Savant3.php(993): Savant3->getOutput()
#5 /web/sites/news.indieweb.org/lib/helpers.php(111): Savant3->display()
#6 /web/sites/news.indieweb.org/views/posts.php(12): partial()
#7 /web/sites/news.indieweb.org/lib/Savant3/Savant3.php(1074): include('/web/sites/news...')
#8 /web/sites/news.indieweb.org/views/layout.php(60): Savant3->fetch()
#9 /web/sites/news.indieweb.org/lib/Savant3/Savant3.php(1074): include('/web/sites/news...')
#10 /web/sites/news.indieweb.org/lib/Savant.php(74): Savant3->fetch()
#11 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/View.php(195): Slim\Extras\Views\Savant->render()
#12 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/View.php(182): Slim\View->fetch()
#13 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Slim.php(672): Slim\View->display()
#14 /web/sites/news.indieweb.org/lib/helpers.php(94): Slim\Slim->render()
#15 /web/sites/news.indieweb.org/controllers/controllers.php(59): render()
#16 [internal function]: {closure}()
#17 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Router.php(172): call_user_func_array()
#18 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Slim.php(1222): Slim\Router->dispatch()
#19 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Middleware/Flash.php(86): Slim\Slim->call()
#20 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Middleware/MethodOverride.php(94): Slim\Middleware\Flash->call()
#21 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Middleware/PrettyExceptions.php(67): Slim\Middleware\MethodOverride->call()
#22 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Slim.php(1174): Slim\Middleware\PrettyExceptions->call()
#23 /web/sites/news.indieweb.org/public/index.php(31): Slim\Slim->run()
#24 {main}
Noticed in #21 that the h-feed doesn't support Pubsubhubbub and thus isn't realtime. Would be fairly easy to set it up with a hub and ping that whenever the feeds changes, no?
duplicate submission happened right now with https://petermolnar.net/internet-emotional-core and https://petermolnar.net/internet-emotional-core/, despite the former being submitted later and redirecting with 301
to the latter
As just mentioned in meta-IRC, I quite like the calender presentation of https://indieweb.org/2017-12-indieweb-challenge and it might be interesting to have something like this also for indienews, because it gives a clear sense of things happening over time and encourages people to fill blank spots.
If a submission has a "like-of" or "bookmark-of" property, use the liked or bookmarked URL as the submission and note that it was submitted by the author of the post.
It would be awesome if I could subscribe to the IndieNews via a feed reader. Title would be enough...
Possible also to edit the contents of a post.
For now, any "logged in" user should be able to delete posts.
Deleting a post should also prevent it from being added again if the webmention is sent again.
There should also be a way to remove things from being blocked.
show a nice HTML error when someone tries to submit an external URL that isn't a bookmark directly.
What du you think about language support? I (for example) blog mostly in german and so it may not be useful if I post to the "global" news stream.
Initially I tried submitting this bookmark using u-bookmark-of h-cite
, but IndieNews did not pick up the name of the post from the h-cite.
IndieNews appears to require a p-name
or e-content
property, so I ended up using a bit of a hack: u-bookmark-of p-name
.
(Originally published at: https://gregorlove.com/2022/11/add-support-for-bookmarks-with-h-cite/)
The current header seems to be based on the old rel="http://webmention.org/". Should be updated with rel="webmention". I can send a PR later this week.
eg on https://news.indieweb.org/how-to-submit-a-post
feel free to close if you're tracking all these renames elsewhere!
Example: http://aaronparecki.com/replies/2013/11/01/1/indieweb
{
"items": [
{
"type": [
"h-entry"
],
"properties": {
"in-reply-to": [
{
"type": [
"h-cite"
],
"properties": {
"name": [
"Indieweb Dinner (werd.io)",
"21st Amendment, 563 2nd St, San Francisco",
"January 1, 1970 from 12:00am to 12:00am (+0000)"
],
"url": [
"http:\/\/werd.io\/2013\/indieweb-dinner"
],
"start": [
"1970-01-01T00:00:00+00:00"
],
"end": [
"1970-01-01T00:00:00+00:00"
]
},
"value": "Indieweb Dinner (werd.io) 21st Amendment, 563 2nd St, San Francisco January 1, 1970 from 12:00am to 12:00am (+0000) permalink"
}
],
...
Drop any ?utm_= or &utm_= params from links that are submitted, as otherwise may get dupes when multiple people submit the same thing just accidentally having copy/pasted the unnecessary tracking params.
E.g. in https://indieweb.org/this-week/2017-12-01.html
The bookmark of:
Nowhere does it says what is considered acceptable content.
"IndieNews is a community-curated list of articles relevant to the Indie Web." may need more information.
Noticed https://github.com/aaronpk/IndieNews/blob/master/views/_post-row.php#L10-L13 only dumps out the hostname of the posting site. Maybe expanding this logic so that it'd show the name of the post (if provided in their h-card) and falling back to hostname if none found?
Here are two times it has presented the error:
Tried:
curl http://news.indiewebcamp.com/webmention -i -d "source=http://tantek.com/2013/338/b1/people-focused-mobile-communication-experience&target=http://news.indiewebcamp.com/post/tantek.com/2013/338/b1/people-focused-mobile-communication-experience"
And got back:
HTTP/1.1 500 Internal Server Error
Server: nginx/1.0.14
Date: Sat, 07 Dec 2013 16:37:22 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.3.13
Set-Cookie: PHPSESSID=bu0s5rl3k6rh13ov9msktbr575; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Pingback: http://pingback.me/webmention?forward=http://news.indiewebcamp.com/webmention
Link: http://news.indiewebcamp.com/webmention; rel="http://webmention.org/"
Content-Length: 1707
The application could not run because of the following error:
#0 /web/sites/indiewebcamp.com/IndieNews/controllers/webmention.php(80): Slim\Slim::handleErrors(8, 'Undefined index...', '/web/sites/indi...', 80, Array) #1 [internal function]: {closure}() #2 /web/sites/indiewebcamp.com/IndieNews/vendor/slim/slim/Slim/Router.php(172): call_user_func_array(Object(Closure), Array) #3 /web/sites/indiewebcamp.com/IndieNews/vendor/slim/slim/Slim/Slim.php(1222): Slim\Router->dispatch(Object(Slim\Route)) #4 /web/sites/indiewebcamp.com/IndieNews/vendor/slim/slim/Slim/Middleware/Flash.php(86): Slim\Slim->call() #5 /web/sites/indiewebcamp.com/IndieNews/vendor/slim/slim/Slim/Middleware/MethodOverride.php(94): Slim\Middleware\Flash->call() #6 /web/sites/indiewebcamp.com/IndieNews/vendor/slim/slim/Slim/Middleware/PrettyExceptions.php(67): Slim\Middleware\MethodOverride->call() #7 /web/sites/indiewebcamp.com/IndieNews/vendor/slim/slim/Slim/Slim.php(1174): Slim\Middleware\PrettyExceptions->call() #8 /web/sites/indiewebcamp.com/IndieNews/public/index.php(30): Slim\Slim->run() #9 {main}
Drop the requirement of preconstructing the IndieNews URL for the post
Using the form on https://news.indieweb.org/en/submit with https://www.svenknebel.de/posts/2021/5/4/ leads to an error page:
Type: ErrorException
Code: 8
Message: Trying to access array offset on value of type null
File: /web/sites/news.indieweb.org/vendor/p3k/xray/lib/XRay/Formats/Mf2.php
Line: 411
Trace
#0 /web/sites/news.indieweb.org/vendor/p3k/xray/lib/XRay/Formats/Mf2.php(411): Slim\Slim::handleErrors()
#1 /web/sites/news.indieweb.org/vendor/p3k/xray/lib/XRay/Formats/Mf2.php(456): p3k\XRay\Formats\Mf2::determineNameAndContent()
#2 /web/sites/news.indieweb.org/vendor/p3k/xray/lib/XRay/Formats/Mf2.php(48): p3k\XRay\Formats\Mf2::parseAsHEntry()
#3 /web/sites/news.indieweb.org/vendor/p3k/xray/lib/XRay/Formats/HTML.php(142): p3k\XRay\Formats\Mf2::parse()
#4 /web/sites/news.indieweb.org/vendor/p3k/xray/lib/XRay/Parser.php(81): p3k\XRay\Formats\HTML::parse()
#5 /web/sites/news.indieweb.org/vendor/p3k/xray/lib/XRay.php(38): p3k\XRay\Parser->parse()
#6 /web/sites/news.indieweb.org/controllers/webmention.php(104): p3k\XRay->parse()
#7 [internal function]: {closure}()
#8 /web/sites/news.indieweb.org/vendor/slim/slim/Slim/Router.php(172): call_user_func_array()
The markup on that page is not perfectly beautiful, but should IMHO pass.
Right now it looks for u-syndication or u-category, but mp-syndicate-to is probably the proper way of doing it now.
Quite some time ago I submitted some items to indienews via u-syndication
bookmarks:
https://beesbuzz.biz/blog/chatter/1861-Piled-On
https://beesbuzz.biz/blog/chatter/8866-Contra-Chrome
https://beesbuzz.biz/blog/chatter/13158-finger-farm
Recently my webmention sender did a refresh, and these three items suddenly appeared as new on news.indieweb.org/en. It's unclear as to why they suddenly popped up now, while other older items did not. Did the refresh cause them to be reposted for some reason? Did the mentions get dropped on the floor originally? Was it something else I'm not thinking of? It's hard to tell.
When https://news.indieweb.org/en/beesbuzz.biz/blog/chatter/1861-Piled-On was submitted, it was originally a u-like-of
instead of a u-bookmark-of
, causing it to link to the note rather than the actual target item. The note has been updated to a u-bookmark-of
and the mention was updated, which generated an appropriate response:
{
"result": "success",
"notices": [
"Already registered, updating properties of the post."
],
"data": {
"title": "Piled On",
"body": false,
"author": "https:\/\/thenib.com",
"date": "2021-12-27T09:09:05-08:00"
},
"source": "https:\/\/beesbuzz.biz\/blog\/chatter\/1861-Piled-On",
"url": "https:\/\/news.indieweb.org\/en\/thenib.com\/piled-on\/"
}
and while the post author has been updated on the indienews feed (correctly appearing as thenib.com rather than beesbuzz.biz), the indienews item still links to the bookmark note rather than the item itself.
itβs there: http://webmention.io/api/mentions?target=http://news.indiewebcamp.com/de
but not showing up: http://news.indiewebcamp.com/de
The submit page has still a lot of untranslated texts: http://news.indiewebcamp.com/de/submit
The spec says, that it supports u-category
:
<a href="https://news.indieweb.org/en" class="u-category">#indienews</a>
But when I try to publish https://notiz.blog/2020/09/10/wp-meetup-stuttgart-indieweb-und-wordpress/
I receive: no_link_found
I published a note that (accidentally) contained a link marked up as u-bookmark-of
, while my intention was to submit my note (not the article discussed within) to news.indieweb.org.
IndieNews registered the webmention as a bookmark to the URL linked in my note, but displaying the title of my note instead of the original article: https://news.indieweb.org/en/www.theatlantic.com/technology/archive/2022/01/instagram-tik-tok-link-in-bio-linktree/621365/
I subsequently fixed my markup and sent another webmention (the URL on my blog unchanged), which led to another item showing up in IndieNews: https://news.indieweb.org/en/sebastiangreger.net/2022/01/link-in-bio-platforms-new-geocities
Not sure is this a bug or intentional, but there does not seem to be a means to update an earlier webmention, as IndieNews apparently registered it as a mention for the linked URL, not for my note. My expectation was that I could update a submitted webmention by fixing my markup and resending the webmention request, even if the original submission indicated a bookmark target which is no longer present in the updated version.
could add a count of the number of people who submitted a link as a way of counting "upvotes"
Suggest a way to report a post that is not acceptable or fits the goal of the site.
When I click on my username, I get a 404 at this URL:
http://news.indiewebcamp.com/user?domain=bre.tc
If #13 gets implemented, then the likelihood that IndieNews will start receiving some Salmentions is pretty big β and then it would be pretty cool of IndieNews parsed the comments of the pages and showed them, either in full or as a 10 comments
as eg. Hacker News does:
I originally published this post with a p-summary
and no p-name
. IndieNews showed more than the summary, truncating the post. I have since updated the post with a p-name
, but left the p-summary
there for reference.
When I try to send a webmention from https://anaulin.org/blog/using-your-site-as-your-login-indieauth/ to https://news.indieweb.org/en, I get back the error:
{ "error": "no_link_found",
"error_description": "No h-entry or h-event was found on the page, so we were unable to find a u-syndication or u-category URL. If you have multiple top-level h-* objects, ensure that one of them has a u-url property set to the URL of the page."}
I get the same error submitting the mention manually via the form on https://news.indieweb.org/en/submit, and also doing it programmatically using the ronkyuu Python library.
However, there is a valid h-entry
on the source page, and it contains a u-syndication
link to news.indieweb.org. As verified by indiewebify.me (https://indiewebify.me/validate-h-entry/?url=https%3A%2F%2Fanaulin.org%2Fblog%2Fusing-your-site-as-your-login-indieauth%2F). Here is a snapshot of the source of that page:
This URL works (with trailing /):
https://news.indieweb.org/en/boffosocko.com/2016/12/28/homebrew-website-club-los-angeles-notes-december-28-2016/
While this 404s:
https://news.indieweb.org/en/boffosocko.com/2016/12/28/homebrew-website-club-los-angeles-notes-december-28-2016
Based on examples it would appear as if the behavior is dictated by whether or not the post is submitted with/without the trailing slash as some posts are the opposite of the above. (Compare: https://news.indieweb.org/en/aaronparecki.com/2016/12/26/3/ownyourgram-polling which resolves while adding a trailing slash causes a 404)
When submitting a bookmark post with an anchor (example) the submission is successful but the IndieNews permalink fails, returning 404 (https://news.indieweb.org/en/indiebookclub.biz/updates#post-2022-11-14)
I imagine the fragment should be converted to a unique slug for use in the IndieNews permalinks, like updates-post-2022-11-14
.
(Originally published at: https://gregorlove.com/2022/11/indienews-issue/)
Just like one can use u-category
to tag people in a similar way as one can do an @-mention on many silos, it would make sense to be able to use u-category
to add something similar to a hashtag β by pointing it to a shared category URL on eg. IndieNews.
That way IndieNews should also easily be able to receive Salmentions as most Salmention-implementations will already send pings to people tags, as SWAT0 requires that, and the step from that to a hashtag equivalent isn't very far.
(And it's something my standalone endpoint currently supports in it's latest development versions)
As seen in this unfortunate incident in IRC this morning, IndieNews does not handle posts with a long name very well. In this case, the long name happened because of the implied p-name parsing rules. At the very least, IndieNews should set a maximum length and truncate.
This may not be important until a higher volume of posts is submitted, but it might be fun to create tag pages showing posts that contained specific tags.
Could parse tags from the bookmark page, the original post, as well as look in the post contents for hashtags and index all of them.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.