Skip to content

Commit d00c487

Browse files
committed
add idea plugin
1 parent 2599e36 commit d00c487

File tree

32 files changed

+512
-90
lines changed

32 files changed

+512
-90
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
/build/
22
/.gradle/
3-
/.idea/
3+
/.idea/
4+
/converter/build/
5+
/ideaplugin/build/
File renamed without changes.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
3+
import org.jsoup.nodes.Attribute
4+
import org.jsoup.nodes.Element
5+
6+
class ANode(private val element: Element) : MyNode {
7+
8+
override fun print(): String {
9+
10+
var str = "A ("
11+
val hrefValue = element.attributes().get("href")
12+
element.attributes().remove("href")
13+
14+
val attributesList: MutableList<Attribute> = element.attributes().asList()
15+
16+
val attrText = printAttributes(attributesList)
17+
str += attrText
18+
19+
if (hrefValue.isNotBlank()) {
20+
if (attrText.isNotBlank()) {
21+
str += (", ")
22+
}
23+
}
24+
str += ("href = \"${hrefValue}\"")
25+
str += (")")
26+
27+
val childNodesText = element.childNodes().joinToString(separator = "") {
28+
getMyNode(it).print()
29+
}
30+
31+
str += "{"
32+
if (childNodesText.isNotBlank()) {
33+
str += "\n"
34+
}
35+
str += childNodesText
36+
if (childNodesText.isNotBlank()) {
37+
str += "\n"
38+
}
39+
str += ("}\n")
40+
return str
41+
}
42+
43+
}

src/main/kotlin/FormNode.kt renamed to converter/src/main/kotlin/de/jensklingenberg/htmltocfw/converter/FormNode.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
13
import org.jsoup.nodes.Attribute
24
import org.jsoup.nodes.Element
35

src/main/kotlin/GenericNode.kt renamed to converter/src/main/kotlin/de/jensklingenberg/htmltocfw/converter/GenericNode.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
13
import org.jsoup.nodes.Element
24

35
class GenericNode(private val element: Element) : MyNode {
46

57
override fun print(): String {
6-
var str = "\n"+element.tag().toString().capitalize() + " "
8+
var str = element.tag().toString().capitalize() + " "
79

810
val attrs = printAttributes(element.attributes().asList())
911
if (attrs.isNotBlank()) {

src/main/kotlin/ImgNode.kt renamed to converter/src/main/kotlin/de/jensklingenberg/htmltocfw/converter/ImgNode.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
13
import org.jsoup.nodes.Attribute
24
import org.jsoup.nodes.Element
35

src/main/kotlin/InputNode.kt renamed to converter/src/main/kotlin/de/jensklingenberg/htmltocfw/converter/InputNode.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
13
import org.jsoup.nodes.Element
24

35
class InputNode(private val element: Element) : MyNode {
@@ -17,7 +19,7 @@ class InputNode(private val element: Element) : MyNode {
1719
str += ("type = InputType.${type}")
1820
}
1921

20-
str += ")"
22+
str += ")\n"
2123
return (str)
2224
}
2325

src/main/kotlin/LabelNode.kt renamed to converter/src/main/kotlin/de/jensklingenberg/htmltocfw/converter/LabelNode.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
13
import org.jsoup.nodes.Attribute
24
import org.jsoup.nodes.Element
35

@@ -20,7 +22,6 @@ class LabelNode(private val element: Element) : MyNode {
2022
}
2123
}
2224
str += ("forId = \"${forValue}\"")
23-
2425
str += (")")
2526

2627
val childNodesText = element.childNodes().joinToString(separator = "") {

src/main/kotlin/Main.kt renamed to converter/src/main/kotlin/de/jensklingenberg/htmltocfw/converter/Main.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
13
import org.jsoup.Jsoup
24
import org.jsoup.nodes.Attribute
35
import org.jsoup.nodes.Comment
@@ -8,18 +10,23 @@ import java.io.File
810

911
fun main() {
1012

11-
val html = File("/home/jens/Code/2021/jk/HtmlToComposeWeb/src/main/kotlin/html.text").readText()
13+
val html = File("/home/jens/Code/2021/jk/HtmlToComposeWeb/converter/src/de.jensklingenberg.htmltocfw.converter.main/kotlin/html.text").readText()
14+
15+
val text = htmlToCompose(html)
16+
17+
File("/home/jens/Code/2021/jk/HtmlToComposeWeb/converter/src/de.jensklingenberg.htmltocfw.converter.main/kotlin/Result.txt").writeText(text)
18+
}
19+
20+
fun htmlToCompose(html:String): String {
1221
val doc = Jsoup.parse(html);
1322

1423
val text = doc.body().childNodes().joinToString(separator = "") {
1524
getMyNode(it).print()
1625
}
1726

18-
// println(text)
19-
File("/home/jens/Code/2021/jk/HtmlToComposeWeb/src/main/kotlin/Result.txt").writeText(text)
27+
return text
2028
}
2129

22-
2330
interface MyNode {
2431
fun print(): String
2532
}
@@ -86,6 +93,9 @@ fun getMyNode(ele: Node): MyNode {
8693
}
8794
is Element -> {
8895
when (ele.tagName()) {
96+
"a"->{
97+
ANode(ele)
98+
}
8999
"form"->{
90100
FormNode(ele)
91101
}

src/main/kotlin/MyComment.kt renamed to converter/src/main/kotlin/de/jensklingenberg/htmltocfw/converter/MyComment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package de.jensklingenberg.htmltocfw.converter
2+
13
import org.jsoup.nodes.Comment
24

35
class MyComment(private val comment: Comment) : MyNode {

0 commit comments

Comments
 (0)