Skip to content
This repository has been archived by the owner on Feb 16, 2023. It is now read-only.

Added limitations section first draft #64

Merged
merged 16 commits into from
Mar 2, 2018
Merged

Conversation

andykirk
Copy link
Collaborator

@andykirk andykirk commented Feb 13, 2018

As discussed in #53

+@ausi


Preview | Diff

index.bs Outdated
</li>
</ol>

<strong>JavaScript-based solutions</strong> (for example <a href="https://elementqueries.com/">EQCSS</a>) should not be considered an adequate replacement for a native CSS solution for all the same reasons any other layout- or appearance-based declarations are the domain of CSS, not JavaScript, and the usual caveats of JavaScript availability and failure still apply. JavaScript solutions also create additional network traffic and require additional parsing.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add information about the additional reflows here too.
Somethink like: JavaScript solutions also create additional network traffic, require additional parsing and perform an additional reflow after every layout that affects the matching state of a container query.

@andykirk do you want us to discuss this right here?
Or should we merge your pull request first and I create a sepearte pull request for this afterwards?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi. Not sure / don't mind. Happy to discuss here as @beep suggested, but also happy with your suggested change. Maybe we can amend this PR?

Copy link
Collaborator

@ausi ausi Feb 13, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amending seems right to me.
Can you commit my change and push it to your branch?
(As I have no push rights to your repo)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure,

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ausi PR amened. This part of the conversation now 'outdated'.

@ausi
Copy link
Collaborator

ausi commented Feb 13, 2018

Without the use of JavaScript, iframes require that the contents of the iframe are stored in a separate HTML document rather than being part of the current document.

Since we have the srcdoc attribute for iframes nowadays (except in IE/Edge), this point seems to no longer be 100% correct.

Should we add that iframes are also problematic because they stop the styles from being inherited, and thus every component has to set font family/size/color again?

@andykirk
Copy link
Collaborator Author

@ausi Good point. I hadn't considered that. Maybe re-phrase / clarify it for "some browsers"?

Without the use of JavaScript, iframessome browsers require that the contents of the iframe are stored in a separate HTML document rather than being part of the current document.

?

@ausi
Copy link
Collaborator

ausi commented Feb 13, 2018

👍

@andykirk
Copy link
Collaborator Author

Amended again.

Re. style inheritance, what about:

  1. The contents of an iframe do not inherit any styles from their parent document, forcing the styles used by the 'module' to be redeclared.

index.bs Outdated
@@ -88,7 +88,7 @@ The use of <strong>CSS layout methods</strong> such as <strong>Flexbox</strong>
The use of <strong>iframes</strong> produces the closest effect to what Container Queries is intended to achieve, but their use has two significant drawbacks:
<ol>
<li>
Without the use of JavaScript, iframes require that the contents of the iframe are stored in a <em>separate HTML document</em> rather than being part of the current document. This necessitates a new document composition paradigm that’s very different from the methods currently employed by developers.
Without the use of JavaScript, some browsers require that the contents of the iframe are stored in a <em>separate HTML document</em> rather than being part of the current document. This necessitates a new document composition paradigm that’s very different from the methods currently employed by developers.
</li>
<li>
The contents of an iframe do not natively affect the dimensions of the iframe itself. The contents of a container that is the subject of a Container Query are still expected to be able to affect the layout of its parents in the <em>opposite</em> dimension of the query. For example, in the case of a Container Query that is based on a containers <em>width</em>, it is still expected that the container’s contents affect the <em>height</em> of a container, subject to any overflow rules.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Despite having some security implications, iframes on mobile safari on iOS are affected by the document contained inside them. By default, the height of the iframe expands to match the height of the embedded document.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ this was referring to this wording:

The contents of an iframe do not natively affect the dimensions of the iframe itself.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, thanks. Will consider how to re-phrase that.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomhodgins - I've re-phrased. This part of the conversation is now 'outdated'.

Copy link
Collaborator

@tomhodgins tomhodgins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm okay with the wording here since we can always edit this after pulling it in too!

