alexmilowski / green-turtle

An RDFa 1.1. implementation for browsers.
MIT License
56 stars 20 forks source link

remove deprecated usage of Attr.nodeName and use Attr.name instead #7

Closed sballesteros closed 8 years ago

sballesteros commented 8 years ago

Hello,

Attr.nodeName is now deprecated (see https://developer.mozilla.org/en-US/docs/Web/API/Attr#Deprecated_properties_and_methods)

In practice, I needed that so that I can run green-turtle in node.js through jsdom (A JavaScript implementation of the DOM, for use with node.js).

With that patch the following seem to work fine with JSDOM

jsdom.env({
  file: 'test.html',
  scripts: ['/path/to/green-turtle/build/RDFa.js'],
  done: function(err, window) {
    if (err) console.error(err);
    console.log(window.document.data.graph.toString());
  }
});

There are probably other little things to patch so that things work properly but I can keep appending them to this PR if you are OK to merge those.

Otherwise, it would be nice to give green-turtle a package.json and make it available to NPM. Some refactoring would have to happen to restructure the files in their own modules but a lot of the code could be used in Node.js (or as standalone functions). In particular it would be nice to use something like https://github.com/scienceai/get-dom to provide a DOM. I am happy to help if that's something that you are willing to merge.

Thanks!

sballesteros commented 8 years ago

I added a super minimal package.json and an example in the README. @alexmilowski I took the freedom to publish it on npm but happy to give you the full ownership of the npm package.

sballesteros commented 8 years ago

I will close this PR as I have extracted the GraphRDFaProcessor into it's own commonJS module. See https://github.com/scienceai/graph-rdfa-processor. I made additional changes there so that it works both in the browser and JS-DOM. Thanks again for green-turtle and once again, more than happy to transfer the new repo to you or help to use it in green-turtle.