Options:
- # Session Start: Fri Nov 16 00:00:00 2012
- # Session Ident: #css
- # [00:01] * Joins: antonp (~Thunderbird@public.cloak)
- # [00:20] * Joins: arno (~arnog@public.cloak)
- # [00:29] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
- # [00:40] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
- # [00:49] * Quits: SteveZ (~chatzilla@public.cloak) (Ping timeout: 60 seconds)
- # [01:36] * Quits: jet (~jet@public.cloak) (jet)
- # [01:38] * Joins: jet (~jet@public.cloak)
- # [02:00] * Quits: arno (~arnog@public.cloak) ("Leaving.")
- # [02:10] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [02:12] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
- # [02:20] * Joins: arno (~arnog@public.cloak)
- # [02:27] * Quits: jet (~jet@public.cloak) (jet)
- # [02:30] * Joins: jet (~jet@public.cloak)
- # [03:01] * heycam is now known as heycam|away
- # [03:11] * Quits: jet (~jet@public.cloak) (jet)
- # [03:18] * Joins: jet (~jet@public.cloak)
- # [03:42] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
- # [03:51] * Quits: arno (~arnog@public.cloak) ("Leaving.")
- # [04:22] * Quits: lmclister (~Adium@public.cloak) ("Leaving.")
- # [04:30] * Quits: jet (~jet@public.cloak) (jet)
- # [04:34] * Joins: krit (~krit@public.cloak)
- # [04:38] * Joins: jet (~jet@public.cloak)
- # [04:48] * Quits: jet (~jet@public.cloak) (jet)
- # [04:49] * Quits: danielfilho|w (~danielfilho@public.cloak) (Ping timeout: 60 seconds)
- # [04:53] * Joins: cabanier (~cabanier@public.cloak)
- # [05:10] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [05:13] * Joins: krit (~krit@public.cloak)
- # [05:13] * Joins: jarek (~jarek@public.cloak)
- # [05:15] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [05:16] * Joins: krit (~krit@public.cloak)
- # [05:16] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [05:33] * Joins: krit (~krit@public.cloak)
- # [05:39] * Joins: lmclister (~Adium@public.cloak)
- # [05:56] * Quits: glenn (~gadams@public.cloak) (Client closed connection)
- # [06:21] * heycam|away is now known as heycam
- # [06:26] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [06:42] * Joins: danielfilho|w (~danielfilho@public.cloak)
- # [07:24] * Quits: jarek (~jarek@public.cloak) (jarek)
- # [07:32] * Joins: jarek (~jarek@public.cloak)
- # [07:38] * Quits: lmclister (~Adium@public.cloak) ("Leaving.")
- # [07:40] * heycam is now known as heycam|away
- # [08:06] * Joins: jet (~jet@public.cloak)
- # [08:26] * Quits: jarek (~jarek@public.cloak) (jarek)
- # [08:38] * Quits: jet (~jet@public.cloak) (jet)
- # [08:39] * Joins: jet (~jet@public.cloak)
- # [08:39] * Joins: SimonSapin (~simon@public.cloak)
- # [08:55] * Quits: jet (~jet@public.cloak) (jet)
- # [09:14] * Joins: jet (~jet@public.cloak)
- # [09:28] * Quits: SimonSapin (~simon@public.cloak) (Ping timeout: 60 seconds)
- # [09:43] * Quits: jet (~jet@public.cloak) (jet)
- # [10:01] * Joins: SimonSapin (~simon@public.cloak)
- # [10:16] * Joins: drublic (~drublic@public.cloak)
- # [12:08] * Joins: darktears (~darktears@public.cloak)
- # [13:27] * Joins: tmpsantos (~tmpsantos@public.cloak)
- # [13:45] * Joins: antonp (~Thunderbird@public.cloak)
- # [14:01] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [14:03] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
- # [14:04] * Quits: Ms2ger (~Ms2ger@public.cloak) ("Leaving")
- # [14:06] * Joins: glenn (~gadams@public.cloak)
- # [15:26] * Joins: krit (~krit@public.cloak)
- # [16:36] <leaverou> TabAtkins: Happy birthday man!!
- # [17:01] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
- # [17:10] <stearns> Bert: ping
- # [17:11] <Bert> Hi Alan.
- # [17:11] <stearns> would this way of defining regions work for you? http://wiki.csswg.org/spec/css3-regions/sequestering-regions
- # [17:15] <Bert> But the components are part of the style, not of the document. The link shouldn't be in the HTML, but in the CSS (as it was in XBL).
- # [17:15] * Quits: tmpsantos (~tmpsantos@public.cloak) (Client closed connection)
- # [17:15] * Joins: tmpsantos (~tmpsantos@public.cloak)
- # [17:15] <Bert> Also, it would be nice if the MIME type of the components wasn't HTML, so as not to suggest that it is something that you can view and print on its own.
- # [17:16] <stearns> fair point
- # [17:16] <Bert> Just generic XML, or even better a new MIME type.
- # [17:17] <stearns> that would be something to bring up with the web components people - I assume they're re-using HTML on purpose
- # [17:18] <Bert> I haven't read Web Components in any detail, but it doesn't look like HTML to me: <decorator> and <template> aren't HTML, are they?
- # [17:19] <stearns> they're new things added for this purpose
- # [17:19] <stearns> <template> is particularly key to the new components functionality
- # [17:20] <stearns> they can be part of the content file as well, instead of being an external link
- # [17:20] <stearns> but I like the linking a bit better
- # [17:20] <Bert> As I said, I have to read Web Components. But if you have CSS, why do you need <template>? You can just import the same components file twice.
- # [17:21] <stearns> I don't understand what you mean about importing twice
- # [17:23] <Bert> As in old XBL. If you have a DIV in your document whose content is to be displayed over many regions, you do 'div.comples {regions-template: url(regions.xml}' and if you have another DIV with exactly the same set of regions, you repeat that rule for that DIV.
- # [17:24] <Bert> That's also how grids work, except that grid define the template with CSS syntax instead of external XML.
- # [17:24] <stearns> hmm - I think that could be done with the decorator property, but that's not as well-developed as the custom components yet
- # [17:29] <stearns> thanks for taking a look
- # [17:57] * heycam|away is now known as heycam
- # [18:14] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [18:19] * Joins: lmclister (~Adium@public.cloak)
- # [18:25] * Quits: SimonSapin (~simon@public.cloak) (Ping timeout: 60 seconds)
- # [18:39] * Quits: tmpsantos (~tmpsantos@public.cloak) ("Leaving")
- # [19:06] * Joins: cabanier (~cabanier@public.cloak)
- # [19:07] * Joins: krit (~krit@public.cloak)
- # [19:10] * Joins: SimonSapin (~simon@public.cloak)
- # [19:24] * leaverou is now known as leaverou_away
- # [19:38] <TabAtkins> leaverou_away: Thanks. ^_^
- # [19:44] * Parts: lmclister (~Adium@public.cloak) (lmclister)
- # [19:46] * Joins: lmclister (~Adium@public.cloak)
- # [19:49] * Quits: vhardy__ (~uid7483@public.cloak) (Client closed connection)
- # [19:49] * Quits: sylvaing (~sylvaing@public.cloak) (Ping timeout: 60 seconds)
- # [19:49] * Quits: leaverou_away (~leaverou@public.cloak) (Ping timeout: 60 seconds)
- # [19:49] * Quits: boblet (~uid1921@public.cloak) (Client closed connection)
- # [19:49] * Parts: lmclister (~Adium@public.cloak) (lmclister)
- # [19:49] * Joins: arno (~arnog@public.cloak)
- # [19:50] * Quits: alexmog (~alexmog@public.cloak) (Ping timeout: 60 seconds)
- # [19:50] * Joins: lmclister (~Adium@public.cloak)
- # [19:52] * Quits: shans (~shans@public.cloak) (Ping timeout: 60 seconds)
- # [19:56] * Joins: alexmog_away (~alexmog@public.cloak)
- # [19:56] * Joins: leaverou_away (~leaverou@public.cloak)
- # [19:56] * alexmog_away is now known as alexmog
- # [19:56] * leaverou_away is now known as leaverou
- # [19:56] * Joins: shans_away (~shans@public.cloak)
- # [19:57] * shans_away is now known as shans
- # [19:57] * Joins: sylvaing_away (~sylvaing@public.cloak)
- # [19:57] * sylvaing_away is now known as sylvaing
- # [19:59] * Joins: vhardy__ (~uid7483@public.cloak)
- # [19:59] * Joins: boblet (~uid1921@public.cloak)
- # [20:03] * Joins: lmclister1 (~Adium@public.cloak)
- # [20:03] * Quits: lmclister (~Adium@public.cloak) (Client closed connection)
- # [20:19] * Joins: jet (~jet@public.cloak)
- # [20:38] * Joins: arno1 (~arnog@public.cloak)
- # [20:40] * Quits: arno (~arnog@public.cloak) (Ping timeout: 60 seconds)
- # [21:16] * Quits: lmclister1 (~Adium@public.cloak) ("Leaving.")
- # [21:19] * Joins: lmclister (~Adium@public.cloak)
- # [21:22] * Quits: krit (~krit@public.cloak) ("Leaving.")
- # [21:35] * Quits: arno1 (~arnog@public.cloak) ("Leaving.")
- # [21:36] * Joins: arno (~arnog@public.cloak)
- # [21:36] <SimonSapin> TabAtkins: I hope you like pull requests as birthday presents ^^
- # [21:39] <TabAtkins> Indeed I do!
- # [21:44] * Joins: krit (~krit@public.cloak)
- # [21:50] <SimonSapin> TabAtkins: about the generator: I liked my workflow with http://dev.w3.org/csswg/css3-syntax/Diagrams.src.html
- # [21:50] <SimonSapin> use my text editor, but still minimize the number of steps
- # [21:53] <SimonSapin> although a in-browser editor could be better if it updates the preview instantly
- # [21:53] <TabAtkins> I broke the generator somehow, though. It now outputs "undefined" from the toString.
- # [21:54] <TabAtkins> But it genreates the right SVG. :/
- # [21:54] <TabAtkins> And making it auto-update is easy.
- # [21:56] <shepazu> TabAtkins: happy birthday!
- # [21:58] <SimonSapin> also, it appends a new SVG but does not remove the previous one
- # [21:59] <TabAtkins> SimonSapin: Yeah, fixing that now.
- # [22:08] <TabAtkins> shepazu: Thanks!
- # [22:14] * Quits: darktears (~darktears@public.cloak) (Ping timeout: 60 seconds)
- # [22:24] <SimonSapin> TabAtkins: should I apply the fixes to the diagrams in css3-syntax?
- # [22:27] * Quits: jet (~jet@public.cloak) (jet)
- # [22:33] <TabAtkins> Where are these fixes? Did I miss you sending me them?
- # [22:35] <TabAtkins> SimonSapin: ^^^
- # [22:39] <SimonSapin> TabAtkins: well, we don’t have pull requests on specs ;(
- # [22:41] <SimonSapin> http://dvcs.w3.org/hg/csswg/log/9d11abdafc7f/css3-syntax/Diagrams.src.html
- # [22:41] * Quits: arno (~arnog@public.cloak) ("Leaving.")
- # [22:41] <SimonSapin> sent an email about it on Sat, 10 Nov 2012 13:02:35 +0100
- # [22:51] <TabAtkins> SimonSapin: Yeah, go ahead and push them. However, when I look at the diagrams on my machine, the rectangles don't appear to be wide enough.
- # [22:52] <SimonSapin> TabAtkins: not wide enough?
- # [22:52] <TabAtkins> Also, for the URL production, mind shifting the WS things out of the straight-line path? By convention, the straight-line path should be the "normal" option. I made them a simple Optional before, but they should really be a Choice(0, Skip(), NonTerminal('WS'))
- # [22:53] <TabAtkins> SimonSapin: Yeah, the text spills out on some of them. I've put a *lot* of padding into the fake metrics I use, so it's unlikely to overlap on any system's default fonts.
- # [22:54] <SimonSapin> I don’t see any spill. Maybe my system has a different font?
- # [22:55] <TabAtkins> Yes, it varies a lot based on default font.
- # [22:55] <TabAtkins> Did you adjust the text metrics? Or maybe this is an old version of the library.
- # [22:55] <SimonSapin> no, nothing on text
- # [22:56] <SimonSapin> Diagrams.src.html is using my version of the lib from last week
- # [22:56] <SimonSapin> I changed WS in URL to be repeated
- # [22:57] <SimonSapin> by opposition to escape
- # [22:57] <TabAtkins> Yeah, good fix.
- # [22:57] <TabAtkins> Weird. http://www.xanthir.com/etc/railroad-diagrams/example.html doesn't have any overlaps on my screen.
- # [22:57] <TabAtkins> Using the lib as of this morning.
- # [22:57] <SimonSapin> Choice(0, Skip(), OneOrMore(NonTerminal('WS'))) I guess
- # [22:57] <TabAtkins> Yeah.
- # [22:58] <SimonSapin> let me fix that and update the lib
- # [23:00] <SimonSapin> should Optional() allow changing the default?
- # [23:01] <TabAtkins> Maybe. I've had to explicitly switch to Choice a few times just for this, so it's probably a win. Let me push real quick.
- # [23:01] <SimonSapin> btw I didn’t know empty url() was allowed
- # [23:03] * Joins: arno (~arnog@public.cloak)
- # [23:04] <TabAtkins> Yup, check the second clause of the URI token in 2.1. Optional whitespace, a big ZeroOrMore group, then optional whitespace.
- # [23:04] <SimonSapin> isn’t your unnull function the same as the || operator?
- # [23:05] <TabAtkins> No, it specifically falls back only when === undefined.
- # [23:05] <TabAtkins> So 0 won't trigger it, while 0 || foo returns foo.
- # [23:05] <SimonSapin> I see
- # [23:06] <TabAtkins> It's just annoying to have to switch to a trinary for that.
- # [23:06] <SimonSapin> silly javascript
- # [23:06] <TabAtkins> Anyway, Optional() now accepts a second arg for switching.
- # [23:06] <SimonSapin> uh. I miss git stash and partial commits
- # [23:06] <TabAtkins> Haha.
- # [23:06] <SimonSapin> probably possible in hg, I just don’t know how
- # [23:06] <TabAtkins> Just use real git.
- # [23:07] <TabAtkins> Oh, in hg.
- # [23:07] <SimonSapin> yeah, for the specs
- # [23:07] <TabAtkins> Pretty sure there's a way to stash.
- # [23:07] <SimonSapin> I tried hg-git in "revert" on another project
- # [23:07] <SimonSapin> kind of works, but it’s easy to mess it up
- # [23:09] * Quits: lmclister (~Adium@public.cloak) ("Leaving.")
- # [23:10] <SimonSapin> TabAtkins: is this pushed? "Optional() now accepts a second arg for switching."
- # [23:11] <TabAtkins> I just now pushed it. ZeroOrMore does too.
- # [23:11] <TabAtkins> Sorry, I'd accidentally left the push asking for my un/pw. ^_^
- # [23:12] * TabAtkins should get his cert sorted out on this machine.
- # [23:17] <SimonSapin> oh, I need an explicit null for rep
- # [23:17] <SimonSapin> to get to the skip argument
- # [23:18] <SimonSapin> named arguments are in what, ES6?
- # [23:25] <SimonSapin> TabAtkins: is http://dev.w3.org/csswg/css3-syntax/Diagrams.src.html better now?
- # [23:26] <SimonSapin> updated lib, default to no WS in URL
- # [23:29] <TabAtkins> This is bizarre. No, it's still overflowing. :/
- # [23:36] <SimonSapin> but not in example.html?
- # [23:36] <TabAtkins> SimonSapin: Nope.
- # [23:37] <TabAtkins> Same size text, as far as I can tell. I guess my metrics are just failing for the text you have.
- # [23:38] <SimonSapin> I changed a few labels, but certainly not metrics
- # [23:38] * TabAtkins really needs to do actual measurement of text.
- # [23:41] <SimonSapin> this is one of the reasons we switched from SVG for text documents(!) and built weasyprint
- # [23:41] <TabAtkins> Heh, SVG and text is brutal.
- # [23:41] <shepazu> booooo
- # [23:42] <shepazu> what's overflowing?
- # [23:42] <TabAtkins> Some text is overflowing the rectangle positioned behind it.
- # [23:42] <shepazu> where?
- # [23:42] <shepazu> I don't see it
- # [23:42] <SimonSapin> last link I pasted
- # [23:42] <TabAtkins> http://dev.w3.org/csswg/css3-syntax/Diagrams.src.html , for the URL diagram, on my machine.
- # [23:43] <SimonSapin> doesn’t overflow on my machine
- # [23:43] <TabAtkins> It's font-related. I think my default OS monospace is fatter.
- # [23:43] * Joins: lmclister (~Adium@public.cloak)
- # [23:43] <shepazu> TabAtkins: wfm on mac chrome and ff
- # [23:43] <TabAtkins> shepazu: That's great. Doesn't help people with Ubuntu. ^_^
- # [23:44] <shepazu> TabAtkins: it does if they just use webfonts
- # [23:44] <TabAtkins> There is zero reason to use a webfont for this.
- # [23:44] <shepazu> I can think of one reason
- # [23:44] <SimonSapin> TabAtkins: would it be possible to measure the font through a <span> or something?
- # [23:44] <TabAtkins> That reason is invalid, because it's SVG's fault int he first place.
- # [23:44] <TabAtkins> SimonSapin: Yeah, I'm hacking something together to do text measurement now.
- # [23:44] <SimonSapin> (I’m on arch linux)
- # [23:45] <shepazu> it's SVG's fault that your font is fat?
- # [23:45] <shepazu> TabAtkins: just get the bbox of the text and size the box to match
- # [23:45] <shepazu> it's dead simple
- # [23:45] <TabAtkins> It's SVG's fault that it has virtually nothing in constraint-based layout, so for fairly trivial things like "make it look like the text is inside the box" I have to either guess (and probably get it wrong on some machines) or throw script at the problem.
- # [23:46] <SimonSapin> shepazu: fonts look (and are sized) different on different platforms
- # [23:46] <shepazu> SimonSapin: yes, so use bbox...
- # [23:46] <shepazu> TabAtkins: I would like to have this kind of thing be easier, though
- # [23:46] <SimonSapin> bbox?
- # [23:47] <TabAtkins> el.getBBox().
- # [23:47] <shepazu> yes
- # [23:47] <TabAtkins> Moral equivalent to getBoundingClientRect, but for SVG.
- # [23:47] <shepazu> and many years older
- # [23:48] <SimonSapin> I see. Yes, that should work better than hard-coded font metrics
- # [23:48] <shepazu> bbox = bounding box
- # [23:49] <shepazu> TabAtkins: you should ask heycam about SVG constraints… he explored it for his phD and is skeptical
- # [23:49] <TabAtkins> Annoying part, shepazu, is that I have to insert the text into the page before I can call getBBox on it. But the natural way to use my API just returns an SVG fragment.
- # [23:49] <SimonSapin> oh, but we copy/paste the SVG source into the spec for css3-syntax, so the client viewing the spec might have a different font
- # [23:49] <TabAtkins> shepazu: Simple constraints, like the CSS box model, obviously already work. ^_^
- # [23:49] <shepazu> TabAtkins: fair points, both
- # [23:50] <TabAtkins> So basically, SVG SUCKS AND I HATE IT
- # [23:50] <shepazu> this is why we want to have a font metrics API
- # [23:50] <shepazu> it's your party, you can cry if you want to
- # [23:50] <shepazu> which is what I said to republicans last week… BOOM!
- # [23:51] <TabAtkins> I will, thank you.
- # [23:51] <TabAtkins> shepazu: Yeah, font metrics helps with one part. But not the "I'd like to generate a static SVG file" part.
- # [23:52] <shepazu> TabAtkins: the font metric API should be available in server-side languages APIs as well
- # [23:52] <shepazu> then, you could get it before writing out the file
- # [23:52] <TabAtkins> Doesn't help, for the reason Simon stated.
- # [23:52] <shepazu> in fact… what language are you using?
- # [23:52] <TabAtkins> JS.
- # [23:53] <TabAtkins> https://github.com/tabatkins/railroad-diagrams
- # [23:53] <shepazu> hm
- # [23:53] <shepazu> ok, I concede that we should have simple constraints like this, for just this reason
- # [23:53] <SimonSapin> maybe a webfont would help having consistent metrics across clients (that support webfonts)
- # [23:54] <TabAtkins> Yeah, that's a major benefit from a webfont.
- # [23:54] <shepazu> TabAtkins: so, you're going to write this part of the SVG2 spec?
- # [23:54] <TabAtkins> But it's silly to require downloading a whole font just so you can position a box behind some text accurately. ^_^
- # [23:54] <TabAtkins> shepazu: Man, I'll write whatever.
- # [23:54] <shepazu> SimonSapin: yeah, that's why I said to use a webfont :)
- # [23:54] <TabAtkins> shepazu: I already got the spec half-written in my blog (though for CSS).
- # [23:54] <shepazu> TabAtkins: huzzah!
- # [23:55] <heycam> TabAtkins, pointer?
- # [23:55] <TabAtkins> http://www.xanthir.com/blog/b48H0
- # [23:55] <TabAtkins> I would rewrite this somewhat if doing it again today.
- # [23:56] <TabAtkins> But the basic point - attach any edge of the element to any edge of any other element, and them offset from there - is sound.
- # [23:56] <TabAtkins> It jsut requires a cycle detection pass. ^_^
- # [23:56] <TabAtkins> Unrelated: ugh, I need to loosen what I allow to be bolded/italicized in my markdown parser.
- # [23:57] <TabAtkins> Also: add <dl>s from Markdown Extra.
- # [23:59] <TabAtkins> SimonSapin: Something is just weird here. If I paste the same overflowing string ("not " ' ( ) \ WS or NPC
- # [23:59] <TabAtkins> SimonSapin: Something is just weird here. If I paste the same overflowing string ("not " ' ( ) \ WS or NPC") into my generator, it comes out fine, no overflowing.
- # Session Close: Sat Nov 17 00:00:00 2012
The end :)