My 2¢ is that “The only known exception to this at the time of writing is iOS Safari” being at the end of its paragraph makes it sound to me like iOS safari is the exception to this part: “The contents of a container that is the subject of a Container Query are still expected to be able to affect the layout of its parents in the opposite dimension of the query. …” except in iOS Safari?

Plus, relating to that limitation part: have we discussed and agreed on the limitation that it shouldn't be able to affect the original queried element in the same sense of the query? I saw one suggestion somewhere related to that, but I'm not sure that idea has been scrutinized by the group yet.

@andykirk
Copy link
Collaborator Author

@tomhodgins you're right - I was being hasty. I can move that to where it makes more sense.

I'm not sure about your 2nd point. I thought that if the contents of the 'module' do not / cannot affect the size of the container itself, we're making the whole thing a bit useless? E.g. if layout changes in response to container width - the height of the container must be able to adapt to the new content height or you'd have gaps / overflow issues?

That was my understanding.

@beep
Copy link
Collaborator

beep commented Feb 14, 2018

Plus, relating to that limitation part: have we discussed and agreed on the limitation that it shouldn't be able to affect the original queried element in the same sense of the query? I saw one suggestion somewhere related to that, but I'm not sure that idea has been scrutinized by the group yet.

I thought that if the contents of the 'module' do not / cannot affect the size of the container itself, we're making the whole thing a bit useless? E.g. if layout changes in response to container width - the height of the container must be able to adapt to the new content height or you'd have gaps / overflow issues?

I might suggest pulling this point out into an issue, if it merits discussion and it doesn’t directly affect/block this PR.

@andykirk
Copy link
Collaborator Author

Re-phrased content sizing exception.

@andykirk
Copy link
Collaborator Author

Comments for reference:

#49 (comment)
#49 (comment)

Happy for this to be a separate issue. I don't think it blocks this PR? AS @tomhodgins say's, we can edit this post-PR.

index.bs Outdated

The use of <strong>CSS layout methods</strong> such as <strong>Flexbox</strong> and <strong>Grid</strong>, alongside <strong>CSS-based workarounds</strong> (such as the <a href="https://medium.freecodecamp.org/the-fab-four-technique-to-create-responsive-emails-without-media-queries-baf11fdfa848">Fab Four technique</a>) cannot employ the full capabilities of CSS on an element tree.

The use of <strong>iframes</strong> produces the closest effect to what Container Queries is intended to achieve, but their use has two significant drawbacks:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The “two significant drawbacks” are now three 🤓

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doh! Of course, good spot.
Fixed.

@beep
Copy link
Collaborator

beep commented Feb 14, 2018

@tomhodgins @hereinthehive, just checking: is this ready to merge? If not, are there specific items that need to be addressed by @ausi and/or @andykirk? Thanks!

@tomhodgins
Copy link
Collaborator

I'm good with this PR, as long as we create that issue to figure out what kind of containment we might want to put in here. Thanks for your writing and edits @andykirk 🙌

@beep
Copy link
Collaborator

beep commented Feb 14, 2018

I'm good with this PR

Marvelous, thanks. Then merge away, sir!

as long as we create that issue to figure out what kind of containment we might want to put in here.

Sounds grand. Would you mind writing up that issue, @tomhodgins?

Copy link
Contributor

@marcoscaceres marcoscaceres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Drive by comments 🚙💨.

index.bs Outdated

The use of <strong>Media Queries</strong> can only affect CSS changes based on the state and properties of the viewport. The viewport is not a good indicator of the state and properties of a particular container within the viewport.

The use of <strong>CSS layout methods</strong> such as <strong>Flexbox</strong> and <strong>Grid</strong>, alongside <strong>CSS-based workarounds</strong> (such as the <a href="https://medium.freecodecamp.org/the-fab-four-technique-to-create-responsive-emails-without-media-queries-baf11fdfa848">Fab Four technique</a>) cannot employ the full capabilities of CSS on an element tree.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should probably briefly say what the fab four technique is. like:

"such as the fab four technique, which bla bla briefly bla bla"

It's unlikely the reader has heard of this (I'd never heard of it)... but the reader should be able to get the basic gist of what it is, and then continue reading... with the option of clicking the link if they want more info.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I’ll give it a go. I want to avoid bloat, but you’re right, it needs context. I guess I assumed the link to the technique was enough.

