Options:
- # Session Start: Sun Jul 28 00:00:00 2013
- # Session Ident: #css
- # [00:44] * Joins: glenn (~gadams@public.cloak)
- # [00:49] * leaverou is now known as leaverou_away
- # [01:26] * leaverou_away is now known as leaverou
- # [01:37] <TabAtkins> plinss: Types shouldn't ever have a name like "foo". Types are always named like "<foo>".
- # [01:38] <plinss> Ok. I think I'm already doing that
- # [01:38] <TabAtkins> plinss: Perhaps that id could be changed to dom-namedflow?
- # [01:38] <TabAtkins> Hm, though, we do preserve dashes in property names.
- # [01:38] <plinss> possibly, but it's not the only one...
- # [01:38] <TabAtkins> Also, several of the new dfn types like type and at-rule are auto-exported, right?
- # [01:39] <TabAtkins> Basically, everything is auto-exported except actual "dfn" type definitions?
- # [01:39] <plinss> currently, yes
- # [01:39] <TabAtkins> Cool.
- # [01:39] <TabAtkins> Was running through one of my specs and marking exports, so was wondering what was necessary.
- # [01:39] <plinss> well, except anything inside a data-noexport
- # [01:40] <TabAtkins> Yeah.
- # [01:40] <plinss> every dfn with a type other than dfn that is...
- # [01:40] <TabAtkins> Yeah.
- # [01:41] <plinss> also, just realized we need to rename the dom 'attribute' dfn type to dom-attribute'
- # [01:41] <plinss> because we also have html attribute dfns
- # [01:41] <TabAtkins> Hm, okay.
- # [01:41] <TabAtkins> dom-interface and dom-method too, for consistency?
- # [01:41] <plinss> sure
- # [01:41] <plinss> or we can call them html-element and html-attribute
- # [01:42] <plinss> have a preference?
- # [01:42] <TabAtkins> I think the latter - we define more idl than html in our specs.
- # [01:42] <plinss> ok
- # [01:44] <TabAtkins> Also, checking assumptions here: we detect the type of a <dfn> by examining things in this order?
- # [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
- # [01:45] <TabAtkins> ?
- # [01:46] <plinss> yep, I actually just re-wrote that algorithm to that logic 5 minutes ago...
- # [01:46] <TabAtkins> Haha, great.
- # [01:46] <plinss> great minds and all that
- # [01:47] <plinss> and for the ancestor *def class nearest one wins
- # [01:48] <TabAtkins> Yeah.
- # [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
- # [01:50] <TabAtkins> Oh, so we're just using that rather than specializing on pseudo-class and pseudo-types directly?
- # [01:50] <TabAtkins> That works for me.
- # [01:51] <TabAtkins> So full type list is: property, descriptor, value, type, at-rule, selector, dom-attribute, dom-method, dom-interface?
- # [01:51] <plinss> 'property','value','at-rule','descriptor','type','function','selector''html-element','html-attribute','interface','method','attribute'
- # [01:51] <TabAtkins> kk
- # [01:52] <plinss> should I add dom-* to the dom stuff?
- # [01:52] <TabAtkins> Now that xrefs are working, I need to recognize more things.
- # [01:52] <TabAtkins> Oh no, sorry, I forget that we'd decided to leave dom-* off in favor of adding html-.
- # [01:52] <plinss> kk
- # [01:52] <plinss> though I'm wondering if function should be css-function...
- # [01:53] <TabAtkins> Nah, outside of WebIDL we wont' be dfning anything JS-like.
- # [01:53] <plinss> but if we do that then I think we should just prefix them all with thml- dom- css- etc
- # [01:53] <plinss> ok
- # [01:53] <plinss> though we're working on replacing webidl, but the replacement will be even more js like, so...
- # [01:55] <plinss> we theoretically could define a js function somewhere, but I suppose we really shouldn't...
- # [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.
- # [01:59] <TabAtkins> Regarding JSIDL, we can cross that bridge when we come to it.
- # [01:59] <plinss> yeah, we're not defining any global functions
- # [01:59] <TabAtkins> For now, optimizing for CSS is best.
- # [01:59] <plinss> that's because we have more CSS specs than anything else :-)
- # [02:00] <TabAtkins> Yeah.
- # [02:01] <plinss> fwiw, shepherd is currently parsing the svg1.1 and html5 specs too
- # [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.
- # [02:01] <plinss> so you have all the linking data from those specs available
- # [02:01] <TabAtkins> Interesting!
- # [02:01] <TabAtkins> That is, while property names are global (and type names should be), descriptor names aren't.
- # [02:02] <plinss> ok,, will we link a single descriptor dfn to multiple at-rules?
- # [02:03] <TabAtkins> So far, there's no examples of that.
- # [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)
- # [02:03] <plinss> just name collisions then?
- # [02:03] <TabAtkins> Yeah.
- # [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.
- # [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".
- # [02:07] <plinss> yesterday we talked about a data-for-at-rule attribute
- # [02:07] <TabAtkins> Yeah, my idea for reusing the !! convention from Bert's preprocessor was to replace the data-for-* stuff.
- # [02:08] <plinss> ok
- # [02:08] <plinss> I don't get you point about every suffix above...
- # [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)...
- # [02:10] * Joins: rhauck (~Adium@public.cloak)
- # [02:11] * leaverou is now known as leaverou_away
- # [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>.
- # [02:11] <TabAtkins> With each being progressively less likely to have a name collision requiring me to specify a spec.
- # [02:12] <TabAtkins> So, similar to specifying multiple titles in the dfn |-separated, except automatic.
- # [02:13] <plinss> Hmm, ok, so you want me to synthesize the set of linking texts in the API?
- # [02:14] <TabAtkins> Yes please.
- # [02:14] <TabAtkins> I could do it myself if necessary, I guess.
- # [02:14] <plinss> ok, no problem
- # [02:14] <plinss> do that for every '!!'?
- # [02:14] <TabAtkins> Yeah.
- # [02:14] <plinss> kk
- # [02:16] <plinss> just to double check, 'foo!!bar!!baz' becomes 'foo!!bar!!baz|bar!!baz|baz'
- # [02:16] <TabAtkins> Yeah.
- # [02:16] <plinss> kk
- # [02:21] <TabAtkins> Hm, interesting question here.
- # [02:22] <TabAtkins> I want to mark up the dfn for a property's value, but it's just a type. What to do?
- # [02:22] <TabAtkins> I'm not actually doing a type definition here, but a value definition.
- # [02:22] * Quits: rhauck (~Adium@public.cloak) (Ping timeout: 180 seconds)
- # [02:23] <plinss> hmmm
- # [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.
- # [02:24] <plinss> right
- # [02:25] <plinss> well the obvious thing is yo give it a data-dfn-type='value'
- # [02:25] <plinss> but I'm suspecting you want something smarter than that...
- # [02:26] <TabAtkins> I'm not sure if we can get smarter than that.
- # [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.)
- # [02:27] <TabAtkins> So this isn't very bad.
- # [02:28] <plinss> well, I could parse the descdef table and get all the values from there, then do some matching...
- # [02:28] <TabAtkins> (And shorthanding the other special dfn attributes as shorter names, too.)
- # [02:28] <plinss> that's cool
- # [02:28] <TabAtkins> Nah, I've got to do the matching too, and I don't want to get that involved. ^_^
- # [02:28] <plinss> I was planning on parsing the descdef and propdef tables anyway for auto matching
- # [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...
- # [02:29] <TabAtkins> Yeah.
- # [02:32] <plinss> (is there a term for the !! construct?)
- # [02:33] <TabAtkins> lemme see if bert named it in his documentation
- # [02:35] <TabAtkins> He just refers to them as "subterms".
- # [02:35] <plinss> k, thanks
- # [02:41] <plinss> when exploding the !! subterms, it's possible to get duplicates, e.g.: 'top'!!''<length>''|'right'!!''<length>''|'bottom'!!''<length>''|'left'!!''<length>''
- # [02:42] <plinss> would make 4 "<length>", I'm going to de-dupe that, ok?
- # [02:43] <TabAtkins> The quotes are confusing me.
- # [02:44] <plinss> yeah, but that's a real example...
- # [02:44] <TabAtkins> Wait, what?
- # [02:44] <plinss> http://drafts.csswg.org/css-position-3/#lenhgt
- # [02:45] <TabAtkins> lol, i like the id
- # [02:45] <plinss> yeah, I noticed that...
- # [02:45] <TabAtkins> Hm.
- # [02:46] <TabAtkins> This sort of thing *will* produce a bunch of type duplicates, which is frustrating.
- # [02:46] <TabAtkins> But yeah, feel free to dedupe within a single title.
- # [02:46] <plinss> will do
- # [02:47] <TabAtkins> Annoying that we've only got one linking microsyntax for both values and types.
- # [02:47] <TabAtkins> I may need to invent a new one.
- # [02:48] <TabAtkins> Hmm... maybe I can use <valuedef> elements for the definitions, and <value> for the links.
- # [02:49] <TabAtkins> Eh, I'm not sure.
- # [02:51] <TabAtkins> Heh, maybe take a cue from perl and let you prefix the ''foo'' with a letter indicating the link type.
- # [02:52] <plinss> ick
- # [02:52] <TabAtkins> t<<foo>> versus v<<foo>>
- # [02:52] <TabAtkins> Ooh!
- # [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>''.
- # [02:53] <TabAtkins> So that would refer to a value, but <<foo>> retains the existing microsyntax of linking to a type.
- # [02:54] <plinss> escape as in <?, because it already is...
- # [02:55] <plinss> (btw, I like the ascii art comment 1000 lines in to counter styles...
- # [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...
- # [02:59] <TabAtkins> Yeah, I use the ascii art markers in a few specs. Helps me navigate in Sublime Text's minimap.
- # [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 ''<foo>''. That's ugly and inconvenient.
- # [03:00] <TabAtkins> Instead I can just recognize ''<foo>'' in the source and escape the < for you.
- # [03:38] * Joins: teoli (~teoli@public.cloak)
- # [03:38] * Quits: teoli_ (~teoli@public.cloak) (Client closed connection)
- # [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
- # [04:01] * Joins: teoli_ (~teoli@public.cloak)
- # [04:05] * Quits: teoli (~teoli@public.cloak) (Ping timeout: 180 seconds)
- # [04:08] * Quits: teoli_ (~teoli@public.cloak) (Ping timeout: 180 seconds)
- # [05:34] * Joins: curvedmark (~curvedmark@public.cloak)
- # [05:39] * Quits: curvedmark (~curvedmark@public.cloak) ("My iMac has gone to sleep. ZZZzzz…")
- # [06:24] * Joins: curvedmark (~curvedmark@public.cloak)
- # [07:37] * Joins: krit (~krit@public.cloak)
- # [07:43] * Joins: krit1 (~krit@public.cloak)
- # [07:48] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
- # [08:16] <TabAtkins> plinss: What's the *def version of selector, html-element, and html-attribute?
- # [08:17] <TabAtkins> I assume just selectordef, html-elementdef (or html-elemdef?) and html-attrdef.
- # [08:23] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [08:39] * Joins: krit (~krit@public.cloak)
- # [08:39] * Quits: krit1 (~krit@public.cloak) (Client closed connection)
- # [09:10] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [09:15] * Joins: teoli (~teoli@public.cloak)
- # [09:18] * Joins: krit (~krit@public.cloak)
- # [09:24] * Quits: glenn (~gadams@public.cloak) (Client closed connection)
- # [09:53] * leaverou_away is now known as leaverou
- # [10:05] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
- # [10:11] * leaverou is now known as leaverou_away
- # [12:09] * Quits: curvedmark (~curvedmark@public.cloak) ("My iMac has gone to sleep. ZZZzzz…")
- # [12:37] * Joins: curvedmark (~curvedmark@public.cloak)
- # [12:44] * Quits: curvedmark (~curvedmark@public.cloak) ("Textual IRC Client: www.textualapp.com")
- # [13:32] * leaverou_away is now known as leaverou
- # [13:35] * Quits: {Darktears} (~darktears@public.cloak) (Client closed connection)
- # [14:13] * leaverou is now known as leaverou_away
- # [14:17] * leaverou_away is now known as leaverou
- # [14:27] * leaverou is now known as leaverou_away
- # [14:51] * Joins: glenn (~gadams@public.cloak)
- # [16:28] * Joins: krit1 (~krit@public.cloak)
- # [16:31] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
- # [16:38] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
- # [16:49] <TabAtkins> plinss: I'm currently recognizing dfns for value, type, function, at-rule, and some selectors from their contents.
- # [16:49] <TabAtkins> plinss: Do you recognize any more? And if so, how?
- # [16:51] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
- # [17:28] <TabAtkins> plinss: Also, don't forget to update the anchor data to have the longer-form type values, with the def suffix.
- # [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.
- # [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.
- # [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
- # [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
- # [17:40] <plinss> and yes, I can host your code on csswg.org - syncing from GitHub would be easy
- # [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.
- # [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. ^_^
- # [17:49] <TabAtkins> And yes, syncing our code is ideal - differences will just be confusing and error-prone.
- # [18:07] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
- # [18:07] * Joins: teoli (~teoli@public.cloak)
- # [18:38] * Disconnected
- # [19:44] * Attempting to rejoin channel #css
- # [19:44] * Rejoined channel #css
- # [19:44] * Topic is 'http://lists.w3.org/Archives/Public/www-style/2013Jul/0518.html'
- # [19:44] * Set by glazou on Wed Jul 24 17:16:04
- # [20:31] * Joins: krit (~krit@public.cloak)
- # [20:51] * Joins: lmclister (~lmclister@public.cloak)
- # [21:09] * Joins: liam (liam@public.cloak)
- # [21:09] * liam is now known as LiamYYZ
- # [21:28] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [21:44] * Joins: krit (~krit@public.cloak)
- # [21:50] * leaverou_away is now known as leaverou
- # [22:04] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [22:06] * Quits: LiamYYZ (liam@public.cloak) (Client closed connection)
- # [22:17] * Quits: sawrubh_ (~uid6719@public.cloak) (Ping timeout: 180 seconds)
- # [22:17] * Joins: sawrubh_ (~uid6719@public.cloak)
- # [22:18] * leaverou is now known as leaverou_away
- # [22:22] * leaverou_away is now known as leaverou
- # [22:41] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
- # [23:15] * Joins: zcorpan (~zcorpan@public.cloak)
- # [23:21] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
- # [23:33] * Joins: lmclister (~lmclister@public.cloak)
- # [23:39] * Quits: Ms2ger (~Ms2ger@public.cloak) ("nn")
- # [23:45] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
- # [23:52] * Joins: teoli (~teoli@public.cloak)
- # [23:52] * Joins: lmclister (~lmclister@public.cloak)
- # [23:59] * Quits: teoli (~teoli@public.cloak) (Ping timeout: 180 seconds)
- # Session Close: Mon Jul 29 00:00:00 2013
The end :)