/irc-logs / w3c / #css / 2013-07-28 / end

Options:

  1. # Session Start: Sun Jul 28 00:00:00 2013
  2. # Session Ident: #css
  3. # [00:44] * Joins: glenn (~gadams@public.cloak)
  4. # [00:49] * leaverou is now known as leaverou_away
  5. # [01:26] * leaverou_away is now known as leaverou
  6. # [01:37] <TabAtkins> plinss: Types shouldn't ever have a name like "foo". Types are always named like "<foo>".
  7. # [01:38] <plinss> Ok. I think I'm already doing that
  8. # [01:38] <TabAtkins> plinss: Perhaps that id could be changed to dom-namedflow?
  9. # [01:38] <TabAtkins> Hm, though, we do preserve dashes in property names.
  10. # [01:38] <plinss> possibly, but it's not the only one...
  11. # [01:38] <TabAtkins> Also, several of the new dfn types like type and at-rule are auto-exported, right?
  12. # [01:39] <TabAtkins> Basically, everything is auto-exported except actual "dfn" type definitions?
  13. # [01:39] <plinss> currently, yes
  14. # [01:39] <TabAtkins> Cool.
  15. # [01:39] <TabAtkins> Was running through one of my specs and marking exports, so was wondering what was necessary.
  16. # [01:39] <plinss> well, except anything inside a data-noexport
  17. # [01:40] <TabAtkins> Yeah.
  18. # [01:40] <plinss> every dfn with a type other than dfn that is...
  19. # [01:40] <TabAtkins> Yeah.
  20. # [01:41] <plinss> also, just realized we need to rename the dom 'attribute' dfn type to dom-attribute'
  21. # [01:41] <plinss> because we also have html attribute dfns
  22. # [01:41] <TabAtkins> Hm, okay.
  23. # [01:41] <TabAtkins> dom-interface and dom-method too, for consistency?
  24. # [01:41] <plinss> sure
  25. # [01:41] <plinss> or we can call them html-element and html-attribute
  26. # [01:42] <plinss> have a preference?
  27. # [01:42] <TabAtkins> I think the latter - we define more idl than html in our specs.
  28. # [01:42] <plinss> ok
  29. # [01:44] <TabAtkins> Also, checking assumptions here: we detect the type of a <dfn> by examining things in this order?
  30. # [01:45] <TabAtkins> 1. data-dfn-type value 2. id has *def- prefix 3. ancestor has *def class 4. inspect contents to see what it looks like
  31. # [01:45] <TabAtkins> ?
  32. # [01:46] <plinss> yep, I actually just re-wrote that algorithm to that logic 5 minutes ago...
  33. # [01:46] <TabAtkins> Haha, great.
  34. # [01:46] <plinss> great minds and all that
  35. # [01:47] <plinss> and for the ancestor *def class nearest one wins
  36. # [01:48] <TabAtkins> Yeah.
  37. # [01:50] <plinss> oh, and I also added a 'selector' dfn type, currently it detects pseudo-classes & pseudo elements as selector types so they don't get picked up as functions or methods
  38. # [01:50] <TabAtkins> Oh, so we're just using that rather than specializing on pseudo-class and pseudo-types directly?
  39. # [01:50] <TabAtkins> That works for me.
  40. # [01:51] <TabAtkins> So full type list is: property, descriptor, value, type, at-rule, selector, dom-attribute, dom-method, dom-interface?
  41. # [01:51] <plinss> 'property','value','at-rule','descriptor','type','function','selector''html-element','html-attribute','interface','method','attribute'
  42. # [01:51] <TabAtkins> kk
  43. # [01:52] <plinss> should I add dom-* to the dom stuff?
  44. # [01:52] <TabAtkins> Now that xrefs are working, I need to recognize more things.
  45. # [01:52] <TabAtkins> Oh no, sorry, I forget that we'd decided to leave dom-* off in favor of adding html-.
  46. # [01:52] <plinss> kk
  47. # [01:52] <plinss> though I'm wondering if function should be css-function...
  48. # [01:53] <TabAtkins> Nah, outside of WebIDL we wont' be dfning anything JS-like.
  49. # [01:53] <plinss> but if we do that then I think we should just prefix them all with thml- dom- css- etc
  50. # [01:53] <plinss> ok
  51. # [01:53] <plinss> though we're working on replacing webidl, but the replacement will be even more js like, so...
  52. # [01:55] <plinss> we theoretically could define a js function somewhere, but I suppose we really shouldn't...
  53. # [01:58] <TabAtkins> I mean, I've got some JS in my Colors 4 spec, but it's just to illustrate the conversion between color types.
  54. # [01:59] <TabAtkins> Regarding JSIDL, we can cross that bridge when we come to it.
  55. # [01:59] <plinss> yeah, we're not defining any global functions
  56. # [01:59] <TabAtkins> For now, optimizing for CSS is best.
  57. # [01:59] <plinss> that's because we have more CSS specs than anything else :-)
  58. # [02:00] <TabAtkins> Yeah.
  59. # [02:01] <plinss> fwiw, shepherd is currently parsing the svg1.1 and html5 specs too
  60. # [02:01] <TabAtkins> So, possible problem with our system for linking values to descriptors is that a single descriptor name can potentially belong to multiple at-rules.
  61. # [02:01] <plinss> so you have all the linking data from those specs available
  62. # [02:01] <TabAtkins> Interesting!
  63. # [02:01] <TabAtkins> That is, while property names are global (and type names should be), descriptor names aren't.
  64. # [02:02] <plinss> ok,, will we link a single descriptor dfn to multiple at-rules?
  65. # [02:03] <TabAtkins> So far, there's no examples of that.
  66. # [02:03] <TabAtkins> When multiple at-rules share a content model so far, it's either properties or custom things (@margin-*, the things inside of @font-feature-values)
  67. # [02:03] <plinss> just name collisions then?
  68. # [02:03] <TabAtkins> Yeah.
  69. # [02:04] <TabAtkins> It's possible that we just need to link descriptor values all the way back to the at-rule. If we have title="speak-as!!foo" currently, it would need to be written as title="@counter-style!!speak-as!!foo" instead.
  70. # [02:05] <TabAtkins> Also! The linking text for such things should probably be every suffix. So "@counter-style!!speak-as!!foo", "speak-as!!foo", and "foo".
  71. # [02:07] <plinss> yesterday we talked about a data-for-at-rule attribute
  72. # [02:07] <TabAtkins> Yeah, my idea for reusing the !! convention from Bert's preprocessor was to replace the data-for-* stuff.
  73. # [02:08] <plinss> ok
  74. # [02:08] <plinss> I don't get you point about every suffix above...
  75. # [02:10] <TabAtkins> Given <dfn title="@counter-style!!speak-as!!auto">''auto''</dfn> (a valuedef, which by inspection of the title is for a descriptor)...
  76. # [02:10] * Joins: rhauck (~Adium@public.cloak)
  77. # [02:11] * leaverou is now known as leaverou_away
  78. # [02:11] <TabAtkins> I should be able to link to it with <a data-link-type=value title="auto">auto</a>, <a data-link-type=value title="speak-as!!auto">auto</a>, or <a data-link-type=value title="@counter-style!!speak-as!!auto">auto</a>.
  79. # [02:11] <TabAtkins> With each being progressively less likely to have a name collision requiring me to specify a spec.
  80. # [02:12] <TabAtkins> So, similar to specifying multiple titles in the dfn |-separated, except automatic.
  81. # [02:13] <plinss> Hmm, ok, so you want me to synthesize the set of linking texts in the API?
  82. # [02:14] <TabAtkins> Yes please.
  83. # [02:14] <TabAtkins> I could do it myself if necessary, I guess.
  84. # [02:14] <plinss> ok, no problem
  85. # [02:14] <plinss> do that for every '!!'?
  86. # [02:14] <TabAtkins> Yeah.
  87. # [02:14] <plinss> kk
  88. # [02:16] <plinss> just to double check, 'foo!!bar!!baz' becomes 'foo!!bar!!baz|bar!!baz|baz'
  89. # [02:16] <TabAtkins> Yeah.
  90. # [02:16] <plinss> kk
  91. # [02:21] <TabAtkins> Hm, interesting question here.
  92. # [02:22] <TabAtkins> I want to mark up the dfn for a property's value, but it's just a type. What to do?
  93. # [02:22] <TabAtkins> I'm not actually doing a type definition here, but a value definition.
  94. # [02:22] * Quits: rhauck (~Adium@public.cloak) (Ping timeout: 180 seconds)
  95. # [02:23] <plinss> hmmm
  96. # [02:24] <TabAtkins> To be more specific, the 'speak-as' descriptor's grammar is "auto | numeric | alphabetic | bullet | <counter-style-name>", and I need to mark up the <counter-style-name> as one of the values of the descriptor in its dfn.
  97. # [02:24] <plinss> right
  98. # [02:25] <plinss> well the obvious thing is yo give it a data-dfn-type='value'
  99. # [02:25] <plinss> but I'm suspecting you want something smarter than that...
  100. # [02:26] <TabAtkins> I'm not sure if we can get smarter than that.
  101. # [02:27] <TabAtkins> That said, I'm planning to introduce shorthands for <dfn data-dfn-type=*>foo</dfn> with custom elements, so you can just write <value>foo</value> in the source. (It'll get transformed to the full html in the generated spec.)
  102. # [02:27] <TabAtkins> So this isn't very bad.
  103. # [02:28] <plinss> well, I could parse the descdef table and get all the values from there, then do some matching...
  104. # [02:28] <TabAtkins> (And shorthanding the other special dfn attributes as shorter names, too.)
  105. # [02:28] <plinss> that's cool
  106. # [02:28] <TabAtkins> Nah, I've got to do the matching too, and I don't want to get that involved. ^_^
  107. # [02:28] <plinss> I was planning on parsing the descdef and propdef tables anyway for auto matching
  108. # [02:29] <plinss> yeah, but I'm going to expose the whole property/value descriptor/value structures via an API, so you can get just my data...
  109. # [02:29] <TabAtkins> Yeah.
  110. # [02:32] <plinss> (is there a term for the !! construct?)
  111. # [02:33] <TabAtkins> lemme see if bert named it in his documentation
  112. # [02:35] <TabAtkins> He just refers to them as "subterms".
  113. # [02:35] <plinss> k, thanks
  114. # [02:41] <plinss> when exploding the !! subterms, it's possible to get duplicates, e.g.: 'top'!!''<length>''|'right'!!''<length>''|'bottom'!!''<length>''|'left'!!''<length>''
  115. # [02:42] <plinss> would make 4 "<length>", I'm going to de-dupe that, ok?
  116. # [02:43] <TabAtkins> The quotes are confusing me.
  117. # [02:44] <plinss> yeah, but that's a real example...
  118. # [02:44] <TabAtkins> Wait, what?
  119. # [02:44] <plinss> http://drafts.csswg.org/css-position-3/#lenhgt
  120. # [02:45] <TabAtkins> lol, i like the id
  121. # [02:45] <plinss> yeah, I noticed that...
  122. # [02:45] <TabAtkins> Hm.
  123. # [02:46] <TabAtkins> This sort of thing *will* produce a bunch of type duplicates, which is frustrating.
  124. # [02:46] <TabAtkins> But yeah, feel free to dedupe within a single title.
  125. # [02:46] <plinss> will do
  126. # [02:47] <TabAtkins> Annoying that we've only got one linking microsyntax for both values and types.
  127. # [02:47] <TabAtkins> I may need to invent a new one.
  128. # [02:48] <TabAtkins> Hmm... maybe I can use <valuedef> elements for the definitions, and <value> for the links.
  129. # [02:49] <TabAtkins> Eh, I'm not sure.
  130. # [02:51] <TabAtkins> Heh, maybe take a cue from perl and let you prefix the ''foo'' with a letter indicating the link type.
  131. # [02:52] <plinss> ick
  132. # [02:52] <TabAtkins> t<<foo>> versus v<<foo>>
  133. # [02:52] <TabAtkins> Ooh!
  134. # [02:53] <TabAtkins> Since the big conflict here is avoiding type and value conflicts for <foo> stuff, I can just auto-escape the < in ''<foo>''.
  135. # [02:53] <TabAtkins> So that would refer to a value, but <<foo>> retains the existing microsyntax of linking to a type.
  136. # [02:54] <plinss> escape as in &lt;?, because it already is...
  137. # [02:55] <plinss> (btw, I like the ascii art comment 1000 lines in to counter styles...
  138. # [02:57] <plinss> I'm gonna go drill some holes in my patio now (finishing up installing a shed) ping me if you need me...
  139. # [02:59] <TabAtkins> Yeah, I use the ascii art markers in a few specs. Helps me navigate in Sublime Text's minimap.
  140. # [03:00] <TabAtkins> And no, what I mean is that I currently have a microsyntax for linking to types - <<foo>>. If you want to link to a value whose linking text looks like a type, though, you'd have to escape it, like ''&lt;foo>''. That's ugly and inconvenient.
  141. # [03:00] <TabAtkins> Instead I can just recognize ''<foo>'' in the source and escape the < for you.
  142. # [03:38] * Joins: teoli (~teoli@public.cloak)
  143. # [03:38] * Quits: teoli_ (~teoli@public.cloak) (Client closed connection)
  144. # [03:58] <plinss> ah, yeah, that's ugly. I'd rather see a new microsyntax, something like <<foo>> to define a type, [<foo>] to link to it
  145. # [04:01] * Joins: teoli_ (~teoli@public.cloak)
  146. # [04:05] * Quits: teoli (~teoli@public.cloak) (Ping timeout: 180 seconds)
  147. # [04:08] * Quits: teoli_ (~teoli@public.cloak) (Ping timeout: 180 seconds)
  148. # [05:34] * Joins: curvedmark (~curvedmark@public.cloak)
  149. # [05:39] * Quits: curvedmark (~curvedmark@public.cloak) ("My iMac has gone to sleep. ZZZzzz…")
  150. # [06:24] * Joins: curvedmark (~curvedmark@public.cloak)
  151. # [07:37] * Joins: krit (~krit@public.cloak)
  152. # [07:43] * Joins: krit1 (~krit@public.cloak)
  153. # [07:48] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
  154. # [08:16] <TabAtkins> plinss: What's the *def version of selector, html-element, and html-attribute?
  155. # [08:17] <TabAtkins> I assume just selectordef, html-elementdef (or html-elemdef?) and html-attrdef.
  156. # [08:23] * Joins: Ms2ger (~Ms2ger@public.cloak)
  157. # [08:39] * Joins: krit (~krit@public.cloak)
  158. # [08:39] * Quits: krit1 (~krit@public.cloak) (Client closed connection)
  159. # [09:10] * Quits: krit (~krit@public.cloak) ("Leaving.")
  160. # [09:15] * Joins: teoli (~teoli@public.cloak)
  161. # [09:18] * Joins: krit (~krit@public.cloak)
  162. # [09:24] * Quits: glenn (~gadams@public.cloak) (Client closed connection)
  163. # [09:53] * leaverou_away is now known as leaverou
  164. # [10:05] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
  165. # [10:11] * leaverou is now known as leaverou_away
  166. # [12:09] * Quits: curvedmark (~curvedmark@public.cloak) ("My iMac has gone to sleep. ZZZzzz…")
  167. # [12:37] * Joins: curvedmark (~curvedmark@public.cloak)
  168. # [12:44] * Quits: curvedmark (~curvedmark@public.cloak) ("Textual IRC Client: www.textualapp.com")
  169. # [13:32] * leaverou_away is now known as leaverou
  170. # [13:35] * Quits: {Darktears} (~darktears@public.cloak) (Client closed connection)
  171. # [14:13] * leaverou is now known as leaverou_away
  172. # [14:17] * leaverou_away is now known as leaverou
  173. # [14:27] * leaverou is now known as leaverou_away
  174. # [14:51] * Joins: glenn (~gadams@public.cloak)
  175. # [16:28] * Joins: krit1 (~krit@public.cloak)
  176. # [16:31] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
  177. # [16:38] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
  178. # [16:49] <TabAtkins> plinss: I'm currently recognizing dfns for value, type, function, at-rule, and some selectors from their contents.
  179. # [16:49] <TabAtkins> plinss: Do you recognize any more? And if so, how?
  180. # [16:51] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  181. # [17:28] <TabAtkins> plinss: Also, don't forget to update the anchor data to have the longer-form type values, with the def suffix.
  182. # [17:33] <TabAtkins> plinss: Also, is there a way to host my preprocessor on csswg.org, similar to how Bert's is, so you can just curl to it or something? Preferably a way that automatically picks up my commits from github, but if not, at least having a relatively easy way for me to manually update it would be nice.
  183. # [17:34] <TabAtkins> I'm pretty sure one of the drawbacks keeping people from using it is that they have to set up an environment for it. Not hard, but not trivial either. Having a web interface would help for those people who don't care about offline editing.
  184. # [17:38] <plinss> TabAtkins: those are the same ones I'm currently recognizing from contents - we should sync our code, I'll email you snippets
  185. # [17:39] <plinss> the anchor data in the API currently uses 'section','dfn','abbr','property','value','at-rule','descriptor','type','function','selector''html-element','html-attribute','interface','method','attribute','other' for the anchor types (we decided to remove the def suffix) - not checked in yet,but will be shortly after some more tuning
  186. # [17:40] <plinss> and yes, I can host your code on csswg.org - syncing from GitHub would be easy
  187. # [17:41] <plinss> we should probably make a new subdomain for services like that, feel free to suggest one, and the URL you want to use.
  188. # [17:48] <TabAtkins> I'd just synced to check, which is why I commented. Good to know it's just waiting to be checked in. ^_^
  189. # [17:49] <TabAtkins> And yes, syncing our code is ideal - differences will just be confusing and error-prone.
  190. # [18:07] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  191. # [18:07] * Joins: teoli (~teoli@public.cloak)
  192. # [18:38] * Disconnected
  193. # [19:44] * Attempting to rejoin channel #css
  194. # [19:44] * Rejoined channel #css
  195. # [19:44] * Topic is 'http://lists.w3.org/Archives/Public/www-style/2013Jul/0518.html'
  196. # [19:44] * Set by glazou on Wed Jul 24 17:16:04
  197. # [20:31] * Joins: krit (~krit@public.cloak)
  198. # [20:51] * Joins: lmclister (~lmclister@public.cloak)
  199. # [21:09] * Joins: liam (liam@public.cloak)
  200. # [21:09] * liam is now known as LiamYYZ
  201. # [21:28] * Quits: krit (~krit@public.cloak) ("Leaving.")
  202. # [21:44] * Joins: krit (~krit@public.cloak)
  203. # [21:50] * leaverou_away is now known as leaverou
  204. # [22:04] * Quits: krit (~krit@public.cloak) ("Leaving.")
  205. # [22:06] * Quits: LiamYYZ (liam@public.cloak) (Client closed connection)
  206. # [22:17] * Quits: sawrubh_ (~uid6719@public.cloak) (Ping timeout: 180 seconds)
  207. # [22:17] * Joins: sawrubh_ (~uid6719@public.cloak)
  208. # [22:18] * leaverou is now known as leaverou_away
  209. # [22:22] * leaverou_away is now known as leaverou
  210. # [22:41] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  211. # [23:15] * Joins: zcorpan (~zcorpan@public.cloak)
  212. # [23:21] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  213. # [23:33] * Joins: lmclister (~lmclister@public.cloak)
  214. # [23:39] * Quits: Ms2ger (~Ms2ger@public.cloak) ("nn")
  215. # [23:45] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  216. # [23:52] * Joins: teoli (~teoli@public.cloak)
  217. # [23:52] * Joins: lmclister (~lmclister@public.cloak)
  218. # [23:59] * Quits: teoli (~teoli@public.cloak) (Ping timeout: 180 seconds)
  219. # Session Close: Mon Jul 29 00:00:00 2013

The end :)