index.bs Outdated

There is currently no native CSS mechanism available to developers that achieves the primary function of container queries, which is to <em>employ the full capabilities of CSS to a specific element tree based on the state and properties of their container</em>. Therefore developers must look to workarounds to achieve their goals. These workarounds and their limitations are outlined here:

The use of <strong>Media Queries</strong> can only affect CSS changes based on the state and properties of the viewport. The viewport is not a good indicator of the state and properties of a particular container within the viewport.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: this is screaming to be a bunch of list items, a definition list (with a brief name for each workaround), or even small sub sections.

  • complex media queries
  • Flex, Grid, and ???:
  • iframes

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We want to highlight how ridiculously complex a media query could be, so showing one here would help.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First point - that’s fine, it’s just how I write. I can change that.

Second point - I thought the original work in the Use Cases section inferred that complexity.
The article by Mat Marquis does illustrate it further. Perhaps a link to that? If not, perhaps some else can find one in the wild or write one? I don’t really have the capability to to come up with a good example at the moment and I don’t want to hold things up.
Again, I’d like to avoid bloating this if possible.

index.bs Outdated

The use of <strong>CSS layout methods</strong> such as <strong>Flexbox</strong> and <strong>Grid</strong>, alongside <strong>CSS-based workarounds</strong> (such as the <a href="https://medium.freecodecamp.org/the-fab-four-technique-to-create-responsive-emails-without-media-queries-baf11fdfa848">Fab Four technique</a>) cannot employ the full capabilities of CSS on an element tree.

The use of <strong>iframes</strong> produces the closest effect to what Container Queries is intended to achieve, but their use has three significant drawbacks:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: code instead of strong?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used stong as it’s like and inline heading, like the points above. I’ll swap it out as part of the change to a dl.

index.bs Outdated
<ol>
<li>
Without the use of JavaScript, some browsers require that the contents of the iframe are stored in a <em>separate HTML document</em> rather than being part of the current document. This necessitates a new document composition paradigm that’s very different from the methods currently employed by developers.
</li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also incurs the additional overhead of unnecessarily spinning up an additional nested browsing context, which can degrade performance (lots of iframes would be bad!).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Someone want to come up with some wording for that for me to include?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @marcoscaceres already nailed it. How about just,

This necessitates a new document composition paradigm that's very different from the methods currently employed by developers, and incurs the additional overhead of generating an additional nested browsing context, which degrades performance.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops! I see you already basically did this in a009cf9 – apologies.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @eeeps. I realised after I commented that I could just use that. See
a009cf9

index.bs Outdated
Without the use of JavaScript, some browsers require that the contents of the iframe are stored in a <em>separate HTML document</em> rather than being part of the current document. This necessitates a new document composition paradigm that’s very different from the methods currently employed by developers.
</li>
<li>
In the majority of browsers, the contents of an iframe do not natively affect the dimensions of the iframe itself. The only known exception to this at the time of writing is iOS Safari. The contents of a container that is the subject of a Container Query are still expected to be able to affect the layout of its parents in the <em>opposite</em> dimension of the query. For example, in the case of a Container Query that is based on a containers <em>width</em>, it is still expected that the container’s contents affect the <em>height</em> of a container, subject to any overflow rules.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"natively affect" is unclear. Its also not clear what we mean by Safari behaving differently.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I can expand on that. @tomhodgins do you have any resources or evidence for the Safari iOS thing?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There isn't yet a standards-based way to declaratively tell an iframe to auto-size to fit its contents (see w3c/csswg-drafts#1771). Can we leave it at that, rather than getting into implementation-specific hacks?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be my preference. @tomhodgins ? @eeeps was the intention to include the link to the draft spec you cited?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's been happening on iOs as long as I can remember, I looked it up the first time I saw it and found articles, but lately I can't find anything on Google - so I wrote my own test:

<meta name=viewport content="width=device-width, initial-scale=1">
<iframe></iframe>
<iframe src="http://staticresource.com/"></iframe>
<iframe src="http://eqcss.com/"></iframe>

