/irc-logs / w3c / #css / 2013-08-15 / end

Options:

  1. # Session Start: Thu Aug 15 00:00:00 2013
  2. # Session Ident: #css
  3. # [00:12] <SimonSapin> TabAtkins: yes, anything that has to do with namespaces is broken in cssselect
  4. # [00:12] <SimonSapin> it’s annoying to fix
  5. # [00:12] <SimonSapin> and I don’t really want to spend more time patching up XPath
  6. # [00:13] <SimonSapin> I’d rather implement selectors directly
  7. # [00:37] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  8. # [00:38] <SimonSapin> TabAtkins: should Syntax have a "previous version" link to the 2003 draft?
  9. # [00:39] <SimonSapin> I’m reading http://wiki.csswg.org/spec/publish
  10. # [00:39] <TabAtkins> SimonSapin: Yes, it should.
  11. # [00:42] <SimonSapin> done
  12. # [00:52] * Joins: tobie (tobie@public.cloak)
  13. # [01:00] * Joins: jet (~junglecode@public.cloak)
  14. # [01:16] * Joins: dbaron (~dbaron@public.cloak)
  15. # [01:20] * Quits: tobie (tobie@public.cloak)
  16. # [01:24] * Joins: jdaggett (~jdaggett@public.cloak)
  17. # [01:49] * Quits: sgalineau (~sgalineau@public.cloak) (Client closed connection)
  18. # [01:51] * Quits: c_palmer (~c_palmer@public.cloak) ("")
  19. # [01:54] * Joins: sgalineau (~sgalineau@public.cloak)
  20. # [02:23] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  21. # [02:50] * Joins: cabanier (~cabanier@public.cloak)
  22. # [03:04] * Joins: jdaggett_ (~jdaggett@public.cloak)
  23. # [03:09] * Quits: jdaggett (~jdaggett@public.cloak) (Ping timeout: 180 seconds)
  24. # [03:09] * jdaggett_ is now known as jdaggett
  25. # [03:21] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  26. # [03:32] * Joins: jdaggett_ (~jdaggett@public.cloak)
  27. # [03:37] * Quits: jdaggett (~jdaggett@public.cloak) (Ping timeout: 180 seconds)
  28. # [03:37] * jdaggett_ is now known as jdaggett
  29. # [04:03] * Quits: jet (~junglecode@public.cloak) (jet)
  30. # [04:14] * Quits: sgalineau (~sgalineau@public.cloak) ("Computer has gone to sleep.")
  31. # [04:17] * Joins: cabanier (~cabanier@public.cloak)
  32. # [04:22] * Joins: jdaggett_ (~jdaggett@public.cloak)
  33. # [04:23] * Quits: jdaggett (~jdaggett@public.cloak) (Ping timeout: 180 seconds)
  34. # [04:23] * jdaggett_ is now known as jdaggett
  35. # [04:26] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  36. # [04:37] * Quits: rhauck (~Adium@public.cloak) (Ping timeout: 180 seconds)
  37. # [04:38] * Joins: danielfi_ (~danielfilho@public.cloak)
  38. # [04:38] * Quits: danielfilho (~danielfilho@public.cloak) (Client closed connection)
  39. # [04:39] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  40. # [04:48] * Joins: cabanier (~cabanier@public.cloak)
  41. # [04:57] * leaverou is now known as leaverou_away
  42. # [05:18] * Joins: sgalineau (~sgalineau@public.cloak)
  43. # [05:23] * Joins: krit (~krit@public.cloak)
  44. # [05:25] * Quits: sgalineau (~sgalineau@public.cloak) (Ping timeout: 180 seconds)
  45. # [05:36] * Joins: krit1 (~krit@public.cloak)
  46. # [05:36] * Joins: jdaggett (~jdaggett@public.cloak)
  47. # [05:39] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
  48. # [06:07] * leaverou_away is now known as leaverou
  49. # [06:10] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  50. # [06:10] * Joins: krit (~krit@public.cloak)
  51. # [06:37] * Quits: krit (~krit@public.cloak) ("Leaving.")
  52. # [06:46] * Joins: krit (~krit@public.cloak)
  53. # [06:49] * Joins: krit1 (~krit@public.cloak)
  54. # [06:49] * Quits: krit (~krit@public.cloak) (Client closed connection)
  55. # [06:50] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  56. # [08:00] * Joins: teoli (~teoli@public.cloak)
  57. # [08:49] * Joins: krit (~krit@public.cloak)
  58. # [09:02] * Joins: Ms2ger (~Ms2ger@public.cloak)
  59. # [09:19] * leaverou is now known as leaverou_away
  60. # [09:23] * Joins: tobie (tobie@public.cloak)
  61. # [09:38] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  62. # [09:48] * Joins: nvdbleek (~nvdbleek@public.cloak)
  63. # [09:54] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  64. # [09:56] * Joins: krit1 (~krit@public.cloak)
  65. # [10:00] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
  66. # [10:09] * leaverou_away is now known as leaverou
  67. # [10:16] * leaverou is now known as leaverou_away
  68. # [10:32] * leaverou_away is now known as leaverou
  69. # [10:39] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  70. # [10:47] * leaverou is now known as leaverou_away
  71. # [10:54] * leaverou_away is now known as leaverou
  72. # [11:13] * Joins: teoli (~teoli@public.cloak)
  73. # [11:15] * Joins: krit (~krit@public.cloak)
  74. # [11:20] * Quits: krit1 (~krit@public.cloak) (Ping timeout: 180 seconds)
  75. # [11:25] * Quits: krit (~krit@public.cloak) (Client closed connection)
  76. # [11:25] * Joins: krit1 (~krit@public.cloak)
  77. # [11:35] * leaverou is now known as leaverou_away
  78. # [11:56] * leaverou_away is now known as leaverou
  79. # [12:03] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  80. # [12:26] * Joins: nvdbleek (~nvdbleek@public.cloak)
  81. # [12:28] * leaverou is now known as leaverou_away
  82. # [12:37] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  83. # [12:39] * leaverou_away is now known as leaverou
  84. # [12:52] * leaverou is now known as leaverou_away
  85. # [12:53] * Quits: tobie (tobie@public.cloak)
  86. # [13:05] * Joins: darktears (~darktears@public.cloak)
  87. # [13:53] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  88. # [14:10] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  89. # [14:13] * Joins: tobie (tobie@public.cloak)
  90. # [14:16] * Joins: nvdbleek (~nvdbleek@public.cloak)
  91. # [14:36] * Joins: teoli (~teoli@public.cloak)
  92. # [15:20] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  93. # [15:25] * Joins: krit (~krit@public.cloak)
  94. # [15:51] * Joins: jdaggett (~jdaggett@public.cloak)
  95. # [16:14] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  96. # [16:23] * Joins: rhauck (~Adium@public.cloak)
  97. # [16:34] * Quits: tobie (tobie@public.cloak)
  98. # [16:47] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  99. # [16:48] * Joins: teoli (~teoli@public.cloak)
  100. # [16:50] * Joins: teoli_ (~teoli@public.cloak)
  101. # [16:50] * Quits: teoli (~teoli@public.cloak) (Client closed connection)
  102. # [16:54] * Quits: rhauck (~Adium@public.cloak) ("Leaving.")
  103. # [17:11] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  104. # [17:20] * Joins: cabanier (~cabanier@public.cloak)
  105. # [17:45] * Quits: Rossen (~Rossen@public.cloak) ("Page closed")
  106. # [18:07] * Joins: krit1 (~krit@public.cloak)
  107. # [18:12] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
  108. # [18:39] * Joins: dbaron (~dbaron@public.cloak)
  109. # [18:51] * Joins: rhauck (~Adium@public.cloak)
  110. # [19:40] * Quits: teoli_ (~teoli@public.cloak) (Client closed connection)
  111. # [19:49] * Joins: nvdbleek (~nvdbleek@public.cloak)
  112. # [20:00] <TabAtkins> SimonSapin: Hm, any suggestions for how to deal with the "CSSSelect cant' find <svg:a> elements" issue?
  113. # [20:00] <TabAtkins> I can treewalk the svg, I guess, but that's silly.
  114. # [20:01] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  115. # [20:01] * Joins: nvdbleek (~nvdbleek@public.cloak)
  116. # [20:02] <TabAtkins> Though, those elements aren't valid links in SVG anyway, since I just rewrote them to <a href> rather than <a xlink:href>.
  117. # [20:02] <TabAtkins> Hmmmm
  118. # [20:07] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  119. # [20:07] * Joins: nvdbleek (~nvdbleek@public.cloak)
  120. # [20:13] <TabAtkins> SimonSapin: Actually, I'm rather confused. Any clue why bikeshed is picking up the <token> refs in the SVG diagrams at all? It's only doing it for the parser diagrams; the tokenizer diagrams dont' do anything special.
  121. # [20:14] <TabAtkins> I don't have any rules for picking up <token> normally (with the right <> characters). You have to mark it up as a link or use the <<<token>>> shortcut, and I don't see how that's happening.
  122. # [20:14] <TabAtkins> Ah, looks like maybe you manually edited that.
  123. # [20:16] <SimonSapin> TabAtkins: what’s the cssselect issue exactly?
  124. # [20:17] <TabAtkins> The selector "a[data-link-type]" isn't picking up the <svg:a data-link-type='token'> elements.
  125. # [20:17] <SimonSapin> right now, cssselect interprets a as |a, not *|a
  126. # [20:18] <TabAtkins> Yes, which is wrong. :/
  127. # [20:18] <SimonSapin> yes
  128. # [20:18] <SimonSapin> known bug
  129. # [20:18] <SimonSapin> I’m not sure if an explicit *|a works
  130. # [20:18] <TabAtkins> Let me try.
  131. # [20:20] <TabAtkins> It does not.
  132. # [20:20] <TabAtkins> Maybe I can write the xlink out myself.
  133. # [20:22] <SimonSapin> well, ideally the diagram generated would be integrated in the processor ;)
  134. # [20:23] <SimonSapin> s/generated/generator/
  135. # [20:23] * Joins: teoli (~teoli@public.cloak)
  136. # [20:26] <SimonSapin> TabAtkins: I regenerated the token diagrams and reversed <<<ident>>> to the non-ASCII brackets
  137. # [20:26] <TabAtkins> Cool.
  138. # [20:27] <SimonSapin> Bikeshed was generating links inside attribute values…
  139. # [20:32] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  140. # [20:36] * Joins: nvdbleek (~nvdbleek@public.cloak)
  141. # [20:47] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  142. # [20:55] * Joins: tobie (tobie@public.cloak)
  143. # [20:58] <fantasai> TabAtkins: Just saw your email wrt conversions
  144. # [20:58] <fantasai> TabAtkins: I would suggest doing Writing Modes as a higher priority, it's got a lot of terms we want to export :)
  145. # [20:58] <fantasai> TabAtkins: If you can avoid churning the source diffs, though, that'd be nice
  146. # [20:58] <fantasai> TabAtkins: I don't mind typing <p>
  147. # [20:59] <fantasai> TabAtkins: I'm planning to work on Text today, so probably best to avoid conflicts atm
  148. # [21:10] * Joins: nvdbleek (~nvdbleek@public.cloak)
  149. # [21:13] * Joins: zcorpan (~zcorpan@public.cloak)
  150. # [21:13] <TabAtkins> k
  151. # [21:15] <TabAtkins> SimonSapin: Heh, hacked around the problem, so we can go back to linking them.
  152. # [21:16] <TabAtkins> SimonSapin: I just do a text-based transform of "<svg" to "<not-svg", so it and its contents parse as unknown HTML elements. Then I change the tagname back in the final clean-up. It serializes fine, so the browser still recognizes it as SVG. ^_^
  153. # [21:16] <SimonSapin> link what, actually? SVG diagrams between them?
  154. # [21:16] <SimonSapin> ugh
  155. # [21:17] <SimonSapin> removing namespaces on the parsed tree wouldn’t work?
  156. # [21:20] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  157. # [21:24] <TabAtkins> SimonSapin: That seems difficult. Easier to just do text-based hacks. ^_^
  158. # [21:24] <SimonSapin> ugh
  159. # [21:24] <SimonSapin> so fragile
  160. # [21:25] <SimonSapin> It’s not that difficult: https://github.com/Kozea/WeasyPrint/pull/12#issuecomment-8456061
  161. # [21:25] <Ms2ger> Really following in the footsteps of Bert's processor, then
  162. # [21:35] * Quits: Ms2ger (~Ms2ger@public.cloak) ("nn")
  163. # [21:35] * Quits: krit1 (~krit@public.cloak) (Client closed connection)
  164. # [21:39] <TabAtkins> SimonSapin: So your suggestion is to do a treewalk to temporarily convert the <svg:a> elements into <a>, then add the namespace back later?
  165. # [21:43] <fantasai> SimonSapin: responding to your question... I think U+005F, 5F is its "value"... but I don't actually recall for sure
  166. # [21:43] <SimonSapin> fantasai: that’s what I used in Syntax
  167. # [21:44] <SimonSapin> by the way, I think we’re ready to publish now
  168. # [21:44] <SimonSapin> except for one HTML validation error
  169. # [21:44] <fantasai> cool
  170. # [21:45] <SimonSapin> TabAtkins: is it easy to fix in your processor? Keeping <link> in <head> rather than <body>
  171. # [21:45] <TabAtkins> That one's already fixed, but I haven't pushed yet.
  172. # [21:45] <SimonSapin> cool
  173. # [21:45] <TabAtkins> Pushed now.
  174. # [21:53] <zcorpan> TabAtkins: won't <not-svg> roundtrip in the wrong way? e.g. /> won't be supported
  175. # [21:53] <TabAtkins> zcorpan: Ah, you're right.
  176. # [21:54] <TabAtkins> Well, I'm going to try doing it right anyway.
  177. # [21:56] <zcorpan> does svg\:a work in cssselect?
  178. # [22:02] <TabAtkins> Why would that work?
  179. # [22:02] <TabAtkins> svg|a apparently works if I pass a namespace dict to the CSSSelector constructor, which I'll be trying in a moment.
  180. # [22:03] <SimonSapin> zcorpan: it doesn’t do what you think
  181. # [22:04] <zcorpan> it would work if cssselect incorrectly matches on qualified name instead of local name
  182. # [22:05] <TabAtkins> LXML doesnt' expose qnames.
  183. # [22:05] <TabAtkins> Namespaced tags and attrs are named as "{http://foo}bar"
  184. # [22:06] <zcorpan> ok
  185. # [22:06] <SimonSapin> TabAtkins: yeah, but cssselect does xpath, which does not has this {} notation
  186. # [22:06] <TabAtkins> But anyway, now that I've finished a code review, I'll see if I can shake this out.
  187. # [22:06] <TabAtkins> SimonSapin: Right, that's fine. I just have to do some attr fixup anyway, to change href into xlink:href.
  188. # [22:08] <TabAtkins> Ok, yeah, explicitly using svg|a works fine. Cool.
  189. # [22:18] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  190. # [22:21] <TabAtkins> Agh, good lord, why is LXML so shitty?
  191. # [22:21] <TabAtkins> There's still an open ticket on allowing you to modify the namespaces declared on an element after parsetime.
  192. # [22:23] <SimonSapin> TabAtkins: token diagrams are generated from Diagrams.src.html
  193. # [22:24] <TabAtkins> Right, I can definitely just add a namespace there.
  194. # [22:24] <SimonSapin> can you add the links in the generator?
  195. # [22:24] <TabAtkins> But that doesnt' solve the problem in general, where I might be recognizing autolink shortcuts in arbitrary SVG.
  196. # [22:24] <TabAtkins> Hm, maybe.
  197. # [22:25] <SimonSapin> I mean, whatever you do, if the diagrams need to change I should be able to take what Diagrams.src.html generates and just copy it into Overview.src.html
  198. # [22:26] <SimonSapin> So any commit that touches the diagrams without changing Diagrams.src.html makes me worried :)
  199. # [22:27] <TabAtkins> Heh, I know.
  200. # [22:50] <TabAtkins> Ugh, *fuck it*, I can't get LXML to work right. Nuts to this shit, I'll just remove <a> elements from SVG that got recognized as autolinks.
  201. # [23:02] <TabAtkins> All right, if I find an <svg:a data-link-type=*> element, I strip off the attribute and change it to <svg:tspan>.
  202. # [23:03] <TabAtkins> A dumb hack, but fucking around with text nodes in LXML is bullshit and I'm not willing to do it.
  203. # [23:03] <TabAtkins> This should always be valid, since if you encounter any literal text that would get recognized as an autolink shortcut, it'll be inside a <text> anyway.
  204. # [23:23] * Joins: dbaron (~dbaron@public.cloak)
  205. # Session Close: Fri Aug 16 00:00:01 2013

The end :)