Giter Site home page Giter Site logo

indieweb / indiewebify-me Goto Github PK

View Code? Open in Web Editor NEW
160.0 160.0 26.0 2.36 MB

Tools to help you get the best out of your indieweb site

Home Page: http://indiewebify.me

PHP 17.17% HTML 10.55% CSS 28.23% JavaScript 20.79% Hack 0.26% Less 23.00%
indieweb

indiewebify-me's People

Contributors

aaronpk avatar aciccarello avatar asteres avatar barnabywalters avatar basecode avatar bnvk avatar capjamesg avatar dougbeal avatar gregorlove avatar hongpong avatar jalcine avatar kevinmarks avatar lewiscowles1986 avatar prtksxna avatar scottmathson avatar snarfed avatar tantek avatar zegnat avatar zodiac1978 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

indiewebify-me's Issues

Detect likely missing or bad p-name markup and provide a warning

Here's a really simple heuristic for detecting whether the p-name of an h-entry is "bad" in some way, i.e. either missing and thus implied (could check for that in the markup explicitly), or errantly exceedingly big:

if (content && (strlen(name) >= strlen(content)) { /* warn about bad or missing name property, likely same as content or includes of content and UI beyond it */ }

Would be great if indiewebify.me validate-h-entry could detect this and provide a warning, e.g. here is a real world test case:

http://indiewebify.me/validate-h-entry/?url=http%3A%2F%2Fwerd.io%2F2014%2Fegg-brooklyn

Note how big the p-name property on the h-entry is here (bigger than the content)

Indiewebify.me - a Guide to Getting You on the Indieweb

In light of recent comments for individuals trying to get started with Indieweb, suggesting the copy/text on this page be reviewed.

The best way to do this is to present it to an individual at an HWC and see what confuses them.

JS errors on page load

cweiske reported following errors:

in opera, directly on loading: Uncaught exception: TypeError: Cannot convert 'result' to objectEvent thread: readystatechangeindiewebify.me/:284

Uncaught exception: TypeError: Cannot convert 'result' to objectEvent thread: readystatechangeindiewebify.me/:287

in chromium: Uncaught TypeError: Cannot read property 'items' of null :284

Provide more useful information about webmention sending

Given a URL:

  • Look for h-entry markup, if none found point to previous stage
  • If h-entry markup found, find all links in summary and content as well as in-reply-to links
    • Maybe also look for rel-in-reply-to
  • Return HTML page listing found links, in JS fire off calls to send webmentions
  • Next to links, return whether or not they support webmention/pingback, what the discovered endpoint is, whether or not the webmention succeeded

Some of this is probably unnecessary to begin with, e.g. the async part (which would also require the endpoint to be split up into find-links and send-webmention), so this is not high priority.

Improve h-card validator

The h-card validator emphatically tells users "Add an email!" or "Add a note/bio!" Instead, it should encourage a core set of h-card properties (probably name: url, photo?) and list additional property options. The language should encourage them to add mf2 markup for any existing contact info without implying they need to add new contact methods they don't list currently.

https://chat.indieweb.org/2017-07-05#t1499298160281000

Instagram test

The Level1 test does not seem to work with Instagram.
I've tested with my own page: http://xuv.be
And the Instagram account related to it is: https://instagram.com/xuvgram

Don't know if it's because the page is actually rendered in javascript.
Before render: the data is in a long JSON like this (removed most of it for clarity):

[…]
"user":{
   "username":"xuvgram",
   "bio":"Collecting laptops covered with stickers #laptopstickers",
   "website":"http:\/\/xuv.be",
[…]

and once rendered:
<a data-reactid=".0.0.2.0.0:0:2.0.2.4.0" href="http://xuv.be" rel="nofollow me">http://xuv.be</a>

(Sorry for the post and re-edit, my fingers slipped on the keyboard)

Allow unknown X.509 certs and CA

People who use self-signed certs and independent CAs like CACert can not use the various check tools provided by indiewebify.me, all of them fail with the following error:

[curl] 60: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

This should be downgraded to a simple warning, or overridable with a checkbox. What do you think?

Implement canonical h-card parsing

indiewebify.me seems to be assuming the first h-card on the page is the canonical h-card, which is often not the case.

On aaronparecki.com, the first h-card is usually the location of a recent photo.

Validate reciprocal rel=me URLs

Currently indiewebify.me just spits out a list of rel=me URLs found on the given page.

It should be:

  • listing all the URLs
  • checking to see if they’re reciprocated (mirrored)
  • picking up on common fixes like protocol differences

<link rel="author"...> in <head> not detected as authorship claim

The h-entry validator states:

There should also be some way to discover the author of the post — either link to your homepage (which should have your h-card on)from anywhere on the page with rel=author, or optionally embed a p-author h-card in the h-entry.

I have <link rel="author" href="https://skippy.net/"> in the <head> section of my pages. The validator does not detect this, and instead keeps encouraging me to add an author.

I also tried adding <a rel="author" class="h-card" href="https://skippy.net/"></a> to each entry, but the validator didn't detect that, either.

As I am the only author on this domain, it seems extraneous to me to explicitly declare within each h-entry that I am the author.

Check published/updated datetimes for ISO 8601 compliance

With the usual markup demos, how to do human-readable + machine readable, maybe even PHP/Python/etc. demo formatting strings?

Could also try to parse the human-readable date with new DateTime() and print the ISO8601-compliant equivalent if it parses successfully.

Twitter Test

Twitter encodes all URLs in profiles now with t.co shortlinks. Thus the test does not interpret them correctly and says they aren't valid.

Auto-discover software usage and display appropriate tips

E.G. when we fetch someone’s homepage for the rel-me testing, figure out if they’re using wordpress and link to indiewebcamp.com/wordpress for a listing of useful plugins.

We could also detect silo subdomains like *.tumblr.com, *.wordpress.com, *.github.io *.deviantart.com etc. and nudge the owner towards getting a domain that they actually control.

Indieweb comment XSS security testing utility

A tool could be made which, given the URL of a post, sends it a webmention with a bunch of XSS attacks in. Each attack, if successful, does a console.log call with the name of the vulnerability and a URL with instructions on how to prevent it.

Site broken

Parse error: syntax error, unexpected '[' in /web/sites/indiewebify.me/templates/validate-rel-me.html.php on line 35

Only use [rel=me] links with http/https scheme

[rel=me] URLs with other schemes like 'mailto:', 'tel:' raise the error "doesn’t link back", therefore indiewebify.me should limit checking to links with the http/https scheme or no scheme (assuming http in this case, e.g. "//example.com/foo").

h-entry validator should check for valid RSVP values!

h-entry validator should detect if an h-entry is an RSVP (e.g. has p-rsvp property) and make sure the value provided is valid (yes,no,maybe,interested).

Maybe suggest markup if an invalid value is provided e.g. if someone says

<span class="p-rsvp">I'm attending</span>

perhaps suggest instead

<data class="p-rsvp" value="yes">I'm attending</data>

cc @aaronpk (who discovered invalid RSVP values received by webmention.io)

Add non-technical "Getting Started" header

When I had the idea & registered the domain name for indiewebify.me the idea was to make an easy tool to achieve the following:

  • More step by step interactive documentation on crucial components
  • Allow people developing Indie Web capable applications to test their site/code

It seems I picked a domain name that's too user friendly, as those above goals assume a certain technical baseline. At the Berlin camp multiple people who are non-technical and wanting to "get on the IndieWeb" seemed confused by IndieWebifyMe.

I suggest we had a small header and links that explain this and offer links to Getting Started or something slightly more user friendly that even.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.