Screenshots: https://imgur.com/a/SKjp4

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’d opt for more generic language here, personally. If only because it’s possible that if a specific (non-standard) implementation might change its behavior in the future.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eeeps @tomhodgins @beep - sorry, dropped out for a while.
To sum, I’m going to change this:

In the majority of browsers ... iOS Safari.

To this:

There currently is no standard, declarative way for an iframe to auto-size to fit its contents.

And leave it at that?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andykirk That sounds great to me.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andykirk Me too.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I updated this.
I also re-worked the example/requirements but. I know we still need to discuss that, but I think it reads better now. Happy to change back or re-work if needed.

index.bs Outdated
In the majority of browsers, the contents of an iframe do not natively affect the dimensions of the iframe itself. The only known exception to this at the time of writing is iOS Safari. The contents of a container that is the subject of a Container Query are still expected to be able to affect the layout of its parents in the <em>opposite</em> dimension of the query. For example, in the case of a Container Query that is based on a containers <em>width</em>, it is still expected that the container’s contents affect the <em>height</em> of a container, subject to any overflow rules.
</li>
<li>
The contents of an iframe do not inherit any styles from their parent document, forcing the styles used by the 'module' to be redeclared.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it also builds up a whole new CSSOM in each iframe, which would be expensive too.

Has anyone been crazy enough to use this technique in practice? If so, we should list sites if we know any.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t know. Anyone?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to ask Hugo Giraudel -> https://github.com/edenspiekermann/iframify

I believe they this solution on style guides

index.bs Outdated
</li>
</ol>

<strong>JavaScript-based solutions</strong> (for example <a href="https://elementqueries.com/">EQCSS</a>) should not be considered an adequate replacement for a native CSS solution for all the same reasons any other layout- or appearance-based declarations are the domain of CSS, not JavaScript, and the usual caveats of JavaScript availability and failure still apply. JavaScript solutions also create additional network traffic, require additional parsing and perform an additional reflow after every layout that affects the matching state of a container query.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please break this up into two sentences.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, with the javascript stuff... we should say that there are like 20 JS solutions out there - and link to the list. If you know that a solution is being used on a really popular site (i.e., one with a few million users), please say which one.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First point - fair enough.

Second point - can we include a list on the Wiki so I can link to it? Anyone care to make that list? @tomhodgins?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the list of JS solutions on the wiki https://github.com/WICG/cq-usecases/wiki/Speculative-Prolyfills

As for usage, the publicwww links that @tomhodgins showed me a while back are the best window into usage that I've yet found #41.

The most popular site on the three lists there (for EQCSS, cq-prolyfill, and css-element-queries) is harvard.edu, with (Alexa?) rank #702.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's also a dozen or so listed on http://whoisworkingoncontainerqueries.com

@marcoscaceres
Copy link
Contributor

Generally speaking, this is a good start, but I'd like to see it made a bit stronger before you merge it.

I suggest strengthening this a little bit more and pinging @tantek to review it. If @tantek is like, "yeah, that seems seriously bad"... then we know we are onto something.

@tantek might also have suggestion for how to make sure the arguments are well targeted at CSS/Browser folks.

@andykirk
Copy link
Collaborator Author

andykirk commented Feb 15, 2018

Thanks @marcoscaceres, I’ve responded to each of your points and I’m happy to rework it.
It will cause a delay though. If it were merged others could then try to tackle some of the points as separate PRs.

Cheers

@marcoscaceres
Copy link
Contributor

If it were merged others could then try to tackle some of the points as separate PRs.

Sure, up to you all how you want to work. Two options: keep iterating and using the Previews at the top of this pull request to share and review the changes, or merge early/often and iterate.

I'm personally a fan of the former (keep hacking on a single PR), but the other way works fine too.

@marcoscaceres
Copy link
Contributor

(approving changes, but please fix the small things if possible :) )

@andykirk
Copy link
Collaborator Author

Thanks @marcoscaceres - will fix as much as I can. Some of the other things will require more work/discussion.

