diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..4c9e1ff
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+text eol=crlf
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 8586015..5f6dad9 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -23,6 +23,6 @@ jobs:
if: contains(matrix.os, 'win') == false
run: chmod +x ./mvnw
- name: Build with Maven
- run: ./mvnw package --file pom.xml --batch-mode
+ run: ./mvnw package --file library/pom.xml --batch-mode
env:
MAVEN_OPTS: -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
diff --git a/.gitignore b/.gitignore
index a5e3074..f22dae2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,99 +1,9 @@
# Created by https://www.gitignore.io
-### Intellij ###
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
-
-*.iml
-
-## Directory-based project format:
-.idea/
-# if you remove the above rule, at least ignore the following:
-
-# User-specific stuff:
-# .idea/workspace.xml
-# .idea/tasks.xml
-# .idea/dictionaries
-
-# Sensitive or high-churn files:
-# .idea/dataSources.ids
-# .idea/dataSources.xml
-# .idea/sqlDataSources.xml
-# .idea/dynamic.xml
-# .idea/uiDesigner.xml
-
-# Gradle:
-# .idea/gradle.xml
-# .idea/libraries
-
-# Mongo Explorer plugin:
-# .idea/mongoSettings.xml
-
-## File-based project format:
-*.ipr
-*.iws
-
-## Plugin-specific files:
-
-# IntelliJ
-/out/
-
-# mpeltonen/sbt-idea plugin
-.idea_modules/
-
-# JIRA plugin
-atlassian-ide-plugin.xml
-
-# Crashlytics plugin (for Android Studio and IntelliJ)
-com_crashlytics_export_strings.xml
-crashlytics.properties
-crashlytics-build.properties
-
-
-### Windows ###
-# Windows image file caches
-Thumbs.db
-ehthumbs.db
-
-# Folder config file
-Desktop.ini
-
-# Recycle Bin used on file shares
-$RECYCLE.BIN/
-
-# Windows Installer files
-*.cab
-*.msi
-*.msm
-*.msp
-
-# Windows shortcuts
-*.lnk
-
-
-### Java ###
-*.class
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.ear
-
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
-### Maven ###
-target/
-pom.xml.tag
-pom.xml.releaseBackup
-pom.xml.versionsBackup
-pom.xml.next
-release.properties
-dependency-reduced-pom.xml
-
### Eclipse ###
.classpath
.project
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6c4a012..4680e6d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -24,6 +24,8 @@ This means that if you're on Linux ```'\n'```, you have to configure git to hand
correctly so that you have the correct EOL in your working directory,
and the EOL is also correct in the repository itself.
+For this purpose, j2html has a ```.gitattributes``` file.
+
[Guide to configuring EOL with git](https://docs.github.com/en/github/using-git/configuring-git-to-handle-line-endings)
If you are on Windows, there should be no Problems.
@@ -31,7 +33,7 @@ If you are on Windows, there should be no Problems.
### Reformatting of generated Java Code
As this Projects makes use of Code-Generation techniques in order to generate a more typesafe API without too much manual Work,
-there are 3 ```public static void main(...)``` Methods that generate Code.
+there is the ```code_gen/``` directory which contains everything needed to generate the code.
For simplicity (and also to avoid extra dependencies), they do not format the code correctly.
@@ -47,10 +49,9 @@ The workflow (most of the time) consists of:
- Open a PR
- Adjust the PR until it is merged or discarded
-
## Project Architecture
-### src/main/java/j2html/TagCreator.java
+### library/src/main/java/j2html/TagCreator.java
This is **the** central class in J2HTML. It provides the methods
for users of J2HTML to generate all HTML Tags.
@@ -79,7 +80,7 @@ html(
Each HTML Tag has it's own class, which makes it possible for each Tag to have
the correct Attributes and Methods to set those Attributes.
-The classes are located in ```src/main/java/j2html/tags/specialized/``` and follow the naming convention ```tag_name + 'Tag.java'```, e.g. ```BodyTag.java```.
+The classes are located in ```library/src/main/java/j2html/tags/specialized/``` and follow the naming convention ```tag_name + 'Tag.java'```, e.g. ```BodyTag.java```.
Notice that the first letter of the Tag is in uppercase.
Each Tag-specific class ```implements``` interfaces which correspond to the Attributes that can be set on these Tags.
@@ -128,7 +129,7 @@ If you find a way, that would be a great PR.
### Special classes/interfaces besides TagCreator.java
-There are 3 classes which contain code-generating methods in ```j2html/src/main/java/j2html/tags/generators/```:
+There are 3 classes which contain code-generating methods in ```code_gen/src/main/java/j2html_codegen/generators/```:
- AttributeInterfaceCodeGenerator.java (generating the interfaces for the attributes)
- SpecializedTagClassCodeGenerator.java (generating the classes for the tags)
@@ -150,7 +151,7 @@ Attributes differ in their 'type' . Some of them can be set with numbers (which
Others can only be set or not set, others still have 3 states: set, unset, and not present.
To model these propertise, a single Attribute can be described by an instance of **AttrD.java**.
-```j2html/src/main/java/j2html/tags/generators/AttributesList.java``` contains the different Attributes, their properties,
+```library/src/main/java/j2html/tags/generators/AttributesList.java``` contains the different Attributes, their properties,
and the Tags they can be set on. It is the starting point for adding new Attributes and customizing their properties.
diff --git a/code_gen/.gitignore b/code_gen/.gitignore
new file mode 100644
index 0000000..a5e3074
--- /dev/null
+++ b/code_gen/.gitignore
@@ -0,0 +1,101 @@
+# Created by https://www.gitignore.io
+
+### Intellij ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
+
+*.iml
+
+## Directory-based project format:
+.idea/
+# if you remove the above rule, at least ignore the following:
+
+# User-specific stuff:
+# .idea/workspace.xml
+# .idea/tasks.xml
+# .idea/dictionaries
+
+# Sensitive or high-churn files:
+# .idea/dataSources.ids
+# .idea/dataSources.xml
+# .idea/sqlDataSources.xml
+# .idea/dynamic.xml
+# .idea/uiDesigner.xml
+
+# Gradle:
+# .idea/gradle.xml
+# .idea/libraries
+
+# Mongo Explorer plugin:
+# .idea/mongoSettings.xml
+
+## File-based project format:
+*.ipr
+*.iws
+
+## Plugin-specific files:
+
+# IntelliJ
+/out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+
+
+### Windows ###
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+
+### Java ###
+*.class
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+
+### Maven ###
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+
+### Eclipse ###
+.classpath
+.project
+.settings/
+buildNumber.properties
diff --git a/code_gen/pom.xml b/code_gen/pom.xml
new file mode 100644
index 0000000..f63af1b
--- /dev/null
+++ b/code_gen/pom.xml
@@ -0,0 +1,74 @@
+
+
+
+ 4.0.0
+
+ com.j2html
+ j2htmlcodegen
+ 1.0-SNAPSHOT
+
+ j2htmlcodegen
+ https://j2html.com/
+
+
+ UTF-8
+ 8
+ 8
+
+
+
+
+ junit
+ junit
+ 4.11
+ test
+
+
+
+
+
+
+
+
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ maven-resources-plugin
+ 3.0.2
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+
+ maven-surefire-plugin
+ 2.22.1
+
+
+ maven-jar-plugin
+ 3.0.2
+
+
+ maven-install-plugin
+ 2.5.2
+
+
+ maven-deploy-plugin
+ 2.8.2
+
+
+
+ maven-site-plugin
+ 3.7.1
+
+
+ maven-project-info-reports-plugin
+ 3.0.0
+
+
+
+
+
diff --git a/code_gen/src/main/java/j2html_codegen/App.java b/code_gen/src/main/java/j2html_codegen/App.java
new file mode 100644
index 0000000..8afb2aa
--- /dev/null
+++ b/code_gen/src/main/java/j2html_codegen/App.java
@@ -0,0 +1,33 @@
+package j2html_codegen;
+
+import j2html_codegen.generators.AttributeInterfaceCodeGenerator;
+import j2html_codegen.generators.SpecializedTagClassCodeGenerator;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+public final class App
+{
+ public static void main( String[] args )
+ {
+ final Path relPath = Paths.get("../library/src/main/java/j2html/");
+ final Path absPath = relPath.toAbsolutePath();
+
+ System.out.println("writing in "+absPath);
+
+ //decide if the files should be
+ //deleted or generated
+ final boolean delete = false;
+
+ try {
+ AttributeInterfaceCodeGenerator.generate(absPath, delete);
+ SpecializedTagClassCodeGenerator.generate(absPath, delete);
+ //TagCreatorCodeGenerator.print();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ //don't forget to auto-reformat the generated code.
+ }
+}
diff --git a/src/main/java/j2html/tags/generators/AttributeInterfaceCodeGenerator.java b/code_gen/src/main/java/j2html_codegen/generators/AttributeInterfaceCodeGenerator.java
similarity index 77%
rename from src/main/java/j2html/tags/generators/AttributeInterfaceCodeGenerator.java
rename to code_gen/src/main/java/j2html_codegen/generators/AttributeInterfaceCodeGenerator.java
index 396405f..8917e8b 100644
--- a/src/main/java/j2html/tags/generators/AttributeInterfaceCodeGenerator.java
+++ b/code_gen/src/main/java/j2html_codegen/generators/AttributeInterfaceCodeGenerator.java
@@ -1,5 +1,9 @@
-package j2html.tags.generators;
+package j2html_codegen.generators;
+import j2html_codegen.model.AttrD;
+import j2html_codegen.model.AttributesList;
+
+import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -9,38 +13,38 @@ import java.util.Optional;
public final class AttributeInterfaceCodeGenerator {
- public static void main(String[] args){
- try {
- final boolean delete = false;
+ public static void generate(final Path absPath, final boolean delete) throws IOException {
- for (final AttrD attr : AttributesList.attributesDescriptive()) {
- final Path path = makePath(attr.attr);
- final String interfaceName = interfaceNameFromAttribute(attr.attr)+"";
+ for (final AttrD attr : AttributesList.attributesDescriptive()) {
+ final Path path = makePath(attr.attr, absPath);
+ final String interfaceName = interfaceNameFromAttribute(attr.attr)+"";
+ /*
+ IFormAction extends IInstance
- /*
- IFormAction extends IInstance
-
- default T withFormAction(String formAction){
- get().attr("formaction", formAction);
- return get();
- }
- */
-
- final String interfaceStr = getInterfaceTemplate(
- interfaceName,
- Optional.of("IInstance"),
- Arrays.asList("j2html.tags.Tag"),
- interfaceNameFromAttribute(attr.attr).substring(1),
- attr
- );
-
- if (delete) {
- Files.delete(path);
- }else{
- Files.write(path, interfaceStr.getBytes());
- }
+ default T withFormAction(String formAction){
+ get().attr("formaction", formAction);
+ return get();
}
- }catch (Exception ignored){}
+ */
+ final String interfaceStr = getInterfaceTemplate(
+ interfaceName,
+ Optional.of("IInstance"),
+ Arrays.asList("j2html.tags.Tag"),
+ interfaceNameFromAttribute(attr.attr).substring(1),
+ attr
+ );
+
+ if (delete) {
+ if(Files.exists(path)) {
+ System.out.println("deleting " + path);
+ Files.delete(path);
+ }
+ }else{
+ System.out.println("writing to "+path);
+ Files.write(path, interfaceStr.getBytes());
+ }
+ }
+
}
private static String getPackage(){
@@ -178,9 +182,9 @@ public final class AttributeInterfaceCodeGenerator {
return "I" + res;
}
- private static Path makePath(String tagLowerCase){
+ private static Path makePath(String tagLowerCase, final Path absPath){
final String filename = interfaceNameFromAttribute(tagLowerCase)+".java";
- return Paths.get("src/main/java/j2html/tags/attributes/"+filename);
+ return Paths.get(absPath.toString(),"tags/attributes/",filename);
}
}
diff --git a/src/main/java/j2html/tags/generators/SpecializedTagClassCodeGenerator.java b/code_gen/src/main/java/j2html_codegen/generators/SpecializedTagClassCodeGenerator.java
similarity index 77%
rename from src/main/java/j2html/tags/generators/SpecializedTagClassCodeGenerator.java
rename to code_gen/src/main/java/j2html_codegen/generators/SpecializedTagClassCodeGenerator.java
index 30b79a6..9ff0e72 100644
--- a/src/main/java/j2html/tags/generators/SpecializedTagClassCodeGenerator.java
+++ b/code_gen/src/main/java/j2html_codegen/generators/SpecializedTagClassCodeGenerator.java
@@ -1,6 +1,8 @@
-package j2html.tags.generators;
+package j2html_codegen.generators;
+import j2html_codegen.model.AttributesList;
+
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -10,26 +12,91 @@ import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
-import static j2html.tags.generators.TagCreatorCodeGenerator.containerTags;
-import static j2html.tags.generators.TagCreatorCodeGenerator.emptyTags;
+import static j2html_codegen.generators.TagCreatorCodeGenerator.containerTags;
+import static j2html_codegen.generators.TagCreatorCodeGenerator.emptyTags;
-class SpecializedTagClassCodeGenerator {
+public final class SpecializedTagClassCodeGenerator {
- public static void main(String[] args) {
- try{
- //the delete argument serves to give the possibility
- //to delete the classes that were written before
- mainInner(false);
- }catch (Exception ignored){}
+ public static void generate(final Path absPath, final boolean delete) throws IOException {
+
+ //the delete argument serves to give the possibility
+ //to delete the classes that were written before
+ System.out.println("// EmptyTags, generated in " + SpecializedTagClassCodeGenerator.class);
+
+ for (final String tag : emptyTags()) {
+ final String className = classNameFromTag(tag);
+ final Path path = makePath(absPath,tag);
+
+ final List interfaceNames = getInterfaceNamesForTag(tag);
+
+ final String classString =
+ getClassTemplate(
+ className,
+ Optional.of("EmptyTag<"+className+">"),
+ Arrays.asList(
+ "j2html.tags.EmptyTag",
+ "j2html.tags.attributes.*"
+ ),
+ tag,
+ interfaceNames
+ );
+
+ /*
+ public InputTag() {
+ super("input");
+ }
+ */
+
+ if(delete){
+ if(Files.exists(path)) {
+ System.out.println("deleting " + path);
+ Files.delete(path);
+ }
+ }else {
+ System.out.println("writing to "+path);
+ Files.write(path, classString.getBytes());
+ }
+ }
+
+ System.out.println("// ContainerTags, generated in " + SpecializedTagClassCodeGenerator.class);
+
+ for (final String tag : containerTags()) {
+ final Path path = makePath(absPath, tag);
+ final String className = classNameFromTag(tag);
+
+ final List interfaceNames = getInterfaceNamesForTag(tag);
+
+ final String classString =
+ getClassTemplate(
+ className,
+ Optional.of("ContainerTag<"+className+">"),
+ Arrays.asList(
+ "j2html.tags.ContainerTag",
+ "j2html.tags.attributes.*"
+ ),
+ tag,
+ interfaceNames
+ );
+
+ if(delete){
+ if(Files.exists(path)) {
+ System.out.println("deleting " + path);
+ Files.delete(path);
+ }
+ }else {
+ System.out.println("writing to "+path);
+ Files.write(path, classString.getBytes());
+ }
+ }
}
public static String classNameFromTag(String tageNameLowerCase){
String res = tageNameLowerCase.substring(0,1).toUpperCase()+tageNameLowerCase.substring(1);
return res + "Tag";
}
- private static Path makePath(String tagLowerCase){
+ private static Path makePath(final Path absPath, String tagLowerCase){
final String filename = classNameFromTag(tagLowerCase)+".java";
- return Paths.get("src/main/java/j2html/tags/specialized/"+filename);
+ return Paths.get(absPath.toString(),"tags/specialized/",filename);
}
private static String getPackage(){
@@ -97,65 +164,4 @@ class SpecializedTagClassCodeGenerator {
).collect(Collectors.toList());
}
- public static void mainInner(final boolean delete) throws IOException {
- System.out.println("// EmptyTags, generated in " + SpecializedTagClassCodeGenerator.class);
-
- for (final String tag : emptyTags()) {
- final String className = classNameFromTag(tag);
- final Path path = makePath(tag);
-
- final List interfaceNames = getInterfaceNamesForTag(tag);
-
- final String classString =
- getClassTemplate(
- className,
- Optional.of("EmptyTag<"+className+">"),
- Arrays.asList(
- "j2html.tags.EmptyTag",
- "j2html.tags.attributes.*"
- ),
- tag,
- interfaceNames
- );
-
- /*
- public InputTag() {
- super("input");
- }
- */
-
- if(delete){
- Files.delete(path);
- }else {
- Files.write(path, classString.getBytes());
- }
- }
-
- System.out.println("// ContainerTags, generated in " + SpecializedTagClassCodeGenerator.class);
-
- for (final String tag : containerTags()) {
- final Path path = makePath(tag);
- final String className = classNameFromTag(tag);
-
- final List interfaceNames = getInterfaceNamesForTag(tag);
-
- final String classString =
- getClassTemplate(
- className,
- Optional.of("ContainerTag<"+className+">"),
- Arrays.asList(
- "j2html.tags.ContainerTag",
- "j2html.tags.attributes.*"
- ),
- tag,
- interfaceNames
- );
-
- if(delete){
- Files.delete(path);
- }else {
- Files.write(path, classString.getBytes());
- }
- }
- }
}
diff --git a/src/main/java/j2html/tags/generators/TagCreatorCodeGenerator.java b/code_gen/src/main/java/j2html_codegen/generators/TagCreatorCodeGenerator.java
similarity index 97%
rename from src/main/java/j2html/tags/generators/TagCreatorCodeGenerator.java
rename to code_gen/src/main/java/j2html_codegen/generators/TagCreatorCodeGenerator.java
index 59b6b05..896facd 100644
--- a/src/main/java/j2html/tags/generators/TagCreatorCodeGenerator.java
+++ b/code_gen/src/main/java/j2html_codegen/generators/TagCreatorCodeGenerator.java
@@ -1,11 +1,11 @@
-package j2html.tags.generators;
+package j2html_codegen.generators;
import java.util.Arrays;
import java.util.List;
-class TagCreatorCodeGenerator {
+public final class TagCreatorCodeGenerator {
- public static void main(String[] args) {
+ public static void print() {
System.out.println("// EmptyTags, generated in " + TagCreatorCodeGenerator.class);
@@ -134,7 +134,7 @@ class TagCreatorCodeGenerator {
"label",
"legend",
"li",
- "main",
+ "generate",
"map",
"mark",
"menu",
diff --git a/src/main/java/j2html/tags/generators/AttrD.java b/code_gen/src/main/java/j2html_codegen/model/AttrD.java
similarity index 90%
rename from src/main/java/j2html/tags/generators/AttrD.java
rename to code_gen/src/main/java/j2html_codegen/model/AttrD.java
index 612edf0..560aaca 100644
--- a/src/main/java/j2html/tags/generators/AttrD.java
+++ b/code_gen/src/main/java/j2html_codegen/model/AttrD.java
@@ -1,6 +1,6 @@
-package j2html.tags.generators;
+package j2html_codegen.model;
-final class AttrD {
+public final class AttrD {
//attribute descriptor
public final String attr;
diff --git a/src/main/java/j2html/tags/generators/AttributesList.java b/code_gen/src/main/java/j2html_codegen/model/AttributesList.java
similarity index 97%
rename from src/main/java/j2html/tags/generators/AttributesList.java
rename to code_gen/src/main/java/j2html_codegen/model/AttributesList.java
index be133ae..0c41da9 100644
--- a/src/main/java/j2html/tags/generators/AttributesList.java
+++ b/code_gen/src/main/java/j2html_codegen/model/AttributesList.java
@@ -1,15 +1,14 @@
-package j2html.tags.generators;
+package j2html_codegen.model;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import java.util.stream.Collectors;
public final class AttributesList {
//https://www.w3schools.com/tags/ref_attributes.asp
- static List getCustomAttributesForHtmlTag(final String tagLowercase){
+ public static List getCustomAttributesForHtmlTag(final String tagLowercase){
final List attrs = new ArrayList<>();
for(AttrD attrD : attributesDescriptive()){
@@ -22,7 +21,7 @@ public final class AttributesList {
return attrs;
}
- static List attributesDescriptive() {
+ public static List attributesDescriptive() {
return Arrays.asList(
new AttrD("accept", true, "input"),
//new AttrD("accept-charset","form"), //contains dashes, TODO
diff --git a/code_gen/src/test/java/j2html_codegen/AppTest.java b/code_gen/src/test/java/j2html_codegen/AppTest.java
new file mode 100644
index 0000000..6473919
--- /dev/null
+++ b/code_gen/src/test/java/j2html_codegen/AppTest.java
@@ -0,0 +1,16 @@
+package j2html_codegen;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class AppTest
+{
+ @Test
+ public void shouldAnswerWithTrue()
+ {
+ //dummy, just to conform to the default mvn
+ //directory layout
+ assertTrue( true );
+ }
+}
diff --git a/library/.gitignore b/library/.gitignore
new file mode 100644
index 0000000..a5e3074
--- /dev/null
+++ b/library/.gitignore
@@ -0,0 +1,101 @@
+# Created by https://www.gitignore.io
+
+### Intellij ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
+
+*.iml
+
+## Directory-based project format:
+.idea/
+# if you remove the above rule, at least ignore the following:
+
+# User-specific stuff:
+# .idea/workspace.xml
+# .idea/tasks.xml
+# .idea/dictionaries
+
+# Sensitive or high-churn files:
+# .idea/dataSources.ids
+# .idea/dataSources.xml
+# .idea/sqlDataSources.xml
+# .idea/dynamic.xml
+# .idea/uiDesigner.xml
+
+# Gradle:
+# .idea/gradle.xml
+# .idea/libraries
+
+# Mongo Explorer plugin:
+# .idea/mongoSettings.xml
+
+## File-based project format:
+*.ipr
+*.iws
+
+## Plugin-specific files:
+
+# IntelliJ
+/out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+
+
+### Windows ###
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+
+### Java ###
+*.class
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+
+### Maven ###
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+
+### Eclipse ###
+.classpath
+.project
+.settings/
+buildNumber.properties
diff --git a/pom.xml b/library/pom.xml
similarity index 100%
rename from pom.xml
rename to library/pom.xml
diff --git a/src/main/java/j2html/Config.java b/library/src/main/java/j2html/Config.java
similarity index 100%
rename from src/main/java/j2html/Config.java
rename to library/src/main/java/j2html/Config.java
diff --git a/src/main/java/j2html/TagCreator.java b/library/src/main/java/j2html/TagCreator.java
similarity index 100%
rename from src/main/java/j2html/TagCreator.java
rename to library/src/main/java/j2html/TagCreator.java
diff --git a/src/main/java/j2html/attributes/Attr.java b/library/src/main/java/j2html/attributes/Attr.java
similarity index 100%
rename from src/main/java/j2html/attributes/Attr.java
rename to library/src/main/java/j2html/attributes/Attr.java
diff --git a/src/main/java/j2html/attributes/Attribute.java b/library/src/main/java/j2html/attributes/Attribute.java
similarity index 100%
rename from src/main/java/j2html/attributes/Attribute.java
rename to library/src/main/java/j2html/attributes/Attribute.java
diff --git a/src/main/java/j2html/tags/ContainerTag.java b/library/src/main/java/j2html/tags/ContainerTag.java
similarity index 100%
rename from src/main/java/j2html/tags/ContainerTag.java
rename to library/src/main/java/j2html/tags/ContainerTag.java
diff --git a/src/main/java/j2html/tags/DomContent.java b/library/src/main/java/j2html/tags/DomContent.java
similarity index 100%
rename from src/main/java/j2html/tags/DomContent.java
rename to library/src/main/java/j2html/tags/DomContent.java
diff --git a/src/main/java/j2html/tags/DomContentJoiner.java b/library/src/main/java/j2html/tags/DomContentJoiner.java
similarity index 100%
rename from src/main/java/j2html/tags/DomContentJoiner.java
rename to library/src/main/java/j2html/tags/DomContentJoiner.java
diff --git a/src/main/java/j2html/tags/EmptyTag.java b/library/src/main/java/j2html/tags/EmptyTag.java
similarity index 100%
rename from src/main/java/j2html/tags/EmptyTag.java
rename to library/src/main/java/j2html/tags/EmptyTag.java
diff --git a/src/main/java/j2html/tags/InlineStaticResource.java b/library/src/main/java/j2html/tags/InlineStaticResource.java
similarity index 100%
rename from src/main/java/j2html/tags/InlineStaticResource.java
rename to library/src/main/java/j2html/tags/InlineStaticResource.java
diff --git a/src/main/java/j2html/tags/Renderable.java b/library/src/main/java/j2html/tags/Renderable.java
similarity index 100%
rename from src/main/java/j2html/tags/Renderable.java
rename to library/src/main/java/j2html/tags/Renderable.java
diff --git a/src/main/java/j2html/tags/Tag.java b/library/src/main/java/j2html/tags/Tag.java
similarity index 100%
rename from src/main/java/j2html/tags/Tag.java
rename to library/src/main/java/j2html/tags/Tag.java
diff --git a/src/main/java/j2html/tags/Text.java b/library/src/main/java/j2html/tags/Text.java
similarity index 100%
rename from src/main/java/j2html/tags/Text.java
rename to library/src/main/java/j2html/tags/Text.java
diff --git a/src/main/java/j2html/tags/UnescapedText.java b/library/src/main/java/j2html/tags/UnescapedText.java
similarity index 100%
rename from src/main/java/j2html/tags/UnescapedText.java
rename to library/src/main/java/j2html/tags/UnescapedText.java
diff --git a/src/main/java/j2html/tags/attributes/IAccept.java b/library/src/main/java/j2html/tags/attributes/IAccept.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IAccept.java
rename to library/src/main/java/j2html/tags/attributes/IAccept.java
diff --git a/src/main/java/j2html/tags/attributes/IAction.java b/library/src/main/java/j2html/tags/attributes/IAction.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IAction.java
rename to library/src/main/java/j2html/tags/attributes/IAction.java
diff --git a/src/main/java/j2html/tags/attributes/IAlt.java b/library/src/main/java/j2html/tags/attributes/IAlt.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IAlt.java
rename to library/src/main/java/j2html/tags/attributes/IAlt.java
diff --git a/src/main/java/j2html/tags/attributes/IAsync.java b/library/src/main/java/j2html/tags/attributes/IAsync.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IAsync.java
rename to library/src/main/java/j2html/tags/attributes/IAsync.java
diff --git a/src/main/java/j2html/tags/attributes/IAutocomplete.java b/library/src/main/java/j2html/tags/attributes/IAutocomplete.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IAutocomplete.java
rename to library/src/main/java/j2html/tags/attributes/IAutocomplete.java
diff --git a/src/main/java/j2html/tags/attributes/IAutofocus.java b/library/src/main/java/j2html/tags/attributes/IAutofocus.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IAutofocus.java
rename to library/src/main/java/j2html/tags/attributes/IAutofocus.java
diff --git a/src/main/java/j2html/tags/attributes/IAutoplay.java b/library/src/main/java/j2html/tags/attributes/IAutoplay.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IAutoplay.java
rename to library/src/main/java/j2html/tags/attributes/IAutoplay.java
diff --git a/src/main/java/j2html/tags/attributes/ICharset.java b/library/src/main/java/j2html/tags/attributes/ICharset.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ICharset.java
rename to library/src/main/java/j2html/tags/attributes/ICharset.java
diff --git a/src/main/java/j2html/tags/attributes/IChecked.java b/library/src/main/java/j2html/tags/attributes/IChecked.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IChecked.java
rename to library/src/main/java/j2html/tags/attributes/IChecked.java
diff --git a/src/main/java/j2html/tags/attributes/ICite.java b/library/src/main/java/j2html/tags/attributes/ICite.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ICite.java
rename to library/src/main/java/j2html/tags/attributes/ICite.java
diff --git a/src/main/java/j2html/tags/attributes/ICols.java b/library/src/main/java/j2html/tags/attributes/ICols.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ICols.java
rename to library/src/main/java/j2html/tags/attributes/ICols.java
diff --git a/src/main/java/j2html/tags/attributes/IColspan.java b/library/src/main/java/j2html/tags/attributes/IColspan.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IColspan.java
rename to library/src/main/java/j2html/tags/attributes/IColspan.java
diff --git a/src/main/java/j2html/tags/attributes/IContent.java b/library/src/main/java/j2html/tags/attributes/IContent.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IContent.java
rename to library/src/main/java/j2html/tags/attributes/IContent.java
diff --git a/src/main/java/j2html/tags/attributes/IControls.java b/library/src/main/java/j2html/tags/attributes/IControls.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IControls.java
rename to library/src/main/java/j2html/tags/attributes/IControls.java
diff --git a/src/main/java/j2html/tags/attributes/ICoords.java b/library/src/main/java/j2html/tags/attributes/ICoords.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ICoords.java
rename to library/src/main/java/j2html/tags/attributes/ICoords.java
diff --git a/src/main/java/j2html/tags/attributes/IData.java b/library/src/main/java/j2html/tags/attributes/IData.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IData.java
rename to library/src/main/java/j2html/tags/attributes/IData.java
diff --git a/src/main/java/j2html/tags/attributes/IDatetime.java b/library/src/main/java/j2html/tags/attributes/IDatetime.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IDatetime.java
rename to library/src/main/java/j2html/tags/attributes/IDatetime.java
diff --git a/src/main/java/j2html/tags/attributes/IDefault.java b/library/src/main/java/j2html/tags/attributes/IDefault.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IDefault.java
rename to library/src/main/java/j2html/tags/attributes/IDefault.java
diff --git a/src/main/java/j2html/tags/attributes/IDefer.java b/library/src/main/java/j2html/tags/attributes/IDefer.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IDefer.java
rename to library/src/main/java/j2html/tags/attributes/IDefer.java
diff --git a/src/main/java/j2html/tags/attributes/IDirname.java b/library/src/main/java/j2html/tags/attributes/IDirname.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IDirname.java
rename to library/src/main/java/j2html/tags/attributes/IDirname.java
diff --git a/src/main/java/j2html/tags/attributes/IDisabled.java b/library/src/main/java/j2html/tags/attributes/IDisabled.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IDisabled.java
rename to library/src/main/java/j2html/tags/attributes/IDisabled.java
diff --git a/src/main/java/j2html/tags/attributes/IDownload.java b/library/src/main/java/j2html/tags/attributes/IDownload.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IDownload.java
rename to library/src/main/java/j2html/tags/attributes/IDownload.java
diff --git a/src/main/java/j2html/tags/attributes/IEnctype.java b/library/src/main/java/j2html/tags/attributes/IEnctype.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IEnctype.java
rename to library/src/main/java/j2html/tags/attributes/IEnctype.java
diff --git a/src/main/java/j2html/tags/attributes/IFor.java b/library/src/main/java/j2html/tags/attributes/IFor.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IFor.java
rename to library/src/main/java/j2html/tags/attributes/IFor.java
diff --git a/src/main/java/j2html/tags/attributes/IForm.java b/library/src/main/java/j2html/tags/attributes/IForm.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IForm.java
rename to library/src/main/java/j2html/tags/attributes/IForm.java
diff --git a/src/main/java/j2html/tags/attributes/IFormAction.java b/library/src/main/java/j2html/tags/attributes/IFormAction.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IFormAction.java
rename to library/src/main/java/j2html/tags/attributes/IFormAction.java
diff --git a/src/main/java/j2html/tags/attributes/IFormaction.java b/library/src/main/java/j2html/tags/attributes/IFormaction.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IFormaction.java
rename to library/src/main/java/j2html/tags/attributes/IFormaction.java
diff --git a/src/main/java/j2html/tags/attributes/IHeaders.java b/library/src/main/java/j2html/tags/attributes/IHeaders.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IHeaders.java
rename to library/src/main/java/j2html/tags/attributes/IHeaders.java
diff --git a/src/main/java/j2html/tags/attributes/IHeight.java b/library/src/main/java/j2html/tags/attributes/IHeight.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IHeight.java
rename to library/src/main/java/j2html/tags/attributes/IHeight.java
diff --git a/src/main/java/j2html/tags/attributes/IHigh.java b/library/src/main/java/j2html/tags/attributes/IHigh.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IHigh.java
rename to library/src/main/java/j2html/tags/attributes/IHigh.java
diff --git a/src/main/java/j2html/tags/attributes/IHref.java b/library/src/main/java/j2html/tags/attributes/IHref.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IHref.java
rename to library/src/main/java/j2html/tags/attributes/IHref.java
diff --git a/src/main/java/j2html/tags/attributes/IHreflang.java b/library/src/main/java/j2html/tags/attributes/IHreflang.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IHreflang.java
rename to library/src/main/java/j2html/tags/attributes/IHreflang.java
diff --git a/src/main/java/j2html/tags/attributes/IInstance.java b/library/src/main/java/j2html/tags/attributes/IInstance.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IInstance.java
rename to library/src/main/java/j2html/tags/attributes/IInstance.java
diff --git a/src/main/java/j2html/tags/attributes/IIsmap.java b/library/src/main/java/j2html/tags/attributes/IIsmap.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IIsmap.java
rename to library/src/main/java/j2html/tags/attributes/IIsmap.java
diff --git a/src/main/java/j2html/tags/attributes/IKind.java b/library/src/main/java/j2html/tags/attributes/IKind.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IKind.java
rename to library/src/main/java/j2html/tags/attributes/IKind.java
diff --git a/src/main/java/j2html/tags/attributes/ILabel.java b/library/src/main/java/j2html/tags/attributes/ILabel.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ILabel.java
rename to library/src/main/java/j2html/tags/attributes/ILabel.java
diff --git a/src/main/java/j2html/tags/attributes/IList.java b/library/src/main/java/j2html/tags/attributes/IList.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IList.java
rename to library/src/main/java/j2html/tags/attributes/IList.java
diff --git a/src/main/java/j2html/tags/attributes/ILoop.java b/library/src/main/java/j2html/tags/attributes/ILoop.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ILoop.java
rename to library/src/main/java/j2html/tags/attributes/ILoop.java
diff --git a/src/main/java/j2html/tags/attributes/ILow.java b/library/src/main/java/j2html/tags/attributes/ILow.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ILow.java
rename to library/src/main/java/j2html/tags/attributes/ILow.java
diff --git a/src/main/java/j2html/tags/attributes/IMax.java b/library/src/main/java/j2html/tags/attributes/IMax.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IMax.java
rename to library/src/main/java/j2html/tags/attributes/IMax.java
diff --git a/src/main/java/j2html/tags/attributes/IMaxlength.java b/library/src/main/java/j2html/tags/attributes/IMaxlength.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IMaxlength.java
rename to library/src/main/java/j2html/tags/attributes/IMaxlength.java
diff --git a/src/main/java/j2html/tags/attributes/IMedia.java b/library/src/main/java/j2html/tags/attributes/IMedia.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IMedia.java
rename to library/src/main/java/j2html/tags/attributes/IMedia.java
diff --git a/src/main/java/j2html/tags/attributes/IMethod.java b/library/src/main/java/j2html/tags/attributes/IMethod.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IMethod.java
rename to library/src/main/java/j2html/tags/attributes/IMethod.java
diff --git a/src/main/java/j2html/tags/attributes/IMin.java b/library/src/main/java/j2html/tags/attributes/IMin.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IMin.java
rename to library/src/main/java/j2html/tags/attributes/IMin.java
diff --git a/src/main/java/j2html/tags/attributes/IMultiple.java b/library/src/main/java/j2html/tags/attributes/IMultiple.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IMultiple.java
rename to library/src/main/java/j2html/tags/attributes/IMultiple.java
diff --git a/src/main/java/j2html/tags/attributes/IMuted.java b/library/src/main/java/j2html/tags/attributes/IMuted.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IMuted.java
rename to library/src/main/java/j2html/tags/attributes/IMuted.java
diff --git a/src/main/java/j2html/tags/attributes/IName.java b/library/src/main/java/j2html/tags/attributes/IName.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IName.java
rename to library/src/main/java/j2html/tags/attributes/IName.java
diff --git a/src/main/java/j2html/tags/attributes/INovalidate.java b/library/src/main/java/j2html/tags/attributes/INovalidate.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/INovalidate.java
rename to library/src/main/java/j2html/tags/attributes/INovalidate.java
diff --git a/src/main/java/j2html/tags/attributes/IOnabort.java b/library/src/main/java/j2html/tags/attributes/IOnabort.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnabort.java
rename to library/src/main/java/j2html/tags/attributes/IOnabort.java
diff --git a/src/main/java/j2html/tags/attributes/IOnafterprint.java b/library/src/main/java/j2html/tags/attributes/IOnafterprint.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnafterprint.java
rename to library/src/main/java/j2html/tags/attributes/IOnafterprint.java
diff --git a/src/main/java/j2html/tags/attributes/IOnbeforeprint.java b/library/src/main/java/j2html/tags/attributes/IOnbeforeprint.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnbeforeprint.java
rename to library/src/main/java/j2html/tags/attributes/IOnbeforeprint.java
diff --git a/src/main/java/j2html/tags/attributes/IOnbeforeunload.java b/library/src/main/java/j2html/tags/attributes/IOnbeforeunload.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnbeforeunload.java
rename to library/src/main/java/j2html/tags/attributes/IOnbeforeunload.java
diff --git a/src/main/java/j2html/tags/attributes/IOnblur.java b/library/src/main/java/j2html/tags/attributes/IOnblur.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnblur.java
rename to library/src/main/java/j2html/tags/attributes/IOnblur.java
diff --git a/src/main/java/j2html/tags/attributes/IOncanplay.java b/library/src/main/java/j2html/tags/attributes/IOncanplay.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOncanplay.java
rename to library/src/main/java/j2html/tags/attributes/IOncanplay.java
diff --git a/src/main/java/j2html/tags/attributes/IOncanplaythrough.java b/library/src/main/java/j2html/tags/attributes/IOncanplaythrough.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOncanplaythrough.java
rename to library/src/main/java/j2html/tags/attributes/IOncanplaythrough.java
diff --git a/src/main/java/j2html/tags/attributes/IOncuechange.java b/library/src/main/java/j2html/tags/attributes/IOncuechange.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOncuechange.java
rename to library/src/main/java/j2html/tags/attributes/IOncuechange.java
diff --git a/src/main/java/j2html/tags/attributes/IOndurationchange.java b/library/src/main/java/j2html/tags/attributes/IOndurationchange.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOndurationchange.java
rename to library/src/main/java/j2html/tags/attributes/IOndurationchange.java
diff --git a/src/main/java/j2html/tags/attributes/IOnemptied.java b/library/src/main/java/j2html/tags/attributes/IOnemptied.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnemptied.java
rename to library/src/main/java/j2html/tags/attributes/IOnemptied.java
diff --git a/src/main/java/j2html/tags/attributes/IOnended.java b/library/src/main/java/j2html/tags/attributes/IOnended.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnended.java
rename to library/src/main/java/j2html/tags/attributes/IOnended.java
diff --git a/src/main/java/j2html/tags/attributes/IOnerror.java b/library/src/main/java/j2html/tags/attributes/IOnerror.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnerror.java
rename to library/src/main/java/j2html/tags/attributes/IOnerror.java
diff --git a/src/main/java/j2html/tags/attributes/IOnhashchange.java b/library/src/main/java/j2html/tags/attributes/IOnhashchange.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnhashchange.java
rename to library/src/main/java/j2html/tags/attributes/IOnhashchange.java
diff --git a/src/main/java/j2html/tags/attributes/IOnload.java b/library/src/main/java/j2html/tags/attributes/IOnload.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnload.java
rename to library/src/main/java/j2html/tags/attributes/IOnload.java
diff --git a/src/main/java/j2html/tags/attributes/IOnloadeddata.java b/library/src/main/java/j2html/tags/attributes/IOnloadeddata.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnloadeddata.java
rename to library/src/main/java/j2html/tags/attributes/IOnloadeddata.java
diff --git a/src/main/java/j2html/tags/attributes/IOnloadedmetadata.java b/library/src/main/java/j2html/tags/attributes/IOnloadedmetadata.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnloadedmetadata.java
rename to library/src/main/java/j2html/tags/attributes/IOnloadedmetadata.java
diff --git a/src/main/java/j2html/tags/attributes/IOnloadstart.java b/library/src/main/java/j2html/tags/attributes/IOnloadstart.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnloadstart.java
rename to library/src/main/java/j2html/tags/attributes/IOnloadstart.java
diff --git a/src/main/java/j2html/tags/attributes/IOnoffline.java b/library/src/main/java/j2html/tags/attributes/IOnoffline.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnoffline.java
rename to library/src/main/java/j2html/tags/attributes/IOnoffline.java
diff --git a/src/main/java/j2html/tags/attributes/IOnonline.java b/library/src/main/java/j2html/tags/attributes/IOnonline.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnonline.java
rename to library/src/main/java/j2html/tags/attributes/IOnonline.java
diff --git a/src/main/java/j2html/tags/attributes/IOnpagehide.java b/library/src/main/java/j2html/tags/attributes/IOnpagehide.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnpagehide.java
rename to library/src/main/java/j2html/tags/attributes/IOnpagehide.java
diff --git a/src/main/java/j2html/tags/attributes/IOnpageshow.java b/library/src/main/java/j2html/tags/attributes/IOnpageshow.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnpageshow.java
rename to library/src/main/java/j2html/tags/attributes/IOnpageshow.java
diff --git a/src/main/java/j2html/tags/attributes/IOnpause.java b/library/src/main/java/j2html/tags/attributes/IOnpause.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnpause.java
rename to library/src/main/java/j2html/tags/attributes/IOnpause.java
diff --git a/src/main/java/j2html/tags/attributes/IOnplay.java b/library/src/main/java/j2html/tags/attributes/IOnplay.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnplay.java
rename to library/src/main/java/j2html/tags/attributes/IOnplay.java
diff --git a/src/main/java/j2html/tags/attributes/IOnplaying.java b/library/src/main/java/j2html/tags/attributes/IOnplaying.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnplaying.java
rename to library/src/main/java/j2html/tags/attributes/IOnplaying.java
diff --git a/src/main/java/j2html/tags/attributes/IOnpopstate.java b/library/src/main/java/j2html/tags/attributes/IOnpopstate.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnpopstate.java
rename to library/src/main/java/j2html/tags/attributes/IOnpopstate.java
diff --git a/src/main/java/j2html/tags/attributes/IOnprogress.java b/library/src/main/java/j2html/tags/attributes/IOnprogress.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnprogress.java
rename to library/src/main/java/j2html/tags/attributes/IOnprogress.java
diff --git a/src/main/java/j2html/tags/attributes/IOnratechange.java b/library/src/main/java/j2html/tags/attributes/IOnratechange.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnratechange.java
rename to library/src/main/java/j2html/tags/attributes/IOnratechange.java
diff --git a/src/main/java/j2html/tags/attributes/IOnreset.java b/library/src/main/java/j2html/tags/attributes/IOnreset.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnreset.java
rename to library/src/main/java/j2html/tags/attributes/IOnreset.java
diff --git a/src/main/java/j2html/tags/attributes/IOnresize.java b/library/src/main/java/j2html/tags/attributes/IOnresize.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnresize.java
rename to library/src/main/java/j2html/tags/attributes/IOnresize.java
diff --git a/src/main/java/j2html/tags/attributes/IOnscroll.java b/library/src/main/java/j2html/tags/attributes/IOnscroll.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnscroll.java
rename to library/src/main/java/j2html/tags/attributes/IOnscroll.java
diff --git a/src/main/java/j2html/tags/attributes/IOnsearch.java b/library/src/main/java/j2html/tags/attributes/IOnsearch.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnsearch.java
rename to library/src/main/java/j2html/tags/attributes/IOnsearch.java
diff --git a/src/main/java/j2html/tags/attributes/IOnseeked.java b/library/src/main/java/j2html/tags/attributes/IOnseeked.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnseeked.java
rename to library/src/main/java/j2html/tags/attributes/IOnseeked.java
diff --git a/src/main/java/j2html/tags/attributes/IOnseeking.java b/library/src/main/java/j2html/tags/attributes/IOnseeking.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnseeking.java
rename to library/src/main/java/j2html/tags/attributes/IOnseeking.java
diff --git a/src/main/java/j2html/tags/attributes/IOnselect.java b/library/src/main/java/j2html/tags/attributes/IOnselect.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnselect.java
rename to library/src/main/java/j2html/tags/attributes/IOnselect.java
diff --git a/src/main/java/j2html/tags/attributes/IOnstalled.java b/library/src/main/java/j2html/tags/attributes/IOnstalled.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnstalled.java
rename to library/src/main/java/j2html/tags/attributes/IOnstalled.java
diff --git a/src/main/java/j2html/tags/attributes/IOnstorage.java b/library/src/main/java/j2html/tags/attributes/IOnstorage.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnstorage.java
rename to library/src/main/java/j2html/tags/attributes/IOnstorage.java
diff --git a/src/main/java/j2html/tags/attributes/IOnsubmit.java b/library/src/main/java/j2html/tags/attributes/IOnsubmit.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnsubmit.java
rename to library/src/main/java/j2html/tags/attributes/IOnsubmit.java
diff --git a/src/main/java/j2html/tags/attributes/IOnsuspend.java b/library/src/main/java/j2html/tags/attributes/IOnsuspend.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnsuspend.java
rename to library/src/main/java/j2html/tags/attributes/IOnsuspend.java
diff --git a/src/main/java/j2html/tags/attributes/IOntimeupdate.java b/library/src/main/java/j2html/tags/attributes/IOntimeupdate.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOntimeupdate.java
rename to library/src/main/java/j2html/tags/attributes/IOntimeupdate.java
diff --git a/src/main/java/j2html/tags/attributes/IOntoggle.java b/library/src/main/java/j2html/tags/attributes/IOntoggle.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOntoggle.java
rename to library/src/main/java/j2html/tags/attributes/IOntoggle.java
diff --git a/src/main/java/j2html/tags/attributes/IOnunload.java b/library/src/main/java/j2html/tags/attributes/IOnunload.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnunload.java
rename to library/src/main/java/j2html/tags/attributes/IOnunload.java
diff --git a/src/main/java/j2html/tags/attributes/IOnvolumechanged.java b/library/src/main/java/j2html/tags/attributes/IOnvolumechanged.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnvolumechanged.java
rename to library/src/main/java/j2html/tags/attributes/IOnvolumechanged.java
diff --git a/src/main/java/j2html/tags/attributes/IOnwaiting.java b/library/src/main/java/j2html/tags/attributes/IOnwaiting.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnwaiting.java
rename to library/src/main/java/j2html/tags/attributes/IOnwaiting.java
diff --git a/src/main/java/j2html/tags/attributes/IOnwheel.java b/library/src/main/java/j2html/tags/attributes/IOnwheel.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOnwheel.java
rename to library/src/main/java/j2html/tags/attributes/IOnwheel.java
diff --git a/src/main/java/j2html/tags/attributes/IOpen.java b/library/src/main/java/j2html/tags/attributes/IOpen.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOpen.java
rename to library/src/main/java/j2html/tags/attributes/IOpen.java
diff --git a/src/main/java/j2html/tags/attributes/IOptimum.java b/library/src/main/java/j2html/tags/attributes/IOptimum.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IOptimum.java
rename to library/src/main/java/j2html/tags/attributes/IOptimum.java
diff --git a/src/main/java/j2html/tags/attributes/IPattern.java b/library/src/main/java/j2html/tags/attributes/IPattern.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IPattern.java
rename to library/src/main/java/j2html/tags/attributes/IPattern.java
diff --git a/src/main/java/j2html/tags/attributes/IPlaceholder.java b/library/src/main/java/j2html/tags/attributes/IPlaceholder.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IPlaceholder.java
rename to library/src/main/java/j2html/tags/attributes/IPlaceholder.java
diff --git a/src/main/java/j2html/tags/attributes/IPoster.java b/library/src/main/java/j2html/tags/attributes/IPoster.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IPoster.java
rename to library/src/main/java/j2html/tags/attributes/IPoster.java
diff --git a/src/main/java/j2html/tags/attributes/IPreload.java b/library/src/main/java/j2html/tags/attributes/IPreload.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IPreload.java
rename to library/src/main/java/j2html/tags/attributes/IPreload.java
diff --git a/src/main/java/j2html/tags/attributes/IReadonly.java b/library/src/main/java/j2html/tags/attributes/IReadonly.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IReadonly.java
rename to library/src/main/java/j2html/tags/attributes/IReadonly.java
diff --git a/src/main/java/j2html/tags/attributes/IRel.java b/library/src/main/java/j2html/tags/attributes/IRel.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IRel.java
rename to library/src/main/java/j2html/tags/attributes/IRel.java
diff --git a/src/main/java/j2html/tags/attributes/IRequired.java b/library/src/main/java/j2html/tags/attributes/IRequired.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IRequired.java
rename to library/src/main/java/j2html/tags/attributes/IRequired.java
diff --git a/src/main/java/j2html/tags/attributes/IReversed.java b/library/src/main/java/j2html/tags/attributes/IReversed.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IReversed.java
rename to library/src/main/java/j2html/tags/attributes/IReversed.java
diff --git a/src/main/java/j2html/tags/attributes/IRows.java b/library/src/main/java/j2html/tags/attributes/IRows.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IRows.java
rename to library/src/main/java/j2html/tags/attributes/IRows.java
diff --git a/src/main/java/j2html/tags/attributes/IRowspan.java b/library/src/main/java/j2html/tags/attributes/IRowspan.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IRowspan.java
rename to library/src/main/java/j2html/tags/attributes/IRowspan.java
diff --git a/src/main/java/j2html/tags/attributes/ISandbox.java b/library/src/main/java/j2html/tags/attributes/ISandbox.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISandbox.java
rename to library/src/main/java/j2html/tags/attributes/ISandbox.java
diff --git a/src/main/java/j2html/tags/attributes/IScope.java b/library/src/main/java/j2html/tags/attributes/IScope.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IScope.java
rename to library/src/main/java/j2html/tags/attributes/IScope.java
diff --git a/src/main/java/j2html/tags/attributes/ISelected.java b/library/src/main/java/j2html/tags/attributes/ISelected.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISelected.java
rename to library/src/main/java/j2html/tags/attributes/ISelected.java
diff --git a/src/main/java/j2html/tags/attributes/IShape.java b/library/src/main/java/j2html/tags/attributes/IShape.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IShape.java
rename to library/src/main/java/j2html/tags/attributes/IShape.java
diff --git a/src/main/java/j2html/tags/attributes/ISize.java b/library/src/main/java/j2html/tags/attributes/ISize.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISize.java
rename to library/src/main/java/j2html/tags/attributes/ISize.java
diff --git a/src/main/java/j2html/tags/attributes/ISizes.java b/library/src/main/java/j2html/tags/attributes/ISizes.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISizes.java
rename to library/src/main/java/j2html/tags/attributes/ISizes.java
diff --git a/src/main/java/j2html/tags/attributes/ISpan.java b/library/src/main/java/j2html/tags/attributes/ISpan.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISpan.java
rename to library/src/main/java/j2html/tags/attributes/ISpan.java
diff --git a/src/main/java/j2html/tags/attributes/ISrc.java b/library/src/main/java/j2html/tags/attributes/ISrc.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISrc.java
rename to library/src/main/java/j2html/tags/attributes/ISrc.java
diff --git a/src/main/java/j2html/tags/attributes/ISrcdoc.java b/library/src/main/java/j2html/tags/attributes/ISrcdoc.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISrcdoc.java
rename to library/src/main/java/j2html/tags/attributes/ISrcdoc.java
diff --git a/src/main/java/j2html/tags/attributes/ISrclang.java b/library/src/main/java/j2html/tags/attributes/ISrclang.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISrclang.java
rename to library/src/main/java/j2html/tags/attributes/ISrclang.java
diff --git a/src/main/java/j2html/tags/attributes/ISrcset.java b/library/src/main/java/j2html/tags/attributes/ISrcset.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ISrcset.java
rename to library/src/main/java/j2html/tags/attributes/ISrcset.java
diff --git a/src/main/java/j2html/tags/attributes/IStart.java b/library/src/main/java/j2html/tags/attributes/IStart.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IStart.java
rename to library/src/main/java/j2html/tags/attributes/IStart.java
diff --git a/src/main/java/j2html/tags/attributes/IStep.java b/library/src/main/java/j2html/tags/attributes/IStep.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IStep.java
rename to library/src/main/java/j2html/tags/attributes/IStep.java
diff --git a/src/main/java/j2html/tags/attributes/ITarget.java b/library/src/main/java/j2html/tags/attributes/ITarget.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/ITarget.java
rename to library/src/main/java/j2html/tags/attributes/ITarget.java
diff --git a/src/main/java/j2html/tags/attributes/IType.java b/library/src/main/java/j2html/tags/attributes/IType.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IType.java
rename to library/src/main/java/j2html/tags/attributes/IType.java
diff --git a/src/main/java/j2html/tags/attributes/IUsemap.java b/library/src/main/java/j2html/tags/attributes/IUsemap.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IUsemap.java
rename to library/src/main/java/j2html/tags/attributes/IUsemap.java
diff --git a/src/main/java/j2html/tags/attributes/IValue.java b/library/src/main/java/j2html/tags/attributes/IValue.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IValue.java
rename to library/src/main/java/j2html/tags/attributes/IValue.java
diff --git a/src/main/java/j2html/tags/attributes/IWidth.java b/library/src/main/java/j2html/tags/attributes/IWidth.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IWidth.java
rename to library/src/main/java/j2html/tags/attributes/IWidth.java
diff --git a/src/main/java/j2html/tags/attributes/IWrap.java b/library/src/main/java/j2html/tags/attributes/IWrap.java
similarity index 100%
rename from src/main/java/j2html/tags/attributes/IWrap.java
rename to library/src/main/java/j2html/tags/attributes/IWrap.java
diff --git a/src/main/java/j2html/tags/specialized/ATag.java b/library/src/main/java/j2html/tags/specialized/ATag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ATag.java
rename to library/src/main/java/j2html/tags/specialized/ATag.java
diff --git a/src/main/java/j2html/tags/specialized/AbbrTag.java b/library/src/main/java/j2html/tags/specialized/AbbrTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/AbbrTag.java
rename to library/src/main/java/j2html/tags/specialized/AbbrTag.java
diff --git a/src/main/java/j2html/tags/specialized/AddressTag.java b/library/src/main/java/j2html/tags/specialized/AddressTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/AddressTag.java
rename to library/src/main/java/j2html/tags/specialized/AddressTag.java
diff --git a/src/main/java/j2html/tags/specialized/AreaTag.java b/library/src/main/java/j2html/tags/specialized/AreaTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/AreaTag.java
rename to library/src/main/java/j2html/tags/specialized/AreaTag.java
diff --git a/src/main/java/j2html/tags/specialized/ArticleTag.java b/library/src/main/java/j2html/tags/specialized/ArticleTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ArticleTag.java
rename to library/src/main/java/j2html/tags/specialized/ArticleTag.java
diff --git a/src/main/java/j2html/tags/specialized/AsideTag.java b/library/src/main/java/j2html/tags/specialized/AsideTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/AsideTag.java
rename to library/src/main/java/j2html/tags/specialized/AsideTag.java
diff --git a/src/main/java/j2html/tags/specialized/AudioTag.java b/library/src/main/java/j2html/tags/specialized/AudioTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/AudioTag.java
rename to library/src/main/java/j2html/tags/specialized/AudioTag.java
diff --git a/src/main/java/j2html/tags/specialized/BTag.java b/library/src/main/java/j2html/tags/specialized/BTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/BTag.java
rename to library/src/main/java/j2html/tags/specialized/BTag.java
diff --git a/src/main/java/j2html/tags/specialized/BaseTag.java b/library/src/main/java/j2html/tags/specialized/BaseTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/BaseTag.java
rename to library/src/main/java/j2html/tags/specialized/BaseTag.java
diff --git a/src/main/java/j2html/tags/specialized/BdiTag.java b/library/src/main/java/j2html/tags/specialized/BdiTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/BdiTag.java
rename to library/src/main/java/j2html/tags/specialized/BdiTag.java
diff --git a/src/main/java/j2html/tags/specialized/BdoTag.java b/library/src/main/java/j2html/tags/specialized/BdoTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/BdoTag.java
rename to library/src/main/java/j2html/tags/specialized/BdoTag.java
diff --git a/src/main/java/j2html/tags/specialized/BlockquoteTag.java b/library/src/main/java/j2html/tags/specialized/BlockquoteTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/BlockquoteTag.java
rename to library/src/main/java/j2html/tags/specialized/BlockquoteTag.java
diff --git a/src/main/java/j2html/tags/specialized/BodyTag.java b/library/src/main/java/j2html/tags/specialized/BodyTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/BodyTag.java
rename to library/src/main/java/j2html/tags/specialized/BodyTag.java
diff --git a/src/main/java/j2html/tags/specialized/BrTag.java b/library/src/main/java/j2html/tags/specialized/BrTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/BrTag.java
rename to library/src/main/java/j2html/tags/specialized/BrTag.java
diff --git a/src/main/java/j2html/tags/specialized/ButtonTag.java b/library/src/main/java/j2html/tags/specialized/ButtonTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ButtonTag.java
rename to library/src/main/java/j2html/tags/specialized/ButtonTag.java
diff --git a/src/main/java/j2html/tags/specialized/CanvasTag.java b/library/src/main/java/j2html/tags/specialized/CanvasTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/CanvasTag.java
rename to library/src/main/java/j2html/tags/specialized/CanvasTag.java
diff --git a/src/main/java/j2html/tags/specialized/CaptionTag.java b/library/src/main/java/j2html/tags/specialized/CaptionTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/CaptionTag.java
rename to library/src/main/java/j2html/tags/specialized/CaptionTag.java
diff --git a/src/main/java/j2html/tags/specialized/CiteTag.java b/library/src/main/java/j2html/tags/specialized/CiteTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/CiteTag.java
rename to library/src/main/java/j2html/tags/specialized/CiteTag.java
diff --git a/src/main/java/j2html/tags/specialized/CodeTag.java b/library/src/main/java/j2html/tags/specialized/CodeTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/CodeTag.java
rename to library/src/main/java/j2html/tags/specialized/CodeTag.java
diff --git a/src/main/java/j2html/tags/specialized/ColTag.java b/library/src/main/java/j2html/tags/specialized/ColTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ColTag.java
rename to library/src/main/java/j2html/tags/specialized/ColTag.java
diff --git a/src/main/java/j2html/tags/specialized/ColgroupTag.java b/library/src/main/java/j2html/tags/specialized/ColgroupTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ColgroupTag.java
rename to library/src/main/java/j2html/tags/specialized/ColgroupTag.java
diff --git a/src/main/java/j2html/tags/specialized/DatalistTag.java b/library/src/main/java/j2html/tags/specialized/DatalistTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DatalistTag.java
rename to library/src/main/java/j2html/tags/specialized/DatalistTag.java
diff --git a/src/main/java/j2html/tags/specialized/DdTag.java b/library/src/main/java/j2html/tags/specialized/DdTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DdTag.java
rename to library/src/main/java/j2html/tags/specialized/DdTag.java
diff --git a/src/main/java/j2html/tags/specialized/DelTag.java b/library/src/main/java/j2html/tags/specialized/DelTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DelTag.java
rename to library/src/main/java/j2html/tags/specialized/DelTag.java
diff --git a/src/main/java/j2html/tags/specialized/DetailsTag.java b/library/src/main/java/j2html/tags/specialized/DetailsTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DetailsTag.java
rename to library/src/main/java/j2html/tags/specialized/DetailsTag.java
diff --git a/src/main/java/j2html/tags/specialized/DfnTag.java b/library/src/main/java/j2html/tags/specialized/DfnTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DfnTag.java
rename to library/src/main/java/j2html/tags/specialized/DfnTag.java
diff --git a/src/main/java/j2html/tags/specialized/DialogTag.java b/library/src/main/java/j2html/tags/specialized/DialogTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DialogTag.java
rename to library/src/main/java/j2html/tags/specialized/DialogTag.java
diff --git a/src/main/java/j2html/tags/specialized/DivTag.java b/library/src/main/java/j2html/tags/specialized/DivTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DivTag.java
rename to library/src/main/java/j2html/tags/specialized/DivTag.java
diff --git a/src/main/java/j2html/tags/specialized/DlTag.java b/library/src/main/java/j2html/tags/specialized/DlTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DlTag.java
rename to library/src/main/java/j2html/tags/specialized/DlTag.java
diff --git a/src/main/java/j2html/tags/specialized/DtTag.java b/library/src/main/java/j2html/tags/specialized/DtTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/DtTag.java
rename to library/src/main/java/j2html/tags/specialized/DtTag.java
diff --git a/src/main/java/j2html/tags/specialized/EmTag.java b/library/src/main/java/j2html/tags/specialized/EmTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/EmTag.java
rename to library/src/main/java/j2html/tags/specialized/EmTag.java
diff --git a/src/main/java/j2html/tags/specialized/EmbedTag.java b/library/src/main/java/j2html/tags/specialized/EmbedTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/EmbedTag.java
rename to library/src/main/java/j2html/tags/specialized/EmbedTag.java
diff --git a/src/main/java/j2html/tags/specialized/FieldsetTag.java b/library/src/main/java/j2html/tags/specialized/FieldsetTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/FieldsetTag.java
rename to library/src/main/java/j2html/tags/specialized/FieldsetTag.java
diff --git a/src/main/java/j2html/tags/specialized/FigcaptionTag.java b/library/src/main/java/j2html/tags/specialized/FigcaptionTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/FigcaptionTag.java
rename to library/src/main/java/j2html/tags/specialized/FigcaptionTag.java
diff --git a/src/main/java/j2html/tags/specialized/FigureTag.java b/library/src/main/java/j2html/tags/specialized/FigureTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/FigureTag.java
rename to library/src/main/java/j2html/tags/specialized/FigureTag.java
diff --git a/src/main/java/j2html/tags/specialized/FooterTag.java b/library/src/main/java/j2html/tags/specialized/FooterTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/FooterTag.java
rename to library/src/main/java/j2html/tags/specialized/FooterTag.java
diff --git a/src/main/java/j2html/tags/specialized/FormTag.java b/library/src/main/java/j2html/tags/specialized/FormTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/FormTag.java
rename to library/src/main/java/j2html/tags/specialized/FormTag.java
diff --git a/library/src/main/java/j2html/tags/specialized/GenerateTag.java b/library/src/main/java/j2html/tags/specialized/GenerateTag.java
new file mode 100644
index 0000000..cd9fe2e
--- /dev/null
+++ b/library/src/main/java/j2html/tags/specialized/GenerateTag.java
@@ -0,0 +1,9 @@
+package j2html.tags.specialized;
+
+import j2html.tags.ContainerTag;
+
+public final class GenerateTag extends ContainerTag {
+ public GenerateTag() {
+ super("generate");
+ }
+}
diff --git a/src/main/java/j2html/tags/specialized/H1Tag.java b/library/src/main/java/j2html/tags/specialized/H1Tag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/H1Tag.java
rename to library/src/main/java/j2html/tags/specialized/H1Tag.java
diff --git a/src/main/java/j2html/tags/specialized/H2Tag.java b/library/src/main/java/j2html/tags/specialized/H2Tag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/H2Tag.java
rename to library/src/main/java/j2html/tags/specialized/H2Tag.java
diff --git a/src/main/java/j2html/tags/specialized/H3Tag.java b/library/src/main/java/j2html/tags/specialized/H3Tag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/H3Tag.java
rename to library/src/main/java/j2html/tags/specialized/H3Tag.java
diff --git a/src/main/java/j2html/tags/specialized/H4Tag.java b/library/src/main/java/j2html/tags/specialized/H4Tag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/H4Tag.java
rename to library/src/main/java/j2html/tags/specialized/H4Tag.java
diff --git a/src/main/java/j2html/tags/specialized/H5Tag.java b/library/src/main/java/j2html/tags/specialized/H5Tag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/H5Tag.java
rename to library/src/main/java/j2html/tags/specialized/H5Tag.java
diff --git a/src/main/java/j2html/tags/specialized/H6Tag.java b/library/src/main/java/j2html/tags/specialized/H6Tag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/H6Tag.java
rename to library/src/main/java/j2html/tags/specialized/H6Tag.java
diff --git a/src/main/java/j2html/tags/specialized/HeadTag.java b/library/src/main/java/j2html/tags/specialized/HeadTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/HeadTag.java
rename to library/src/main/java/j2html/tags/specialized/HeadTag.java
diff --git a/src/main/java/j2html/tags/specialized/HeaderTag.java b/library/src/main/java/j2html/tags/specialized/HeaderTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/HeaderTag.java
rename to library/src/main/java/j2html/tags/specialized/HeaderTag.java
diff --git a/src/main/java/j2html/tags/specialized/HrTag.java b/library/src/main/java/j2html/tags/specialized/HrTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/HrTag.java
rename to library/src/main/java/j2html/tags/specialized/HrTag.java
diff --git a/src/main/java/j2html/tags/specialized/HtmlTag.java b/library/src/main/java/j2html/tags/specialized/HtmlTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/HtmlTag.java
rename to library/src/main/java/j2html/tags/specialized/HtmlTag.java
diff --git a/src/main/java/j2html/tags/specialized/ITag.java b/library/src/main/java/j2html/tags/specialized/ITag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ITag.java
rename to library/src/main/java/j2html/tags/specialized/ITag.java
diff --git a/src/main/java/j2html/tags/specialized/IframeTag.java b/library/src/main/java/j2html/tags/specialized/IframeTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/IframeTag.java
rename to library/src/main/java/j2html/tags/specialized/IframeTag.java
diff --git a/src/main/java/j2html/tags/specialized/ImgTag.java b/library/src/main/java/j2html/tags/specialized/ImgTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ImgTag.java
rename to library/src/main/java/j2html/tags/specialized/ImgTag.java
diff --git a/src/main/java/j2html/tags/specialized/InputTag.java b/library/src/main/java/j2html/tags/specialized/InputTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/InputTag.java
rename to library/src/main/java/j2html/tags/specialized/InputTag.java
diff --git a/src/main/java/j2html/tags/specialized/InsTag.java b/library/src/main/java/j2html/tags/specialized/InsTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/InsTag.java
rename to library/src/main/java/j2html/tags/specialized/InsTag.java
diff --git a/src/main/java/j2html/tags/specialized/KbdTag.java b/library/src/main/java/j2html/tags/specialized/KbdTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/KbdTag.java
rename to library/src/main/java/j2html/tags/specialized/KbdTag.java
diff --git a/src/main/java/j2html/tags/specialized/KeygenTag.java b/library/src/main/java/j2html/tags/specialized/KeygenTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/KeygenTag.java
rename to library/src/main/java/j2html/tags/specialized/KeygenTag.java
diff --git a/src/main/java/j2html/tags/specialized/LabelTag.java b/library/src/main/java/j2html/tags/specialized/LabelTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/LabelTag.java
rename to library/src/main/java/j2html/tags/specialized/LabelTag.java
diff --git a/src/main/java/j2html/tags/specialized/LegendTag.java b/library/src/main/java/j2html/tags/specialized/LegendTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/LegendTag.java
rename to library/src/main/java/j2html/tags/specialized/LegendTag.java
diff --git a/src/main/java/j2html/tags/specialized/LiTag.java b/library/src/main/java/j2html/tags/specialized/LiTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/LiTag.java
rename to library/src/main/java/j2html/tags/specialized/LiTag.java
diff --git a/src/main/java/j2html/tags/specialized/LinkTag.java b/library/src/main/java/j2html/tags/specialized/LinkTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/LinkTag.java
rename to library/src/main/java/j2html/tags/specialized/LinkTag.java
diff --git a/src/main/java/j2html/tags/specialized/MainTag.java b/library/src/main/java/j2html/tags/specialized/MainTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/MainTag.java
rename to library/src/main/java/j2html/tags/specialized/MainTag.java
diff --git a/src/main/java/j2html/tags/specialized/MapTag.java b/library/src/main/java/j2html/tags/specialized/MapTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/MapTag.java
rename to library/src/main/java/j2html/tags/specialized/MapTag.java
diff --git a/src/main/java/j2html/tags/specialized/MarkTag.java b/library/src/main/java/j2html/tags/specialized/MarkTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/MarkTag.java
rename to library/src/main/java/j2html/tags/specialized/MarkTag.java
diff --git a/src/main/java/j2html/tags/specialized/MenuTag.java b/library/src/main/java/j2html/tags/specialized/MenuTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/MenuTag.java
rename to library/src/main/java/j2html/tags/specialized/MenuTag.java
diff --git a/src/main/java/j2html/tags/specialized/MenuitemTag.java b/library/src/main/java/j2html/tags/specialized/MenuitemTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/MenuitemTag.java
rename to library/src/main/java/j2html/tags/specialized/MenuitemTag.java
diff --git a/src/main/java/j2html/tags/specialized/MetaTag.java b/library/src/main/java/j2html/tags/specialized/MetaTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/MetaTag.java
rename to library/src/main/java/j2html/tags/specialized/MetaTag.java
diff --git a/src/main/java/j2html/tags/specialized/MeterTag.java b/library/src/main/java/j2html/tags/specialized/MeterTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/MeterTag.java
rename to library/src/main/java/j2html/tags/specialized/MeterTag.java
diff --git a/src/main/java/j2html/tags/specialized/NavTag.java b/library/src/main/java/j2html/tags/specialized/NavTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/NavTag.java
rename to library/src/main/java/j2html/tags/specialized/NavTag.java
diff --git a/src/main/java/j2html/tags/specialized/NoscriptTag.java b/library/src/main/java/j2html/tags/specialized/NoscriptTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/NoscriptTag.java
rename to library/src/main/java/j2html/tags/specialized/NoscriptTag.java
diff --git a/src/main/java/j2html/tags/specialized/ObjectTag.java b/library/src/main/java/j2html/tags/specialized/ObjectTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ObjectTag.java
rename to library/src/main/java/j2html/tags/specialized/ObjectTag.java
diff --git a/src/main/java/j2html/tags/specialized/OlTag.java b/library/src/main/java/j2html/tags/specialized/OlTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/OlTag.java
rename to library/src/main/java/j2html/tags/specialized/OlTag.java
diff --git a/src/main/java/j2html/tags/specialized/OptgroupTag.java b/library/src/main/java/j2html/tags/specialized/OptgroupTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/OptgroupTag.java
rename to library/src/main/java/j2html/tags/specialized/OptgroupTag.java
diff --git a/src/main/java/j2html/tags/specialized/OptionTag.java b/library/src/main/java/j2html/tags/specialized/OptionTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/OptionTag.java
rename to library/src/main/java/j2html/tags/specialized/OptionTag.java
diff --git a/src/main/java/j2html/tags/specialized/OutputTag.java b/library/src/main/java/j2html/tags/specialized/OutputTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/OutputTag.java
rename to library/src/main/java/j2html/tags/specialized/OutputTag.java
diff --git a/src/main/java/j2html/tags/specialized/PTag.java b/library/src/main/java/j2html/tags/specialized/PTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/PTag.java
rename to library/src/main/java/j2html/tags/specialized/PTag.java
diff --git a/src/main/java/j2html/tags/specialized/ParamTag.java b/library/src/main/java/j2html/tags/specialized/ParamTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ParamTag.java
rename to library/src/main/java/j2html/tags/specialized/ParamTag.java
diff --git a/src/main/java/j2html/tags/specialized/PreTag.java b/library/src/main/java/j2html/tags/specialized/PreTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/PreTag.java
rename to library/src/main/java/j2html/tags/specialized/PreTag.java
diff --git a/src/main/java/j2html/tags/specialized/ProgressTag.java b/library/src/main/java/j2html/tags/specialized/ProgressTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ProgressTag.java
rename to library/src/main/java/j2html/tags/specialized/ProgressTag.java
diff --git a/src/main/java/j2html/tags/specialized/QTag.java b/library/src/main/java/j2html/tags/specialized/QTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/QTag.java
rename to library/src/main/java/j2html/tags/specialized/QTag.java
diff --git a/src/main/java/j2html/tags/specialized/RpTag.java b/library/src/main/java/j2html/tags/specialized/RpTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/RpTag.java
rename to library/src/main/java/j2html/tags/specialized/RpTag.java
diff --git a/src/main/java/j2html/tags/specialized/RtTag.java b/library/src/main/java/j2html/tags/specialized/RtTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/RtTag.java
rename to library/src/main/java/j2html/tags/specialized/RtTag.java
diff --git a/src/main/java/j2html/tags/specialized/RubyTag.java b/library/src/main/java/j2html/tags/specialized/RubyTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/RubyTag.java
rename to library/src/main/java/j2html/tags/specialized/RubyTag.java
diff --git a/src/main/java/j2html/tags/specialized/STag.java b/library/src/main/java/j2html/tags/specialized/STag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/STag.java
rename to library/src/main/java/j2html/tags/specialized/STag.java
diff --git a/src/main/java/j2html/tags/specialized/SampTag.java b/library/src/main/java/j2html/tags/specialized/SampTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SampTag.java
rename to library/src/main/java/j2html/tags/specialized/SampTag.java
diff --git a/src/main/java/j2html/tags/specialized/ScriptTag.java b/library/src/main/java/j2html/tags/specialized/ScriptTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ScriptTag.java
rename to library/src/main/java/j2html/tags/specialized/ScriptTag.java
diff --git a/src/main/java/j2html/tags/specialized/SectionTag.java b/library/src/main/java/j2html/tags/specialized/SectionTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SectionTag.java
rename to library/src/main/java/j2html/tags/specialized/SectionTag.java
diff --git a/src/main/java/j2html/tags/specialized/SelectTag.java b/library/src/main/java/j2html/tags/specialized/SelectTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SelectTag.java
rename to library/src/main/java/j2html/tags/specialized/SelectTag.java
diff --git a/src/main/java/j2html/tags/specialized/SmallTag.java b/library/src/main/java/j2html/tags/specialized/SmallTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SmallTag.java
rename to library/src/main/java/j2html/tags/specialized/SmallTag.java
diff --git a/src/main/java/j2html/tags/specialized/SourceTag.java b/library/src/main/java/j2html/tags/specialized/SourceTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SourceTag.java
rename to library/src/main/java/j2html/tags/specialized/SourceTag.java
diff --git a/src/main/java/j2html/tags/specialized/SpanTag.java b/library/src/main/java/j2html/tags/specialized/SpanTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SpanTag.java
rename to library/src/main/java/j2html/tags/specialized/SpanTag.java
diff --git a/src/main/java/j2html/tags/specialized/StrongTag.java b/library/src/main/java/j2html/tags/specialized/StrongTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/StrongTag.java
rename to library/src/main/java/j2html/tags/specialized/StrongTag.java
diff --git a/src/main/java/j2html/tags/specialized/StyleTag.java b/library/src/main/java/j2html/tags/specialized/StyleTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/StyleTag.java
rename to library/src/main/java/j2html/tags/specialized/StyleTag.java
diff --git a/src/main/java/j2html/tags/specialized/SubTag.java b/library/src/main/java/j2html/tags/specialized/SubTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SubTag.java
rename to library/src/main/java/j2html/tags/specialized/SubTag.java
diff --git a/src/main/java/j2html/tags/specialized/SummaryTag.java b/library/src/main/java/j2html/tags/specialized/SummaryTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SummaryTag.java
rename to library/src/main/java/j2html/tags/specialized/SummaryTag.java
diff --git a/src/main/java/j2html/tags/specialized/SupTag.java b/library/src/main/java/j2html/tags/specialized/SupTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/SupTag.java
rename to library/src/main/java/j2html/tags/specialized/SupTag.java
diff --git a/src/main/java/j2html/tags/specialized/TableTag.java b/library/src/main/java/j2html/tags/specialized/TableTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TableTag.java
rename to library/src/main/java/j2html/tags/specialized/TableTag.java
diff --git a/src/main/java/j2html/tags/specialized/TbodyTag.java b/library/src/main/java/j2html/tags/specialized/TbodyTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TbodyTag.java
rename to library/src/main/java/j2html/tags/specialized/TbodyTag.java
diff --git a/src/main/java/j2html/tags/specialized/TdTag.java b/library/src/main/java/j2html/tags/specialized/TdTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TdTag.java
rename to library/src/main/java/j2html/tags/specialized/TdTag.java
diff --git a/src/main/java/j2html/tags/specialized/TextAreaTag.java b/library/src/main/java/j2html/tags/specialized/TextAreaTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TextAreaTag.java
rename to library/src/main/java/j2html/tags/specialized/TextAreaTag.java
diff --git a/src/main/java/j2html/tags/specialized/TextareaTag.java b/library/src/main/java/j2html/tags/specialized/TextareaTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TextareaTag.java
rename to library/src/main/java/j2html/tags/specialized/TextareaTag.java
diff --git a/src/main/java/j2html/tags/specialized/TfootTag.java b/library/src/main/java/j2html/tags/specialized/TfootTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TfootTag.java
rename to library/src/main/java/j2html/tags/specialized/TfootTag.java
diff --git a/src/main/java/j2html/tags/specialized/ThTag.java b/library/src/main/java/j2html/tags/specialized/ThTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/ThTag.java
rename to library/src/main/java/j2html/tags/specialized/ThTag.java
diff --git a/src/main/java/j2html/tags/specialized/TheadTag.java b/library/src/main/java/j2html/tags/specialized/TheadTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TheadTag.java
rename to library/src/main/java/j2html/tags/specialized/TheadTag.java
diff --git a/src/main/java/j2html/tags/specialized/TimeTag.java b/library/src/main/java/j2html/tags/specialized/TimeTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TimeTag.java
rename to library/src/main/java/j2html/tags/specialized/TimeTag.java
diff --git a/src/main/java/j2html/tags/specialized/TitleTag.java b/library/src/main/java/j2html/tags/specialized/TitleTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TitleTag.java
rename to library/src/main/java/j2html/tags/specialized/TitleTag.java
diff --git a/src/main/java/j2html/tags/specialized/TrTag.java b/library/src/main/java/j2html/tags/specialized/TrTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TrTag.java
rename to library/src/main/java/j2html/tags/specialized/TrTag.java
diff --git a/src/main/java/j2html/tags/specialized/TrackTag.java b/library/src/main/java/j2html/tags/specialized/TrackTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/TrackTag.java
rename to library/src/main/java/j2html/tags/specialized/TrackTag.java
diff --git a/src/main/java/j2html/tags/specialized/UTag.java b/library/src/main/java/j2html/tags/specialized/UTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/UTag.java
rename to library/src/main/java/j2html/tags/specialized/UTag.java
diff --git a/src/main/java/j2html/tags/specialized/UlTag.java b/library/src/main/java/j2html/tags/specialized/UlTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/UlTag.java
rename to library/src/main/java/j2html/tags/specialized/UlTag.java
diff --git a/src/main/java/j2html/tags/specialized/VarTag.java b/library/src/main/java/j2html/tags/specialized/VarTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/VarTag.java
rename to library/src/main/java/j2html/tags/specialized/VarTag.java
diff --git a/src/main/java/j2html/tags/specialized/VideoTag.java b/library/src/main/java/j2html/tags/specialized/VideoTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/VideoTag.java
rename to library/src/main/java/j2html/tags/specialized/VideoTag.java
diff --git a/src/main/java/j2html/tags/specialized/WbrTag.java b/library/src/main/java/j2html/tags/specialized/WbrTag.java
similarity index 100%
rename from src/main/java/j2html/tags/specialized/WbrTag.java
rename to library/src/main/java/j2html/tags/specialized/WbrTag.java
diff --git a/src/main/java/j2html/utils/CSSMin.java b/library/src/main/java/j2html/utils/CSSMin.java
similarity index 100%
rename from src/main/java/j2html/utils/CSSMin.java
rename to library/src/main/java/j2html/utils/CSSMin.java
diff --git a/src/main/java/j2html/utils/EscapeUtil.java b/library/src/main/java/j2html/utils/EscapeUtil.java
similarity index 100%
rename from src/main/java/j2html/utils/EscapeUtil.java
rename to library/src/main/java/j2html/utils/EscapeUtil.java
diff --git a/src/main/java/j2html/utils/Indenter.java b/library/src/main/java/j2html/utils/Indenter.java
similarity index 100%
rename from src/main/java/j2html/utils/Indenter.java
rename to library/src/main/java/j2html/utils/Indenter.java
diff --git a/src/main/java/j2html/utils/JSMin.java b/library/src/main/java/j2html/utils/JSMin.java
similarity index 100%
rename from src/main/java/j2html/utils/JSMin.java
rename to library/src/main/java/j2html/utils/JSMin.java
diff --git a/src/main/java/j2html/utils/Minifier.java b/library/src/main/java/j2html/utils/Minifier.java
similarity index 100%
rename from src/main/java/j2html/utils/Minifier.java
rename to library/src/main/java/j2html/utils/Minifier.java
diff --git a/src/main/java/j2html/utils/TextEscaper.java b/library/src/main/java/j2html/utils/TextEscaper.java
similarity index 100%
rename from src/main/java/j2html/utils/TextEscaper.java
rename to library/src/main/java/j2html/utils/TextEscaper.java
diff --git a/src/test/files/AnyContent.java b/library/src/test/files/AnyContent.java
similarity index 100%
rename from src/test/files/AnyContent.java
rename to library/src/test/files/AnyContent.java
diff --git a/src/test/files/test.css b/library/src/test/files/test.css
similarity index 100%
rename from src/test/files/test.css
rename to library/src/test/files/test.css
diff --git a/src/test/files/test.html b/library/src/test/files/test.html
similarity index 100%
rename from src/test/files/test.html
rename to library/src/test/files/test.html
diff --git a/src/test/files/test.js b/library/src/test/files/test.js
similarity index 100%
rename from src/test/files/test.js
rename to library/src/test/files/test.js
diff --git a/src/test/java/j2html/PerformanceTest.java b/library/src/test/java/j2html/PerformanceTest.java
similarity index 100%
rename from src/test/java/j2html/PerformanceTest.java
rename to library/src/test/java/j2html/PerformanceTest.java
diff --git a/src/test/java/j2html/RenderPerformanceTest.java b/library/src/test/java/j2html/RenderPerformanceTest.java
similarity index 100%
rename from src/test/java/j2html/RenderPerformanceTest.java
rename to library/src/test/java/j2html/RenderPerformanceTest.java
diff --git a/src/test/java/j2html/TextEscaperTest.java b/library/src/test/java/j2html/TextEscaperTest.java
similarity index 100%
rename from src/test/java/j2html/TextEscaperTest.java
rename to library/src/test/java/j2html/TextEscaperTest.java
diff --git a/src/test/java/j2html/attributes/AttrShortFormTest.java b/library/src/test/java/j2html/attributes/AttrShortFormTest.java
similarity index 100%
rename from src/test/java/j2html/attributes/AttrShortFormTest.java
rename to library/src/test/java/j2html/attributes/AttrShortFormTest.java
diff --git a/src/test/java/j2html/attributes/AttributeTest.java b/library/src/test/java/j2html/attributes/AttributeTest.java
similarity index 100%
rename from src/test/java/j2html/attributes/AttributeTest.java
rename to library/src/test/java/j2html/attributes/AttributeTest.java
diff --git a/src/test/java/j2html/comparison/ComparisonData.java b/library/src/test/java/j2html/comparison/ComparisonData.java
similarity index 100%
rename from src/test/java/j2html/comparison/ComparisonData.java
rename to library/src/test/java/j2html/comparison/ComparisonData.java
diff --git a/src/test/java/j2html/comparison/RenderPerformanceComparisonTest.java b/library/src/test/java/j2html/comparison/RenderPerformanceComparisonTest.java
similarity index 100%
rename from src/test/java/j2html/comparison/RenderPerformanceComparisonTest.java
rename to library/src/test/java/j2html/comparison/RenderPerformanceComparisonTest.java
diff --git a/src/test/java/j2html/comparison/TestJ2html.java b/library/src/test/java/j2html/comparison/TestJ2html.java
similarity index 100%
rename from src/test/java/j2html/comparison/TestJ2html.java
rename to library/src/test/java/j2html/comparison/TestJ2html.java
diff --git a/src/test/java/j2html/comparison/TestVelocity.java b/library/src/test/java/j2html/comparison/TestVelocity.java
similarity index 100%
rename from src/test/java/j2html/comparison/TestVelocity.java
rename to library/src/test/java/j2html/comparison/TestVelocity.java
diff --git a/src/test/java/j2html/comparison/j2html/FiveHundredEmployees.java b/library/src/test/java/j2html/comparison/j2html/FiveHundredEmployees.java
similarity index 100%
rename from src/test/java/j2html/comparison/j2html/FiveHundredEmployees.java
rename to library/src/test/java/j2html/comparison/j2html/FiveHundredEmployees.java
diff --git a/src/test/java/j2html/comparison/j2html/HelloWorld.java b/library/src/test/java/j2html/comparison/j2html/HelloWorld.java
similarity index 100%
rename from src/test/java/j2html/comparison/j2html/HelloWorld.java
rename to library/src/test/java/j2html/comparison/j2html/HelloWorld.java
diff --git a/src/test/java/j2html/comparison/j2html/Macros.java b/library/src/test/java/j2html/comparison/j2html/Macros.java
similarity index 100%
rename from src/test/java/j2html/comparison/j2html/Macros.java
rename to library/src/test/java/j2html/comparison/j2html/Macros.java
diff --git a/src/test/java/j2html/comparison/j2html/MultiplicationTable.java b/library/src/test/java/j2html/comparison/j2html/MultiplicationTable.java
similarity index 100%
rename from src/test/java/j2html/comparison/j2html/MultiplicationTable.java
rename to library/src/test/java/j2html/comparison/j2html/MultiplicationTable.java
diff --git a/src/test/java/j2html/comparison/model/Employee.java b/library/src/test/java/j2html/comparison/model/Employee.java
similarity index 100%
rename from src/test/java/j2html/comparison/model/Employee.java
rename to library/src/test/java/j2html/comparison/model/Employee.java
diff --git a/src/test/java/j2html/model/BrowserTitle.java b/library/src/test/java/j2html/model/BrowserTitle.java
similarity index 100%
rename from src/test/java/j2html/model/BrowserTitle.java
rename to library/src/test/java/j2html/model/BrowserTitle.java
diff --git a/src/test/java/j2html/model/Button.java b/library/src/test/java/j2html/model/Button.java
similarity index 100%
rename from src/test/java/j2html/model/Button.java
rename to library/src/test/java/j2html/model/Button.java
diff --git a/src/test/java/j2html/model/ButtonModel.java b/library/src/test/java/j2html/model/ButtonModel.java
similarity index 100%
rename from src/test/java/j2html/model/ButtonModel.java
rename to library/src/test/java/j2html/model/ButtonModel.java
diff --git a/src/test/java/j2html/model/DynamicHrefAttribute.java b/library/src/test/java/j2html/model/DynamicHrefAttribute.java
similarity index 95%
rename from src/test/java/j2html/model/DynamicHrefAttribute.java
rename to library/src/test/java/j2html/model/DynamicHrefAttribute.java
index c8edf77..d175a62 100644
--- a/src/test/java/j2html/model/DynamicHrefAttribute.java
+++ b/library/src/test/java/j2html/model/DynamicHrefAttribute.java
@@ -1,24 +1,24 @@
-package j2html.model;
-
-import j2html.attributes.Attribute;
-import java.io.IOException;
-
-public class DynamicHrefAttribute extends Attribute {
-
- public DynamicHrefAttribute() {
- super("href");
- }
-
- @Override
- public void renderModel(Appendable writer, Object model) throws IOException {
- writer.append(" ");
- writer.append(getName());
- writer.append("=\"");
- writer.append(getUrl(model));
- writer.append("\"");
- }
-
- public String getUrl(Object model) {
- return "/";
- }
-}
+package j2html.model;
+
+import j2html.attributes.Attribute;
+import java.io.IOException;
+
+public class DynamicHrefAttribute extends Attribute {
+
+ public DynamicHrefAttribute() {
+ super("href");
+ }
+
+ @Override
+ public void renderModel(Appendable writer, Object model) throws IOException {
+ writer.append(" ");
+ writer.append(getName());
+ writer.append("=\"");
+ writer.append(getUrl(model));
+ writer.append("\"");
+ }
+
+ public String getUrl(Object model) {
+ return "/";
+ }
+}
diff --git a/src/test/java/j2html/model/PageModel.java b/library/src/test/java/j2html/model/PageModel.java
similarity index 100%
rename from src/test/java/j2html/model/PageModel.java
rename to library/src/test/java/j2html/model/PageModel.java
diff --git a/src/test/java/j2html/model/Template.java b/library/src/test/java/j2html/model/Template.java
similarity index 100%
rename from src/test/java/j2html/model/Template.java
rename to library/src/test/java/j2html/model/Template.java
diff --git a/src/test/java/j2html/model/TextTemplate.java b/library/src/test/java/j2html/model/TextTemplate.java
similarity index 100%
rename from src/test/java/j2html/model/TextTemplate.java
rename to library/src/test/java/j2html/model/TextTemplate.java
diff --git a/src/test/java/j2html/tags/AttributesPerTagTest.java b/library/src/test/java/j2html/tags/AttributesPerTagTest.java
similarity index 100%
rename from src/test/java/j2html/tags/AttributesPerTagTest.java
rename to library/src/test/java/j2html/tags/AttributesPerTagTest.java
diff --git a/src/test/java/j2html/tags/ComplexRenderTest.java b/library/src/test/java/j2html/tags/ComplexRenderTest.java
similarity index 100%
rename from src/test/java/j2html/tags/ComplexRenderTest.java
rename to library/src/test/java/j2html/tags/ComplexRenderTest.java
diff --git a/src/test/java/j2html/tags/ConvenienceMethodTest.java b/library/src/test/java/j2html/tags/ConvenienceMethodTest.java
similarity index 100%
rename from src/test/java/j2html/tags/ConvenienceMethodTest.java
rename to library/src/test/java/j2html/tags/ConvenienceMethodTest.java
diff --git a/src/test/java/j2html/tags/InlineStaticResourceTest.java b/library/src/test/java/j2html/tags/InlineStaticResourceTest.java
similarity index 100%
rename from src/test/java/j2html/tags/InlineStaticResourceTest.java
rename to library/src/test/java/j2html/tags/InlineStaticResourceTest.java
diff --git a/src/test/java/j2html/tags/RenderFormattedTest.java b/library/src/test/java/j2html/tags/RenderFormattedTest.java
similarity index 100%
rename from src/test/java/j2html/tags/RenderFormattedTest.java
rename to library/src/test/java/j2html/tags/RenderFormattedTest.java
diff --git a/src/test/java/j2html/tags/TagCreatorTest.java b/library/src/test/java/j2html/tags/TagCreatorTest.java
similarity index 100%
rename from src/test/java/j2html/tags/TagCreatorTest.java
rename to library/src/test/java/j2html/tags/TagCreatorTest.java
diff --git a/src/test/java/j2html/tags/TagTest.java b/library/src/test/java/j2html/tags/TagTest.java
similarity index 100%
rename from src/test/java/j2html/tags/TagTest.java
rename to library/src/test/java/j2html/tags/TagTest.java
diff --git a/src/test/java/j2html/tags/TestClasses.java b/library/src/test/java/j2html/tags/TestClasses.java
similarity index 100%
rename from src/test/java/j2html/tags/TestClasses.java
rename to library/src/test/java/j2html/tags/TestClasses.java
diff --git a/src/test/resources/AnyContent.java b/library/src/test/resources/AnyContent.java
similarity index 100%
rename from src/test/resources/AnyContent.java
rename to library/src/test/resources/AnyContent.java
diff --git a/src/test/resources/comparison/velocity/fiveHundredEmployees.vm b/library/src/test/resources/comparison/velocity/fiveHundredEmployees.vm
similarity index 100%
rename from src/test/resources/comparison/velocity/fiveHundredEmployees.vm
rename to library/src/test/resources/comparison/velocity/fiveHundredEmployees.vm
diff --git a/src/test/resources/comparison/velocity/helloWorld.vm b/library/src/test/resources/comparison/velocity/helloWorld.vm
similarity index 100%
rename from src/test/resources/comparison/velocity/helloWorld.vm
rename to library/src/test/resources/comparison/velocity/helloWorld.vm
diff --git a/src/test/resources/comparison/velocity/macros.vm b/library/src/test/resources/comparison/velocity/macros.vm
similarity index 100%
rename from src/test/resources/comparison/velocity/macros.vm
rename to library/src/test/resources/comparison/velocity/macros.vm
diff --git a/src/test/resources/comparison/velocity/multiplicationTable.vm b/library/src/test/resources/comparison/velocity/multiplicationTable.vm
similarity index 100%
rename from src/test/resources/comparison/velocity/multiplicationTable.vm
rename to library/src/test/resources/comparison/velocity/multiplicationTable.vm
diff --git a/src/test/resources/test-without-trailing-semis.css b/library/src/test/resources/test-without-trailing-semis.css
similarity index 100%
rename from src/test/resources/test-without-trailing-semis.css
rename to library/src/test/resources/test-without-trailing-semis.css
diff --git a/src/test/resources/test.css b/library/src/test/resources/test.css
similarity index 100%
rename from src/test/resources/test.css
rename to library/src/test/resources/test.css
diff --git a/src/test/resources/test.html b/library/src/test/resources/test.html
similarity index 100%
rename from src/test/resources/test.html
rename to library/src/test/resources/test.html
diff --git a/src/test/resources/test.js b/library/src/test/resources/test.js
similarity index 100%
rename from src/test/resources/test.js
rename to library/src/test/resources/test.js