pine icon indicating copy to clipboard operation
pine copied to clipboard

Functional HTML5 and XML library for the Scala platform

Results 9 pine issues
Sort by recently updated
recently updated
newest added

Hello all. Please, forgive me if I'm making a wrong move posting this question here. I'm looking for an alternative in Scala for Scrapy for parsing HTML documents for Web...

There is a comment about a global state variable in the Text object of TagRender.scala: ``` // TODO Don't mutate global state private[pine] var lineBreak = false ``` The `lineBreak`...

In pine 0.2 the following was quite unexpected: ``` scala> import pine._ import pine._ scala> html"_".toHtml res0: String = ``` Where did the underscore go to? Is this because of...

bug

The HTML parser in [`InlineHtml`](https://github.com/sparsetech/pine/blob/master/shared/src/main/scala/pine/macros/InlineHtml.scala) inserts placeholders and uses string replacements. We should provide the input as a stream instead. Also, evaluate whether [Scalameta](http://scalameta.org/) could be used.

enhancement

Implement DOM patching for better rendering performance. See the following projects for inspiration: * https://github.com/localvoid/kivi * https://github.com/livoras/simple-virtual-dom * https://github.com/infernojs/inferno/blob/master/packages/inferno/src/DOM/patching.ts * https://github.com/fomkin/korolev/blob/master/vdom/src/test/scala/VDomSpec.scala

enhancement

There should be a way to remove redundant spaces and line breaks. See also [this article](http://perfectionkills.com/experimenting-with-html-minifier/) and [htmlcompressor](https://github.com/serg472/htmlcompressor/blob/master/src/main/java/com/googlecode/htmlcompressor/compressor/HtmlCompressor.java#L64).

A `TagRef` can be only resolved when the corresponding node was added to the browser DOM. While this is the most common use case, we could alternatively take an implicit...

We could make nodes with IDs accessible as follows: ``` scala val root = html("test.html") val div = root.ids.text // instead of: tpl.byId[tag.div]("text") ``` [Type providers](http://docs.scala-lang.org/overviews/macros/typeproviders.html) are an option, but...