From c0474f2f9dc7fa196b54abc2de37a355a3067234 Mon Sep 17 00:00:00 2001 From: xavizalote Date: Mon, 7 Mar 2016 18:01:39 +0100 Subject: [PATCH 1/7] static head tags with react-helmet --- package.json | 5 +-- .../base-components/lib/common/HeadTags.jsx | 36 +++++++++++++++++++ .../base-components/lib/common/Layout.jsx | 2 ++ packages/base-components/lib/components.js | 1 + 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 packages/base-components/lib/common/HeadTags.jsx diff --git a/package.json b/package.json index 82beec7c7..96c54e2e2 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,10 @@ "formsy-react-components": "^0.6.6", "react": "^0.14.6", "react-dom": "^0.14.6", + "react-helmet": "^2.3.1", + "react-modal": "^0.6.1", "react-mounter": "^1.1.0", - "react-no-ssr": "^1.0.1", - "react-modal": "^0.6.1" + "react-no-ssr": "^1.0.1" }, "private": true } diff --git a/packages/base-components/lib/common/HeadTags.jsx b/packages/base-components/lib/common/HeadTags.jsx new file mode 100644 index 000000000..dd2638464 --- /dev/null +++ b/packages/base-components/lib/common/HeadTags.jsx @@ -0,0 +1,36 @@ +import Helmet from 'react-helmet'; + +const settings = { + logoUrl: Telescope.settings.get("logoUrl", "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/SN1994D.jpg/800px-SN1994D.jpg"), // supernova picture + siteTitle: Telescope.settings.get("title", "Telescope"), + tagline: Telescope.settings.get("tagline", "Telescope, the Nova way"), + favicon: Telescope.settings.get("favicon", "http://www.telescopeapp.org/images/favicon.ico") +}; + +const HeadTags = () => ( + +); + +module.exports = HeadTags; \ No newline at end of file diff --git a/packages/base-components/lib/common/Layout.jsx b/packages/base-components/lib/common/Layout.jsx index f978e10e0..3739b74f3 100644 --- a/packages/base-components/lib/common/Layout.jsx +++ b/packages/base-components/lib/common/Layout.jsx @@ -1,10 +1,12 @@ const Layout = props => { + const HeadTags = Telescope.getComponent("HeadTags"); const Header = Telescope.getComponent("Header"); const Footer = Telescope.getComponent("Footer"); return (
+
{props.children} diff --git a/packages/base-components/lib/components.js b/packages/base-components/lib/components.js index 7e7cfaae9..edd5fb3d0 100644 --- a/packages/base-components/lib/components.js +++ b/packages/base-components/lib/components.js @@ -5,6 +5,7 @@ Telescope.registerComponent("Header", require('./common/Header.jsx')); Telescope.registerComponent("Layout", require('./common/Layout.jsx')); Telescope.registerComponent("Logo", require('./common/Logo.jsx')); Telescope.registerComponent("Flash", require('./common/Flash.jsx')); +Telescope.registerComponent('HeadTags', require('./common/HeadTags.jsx')); // posts From b5e332e0f0c87ee7ebcf4838235d496343e81e51 Mon Sep 17 00:00:00 2001 From: xavizalote Date: Tue, 8 Mar 2016 11:55:31 +0100 Subject: [PATCH 2/7] use telescope utils --- packages/base-components/lib/common/HeadTags.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/base-components/lib/common/HeadTags.jsx b/packages/base-components/lib/common/HeadTags.jsx index dd2638464..53f47c763 100644 --- a/packages/base-components/lib/common/HeadTags.jsx +++ b/packages/base-components/lib/common/HeadTags.jsx @@ -16,7 +16,7 @@ const HeadTags = () => ( {name: "description", content: settings.tagline}, // facebook {property: "og:type", content: "article"}, - {property: "og:url", content: Meteor.absoluteUrl()}, + {property: "og:url", content: Telescope.utils.getSiteUrl()}, {property: "og:image", content: settings.logoUrl}, {property: "og:title", content: settings.siteTitle}, {property: "og:description", content: settings.tagline}, @@ -27,7 +27,7 @@ const HeadTags = () => ( {name: "twitter:description", content: settings.tagline} ]} link={[ - {rel: "canonical", href: Meteor.absoluteUrl()}, + {rel: "canonical", href: Telescope.utils.getSiteUrl()}, {rel: "shortcut icon", href: settings.favicon} ]} /> From a9f49f147ac764fd3bc65efc7828d28fb1b1b8e5 Mon Sep 17 00:00:00 2001 From: xavizalote Date: Fri, 11 Mar 2016 18:07:57 +0100 Subject: [PATCH 3/7] avoid confusion! -> no need of another layer (settings obj) --- .../base-components/lib/common/HeadTags.jsx | 64 ++++++++++--------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/packages/base-components/lib/common/HeadTags.jsx b/packages/base-components/lib/common/HeadTags.jsx index 53f47c763..d82d0e1f3 100644 --- a/packages/base-components/lib/common/HeadTags.jsx +++ b/packages/base-components/lib/common/HeadTags.jsx @@ -1,36 +1,38 @@ import Helmet from 'react-helmet'; -const settings = { - logoUrl: Telescope.settings.get("logoUrl", "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/SN1994D.jpg/800px-SN1994D.jpg"), // supernova picture - siteTitle: Telescope.settings.get("title", "Telescope"), - tagline: Telescope.settings.get("tagline", "Telescope, the Nova way"), - favicon: Telescope.settings.get("favicon", "http://www.telescopeapp.org/images/favicon.ico") +const HeadTags = () => { + + const logoUrl = Telescope.get("logoUrl", "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/SN1994D.jpg/800px-SN1994D.jpg"); // supernova picture + const siteTitle = Telescope.get("title", "Telescope"); + const tagline = Telescope.get("tagline"); + const favicon = Telescope.get("favicon", "/img/favicon.ico"); + + return ( + + ); + }; -const HeadTags = () => ( - -); - module.exports = HeadTags; \ No newline at end of file From c94fc9325eb08b9d076a2c1b9dac8903423950d3 Mon Sep 17 00:00:00 2001 From: xavizalote Date: Sat, 19 Mar 2016 11:23:33 +0100 Subject: [PATCH 4/7] fix conflict --- packages/base-components/lib/common/Layout.jsx | 9 +-------- packages/base-components/lib/components.js | 3 --- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/base-components/lib/common/Layout.jsx b/packages/base-components/lib/common/Layout.jsx index 888df2f41..dc5183145 100644 --- a/packages/base-components/lib/common/Layout.jsx +++ b/packages/base-components/lib/common/Layout.jsx @@ -1,13 +1,6 @@ const Layout = props => { -<<<<<<< HEAD - const HeadTags = Telescope.getComponent("HeadTags"); - const Header = Telescope.getComponent("Header"); - const Footer = Telescope.getComponent("Footer"); -======= - ({Header, Footer} = Telescope.components); ->>>>>>> TelescopeJS/nova - + ({HeadTags, Header, Footer} = Telescope.components); return (
diff --git a/packages/base-components/lib/components.js b/packages/base-components/lib/components.js index a24e666d0..6a7e36c3f 100644 --- a/packages/base-components/lib/components.js +++ b/packages/base-components/lib/components.js @@ -5,12 +5,9 @@ Telescope.registerComponent("Header", require('./common/Header.jsx')); Telescope.registerComponent("Layout", require('./common/Layout.jsx')); Telescope.registerComponent("Logo", require('./common/Logo.jsx')); Telescope.registerComponent("Flash", require('./common/Flash.jsx')); -<<<<<<< HEAD Telescope.registerComponent('HeadTags', require('./common/HeadTags.jsx')); -======= Telescope.registerComponent("FlashMessages", require('./common/FlashMessages.jsx')); Telescope.registerComponent("NewsletterForm", require('./common/NewsletterForm.jsx')); ->>>>>>> TelescopeJS/nova // posts From 9dcc4fbedb1fc58b7421d0b6e43adc0f44229bc8 Mon Sep 17 00:00:00 2001 From: xavizalote Date: Mon, 21 Mar 2016 16:55:55 +0100 Subject: [PATCH 5/7] take arguments, move components to header (generic meta) & post (specific meta) --- .meteor/versions | 9 ++---- .../base-components/lib/common/HeadTags.jsx | 32 ++++++++----------- .../base-components/lib/common/Header.jsx | 5 +-- .../base-components/lib/common/Layout.jsx | 3 +- packages/base-components/lib/posts/Post.jsx | 3 +- 5 files changed, 21 insertions(+), 31 deletions(-) diff --git a/.meteor/versions b/.meteor/versions index ad4c95570..ef9df58fb 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -112,11 +112,6 @@ oauth2@1.1.7-rc.2 observe-sequence@1.0.9-rc.2 ongoworks:speakingurl@9.0.0 ordered-dict@1.0.5-rc.2 -peerlibrary:assert@0.2.5 -peerlibrary:fiber-utils@0.6.0 -peerlibrary:reactive-mongo@0.1.1 -peerlibrary:reactive-publish@0.2.0 -peerlibrary:server-autorun@0.5.2 percolatestudio:synced-cron@1.1.0 promise@0.6.4-rc.2 raix:eventemitter@0.1.3 @@ -148,8 +143,8 @@ url@1.0.7-rc.2 utilities:avatar@0.9.2 utilities:react-form-containers@0.1.5 utilities:react-list-container@0.1.5 -utilities:smart-methods@0.1.2 -utilities:smart-publications@0.1.3 +utilities:smart-methods@0.1.0 +utilities:smart-publications@0.1.2 webapp@1.2.6-rc.2 webapp-hashing@1.0.7-rc.2 zimme:active-route@2.3.2 diff --git a/packages/base-components/lib/common/HeadTags.jsx b/packages/base-components/lib/common/HeadTags.jsx index d82d0e1f3..e472c8625 100644 --- a/packages/base-components/lib/common/HeadTags.jsx +++ b/packages/base-components/lib/common/HeadTags.jsx @@ -1,38 +1,32 @@ import Helmet from 'react-helmet'; -const HeadTags = () => { - - const logoUrl = Telescope.get("logoUrl", "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/SN1994D.jpg/800px-SN1994D.jpg"); // supernova picture - const siteTitle = Telescope.get("title", "Telescope"); - const tagline = Telescope.get("tagline"); - const favicon = Telescope.get("favicon", "/img/favicon.ico"); - +const HeadTags = ({url, title, description, image}) => { + debugger return ( ); - }; module.exports = HeadTags; \ No newline at end of file diff --git a/packages/base-components/lib/common/Header.jsx b/packages/base-components/lib/common/Header.jsx index 2a91544f2..6050a9563 100644 --- a/packages/base-components/lib/common/Header.jsx +++ b/packages/base-components/lib/common/Header.jsx @@ -5,7 +5,7 @@ const Messages = Core.Messages; const Header = ({currentUser}) => { - ({Logo, ListContainer, CategoriesList, FlashContainer, FlashMessages, ModalButton, NewDocContainer, CanCreatePost, CurrentUserContainer, NewsletterForm} = Telescope.components); + ({Logo, ListContainer, CategoriesList, FlashContainer, FlashMessages, ModalButton, NewDocContainer, CanCreatePost, CurrentUserContainer, NewsletterForm, HeadTags} = Telescope.components); const logoUrl = Telescope.settings.get("logoUrl"); const siteTitle = Telescope.settings.get("title", "Telescope"); @@ -13,7 +13,8 @@ const Header = ({currentUser}) => { return (
-
+ +
{tagline ?

{tagline}

: "" }
diff --git a/packages/base-components/lib/common/Layout.jsx b/packages/base-components/lib/common/Layout.jsx index dc5183145..a761f7daf 100644 --- a/packages/base-components/lib/common/Layout.jsx +++ b/packages/base-components/lib/common/Layout.jsx @@ -1,9 +1,8 @@ const Layout = props => { - ({HeadTags, Header, Footer} = Telescope.components); + ({Header, Footer} = Telescope.components); return (
-
{props.children} diff --git a/packages/base-components/lib/posts/Post.jsx b/packages/base-components/lib/posts/Post.jsx index 50e052e58..fa69d8511 100644 --- a/packages/base-components/lib/posts/Post.jsx +++ b/packages/base-components/lib/posts/Post.jsx @@ -4,11 +4,12 @@ const Post = ({document}) => { const post = document; const htmlBody = {__html: post.htmlBody}; - + debugger return (

{post.title}

+

{post.commentCount} comments

{moment(post.postedAt).fromNow()}

From dd4282332df0f0a7fdfb8792fbeaf1630791c431 Mon Sep 17 00:00:00 2001 From: xavizalote Date: Mon, 21 Mar 2016 16:56:57 +0100 Subject: [PATCH 6/7] remove debugger, my bad :-/ --- packages/base-components/lib/common/HeadTags.jsx | 1 - packages/base-components/lib/posts/Post.jsx | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/base-components/lib/common/HeadTags.jsx b/packages/base-components/lib/common/HeadTags.jsx index e472c8625..df0a55ef4 100644 --- a/packages/base-components/lib/common/HeadTags.jsx +++ b/packages/base-components/lib/common/HeadTags.jsx @@ -1,7 +1,6 @@ import Helmet from 'react-helmet'; const HeadTags = ({url, title, description, image}) => { - debugger return ( { const post = document; const htmlBody = {__html: post.htmlBody}; - debugger return (
From fa1aa1167fb8049883dec8324eb34c70d495a014 Mon Sep 17 00:00:00 2001 From: xavizalote Date: Mon, 21 Mar 2016 17:28:27 +0100 Subject: [PATCH 7/7] import headtags even if already accessible, be ready for the total non-global app --- packages/base-components/lib/posts/Post.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/base-components/lib/posts/Post.jsx b/packages/base-components/lib/posts/Post.jsx index 067aa9ded..3ad1861fd 100644 --- a/packages/base-components/lib/posts/Post.jsx +++ b/packages/base-components/lib/posts/Post.jsx @@ -1,6 +1,6 @@ const Post = ({document}) => { - ({ListContainer, CommentList, CommentNew, PostCategories, SocialShare} = Telescope.components); + ({ListContainer, CommentList, CommentNew, PostCategories, SocialShare, HeadTags} = Telescope.components); const post = document; const htmlBody = {__html: post.htmlBody};