index.bs Outdated
@@ -106,7 +106,7 @@ There is currently no native CSS mechanism available to developers that achieves
Without the use of JavaScript, some browsers require that the contents of the <code>iframe</code> are stored in a <em>separate HTML document</em> rather than being part of the current document. This necessitates a new document composition paradigm that’s very different from the methods currently employed by developers.
</li>
<li>
In the majority of browsers, the contents of an <code>iframe</code> do not natively affect the dimensions of the <code>iframe</code> itself. The only known exception to this at the time of writing is iOS Safari. The contents of a container that is the subject of a Container Query are still expected to be able to affect the layout of its parents in the <em>opposite</em> dimension of the query. For example, in the case of a Container Query that is based on a containers <em>width</em>, it is still expected that the container’s contents affect the <em>height</em> of a container, subject to any overflow rules.
In the majority of browsers, the contents of an <code>iframe</code> do not natively affect the dimensions of the <code>iframe</code> itself. The only known exception to this at the time of writing is iOS Safari which sets the height of the <code>iframe</code> to the height of it's content. The contents of a container that is the subject of a Container Query are still expected to be able to affect the layout of its parents in the <em>opposite</em> dimension of the query. For example, in the case of a Container Query that is based on a containers <em>width</em>, it is still expected that the container’s contents affect the <em>height</em> of a container, subject to any overflow rules.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my comment on the old commit here https://github.com/WICG/cq-usecases/pull/64/files/28f7e75daa6f74948281a2b4a7ad26cb578cfe35#r168499068 – I don't know if it's worth mentioning Safari's non-standard behavior.

@andykirk
Copy link
Collaborator Author

andykirk commented Mar 1, 2018

Hi, sorry for the radio silence - I was struck down with the flu.

Is there anything here waiting on me?
The only thing I can think of was where @beep suggests talking about the width - height thing in a seperate issue.

To be honest, it's very difficult describing the limitations there are with existing techniques when there isn't a solid set of requirements to compare them against. Sort of chicken / egg thing.

@beep
Copy link
Collaborator

beep commented Mar 1, 2018

@andykirk, thanks for the nudge. A few tiny copyedits from me:

  • min-width adn max-width to affect” s/b “min-width and max-width to affect”
  • “based on the width of it’s parent” s/b “based on the width of its parent”
  • “a child elements' display property” s/b “a child element’s display property”
  • “based on a containers width” s/b “based on a container’s width
  • “incur additional overheads” s/b “incur additional overhead”

That’s all I’ve got. None of these feel like blockers to me…so unless anyone objects, I think this is ready to merge?

@andykirk, thanks so much to you (and everyone else participating here) for all your hard work getting this first draft in place. It’s looking really stellar to me!

@andykirk
Copy link
Collaborator Author

andykirk commented Mar 1, 2018

Thanks @beep. Apostrophes - ugh! Good spots.

I can fix these bits when I get into the office tomorrow. 8am GMT. Too fried to do it now.

@beep
Copy link
Collaborator

beep commented Mar 1, 2018

@andykirk Hey, that sounds perfect. Thank you again!

@andykirk
Copy link
Collaborator Author

andykirk commented Mar 2, 2018

Done.

@beep
Copy link
Collaborator

beep commented Mar 2, 2018

@andykirk Looks grand to me. Thank you!

I’ll leave this open for a couple hours in case anyone has any final comments, but I think this is looking good to merge.

Thanks again for all your hard work, Andy. This feels like an excellent first draft of the section.

@tomhodgins
Copy link
Collaborator

Yes, thank you @andykirk for being patient with all these changes :D <3

@beep beep merged commit 588c8f0 into WICG:gh-pages Mar 2, 2018
@beep
Copy link
Collaborator

beep commented Mar 2, 2018

🎉

@andykirk
Copy link
Collaborator Author

andykirk commented Mar 2, 2018

Thanks everyone 👍

@beep
Copy link
Collaborator

beep commented Mar 2, 2018

Thank you, @andykirk! And to everyone else who chimed in on this PR; I’m really excited about this.

@marcoscaceres
Copy link
Contributor

Just had a read also. Looks great and reads nicely! Thanks everyone.

@eeeps eeeps mentioned this pull request Mar 30, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants