From eb8f7dc141d8670f392fe7eac91c48d59c4330a4 Mon Sep 17 00:00:00 2001 From: Sacha Greif Date: Tue, 20 Oct 2015 10:37:09 +0900 Subject: [PATCH] added telescope:prerender package --- .meteor/packages | 1 + .meteor/versions | 3 +- .../.npm/package/.gitignore | 1 + .../telescope-prerender/.npm/package/README | 7 ++ .../.npm/package/npm-shrinkwrap.json | 94 +++++++++++++++++++ .../lib/prerender-setting.js | 13 +++ .../lib/server/prerender.js | 10 ++ packages/telescope-prerender/package.js | 28 ++++++ 8 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 packages/telescope-prerender/.npm/package/.gitignore create mode 100644 packages/telescope-prerender/.npm/package/README create mode 100644 packages/telescope-prerender/.npm/package/npm-shrinkwrap.json create mode 100644 packages/telescope-prerender/lib/prerender-setting.js create mode 100644 packages/telescope-prerender/lib/server/prerender.js create mode 100644 packages/telescope-prerender/package.js diff --git a/.meteor/packages b/.meteor/packages index 086bc7fe1..fe409569d 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -25,6 +25,7 @@ telescope:newsletter telescope:notifications telescope:pages telescope:post-by-feed +telescope:prerender telescope:releases telescope:rss telescope:scoring diff --git a/.meteor/versions b/.meteor/versions index dfa790495..6357dd1ef 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -151,6 +151,7 @@ telescope:notifications@0.25.3 telescope:pages@0.25.3 telescope:post-by-feed@0.25.3 telescope:posts@0.25.3 +telescope:prerender@0.25.3 telescope:releases@0.25.3 telescope:rss@0.25.3 telescope:scoring@0.25.3 @@ -178,7 +179,7 @@ useraccounts:core@1.12.4 useraccounts:flow-routing@1.12.4 useraccounts:unstyled@1.12.4 utilities:avatar@0.9.2 -utilities:menu@0.1.1 +utilities:menu@0.1.2 utilities:onsubscribed@0.1.2 webapp@1.2.2 webapp-hashing@1.0.5 diff --git a/packages/telescope-prerender/.npm/package/.gitignore b/packages/telescope-prerender/.npm/package/.gitignore new file mode 100644 index 000000000..3c3629e64 --- /dev/null +++ b/packages/telescope-prerender/.npm/package/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/packages/telescope-prerender/.npm/package/README b/packages/telescope-prerender/.npm/package/README new file mode 100644 index 000000000..3d492553a --- /dev/null +++ b/packages/telescope-prerender/.npm/package/README @@ -0,0 +1,7 @@ +This directory and the files immediately inside it are automatically generated +when you change this package's NPM dependencies. Commit the files in this +directory (npm-shrinkwrap.json, .gitignore, and this README) to source control +so that others run the same versions of sub-dependencies. + +You should NOT check in the node_modules directory that Meteor automatically +creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/telescope-prerender/.npm/package/npm-shrinkwrap.json b/packages/telescope-prerender/.npm/package/npm-shrinkwrap.json new file mode 100644 index 000000000..a6a2a5e68 --- /dev/null +++ b/packages/telescope-prerender/.npm/package/npm-shrinkwrap.json @@ -0,0 +1,94 @@ +{ + "dependencies": { + "prerender-node": { + "version": "2.0.1", + "dependencies": { + "request": { + "version": "2.40.0", + "dependencies": { + "qs": { + "version": "1.0.2" + }, + "json-stringify-safe": { + "version": "5.0.1" + }, + "mime-types": { + "version": "1.0.2" + }, + "forever-agent": { + "version": "0.5.2" + }, + "node-uuid": { + "version": "1.4.3" + }, + "tough-cookie": { + "version": "2.2.0" + }, + "form-data": { + "version": "0.1.4", + "dependencies": { + "combined-stream": { + "version": "0.0.7", + "dependencies": { + "delayed-stream": { + "version": "0.0.5" + } + } + }, + "mime": { + "version": "1.2.11" + }, + "async": { + "version": "0.9.2" + } + } + }, + "tunnel-agent": { + "version": "0.4.1" + }, + "http-signature": { + "version": "0.10.1", + "dependencies": { + "assert-plus": { + "version": "0.1.5" + }, + "asn1": { + "version": "0.1.11" + }, + "ctype": { + "version": "0.5.3" + } + } + }, + "oauth-sign": { + "version": "0.3.0" + }, + "hawk": { + "version": "1.1.1", + "dependencies": { + "hoek": { + "version": "0.9.1" + }, + "boom": { + "version": "0.4.2" + }, + "cryptiles": { + "version": "0.2.2" + }, + "sntp": { + "version": "0.2.4" + } + } + }, + "aws-sign2": { + "version": "0.5.0" + }, + "stringstream": { + "version": "0.0.4" + } + } + } + } + } + } +} diff --git a/packages/telescope-prerender/lib/prerender-setting.js b/packages/telescope-prerender/lib/prerender-setting.js new file mode 100644 index 000000000..96dd7faf0 --- /dev/null +++ b/packages/telescope-prerender/lib/prerender-setting.js @@ -0,0 +1,13 @@ +Settings.addField({ + fieldName: "prerenderIOToken", + propertyGroup: "prerender", + fieldSchema: { + type: String, + optional: true, + private: true, + autoform: { + group: "prerender", + class: "private-field" + } + } +}); diff --git a/packages/telescope-prerender/lib/server/prerender.js b/packages/telescope-prerender/lib/server/prerender.js new file mode 100644 index 000000000..ee66a64cb --- /dev/null +++ b/packages/telescope-prerender/lib/server/prerender.js @@ -0,0 +1,10 @@ +if (Settings.get("prerenderIOToken")) { + var prerender = Npm.require('prerender-node') + .set('protocol', 'http') + .set('host', Settings.get("siteUrl").replace("http://", "").replace("/", "")) + .set('prerenderToken', Settings.get("prerenderIOToken")); + + Meteor.startup(function() { + WebApp.rawConnectHandlers.use(prerender); + }); +} \ No newline at end of file diff --git a/packages/telescope-prerender/package.js b/packages/telescope-prerender/package.js new file mode 100644 index 000000000..12ecb8437 --- /dev/null +++ b/packages/telescope-prerender/package.js @@ -0,0 +1,28 @@ +Package.describe({ + name: "telescope:prerender", + summary: "Telescope Prereder.io package", + version: "0.25.3", + git: "https://github.com/TelescopeJS/Telescope" +}); + +Npm.depends({ + 'prerender-node': '2.0.1' +}); + +Package.onUse(function (api) { + + api.versionsFrom(['METEOR@1.0']); + + api.use([ + 'telescope:core@0.25.3' + ]); + + api.addFiles([ + 'lib/prerender-setting.js' + ], ['client','server']); + + api.addFiles([ + 'lib/server/prerender.js' + ], ['server']); + +});