New Grammar implemented by Harsh, for more information see documentation
diff --git a/cli/pom.xml b/cli/pom.xml
old mode 100644
new mode 100755
index 9fd8fad..8cc7af7
--- a/cli/pom.xml
+++ b/cli/pom.xml
@@ -1,86 +1,86 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Copyright 2011, TAUTUA
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <parent>
-        <groupId>org.tautua.markdownpapers</groupId>
-        <artifactId>markdownpapers-parent</artifactId>
-        <version>1.2.7</version>
-        <relativePath>../parent/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.tautua.markdownpapers</groupId>
-    <artifactId>markdownpapers-cli</artifactId>
-    <name>MarkdownPapers Command Line Interface</name>
-    <dependencies>
-        <dependency>
-            <groupId>org.tautua.markdownpapers</groupId>
-            <artifactId>markdownpapers-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-cli</groupId>
-            <artifactId>commons-cli</artifactId>
-            <version>1.2</version>
-        </dependency>
-    </dependencies>
-    <profiles>
-        <profile>
-            <id>dist</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <version>2.2-beta-5</version>
-                        <executions>
-                            <execution>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>attached</goal>
-                                </goals>
-                                <configuration>
-                                    <appendAssemblyId>false</appendAssemblyId>
-                                    <finalName>markdownpapers-${project.version}</finalName>
-                                    <descriptors>
-                                        <descriptor>${basedir}/src/main/assembly/distribution.xml</descriptor>
-                                    </descriptors>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>2.3</version>
-                <configuration>
-                    <archive>
-                        <manifest>
-                            <mainClass>org.tautua.markdownpapers.cli.Main</mainClass>
-                        </manifest>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Copyright 2011, TAUTUA

+

+  Licensed under the Apache License, Version 2.0 (the "License");

+  you may not use this file except in compliance with the License.

+  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+  -->

+

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+    <parent>

+        <groupId>org.tautua.markdownpapers</groupId>

+        <artifactId>markdownpapers-parent</artifactId>

+        <version>1.2.7</version>

+        <relativePath>../parent/pom.xml</relativePath>

+    </parent>

+    <modelVersion>4.0.0</modelVersion>

+    <groupId>org.tautua.markdownpapers</groupId>

+    <artifactId>markdownpapers-cli</artifactId>

+    <name>MarkdownPapers Command Line Interface</name>

+    <dependencies>

+        <dependency>

+            <groupId>org.tautua.markdownpapers</groupId>

+            <artifactId>markdownpapers-core</artifactId>

+            <version>${project.version}</version>

+        </dependency>

+        <dependency>

+            <groupId>commons-cli</groupId>

+            <artifactId>commons-cli</artifactId>

+            <version>1.2</version>

+        </dependency>

+    </dependencies>

+    <profiles>

+        <profile>

+            <id>dist</id>

+            <build>

+                <plugins>

+                    <plugin>

+                        <groupId>org.apache.maven.plugins</groupId>

+                        <artifactId>maven-assembly-plugin</artifactId>

+                        <version>2.2-beta-5</version>

+                        <executions>

+                            <execution>

+                                <phase>package</phase>

+                                <goals>

+                                    <goal>attached</goal>

+                                </goals>

+                                <configuration>

+                                    <appendAssemblyId>false</appendAssemblyId>

+                                    <finalName>markdownpapers-${project.version}</finalName>

+                                    <descriptors>

+                                        <descriptor>${basedir}/src/main/assembly/distribution.xml</descriptor>

+                                    </descriptors>

+                                </configuration>

+                            </execution>

+                        </executions>

+                    </plugin>

+                </plugins>

+            </build>

+        </profile>

+    </profiles>

+    <build>

+        <plugins>

+            <plugin>

+                <groupId>org.apache.maven.plugins</groupId>

+                <artifactId>maven-jar-plugin</artifactId>

+                <version>2.3</version>

+                <configuration>

+                    <archive>

+                        <manifest>

+                            <mainClass>org.tautua.markdownpapers.cli.Main</mainClass>

+                        </manifest>

+                    </archive>

+                </configuration>

+            </plugin>

+        </plugins>

+    </build>

+</project>

diff --git a/cli/src/main/assembly/distribution.xml b/cli/src/main/assembly/distribution.xml
old mode 100644
new mode 100755
index 639ff5d..08314af
--- a/cli/src/main/assembly/distribution.xml
+++ b/cli/src/main/assembly/distribution.xml
@@ -1,46 +1,46 @@
-<!--
-  Copyright 2011, TAUTUA
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd">
-    <id>distribution</id>
-    <formats>
-        <format>tar.gz</format>
-        <format>zip</format>
-    </formats>
-    <dependencySets>
-        <dependencySet>
-            <outputDirectory>lib</outputDirectory>
-        </dependencySet>
-    </dependencySets>
-    <fileSets>
-        <fileSet>
-            <includes>
-                <include>${project.basedir}/README*</include>
-                <include>${project.basedir}/LICENSE*</include>
-                <include>${project.basedir}/NOTICE*</include>
-            </includes>
-        </fileSet>
-        <fileSet>
-            <directory>${project.basedir}/src/main/bin</directory>
-            <outputDirectory>bin</outputDirectory>
-            <fileMode>0755</fileMode>
-            <directoryMode>0755</directoryMode>
-        </fileSet>
-    </fileSets>
-</assembly>
-
+<!--

+  Copyright 2011, TAUTUA

+

+  Licensed under the Apache License, Version 2.0 (the "License");

+  you may not use this file except in compliance with the License.

+  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+  -->

+

+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1"

+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd">

+    <id>distribution</id>

+    <formats>

+        <format>tar.gz</format>

+        <format>zip</format>

+    </formats>

+    <dependencySets>

+        <dependencySet>

+            <outputDirectory>lib</outputDirectory>

+        </dependencySet>

+    </dependencySets>

+    <fileSets>

+        <fileSet>

+            <includes>

+                <include>${project.basedir}/README*</include>

+                <include>${project.basedir}/LICENSE*</include>

+                <include>${project.basedir}/NOTICE*</include>

+            </includes>

+        </fileSet>

+        <fileSet>

+            <directory>${project.basedir}/src/main/bin</directory>

+            <outputDirectory>bin</outputDirectory>

+            <fileMode>0755</fileMode>

+            <directoryMode>0755</directoryMode>

+        </fileSet>

+    </fileSets>

+</assembly>

+

diff --git a/cli/src/main/bin/mdpapers b/cli/src/main/bin/mdpapers
old mode 100644
new mode 100755
index 2e4cde0..f93539f
--- a/cli/src/main/bin/mdpapers
+++ b/cli/src/main/bin/mdpapers
@@ -1,10 +1,10 @@
-#!/bin/bash
-
-LIB="`dirname $0`/../lib"
-JARS="$LIB/commons-cli-1.2.jar:$LIB/markdownpapers-core-0.1.0-SNAPSHOT.jar:$LIB/markdownpapers-cli-0.1.0-SNAPSHOT.jar"
-
-case "`uname`" in
-     CYGWIN*) JAR="`cygpath --windows -- "$JAR"`" ;;
-esac
-
-java -classpath "$JARS" org.tautua.markdownpapers.cli.Main "$@"
+#!/bin/bash

+

+LIB="`dirname $0`/../lib"

+JARS="$LIB/commons-cli-1.2.jar:$LIB/markdownpapers-core-0.1.0-SNAPSHOT.jar:$LIB/markdownpapers-cli-0.1.0-SNAPSHOT.jar"

+

+case "`uname`" in

+     CYGWIN*) JAR="`cygpath --windows -- "$JAR"`" ;;

+esac

+

+java -classpath "$JARS" org.tautua.markdownpapers.cli.Main "$@"

diff --git a/cli/src/main/bin/mdpapers.bat b/cli/src/main/bin/mdpapers.bat
old mode 100644
new mode 100755
index 14acda6..ae293dc
--- a/cli/src/main/bin/mdpapers.bat
+++ b/cli/src/main/bin/mdpapers.bat
@@ -1,7 +1,7 @@
-
-@echo off
-
-set LIB = "%~dp0..\lib"
-set JARS = "%LIB%\commons-cli-1.2.jar;%LIB%\markdownpapers-core-0.1.0-SNAPSHOT.jar;%LIB%\markdownpapers-cli-0.1.0-SNAPSHOT.jar"
-
-java -classpath "%JARS%" org.tautua.markdownpapers.cli.Main "$@"
+

+@echo off

+

+set LIB = "%~dp0..\lib"

+set JARS = "%LIB%\commons-cli-1.2.jar;%LIB%\markdownpapers-core-0.1.0-SNAPSHOT.jar;%LIB%\markdownpapers-cli-0.1.0-SNAPSHOT.jar"

+

+java -classpath "%JARS%" org.tautua.markdownpapers.cli.Main "$@"

diff --git a/cli/src/main/java/org/tautua/markdownpapers/cli/Main.java b/cli/src/main/java/org/tautua/markdownpapers/cli/Main.java
old mode 100644
new mode 100755
index 684ce9b..8ab896d
--- a/cli/src/main/java/org/tautua/markdownpapers/cli/Main.java
+++ b/cli/src/main/java/org/tautua/markdownpapers/cli/Main.java
@@ -1,129 +1,129 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.cli;
-
-import org.apache.commons.cli.*;
-import org.tautua.markdownpapers.Markdown;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * @author Larry Ruiz
- */
-public class Main {
-    private static final String DEFAULT_INPUT_EXTENSION = ".md";
-    private static final String OUTPUT_EXTENSION = ".html";
-
-    private CommandLine commandLine;
-    private Options options;
-    private boolean badUsage;
-    private File input;
-    private File outputDirectory;
-
-    private Writer consoleOut;
-
-
-    public Main(String[] arguments) throws Exception {
-        this(arguments, new OutputStreamWriter(System.out));
-    }
-
-
-    public Main(String[] arguments, Writer consoleOut) throws Exception {
-        CommandLineParser parser = new PosixParser();
-        options = getOptions();
-        commandLine = parser.parse(options, arguments);
-        this.consoleOut = consoleOut;
-        badUsage = commandLine.getArgList().isEmpty();
-    }
-
-    private static Options getOptions() {
-        Options options = new Options();
-        options.addOption("o", true, "output directory");
-        options.addOption("r", false, "recursive");
-        options.addOption("h", false, "help");
-        return options;
-    }
-
-    public void execute() throws Exception {
-        if (badUsage) {                 
-            HelpFormatter formatter = new HelpFormatter();
-            formatter.printHelp("mdpapers <input> [options]", options);
-        } else {
-            String inputArg = commandLine.getArgs()[0];
-            input = ((inputArg == null) ? new File(".") : new File(inputArg));
-
-            String outputArg = commandLine.getOptionValue("o");
-            outputDirectory = ((outputArg == null) ? new File(".") : new File(outputArg));
-
-            Collection<File> files = searchInputs();
-            if (files.isEmpty()) {
-                consoleOut.write("file or directory does not exist.\n");
-            } else {
-                for (File markdown : files) {
-                    transform(markdown);
-                }
-            }
-        }
-        consoleOut.flush();
-    }
-
-    private Collection<File> searchInputs() {
-        return searchInputsAt(input);
-    }
-
-    private Collection<File> searchInputsAt(File lookAt) {
-        if (!lookAt.exists()) {
-            return Collections.emptyList();
-        } else if (lookAt.isFile()) {
-            return Arrays.asList(lookAt);
-        }
-
-        Collection<File> cache = new ArrayList<File>();
-        for (File candidate : lookAt.listFiles()) {
-            if (candidate.isDirectory() && commandLine.hasOption("r")) {
-                cache.addAll(searchInputsAt(candidate));
-            } else if (candidate.getName().endsWith(DEFAULT_INPUT_EXTENSION)){
-                cache.add(candidate);
-            }
-        }
-
-        return cache;
-    }
-
-    public void transform(File markdown) throws Exception {
-        Reader in = new FileReader(markdown);
-        Writer out = new FileWriter(getOutputFile(markdown));
-        transform(in, out);
-        out.flush();
-        out.close();
-    }
-
-    private File getOutputFile(File markdown) {
-        return new File(markdown.getAbsolutePath().substring(0, markdown.getAbsolutePath().lastIndexOf("."))
-                + OUTPUT_EXTENSION);
-    }
-
-    public void transform(Reader in, Writer out) throws org.tautua.markdownpapers.parser.ParseException {
-        Markdown md = new Markdown();
-        md.transform(in, out);
-    }
-
-    public static void main(String[] arguments) throws Exception {
-        new Main(arguments).execute();
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.cli;

+

+import org.apache.commons.cli.*;

+import org.tautua.markdownpapers.Markdown;

+

+import java.io.*;

+import java.util.*;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Main {

+    private static final String DEFAULT_INPUT_EXTENSION = ".md";

+    private static final String OUTPUT_EXTENSION = ".html";

+

+    private CommandLine commandLine;

+    private Options options;

+    private boolean badUsage;

+    private File input;

+    private File outputDirectory;

+

+    private Writer consoleOut;

+

+

+    public Main(String[] arguments) throws Exception {

+        this(arguments, new OutputStreamWriter(System.out));

+    }

+

+

+    public Main(String[] arguments, Writer consoleOut) throws Exception {

+        CommandLineParser parser = new PosixParser();

+        options = getOptions();

+        commandLine = parser.parse(options, arguments);

+        this.consoleOut = consoleOut;

+        badUsage = commandLine.getArgList().isEmpty();

+    }

+

+    private static Options getOptions() {

+        Options options = new Options();

+        options.addOption("o", true, "output directory");

+        options.addOption("r", false, "recursive");

+        options.addOption("h", false, "help");

+        return options;

+    }

+

+    public void execute() throws Exception {

+        if (badUsage) {                 

+            HelpFormatter formatter = new HelpFormatter();

+            formatter.printHelp("mdpapers <input> [options]", options);

+        } else {

+            String inputArg = commandLine.getArgs()[0];

+            input = ((inputArg == null) ? new File(".") : new File(inputArg));

+

+            String outputArg = commandLine.getOptionValue("o");

+            outputDirectory = ((outputArg == null) ? new File(".") : new File(outputArg));

+

+            Collection<File> files = searchInputs();

+            if (files.isEmpty()) {

+                consoleOut.write("file or directory does not exist.\n");

+            } else {

+                for (File markdown : files) {

+                    transform(markdown);

+                }

+            }

+        }

+        consoleOut.flush();

+    }

+

+    private Collection<File> searchInputs() {

+        return searchInputsAt(input);

+    }

+

+    private Collection<File> searchInputsAt(File lookAt) {

+        if (!lookAt.exists()) {

+            return Collections.emptyList();

+        } else if (lookAt.isFile()) {

+            return Arrays.asList(lookAt);

+        }

+

+        Collection<File> cache = new ArrayList<File>();

+        for (File candidate : lookAt.listFiles()) {

+            if (candidate.isDirectory() && commandLine.hasOption("r")) {

+                cache.addAll(searchInputsAt(candidate));

+            } else if (candidate.getName().endsWith(DEFAULT_INPUT_EXTENSION)){

+                cache.add(candidate);

+            }

+        }

+

+        return cache;

+    }

+

+    public void transform(File markdown) throws Exception {

+        Reader in = new FileReader(markdown);

+        Writer out = new FileWriter(getOutputFile(markdown));

+        transform(in, out);

+        out.flush();

+        out.close();

+    }

+

+    private File getOutputFile(File markdown) {

+        return new File(markdown.getAbsolutePath().substring(0, markdown.getAbsolutePath().lastIndexOf("."))

+                + OUTPUT_EXTENSION);

+    }

+

+    public void transform(Reader in, Writer out) throws org.tautua.markdownpapers.parser.ParseException {

+        Markdown md = new Markdown();

+        md.transform(in, out);

+    }

+

+    public static void main(String[] arguments) throws Exception {

+        new Main(arguments).execute();

+    }

+}

diff --git a/cli/src/test/java/org/tautua/markdownpapers/cli/MainTest.java b/cli/src/test/java/org/tautua/markdownpapers/cli/MainTest.java
old mode 100644
new mode 100755
index bd5959c..40082bc
--- a/cli/src/test/java/org/tautua/markdownpapers/cli/MainTest.java
+++ b/cli/src/test/java/org/tautua/markdownpapers/cli/MainTest.java
@@ -1,44 +1,44 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.cli;
-
-import org.junit.*;
-
-/**
- * Unit test for simple Main.
- */
-public class MainTest {
-
-    @Test
-    public void usage() throws Exception {
-        Main main = new Main(new String[0]);
-        main.execute();
-    }
-
-    @Test
-    public void specificFileAsInput() throws Exception {
-        Main main = new Main(new String[]{"target/test-classes/example.md", "other"});
-        main.execute();
-    }
-
-    @Test
-    public void directoryAsInput() throws Exception {
-        Main main = new Main(new String[]{"target/test-classes/directory"});
-        main.execute();
-    }
-
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.cli;

+

+import org.junit.*;

+

+/**

+ * Unit test for simple Main.

+ */

+public class MainTest {

+

+    @Test

+    public void usage() throws Exception {

+        Main main = new Main(new String[0]);

+        main.execute();

+    }

+

+    @Test

+    public void specificFileAsInput() throws Exception {

+        Main main = new Main(new String[]{"target/test-classes/example.md", "other"});

+        main.execute();

+    }

+

+    @Test

+    public void directoryAsInput() throws Exception {

+        Main main = new Main(new String[]{"target/test-classes/directory"});

+        main.execute();

+    }

+

+}

diff --git a/cli/src/test/resources/directory/example.md b/cli/src/test/resources/directory/example.md
old mode 100644
new mode 100755
index 70930d8..cdc8504
--- a/cli/src/test/resources/directory/example.md
+++ b/cli/src/test/resources/directory/example.md
@@ -1,3 +1,3 @@
-# H1
-
+# H1

+

 just an example
\ No newline at end of file
diff --git a/cli/src/test/resources/example.md b/cli/src/test/resources/example.md
old mode 100644
new mode 100755
index 70930d8..cdc8504
--- a/cli/src/test/resources/example.md
+++ b/cli/src/test/resources/example.md
@@ -1,3 +1,3 @@
-# H1
-
+# H1

+

 just an example
\ No newline at end of file
diff --git a/core/pom.xml b/core/pom.xml
old mode 100644
new mode 100755
index 809fd6e..3ae8a1c
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -1,70 +1,70 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Copyright 2011, TAUTUA
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <parent>
-        <groupId>org.tautua.markdownpapers</groupId>
-        <artifactId>markdownpapers-parent</artifactId>
-        <version>1.2.7</version>
-        <relativePath>../parent/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.tautua.markdownpapers</groupId>
-    <artifactId>markdownpapers-core</artifactId>
-    <packaging>bundle</packaging>
-    <name>MarkdownPapers Core</name>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>javacc-maven-plugin</artifactId>
-                <version>2.6</version>
-                <executions>
-                    <execution>
-                        <id>generate-parser</id>
-                        <goals>
-                            <goal>jjtree-javacc</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <!-- the plugin doesn't read it from the .jjt file -->
-                    <nodePackage>org.tautua.markdownpapers.ast</nodePackage>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.4</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Export-Package>org.tautua.markdownpapers.*</Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>xmlunit</groupId>
-            <artifactId>xmlunit</artifactId>
-            <version>1.3</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Copyright 2011, TAUTUA

+

+  Licensed under the Apache License, Version 2.0 (the "License");

+  you may not use this file except in compliance with the License.

+  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+  -->

+

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+    <parent>

+        <groupId>org.tautua.markdownpapers</groupId>

+        <artifactId>markdownpapers-parent</artifactId>

+        <version>1.2.7</version>

+        <relativePath>../parent/pom.xml</relativePath>

+    </parent>

+    <modelVersion>4.0.0</modelVersion>

+    <groupId>org.tautua.markdownpapers</groupId>

+    <artifactId>markdownpapers-core</artifactId>

+    <packaging>bundle</packaging>

+    <name>MarkdownPapers Core</name>

+    <build>

+        <plugins>

+            <plugin>

+                <groupId>org.codehaus.mojo</groupId>

+                <artifactId>javacc-maven-plugin</artifactId>

+                <version>2.6</version>

+                <executions>

+                    <execution>

+                        <id>generate-parser</id>

+                        <goals>

+                            <goal>jjtree-javacc</goal>

+                        </goals>

+                    </execution>

+                </executions>

+                <configuration>

+                    <!-- the plugin doesn't read it from the .jjt file -->

+                    <nodePackage>org.tautua.markdownpapers.ast</nodePackage>

+                </configuration>

+            </plugin>

+            <plugin>

+                <groupId>org.apache.felix</groupId>

+                <artifactId>maven-bundle-plugin</artifactId>

+                <version>2.3.4</version>

+                <extensions>true</extensions>

+                <configuration>

+                    <instructions>

+                        <Export-Package>org.tautua.markdownpapers.*</Export-Package>

+                    </instructions>

+                </configuration>

+            </plugin>

+        </plugins>

+    </build>

+    <dependencies>

+        <dependency>

+            <groupId>xmlunit</groupId>

+            <artifactId>xmlunit</artifactId>

+            <version>1.3</version>

+            <scope>test</scope>

+        </dependency>

+    </dependencies>

+</project>

diff --git a/core/src/main/java/org/tautua/markdownpapers/HtmlEmitter.java b/core/src/main/java/org/tautua/markdownpapers/HtmlEmitter.java
old mode 100644
new mode 100755
index 94579ea..1d4ede9
--- a/core/src/main/java/org/tautua/markdownpapers/HtmlEmitter.java
+++ b/core/src/main/java/org/tautua/markdownpapers/HtmlEmitter.java
@@ -1,295 +1,612 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers;
-
-import org.tautua.markdownpapers.ast.*;
-import org.tautua.markdownpapers.util.DequeStack;
-import org.tautua.markdownpapers.util.Stack;
-
-import java.io.IOException;
-
-import static org.tautua.markdownpapers.util.Utils.*;
-/**
- * <p>HTML generator.</p>
- *
- * @author Larry Ruiz
- */
-public class HtmlEmitter implements Visitor {
-    private Appendable buffer;
-
-    public HtmlEmitter(Appendable buffer) {
-        this.buffer = buffer;
-    }
-
-    public void visit(CharRef node) {
-        append(node.getValue());
-    }
-
-    public void visit(Code node) {
-        append("<pre><code>");
-        visitChildrenAndAppendSeparator(node, EOL);
-        append("</code></pre>");
-        append(EOL);
-    }
-
-    public void visit(CodeSpan node) {
-        append("<code>");
-        escapeAndAppend(node.getText());
-        append("</code>");
-    }
-
-    public void visit(CodeText node) {
-        escapeAndAppend(node.getValue());
-    }
-
-    public void visit(Comment node) {
-        append("<!--");
-        append(node.getText());
-        append("-->");
-    }
-
-    public void visit(Document node) {
-        visitChildrenAndAppendSeparator(node, EOL);
-    }
-
-    public void visit(Emphasis node) {
-        switch (node.getType()) {
-            case ITALIC:
-                append("<em>");
-                append(node.getText());
-                append("</em>");
-                break;
-            case BOLD:
-                append("<strong>");
-                append(node.getText());
-                append("</strong>");
-                break;
-            case ITALIC_AND_BOLD:
-                append("<strong><em>");
-                append(node.getText());
-                append("</em></strong>");
-                break;
-        }
-    }
-
-    public void visit(Header node) {
-        String level = String.valueOf(node.getLevel());
-        append("<h");
-        append(level);
-        append(">");
-        node.childrenAccept(this);
-        append("</h");
-        append(level);
-        append(">");
-        append(EOL);
-    }
-
-    public void visit(Image node) {
-        Resource resource = node.getResource();
-        if (resource == null) {
-            append("<img src=\"\" alt=\"");
-            escapeAndAppend(node.getText());
-            append("\"/>");
-        } else {
-            append("<img");
-            append(" src=\"");
-            escapeAndAppend(resource.getLocation());
-            if (node.getText() != null) {
-                append("\" alt=\"");
-                escapeAndAppend(node.getText());
-            }
-            if (resource.getHint() != null) {
-                append("\" title=\"");
-                escapeAndAppend(resource.getHint());
-            }
-            append("\"/>");
-        }
-    }
-
-    public void visit(InlineUrl node) {
-        append("<a href=\"");
-        escapeAndAppend(node.getUrl());
-        append("\">");
-        escapeAndAppend(node.getUrl());
-        append("</a>");
-    }
-
-    public void visit(Item node) {
-        append("<li>");
-        node.childrenAccept(this);
-        append("</li>");
-        append(EOL);
-    }
-
-    public void visit(Line node) {
-        node.childrenAccept(this);
-    }
-
-    @Override
-    public void visit(LineBreak node) {
-        Line l = (Line) node.jjtGetParent();
-        if(!l.isEnding()) {
-            append("<br/>");
-        }
-    }
-
-    public void visit(Link node) {
-        Resource resource = node.getResource();
-        if (resource == null) {
-            if (node.isReferenced()) {
-                append("[");
-                node.childrenAccept(this);
-                append("]");
-                if (node.getReference() != null) {
-                    if (node.hasWhitespaceAtMiddle()) {
-                        append(' ');
-                    }
-                    append("[");
-                    append(node.getReference());
-                    append("]");
-                }
-            } else {
-                append("<a href=\"\">");
-                node.childrenAccept(this);
-                append("</a>");
-            }
-        } else {
-            append("<a");
-            append(" href=\"");
-            escapeAndAppend(resource.getLocation());
-            if (resource.getHint() != null) {
-                append("\" title=\"");
-                escapeAndAppend(resource.getHint());
-            }
-            append("\">");
-            node.childrenAccept(this);
-            append("</a>");
-        }
-    }
-
-    public void visit(ResourceDefinition node) {
-        // do nothing
-    }
-
-    public void visit(List node) {
-        if (node.isOrdered()) {
-            append("<ol>");
-            append(EOL);
-            node.childrenAccept(this);
-            append("</ol>");
-        } else {
-            append("<ul>");
-            append(EOL);
-            node.childrenAccept(this);
-            append("</ul>");
-        }
-        append(EOL);
-    }
-
-    public void visit(Paragraph node) {
-        Node parent = node.jjtGetParent();
-        if(parent instanceof Item) {
-            if (!((Item)parent).isLoose()) {
-                visitChildrenAndAppendSeparator(node, EOL);
-                return;
-            }
-        }
-        append("<p>");
-        visitChildrenAndAppendSeparator(node, EOL);
-        append("</p>");
-        append(EOL);
-    }
-
-    public void visit(Ruler node) {
-        append("<hr/>");
-        append(EOL);
-    }
-
-    public void visit(Quote node) {
-        append("<blockquote>");
-        append(EOL);
-        node.childrenAccept(this);
-        append("</blockquote>");
-        append(EOL);
-    }
-
-    public void visit(SimpleNode node) {
-        throw new IllegalArgumentException("can not process this element");
-    }
-
-    public void visit(Tag node) {
-        append("<");
-        append(node.getName());
-        for (TagAttribute attribute : node.getAttributes()) {
-            append(SPACE);
-            append(attribute.getName());
-            append("=\"");
-            append(attribute.getValue());
-            append("\"");
-        }
-
-        if(node.jjtGetNumChildren() == 0) {
-            append("/>");
-        } else {
-            append(">");
-            node.childrenAccept(this);
-            append("</");
-            append(node.getName());
-            append(">");
-        }
-    }
-
-    public void visit(Text node) {
-        if(node.jjtGetParent() instanceof Tag) {
-            append(node.getValue());
-        } else {
-            escapeAndAppend(node.getValue());
-        }
-    }
-
-    void visitChildrenAndAppendSeparator(Node node, char separator){
-        int count = node.jjtGetNumChildren();
-        for(int i = 0; i < count; i++) {
-            node.jjtGetChild(i).accept(this);
-            if(i < count - 1) {
-                append(separator);
-            }
-        }
-    }
-
-    void escapeAndAppend(String val) {
-        for(char character : val.toCharArray()) {
-            append(escape(character));
-        }
-    }
-
-    void append(String val) {
-        try {
-            buffer.append(val);
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    void append(char val) {
-        try {
-            buffer.append(val);
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers;

+

+import org.tautua.markdownpapers.ast.*;

+import org.tautua.markdownpapers.util.DequeStack;

+import org.tautua.markdownpapers.util.Stack;

+

+

+import java.io.IOException;

+

+import static org.tautua.markdownpapers.util.Utils.*;

+/**

+ * <p>HTML generator.</p>

+ *

+ * @author Larry Ruiz

+ */

+public class HtmlEmitter implements Visitor {

+    private Appendable buffer;

+    private String attr[]=null;

+    private int i,count=1,gen=1;

+    public HtmlEmitter(Appendable buffer) {

+        this.buffer = buffer;

+    }

+    

+    public String genid(){

+    	String res = new String("#id");

+    	res += Integer.toString(gen);

+    	gen++;

+    	return res;

+    }

+    public void visit(CharRef node) {

+        append(node.getValue());

+    }

+

+    public void visit(Code node) {

+    	attr = node.getAttr();

+		if(attr==null)

+			append("<pre><code>");

+		else{

+			append("<pre ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+			append("<code>");

+		}

+        visitChildrenAndAppendSeparator(node, EOL);

+        append("</code></pre>");

+        append(EOL);

+    }

+

+    public void visit(CodeSpan node) {

+    	attr = node.getAttr();

+		if(attr==null)

+			append("<code>");

+		else{

+			append("<code ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+        escapeAndAppend(node.getText());

+        append("</code>");

+    }

+

+    public void visit(CodeText node) {

+        escapeAndAppend(node.getValue());

+    }

+

+    public void visit(Comment node) {

+        append("<!--");

+        append(node.getText());

+        append("-->");

+    }

+

+    public void visit(Document node) {

+        visitChildrenAndAppendSeparator(node, EOL);

+    }

+

+    public void visit(Emphasis node) {

+    	attr = node.getAttr();

+        switch (node.getType()) {

+            case ITALIC:

+            	if(attr==null){

+        			append("<em>");

+        		}

+        		else{

+        			append("<em ");

+        			for(i=0;i<attr.length;i++){

+        				append(attr[i]+" ");

+        			}

+        			append(">");

+        		}

+                append(node.getText());

+                append("</em>");

+                break;

+            case BOLD:

+            	if(attr==null){

+        			append("<strong>");

+        		}

+        		else{

+        			append("<strong ");

+        			for(i=0;i<attr.length;i++){

+        				append(attr[i]+" ");

+        			}

+        			append(">");

+        		}

+                append(node.getText());

+                append("</strong>");

+                break;

+            case ITALIC_AND_BOLD:

+            	if(attr==null){

+        			append("<strong><em>");

+        		}

+        		else{

+        			append("<strong ");

+        			for(i=0;i<attr.length;i++){

+        				append(attr[i]+" ");

+        			}

+        			append(">");

+        			append("<em>");

+        		}

+                append(node.getText());

+                append("</em></strong>");

+                break;

+        }

+    }

+

+    public void visit(Header node) {

+        String level = String.valueOf(node.getLevel());

+        attr = node.getAttr();

+		if(attr==null){

+			append("<h");

+			append(level);

+			append(">");

+		}

+		else{

+			append("<h");

+			append(level+" ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+        node.childrenAccept(this);

+        append("</h");

+        append(level);

+        append(">");

+        append(EOL);

+    }

+

+    public void visit(Image node) {

+        Resource resource = node.getResource();

+        String attr[] = node.getAttr();

+        if (resource == null) {

+        	if(attr==null)

+        		append("<img src=\"\" alt=\"");

+        	else{

+        		append("<img ");

+        		for(i=0;i<attr.length;i++){

+    				append(attr[i]+" ");

+    			}

+        		append("src=\"\" alt=\"");

+        	}

+            escapeAndAppend(node.getText());

+            append("\"/>");

+        } else {

+        	if(attr==null)

+        		append("<img");

+        	else{

+        		append("<img ");

+        		for(i=0;i<attr.length;i++){

+    				append(attr[i]+" ");

+    			}

+        	}

+            append(" src=\"");

+            escapeAndAppend(resource.getLocation());

+            if (node.getText() != null) {

+                append("\" alt=\"");

+                escapeAndAppend(node.getText());

+            }

+            if (resource.getHint() != null) {

+                append("\" title=\"");

+                escapeAndAppend(resource.getHint());

+            }

+            append("\"/>");

+        }

+    }

+

+    public void visit(InlineUrl node) {

+    	attr = node.getAttr();

+    	if(attr==null)

+    		append("<a href=\"");

+    	else{

+    		append("<a ");

+    		for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+    		append("href=\"");

+    	}

+        escapeAndAppend(node.getUrl());

+        append("\">");

+        escapeAndAppend(node.getUrl());

+        append("</a>");

+    }

+

+    public void visit(Item node) {

+    	attr = node.getAttr();

+		if(attr==null)

+	        append("<li>");

+		else{

+			append("<li ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+        node.childrenAccept(this);

+        append("</li>");

+        append(EOL);

+    }

+

+    public void visit(Line node) {

+        node.childrenAccept(this);

+    }

+

+    @Override

+    public void visit(LineBreak node) {

+        Line l = (Line) node.jjtGetParent();

+        if(!l.isEnding()) {

+            append("<br/>");

+        }

+    }

+

+    public void visit(Link node) {

+        Resource resource = node.getResource();

+        String attr[] = node.getAttr();

+        if (resource == null) {

+            if (node.isReferenced()) {

+                append("[");

+                node.childrenAccept(this);

+                append("]");

+                if (node.getReference() != null) {

+                    if (node.hasWhitespaceAtMiddle()) {

+                        append(' ');

+                    }

+                    append("[");

+                    append(node.getReference());

+                    append("]");

+                }

+            } else {

+            	if(attr==null)

+            		append("<a href=\"\">");

+            	else {

+            		append("<a ");

+            		for(i=0;i<attr.length;i++){

+        				append(attr[i]+" ");

+        			}

+            		append("href=\"\">");

+            	}

+                node.childrenAccept(this);

+                append("</a>");

+            }

+        } else {

+        	if(attr==null)

+        		append("<a");

+        	else{

+        		append("<a ");

+        		for(i=0;i<attr.length;i++){

+    				append(attr[i]+" ");

+    			}

+        	}

+            append(" href=\"");

+            escapeAndAppend(resource.getLocation());

+            if (resource.getHint() != null) {

+                append("\" title=\"");

+                escapeAndAppend(resource.getHint());

+            }

+            append("\">");

+            node.childrenAccept(this);

+            append("</a>");

+        }

+    }

+

+    public void visit(ResourceDefinition node) {

+        // do nothing

+    }

+

+    public void visit(List node) {

+    	attr = node.getAttr();

+        if (node.isOrdered()) {

+    		if(attr==null)

+                append("<ol>");

+    		else{

+    			append("<ol ");

+    			for(i=0;i<attr.length;i++){

+    				append(attr[i]+" ");

+    			}

+    			append(">");

+    		}

+            append(EOL);

+            node.childrenAccept(this);

+            append("</ol>");

+        } else {

+        	if(attr==null)

+                append("<ul>");

+    		else{

+    			append("<ul ");

+    			for(i=0;i<attr.length;i++){

+    				append(attr[i]+" ");

+    			}

+    			append(">");

+    		}

+            append(EOL);

+            node.childrenAccept(this);

+            append("</ul>");

+        }

+        append(EOL);

+    }

+

+    public void visit(Paragraph node) {

+        Node parent = node.jjtGetParent();

+        String attr[] = node.getAttr();

+        if(parent instanceof Item) {

+            if (!((Item)parent).isLoose()) {

+                visitChildrenAndAppendSeparator(node, EOL);

+                return;

+            }

+        }

+        if(attr==null)

+        	append("<p>");

+        else{

+        	append("<p ");

+        	for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+        	append(">");

+        }

+        visitChildrenAndAppendSeparator(node, EOL);

+        append("</p>");

+        append(EOL);

+    }

+

+    public void visit(Ruler node) {

+        append("<hr/>");

+        append(EOL);

+    }

+

+    public void visit(Quote node) {

+    	attr = node.getAttr();

+		if(attr==null)

+			append("<blockquote>");

+		else{

+			append("<blockquote ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+        append(EOL);

+        node.childrenAccept(this);

+        append("</blockquote>");

+        append(EOL);

+    }

+

+    public void visit(SimpleNode node) {

+        throw new IllegalArgumentException("can not process this element");

+    }

+

+    public void visit(Tag node) {

+        append("<");

+        append(node.getName());

+        for (TagAttribute attribute : node.getAttributes()) {

+            append(SPACE);

+            append(attribute.getName());

+            append("=\"");

+            append(attribute.getValue());

+            append("\"");

+        }

+

+        if(node.jjtGetNumChildren() == 0) {

+            append("/>");

+        } else {

+            append(">");

+            node.childrenAccept(this);

+            append("</");

+            append(node.getName());

+            append(">");

+        }

+    }

+

+    public void visit(Text node) {

+        if(node.jjtGetParent() instanceof Tag) {

+            append(node.getValue());

+        } else {

+            escapeAndAppend(node.getValue());

+        }

+    }

+

+    void visitChildrenAndAppendSeparator(Node node, char separator){

+        int count = node.jjtGetNumChildren();

+        for(int i = 0; i < count; i++) {

+            node.jjtGetChild(i).accept(this);

+            if(i < count - 1) {

+                append(separator);

+            }

+        }

+    }

+

+    void escapeAndAppend(String val) {

+        for(char character : val.toCharArray()) {

+            append(escape(character));

+        }

+    }

+

+    void append(String val) {

+        try {

+            buffer.append(val);

+        } catch (IOException e) {

+            throw new RuntimeException(e);

+        }

+    }

+

+    void append(char val) {

+        try {

+            buffer.append(val);

+        } catch (IOException e) {

+            throw new RuntimeException(e);

+        }

+    }

+

+	

+

+	@Override

+	public void visit(Division node) {

+		// TODO Auto-generated method stub

+		attr = node.getAttr();

+		if(attr==null)

+			append("<div>");

+		else{

+			append("<div ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+		append(EOL);

+		node.childrenAccept(this);

+		append(EOL);

+		append("</div>");

+	}

+

+	@Override

+	public void visit(Span node) {

+		// TODO Auto-generated method stub

+		attr = node.getAttr();

+		if(attr==null)

+			append("<span>");

+		else{

+			append("<span ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+		append(EOL);

+		node.childrenAccept(this);

+		append(EOL);

+		append("</span>");

+	}

+

+	@Override

+	public void visit(Row node) {

+		// TODO Auto-generated method stub

+		attr = node.getAttr();

+		if(attr==null)

+			append("<tr>");

+		else{

+			append("<tr ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+		append(EOL);

+		node.childrenAccept(this);

+		append(EOL);

+		append("</tr>");

+	}

+

+	@Override

+	public void visit(Col node) {

+		// TODO Auto-generated method stub

+		attr = node.getAttr();

+		if(attr==null)

+			append("<td>");

+		else{

+			append("<td ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+		append(EOL);

+		node.childrenAccept(this);

+		append(EOL);

+		append("</td>");

+	}

+

+	@Override

+	public void visit(Table node) {

+		// TODO Auto-generated method stub

+		attr = node.getAttr();

+		if(attr==null)

+			append("<table>");

+		else{

+			append("<table ");

+			for(i=0;i<attr.length;i++){

+				append(attr[i]+" ");

+			}

+			append(">");

+		}

+		append(EOL);

+		node.childrenAccept(this);

+		append(EOL);

+		append("</table>");	

+	}

+

+	@Override

+	public void visit(QA node) {

+		// TODO Auto-generated method stub

+		append("<table class=\"faqs\">");

+		node.childrenAccept(this);

+		append("</tr>");

+		append("</table>");

+	}

+

+	@Override

+	public void visit(Question node) {

+		// TODO Auto-generated method stub

+		int i=0,j=2;

+		if(count%2!=0){

+			append("<tr>");

+		}

+		append("<td>");

+		append("<span class=\"badge-artoo margin-l40n\">"+count+"</span>");

+		append("<span class=\"faqs-title\">");

+		node.childrenAccept(this);

+	}

+

+	@Override

+	public void visit(Answer node) {

+		// TODO Auto-generated method stub

+		append("</span>");

+		append("<br/>");

+		node.childrenAccept(this);

+		append("</td>");

+		if(count%2==0){

+			append("</tr>");

+		}

+		count++;

+		//append("I came here");

+	}

+

+	@Override

+	public void visit(Corousel node) {

+		// TODO Auto-generated method stub

+		String gen = genid();

+		append("<div id=\""+gen+"\" class=\"carousel slide\"><!-- Carousel items --><div class=\"carousel-inner\">");

+		node.childrenAccept(this);

+		append("</div><!-- Carousel nav --><a class=\"carousel-control left\" href=\""+gen+"\" data-slide=\"prev\">&lsaquo;</a><a class=\"carousel-control right\" href=\""+gen+"\" data-slide=\"next\">&rsaquo;</a></div>");

+	}

+

+	@Override

+	public void visit(Items node) {

+		// TODO Auto-generated method stub

+		int c = node.getAb();

+		append("<div class=\"");

+		if(c==1){

+			append("active item\">");

+		}

+		else{

+			append("item\">");

+		}

+		node.childrenAccept(this);

+		append("</div>");

+	}

+

+	@Override

+	public void visit(CorCap node) {

+		// TODO Auto-generated method stub

+		append("<div class=\"carousel-caption\">");

+		node.childrenAccept(this);

+		append("</div>");

+	}

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/Markdown.java b/core/src/main/java/org/tautua/markdownpapers/Markdown.java
old mode 100644
new mode 100755
index fe4d9b1..f104ad2
--- a/core/src/main/java/org/tautua/markdownpapers/Markdown.java
+++ b/core/src/main/java/org/tautua/markdownpapers/Markdown.java
@@ -1,36 +1,36 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers;
-
-import org.tautua.markdownpapers.ast.Document;
-import org.tautua.markdownpapers.parser.ParseException;
-import org.tautua.markdownpapers.parser.Parser;
-
-import java.io.Reader;
-import java.io.Writer;
-
-/**
- * @author Larry Ruiz. Aug 6, 2010
- */
-public class Markdown {
-    public void transform(Reader in, Writer out) throws ParseException {
-        Parser parser = new Parser(in);
-        HtmlEmitter emitter = new HtmlEmitter(out);
-        Document document = parser.parse();
-        document.accept(emitter);
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers;

+

+import org.tautua.markdownpapers.ast.Document;

+import org.tautua.markdownpapers.parser.ParseException;

+import org.tautua.markdownpapers.parser.Parser;

+

+import java.io.Reader;

+import java.io.Writer;

+

+/**

+ * @author Larry Ruiz. Aug 6, 2010

+ */

+public class Markdown {

+    public void transform(Reader in, Writer out) throws ParseException {

+        Parser parser = new Parser(in);

+        HtmlEmitter emitter = new HtmlEmitter(out);

+        Document document = parser.parse();

+        document.accept(emitter);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Answer.java b/core/src/main/java/org/tautua/markdownpapers/ast/Answer.java
new file mode 100755
index 0000000..f7ab4d5
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Answer.java
@@ -0,0 +1,15 @@
+package org.tautua.markdownpapers.ast;

+

+public class Answer extends SimpleNode{

+

+	public Answer(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/CharRef.java b/core/src/main/java/org/tautua/markdownpapers/ast/CharRef.java
old mode 100644
new mode 100755
index c8a9049..45757f5
--- a/core/src/main/java/org/tautua/markdownpapers/ast/CharRef.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/CharRef.java
@@ -1,41 +1,41 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class CharRef extends SimpleNode {
-    private String value;
-
-    public CharRef(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(String value) {
-        this.value = value;
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class CharRef extends SimpleNode {

+    private String value;

+

+    public CharRef(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public String getValue() {

+        return value;

+    }

+

+    public void setValue(String value) {

+        this.value = value;

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Code.java b/core/src/main/java/org/tautua/markdownpapers/ast/Code.java
old mode 100644
new mode 100755
index aef8092..fc69bdd
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Code.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Code.java
@@ -1,31 +1,31 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Code extends SimpleNode {
-    public Code(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Code extends SimpleNode {

+    public Code(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/CodeSpan.java b/core/src/main/java/org/tautua/markdownpapers/ast/CodeSpan.java
old mode 100644
new mode 100755
index 51ccf16..752350e
--- a/core/src/main/java/org/tautua/markdownpapers/ast/CodeSpan.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/CodeSpan.java
@@ -1,41 +1,41 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class CodeSpan extends SimpleNode {
-    private String text;
-
-    public CodeSpan(int id) {
-        super(id);
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class CodeSpan extends SimpleNode {

+    private String text;

+

+    public CodeSpan(int id) {

+        super(id);

+    }

+

+    public String getText() {

+        return text;

+    }

+

+    public void setText(String text) {

+        this.text = text;

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/CodeText.java b/core/src/main/java/org/tautua/markdownpapers/ast/CodeText.java
old mode 100644
new mode 100755
index 9944b35..e24b717
--- a/core/src/main/java/org/tautua/markdownpapers/ast/CodeText.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/CodeText.java
@@ -1,45 +1,45 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class CodeText extends SimpleNode {
-    private StringBuilder buffer = new StringBuilder();
-
-    public CodeText(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public void append(String str) {
-        buffer.append(str);
-    }
-
-    public void append(char c) {
-        buffer.append(c);
-    }
-
-    public String getValue() {
-        return buffer.toString();
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class CodeText extends SimpleNode {

+    private StringBuilder buffer = new StringBuilder();

+

+    public CodeText(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public void append(String str) {

+        buffer.append(str);

+    }

+

+    public void append(char c) {

+        buffer.append(c);

+    }

+

+    public String getValue() {

+        return buffer.toString();

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Col.java b/core/src/main/java/org/tautua/markdownpapers/ast/Col.java
new file mode 100755
index 0000000..d72b15c
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Col.java
@@ -0,0 +1,16 @@
+package org.tautua.markdownpapers.ast;

+

+public class Col extends SimpleNode{

+

+	public Col(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Comment.java b/core/src/main/java/org/tautua/markdownpapers/ast/Comment.java
old mode 100644
new mode 100755
index b17dd14..260377f
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Comment.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Comment.java
@@ -1,41 +1,41 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Comment extends SimpleNode {
-    private String text;
-
-    public Comment(int i) {
-        super(i);
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Comment extends SimpleNode {

+    private String text;

+

+    public Comment(int i) {

+        super(i);

+    }

+

+    public String getText() {

+        return text;

+    }

+

+    public void setText(String text) {

+        this.text = text;

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/CorCap.java b/core/src/main/java/org/tautua/markdownpapers/ast/CorCap.java
new file mode 100755
index 0000000..920507b
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/CorCap.java
@@ -0,0 +1,14 @@
+package org.tautua.markdownpapers.ast;

+

+public class CorCap extends SimpleNode {

+

+	public CorCap(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Corousel.java b/core/src/main/java/org/tautua/markdownpapers/ast/Corousel.java
new file mode 100755
index 0000000..5bc5d28
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Corousel.java
@@ -0,0 +1,17 @@
+package org.tautua.markdownpapers.ast;

+

+public class Corousel extends SimpleNode {

+

+	public Corousel(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+	

+	

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Division.java b/core/src/main/java/org/tautua/markdownpapers/ast/Division.java
new file mode 100755
index 0000000..25eec20
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Division.java
@@ -0,0 +1,17 @@
+package org.tautua.markdownpapers.ast;

+

+public class Division extends SimpleNode{

+

+	public Division(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+	

+	

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Document.java b/core/src/main/java/org/tautua/markdownpapers/ast/Document.java
old mode 100644
new mode 100755
index 71abc72..f0a697d
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Document.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Document.java
@@ -1,58 +1,58 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * <p>Represents a markdown document</p>
- *
- * @author Larry Ruiz
- */
-public class Document extends SimpleNode {
-    private Map<String, Resource> resourceDefinitions = new HashMap<String, Resource>();
-
-    public Document(int id) {
-        super(id);
-    }
-
-    @Override
-    protected Document getDocument() {
-        return this;
-    }
-
-    public Resource findResource(String id) {
-        return resourceDefinitions.get(id);
-    }
-
-    @Override
-    public void jjtAddChild(Node n, int i) {
-        if (n instanceof ResourceDefinition) {
-            ResourceDefinition r = (ResourceDefinition) n;
-            resourceDefinitions.put(r.getId(), r.getResource());
-        }
-
-        super.jjtAddChild(n, i);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-}
-
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+import java.util.HashMap;

+import java.util.Map;

+

+/**

+ * <p>Represents a markdown document</p>

+ *

+ * @author Larry Ruiz

+ */

+public class Document extends SimpleNode {

+    private Map<String, Resource> resourceDefinitions = new HashMap<String, Resource>();

+

+    public Document(int id) {

+        super(id);

+    }

+

+    @Override

+    protected Document getDocument() {

+        return this;

+    }

+

+    public Resource findResource(String id) {

+        return resourceDefinitions.get(id);

+    }

+

+    @Override

+    public void jjtAddChild(Node n, int i) {

+        if (n instanceof ResourceDefinition) {

+            ResourceDefinition r = (ResourceDefinition) n;

+            resourceDefinitions.put(r.getId(), r.getResource());

+        }

+

+        super.jjtAddChild(n, i);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

+

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Emphasis.java b/core/src/main/java/org/tautua/markdownpapers/ast/Emphasis.java
old mode 100644
new mode 100755
index fcd6aa0..376c66d
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Emphasis.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Emphasis.java
@@ -1,68 +1,77 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Emphasis extends SimpleNode {
-    private String text;
-    private Type type = Type.ITALIC;
-
-    public Emphasis(int id) {
-        super(id);
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    public Type getType() {
-        return type;
-    }
-
-    public void setType(Type type) {
-        this.type = type;
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public void makeItalic() {
-        type = Type.ITALIC;
-    }
-
-    public void makeBold() {
-        type = Type.BOLD;
-    }
-
-    public void makeItalicAndBold() {
-        type = Type.ITALIC_AND_BOLD;
-    }
-
-    public static enum Type {
-        ITALIC,
-        BOLD,
-        ITALIC_AND_BOLD,
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Emphasis extends SimpleNode {

+    private String text;

+    private String classname;

+    private Type type = Type.ITALIC;

+

+    public Emphasis(int id) {

+        super(id);

+    }

+

+    public String getText() {

+        return text;

+    }

+    

+    public String getClassname() {

+        return classname;

+    }

+

+    public void setText(String text) {

+        this.text = text;

+    }

+    

+    public void setClassname(String text) {

+        this.classname = text;

+    }

+

+    public Type getType() {

+        return type;

+    }

+

+    public void setType(Type type) {

+        this.type = type;

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public void makeItalic() {

+        type = Type.ITALIC;

+    }

+

+    public void makeBold() {

+        type = Type.BOLD;

+    }

+

+    public void makeItalicAndBold() {

+        type = Type.ITALIC_AND_BOLD;

+    }

+

+    public static enum Type {

+        ITALIC,

+        BOLD,

+        ITALIC_AND_BOLD,

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Header.java b/core/src/main/java/org/tautua/markdownpapers/ast/Header.java
old mode 100644
new mode 100755
index 317006e..0f6fee6
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Header.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Header.java
@@ -1,41 +1,49 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Header extends SimpleNode {
-    private int level = 1;
-
-    public Header(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public int getLevel() {
-        return level;
-    }
-
-    public void setLevel(int level) {
-        this.level = level;
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Header extends SimpleNode {

+    private int level = 1;

+    private String headername;

+    public Header(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public int getLevel() {

+        return level;

+    }

+

+    public void setLevel(int level) {

+        this.level = level;

+    }

+    

+    public String getHeadername() {

+        return headername;

+    }

+

+    public void setHeadername(String name) {

+        this.headername = name;

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Image.java b/core/src/main/java/org/tautua/markdownpapers/ast/Image.java
old mode 100644
new mode 100755
index 00937a4..222709f
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Image.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Image.java
@@ -1,69 +1,70 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-import static org.tautua.markdownpapers.util.Utils.isBlank;
-
-/**
- * @author Larry Ruiz
- */
-public class Image extends SimpleNode implements ResourceReference {
-    private String reference;
-    private String text;
-    private Resource resource;
-
-    public Image(int id) {
-        super(id);
-    }
-
-    public String getReference() {
-        return reference;
-    }
-
-    public void setReference(String reference) {
-        this.reference = reference;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    public Resource getResource() {
-        if (resource == null) {
-            if (isBlank(reference)) {
-                resource = getDocument().findResource(text);
-            } else {
-                resource = getDocument().findResource(reference);
-            }
-        }
-
-        return resource;
-    }
-
-    public void setResource(Resource resource) {
-        this.resource = resource;
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+import static org.tautua.markdownpapers.util.Utils.isBlank;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Image extends SimpleNode implements ResourceReference {

+    private String reference;

+    private String text;

+    private Resource resource;

+

+    public Image(int id) {

+        super(id);

+    }

+

+    public String getReference() {

+        return reference;

+    }

+

+    public void setReference(String reference) {

+        this.reference = reference;

+    }

+

+    public String getText() {

+        return text;

+    }

+

+    public void setText(String text) {

+        this.text = text;

+    }

+

+    public Resource getResource() {

+        if (resource == null) {

+            if (isBlank(reference)) {

+                resource = getDocument().findResource(text);

+            } else {

+                resource = getDocument().findResource(reference);

+            }

+        }

+

+        return resource;

+    }

+

+    public void setResource(Resource resource) {

+        this.resource = resource;

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/InlineUrl.java b/core/src/main/java/org/tautua/markdownpapers/ast/InlineUrl.java
old mode 100644
new mode 100755
index 385a166..63742dd
--- a/core/src/main/java/org/tautua/markdownpapers/ast/InlineUrl.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/InlineUrl.java
@@ -1,41 +1,41 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class InlineUrl extends SimpleNode {
-    private String url;
-
-    public InlineUrl(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public String getUrl() {
-        return url;
-    }
-
-    public void setUrl(String url) {
-        this.url = url;
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class InlineUrl extends SimpleNode {

+    private String url;

+

+    public InlineUrl(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public String getUrl() {

+        return url;

+    }

+

+    public void setUrl(String url) {

+        this.url = url;

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Item.java b/core/src/main/java/org/tautua/markdownpapers/ast/Item.java
old mode 100644
new mode 100755
index 54fd9f8..0137854
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Item.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Item.java
@@ -1,72 +1,72 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Item extends SimpleNode {
-    private Item previous;
-    private int indentation;
-    private boolean ordered;
-    private boolean loose;
-
-    public Item(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public void setPrevious(Item previous) {
-        this.previous = previous;
-    }
-
-    public int getIndentation() {
-        return indentation;
-    }
-
-    public void setIndentation(int indentation) {
-        this.indentation = indentation;
-    }
-
-    public boolean isOrdered() {
-        return ordered;
-    }
-
-    public void makeOrdered() {
-        this.ordered = true;
-    }
-
-    public void makeUnordered() {
-        this.ordered = false;
-    }
-
-    public void makeLoose() {
-        this.loose = true;
-    }
-
-    public boolean isLoose() {
-        if (loose) {
-            return true;
-        } else {
-            return previous != null && previous.loose;
-        }
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Item extends SimpleNode {

+    private Item previous;

+    private int indentation;

+    private boolean ordered;

+    private boolean loose;

+

+    public Item(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public void setPrevious(Item previous) {

+        this.previous = previous;

+    }

+

+    public int getIndentation() {

+        return indentation;

+    }

+

+    public void setIndentation(int indentation) {

+        this.indentation = indentation;

+    }

+

+    public boolean isOrdered() {

+        return ordered;

+    }

+

+    public void makeOrdered() {

+        this.ordered = true;

+    }

+

+    public void makeUnordered() {

+        this.ordered = false;

+    }

+

+    public void makeLoose() {

+        this.loose = true;

+    }

+

+    public boolean isLoose() {

+        if (loose) {

+            return true;

+        } else {

+            return previous != null && previous.loose;

+        }

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Items.java b/core/src/main/java/org/tautua/markdownpapers/ast/Items.java
new file mode 100755
index 0000000..4827089
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Items.java
@@ -0,0 +1,24 @@
+package org.tautua.markdownpapers.ast;

+

+public class Items extends SimpleNode {

+	

+	private int ab = 0;

+	

+	public int getAb() {

+		return ab;

+	}

+

+	public void setAb(int ab) {

+		this.ab = ab;

+	}

+

+	public Items(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Line.java b/core/src/main/java/org/tautua/markdownpapers/ast/Line.java
old mode 100644
new mode 100755
index b2decb0..cc256a4
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Line.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Line.java
@@ -1,45 +1,45 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Line extends SimpleNode {
-    private boolean ending = false;
-    
-    public Line(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-    
-    public void ending() {
-        this.ending = true;
-    }
-    
-    public boolean isEnding() {
-        return ending;
-    }
-
-    public boolean isEmpty() {
-        return children.length == 0;
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Line extends SimpleNode {

+    private boolean ending = false;

+    

+    public Line(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+    

+    public void ending() {

+        this.ending = true;

+    }

+    

+    public boolean isEnding() {

+        return ending;

+    }

+

+    public boolean isEmpty() {

+        return children.length == 0;

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/LineBreak.java b/core/src/main/java/org/tautua/markdownpapers/ast/LineBreak.java
old mode 100644
new mode 100755
index 2df9e52..e25bb9f
--- a/core/src/main/java/org/tautua/markdownpapers/ast/LineBreak.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/LineBreak.java
@@ -1,32 +1,32 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class LineBreak extends SimpleNode {
-
-    public LineBreak(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class LineBreak extends SimpleNode {

+

+    public LineBreak(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Link.java b/core/src/main/java/org/tautua/markdownpapers/ast/Link.java
old mode 100644
new mode 100755
index f15042e..b39af2d
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Link.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Link.java
@@ -1,94 +1,95 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-import static org.tautua.markdownpapers.util.Utils.isBlank;
-
-/**
- * @author Larry Ruiz
- */
-public class Link extends SimpleNode implements ResourceReference {
-    private boolean inline = false;
-    private String reference;
-    private Resource resource;
-    private boolean whitespaceAtMiddle = false;
-
-    public Link(int id) {
-        super(id);
-    }
-
-    public String getText() {
-        StringBuilder buff = new StringBuilder();
-        for (Node child : children) {
-            if (child instanceof Text) {
-                String val = ((Text) child).getValue();
-                if ("\n".equals(val)) {
-                    if (' ' !=  buff.charAt(buff.length() - 1)) {
-                        buff.append(" ");
-                    }
-                } else {
-                    buff.append(val);
-                }
-            } else if (child instanceof Link) {
-                buff.append(((Link)child).getText());
-            }
-        }
-        return buff.toString();
-    }
-
-    public String getReference() {
-        return reference;
-    }
-
-    public void setReference(String reference) {
-        this.reference = reference;
-    }
-
-    public Resource getResource() {
-        if (resource == null) {
-            if (isBlank(reference)) {
-                resource = getDocument().findResource(getText());
-            } else {
-                resource = getDocument().findResource(reference);
-            }
-        }
-
-        return resource;
-    }
-
-    public void setResource(Resource resource) {
-        inline = true;
-        this.resource = resource;
-    }
-
-    public boolean isReferenced() {
-        return !inline;
-    }
-
-    public boolean hasWhitespaceAtMiddle() {
-        return whitespaceAtMiddle;
-    }
-
-    public void setWhitespaceAtMiddle() {
-        whitespaceAtMiddle = true;
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+import static org.tautua.markdownpapers.util.Utils.isBlank;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Link extends SimpleNode implements ResourceReference {

+    private boolean inline = false;

+    private String reference;

+    private Resource resource;

+    private boolean whitespaceAtMiddle = false;

+   

+    public Link(int id) {

+        super(id);

+    }

+

+    public String getText() {

+        StringBuilder buff = new StringBuilder();

+        for (Node child : children) {

+            if (child instanceof Text) {

+                String val = ((Text) child).getValue();

+                if ("\n".equals(val)) {

+                    if (' ' !=  buff.charAt(buff.length() - 1)) {

+                        buff.append(" ");

+                    }

+                } else {

+                    buff.append(val);

+                }

+            } else if (child instanceof Link) {

+                buff.append(((Link)child).getText());

+            }

+        }

+        return buff.toString();

+    }

+

+    public String getReference() {

+        return reference;

+    }

+

+    public void setReference(String reference) {

+        this.reference = reference;

+    }

+

+    public Resource getResource() {

+        if (resource == null) {

+            if (isBlank(reference)) {

+                resource = getDocument().findResource(getText());

+            } else {

+                resource = getDocument().findResource(reference);

+            }

+        }

+

+        return resource;

+    }

+

+    public void setResource(Resource resource) {

+        inline = true;

+        this.resource = resource;

+    }

+

+    public boolean isReferenced() {

+        return !inline;

+    }

+

+    public boolean hasWhitespaceAtMiddle() {

+        return whitespaceAtMiddle;

+    }

+

+    public void setWhitespaceAtMiddle() {

+        whitespaceAtMiddle = true;

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/List.java b/core/src/main/java/org/tautua/markdownpapers/ast/List.java
old mode 100644
new mode 100755
index 7239d49..1f71f64
--- a/core/src/main/java/org/tautua/markdownpapers/ast/List.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/List.java
@@ -1,53 +1,57 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class List extends SimpleNode {
-    private int indentation;
-
-    public List(int id) {
-        super(id);
-    }
-
-    public int getIndentation() {
-        return indentation;
-    }
-    
-    public void setIndentation(int indentation) {
-        this.indentation = indentation;
-    }
-
-    public boolean isOrdered() {
-        return ((Item)children[0]).isOrdered();
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    @Override
-    public void jjtAddChild(Node n, int i) {
-        super.jjtAddChild(n, i);
-        if (i < children.length - 1) {
-            ((Item)children[i + 1]).setPrevious((Item)n);
-        }
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class List extends SimpleNode {

+    private int indentation;

+    

+    

+    public List(int id) {

+        super(id);

+    }

+

+    public int getIndentation() {

+        return indentation;

+    }

+    

+    public void setIndentation(int indentation) {

+        this.indentation = indentation;

+    }

+

+    public boolean isOrdered() {

+        return ((Item)children[0]).isOrdered();

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+ 

+    

+   

+

+    @Override

+    public void jjtAddChild(Node n, int i) {

+        super.jjtAddChild(n, i);

+        if (i < children.length - 1) {

+            ((Item)children[i + 1]).setPrevious((Item)n);

+        }

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Node.java b/core/src/main/java/org/tautua/markdownpapers/ast/Node.java
old mode 100644
new mode 100755
index 39d1381..d8ced45
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Node.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Node.java
@@ -1,63 +1,63 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/* All AST nodes must implement this interface.  It provides basic
-   machinery for constructing the parent and child relationships
-   between nodes. */
-
-public interface Node {
-
-    /**
-     * This method is called after the node has been made the current
-     * node.  It indicates that child nodes can now be added to it.
-     */
-    public void jjtOpen();
-
-    /**
-     * This method is called after all the child nodes have been
-     * added.
-     */
-    public void jjtClose();
-
-    /**
-     * This pair of methods are used to inform the node of its
-     * parent.
-     */
-    public void jjtSetParent(Node n);
-
-    public Node jjtGetParent();
-
-    /**
-     * This method tells the node to add its argument to the node's
-     * list of children.
-     */
-    public void jjtAddChild(Node n, int i);
-
-    /**
-     * This method returns a child node.  The children are numbered
-     * from zero, left to right.
-     */
-    public Node jjtGetChild(int i);
-
-    /**
-     * Return the number of children the node has.
-     */
-    public int jjtGetNumChildren();
-
-    public void accept(Visitor visitor);
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/* All AST nodes must implement this interface.  It provides basic

+   machinery for constructing the parent and child relationships

+   between nodes. */

+

+public interface Node {

+

+    /**

+     * This method is called after the node has been made the current

+     * node.  It indicates that child nodes can now be added to it.

+     */

+    public void jjtOpen();

+

+    /**

+     * This method is called after all the child nodes have been

+     * added.

+     */

+    public void jjtClose();

+

+    /**

+     * This pair of methods are used to inform the node of its

+     * parent.

+     */

+    public void jjtSetParent(Node n);

+

+    public Node jjtGetParent();

+

+    /**

+     * This method tells the node to add its argument to the node's

+     * list of children.

+     */

+    public void jjtAddChild(Node n, int i);

+

+    /**

+     * This method returns a child node.  The children are numbered

+     * from zero, left to right.

+     */

+    public Node jjtGetChild(int i);

+

+    /**

+     * Return the number of children the node has.

+     */

+    public int jjtGetNumChildren();

+

+    public void accept(Visitor visitor);

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Paragraph.java b/core/src/main/java/org/tautua/markdownpapers/ast/Paragraph.java
old mode 100644
new mode 100755
index ea51293..9c88abd
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Paragraph.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Paragraph.java
@@ -1,41 +1,41 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Paragraph extends SimpleNode {
-    public Paragraph(int id) {
-        super(id);
-    }
-
-    @Override
-    public void jjtAddChild(Node n, int i) {
-        int j = jjtGetNumChildren();
-        if(i >= j) {
-            Line l = (Line)n;
-            l.ending();
-        }
-        super.jjtAddChild(n, i);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Paragraph extends SimpleNode {

+    public Paragraph(int id) {

+        super(id);

+    }

+

+    @Override

+    public void jjtAddChild(Node n, int i) {

+        int j = jjtGetNumChildren();

+        if(i >= j) {

+            Line l = (Line)n;

+            l.ending();

+        }

+        super.jjtAddChild(n, i);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/QA.java b/core/src/main/java/org/tautua/markdownpapers/ast/QA.java
new file mode 100755
index 0000000..eabcebd
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/QA.java
@@ -0,0 +1,19 @@
+package org.tautua.markdownpapers.ast;

+

+public class QA extends SimpleNode {

+

+	

+	

+	public QA(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+	

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Question.java b/core/src/main/java/org/tautua/markdownpapers/ast/Question.java
new file mode 100755
index 0000000..4ec38b9
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Question.java
@@ -0,0 +1,15 @@
+package org.tautua.markdownpapers.ast;

+

+public class Question extends SimpleNode{

+

+	public Question(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Quote.java b/core/src/main/java/org/tautua/markdownpapers/ast/Quote.java
old mode 100644
new mode 100755
index b2a83cd..d7ad7fa
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Quote.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Quote.java
@@ -1,31 +1,31 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Quote extends SimpleNode {
-    public Quote(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Quote extends SimpleNode {

+    public Quote(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Resource.java b/core/src/main/java/org/tautua/markdownpapers/ast/Resource.java
old mode 100644
new mode 100755
index 0b65bc7..3f78912
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Resource.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Resource.java
@@ -1,45 +1,45 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * <p>Represents a resource which include location and an additional hint information,
- * it could be a webpage or image</p>
- * 
- * @author Larry Ruiz
- */
-public class Resource {
-    private String location;
-    private String hint;
-
-    public Resource(String location) {
-        this.location = location;
-    }
-
-    public Resource(String location, String hint) {
-        this.location = location;
-        this.hint = hint;
-    }
-
-    public String getLocation() {
-        return location;
-    }
-
-    public String getHint() {
-        return hint;
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * <p>Represents a resource which include location and an additional hint information,

+ * it could be a webpage or image</p>

+ * 

+ * @author Larry Ruiz

+ */

+public class Resource {

+    private String location;

+    private String hint;

+

+    public Resource(String location) {

+        this.location = location;

+    }

+

+    public Resource(String location, String hint) {

+        this.location = location;

+        this.hint = hint;

+    }

+

+    public String getLocation() {

+        return location;

+    }

+

+    public String getHint() {

+        return hint;

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/ResourceDefinition.java b/core/src/main/java/org/tautua/markdownpapers/ast/ResourceDefinition.java
old mode 100644
new mode 100755
index f24c700..ba644df
--- a/core/src/main/java/org/tautua/markdownpapers/ast/ResourceDefinition.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/ResourceDefinition.java
@@ -1,50 +1,50 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class ResourceDefinition extends SimpleNode {
-    private String id;
-    private Resource resource;
-
-    public ResourceDefinition(int id) {
-        super(id);
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public Resource getResource() {
-        return resource;
-    }
-
-    public void setResource(Resource resource) {
-        this.resource = resource;
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class ResourceDefinition extends SimpleNode {

+    private String id;

+    private Resource resource;

+

+    public ResourceDefinition(int id) {

+        super(id);

+    }

+

+    public String getId() {

+        return id;

+    }

+

+    public void setId(String id) {

+        this.id = id;

+    }

+

+    public Resource getResource() {

+        return resource;

+    }

+

+    public void setResource(Resource resource) {

+        this.resource = resource;

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/ResourceReference.java b/core/src/main/java/org/tautua/markdownpapers/ast/ResourceReference.java
old mode 100644
new mode 100755
index dce314d..8b0d12c
--- a/core/src/main/java/org/tautua/markdownpapers/ast/ResourceReference.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/ResourceReference.java
@@ -1,24 +1,24 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz, 10/25/2010
- */
-public interface ResourceReference {
-    Resource getResource();
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz, 10/25/2010

+ */

+public interface ResourceReference {

+    Resource getResource();

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Row.java b/core/src/main/java/org/tautua/markdownpapers/ast/Row.java
new file mode 100755
index 0000000..3c863b3
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Row.java
@@ -0,0 +1,15 @@
+package org.tautua.markdownpapers.ast;

+

+public class Row extends SimpleNode{

+

+	public Row(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Ruler.java b/core/src/main/java/org/tautua/markdownpapers/ast/Ruler.java
old mode 100644
new mode 100755
index d60ef49..be0fdce
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Ruler.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Ruler.java
@@ -1,31 +1,31 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Ruler extends SimpleNode {
-    public Ruler(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Ruler extends SimpleNode {

+    public Ruler(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/SimpleNode.java b/core/src/main/java/org/tautua/markdownpapers/ast/SimpleNode.java
old mode 100644
new mode 100755
index 1aa6af5..2ff2cdd
--- a/core/src/main/java/org/tautua/markdownpapers/ast/SimpleNode.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/SimpleNode.java
@@ -1,126 +1,151 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class SimpleNode implements Node {
-    private static final Node[] EMPTY_ARRAY = new Node[0];
-
-    protected Node parent;
-    protected Node[] children = EMPTY_ARRAY;
-    protected int id;
-    protected Object value;
-    private Document document;
-
-    public SimpleNode(int i) {
-        id = i;
-    }
-
-    protected Document getDocument() {
-        if (document != null) {
-            return document;
-        }
-
-        document = ((SimpleNode)parent).getDocument();
-        return document;
-    }
-
-    public void jjtOpen() {
-    }
-
-    public void jjtClose() {
-    }
-
-    public void jjtSetParent(Node n) {
-        parent = n;
-    }
-
-    public Node jjtGetParent() {
-        return parent;
-    }
-
-    public void jjtAddChild(Node n, int i) {
-        if (children == null) {
-            children = new Node[i + 1];
-        } else if (i >= children.length) {
-            Node c[] = new Node[i + 1];
-            System.arraycopy(children, 0, c, 0, children.length);
-            children = c;
-        }
-        children[i] = n;
-    }
-
-    public Node jjtGetChild(int i) {
-        return children[i];
-    }
-
-    public int jjtGetNumChildren() {
-        return (children == null) ? 0 : children.length;
-    }
-
-    public void jjtSetValue(Object value) {
-        this.value = value;
-    }
-
-    public Object jjtGetValue() {
-        return value;
-    }
-
-    /**
-     * Accept the visitor. *
-     */
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public void childrenAccept(Visitor visitor) {
-        for (Node child : children) {
-            child.accept(visitor);
-        }
-    }
-
-    /* You can override these two methods in subclasses of SimpleNode to
-customize the way the node appears when the tree is dumped.  If
-your output uses more than one line you should override
-toString(String), otherwise overriding toString() is probably all
-you need to do. */
-
-    public String toString() {
-        return ParserTreeConstants.jjtNodeName[id];
-    }
-
-    public String toString(String prefix) {
-        return prefix + toString();
-    }
-
-    /* Override this method if you want to customize how the node dumps
- out its children. */
-
-    public void dump(String prefix) {
-        System.out.println(toString(prefix));
-        if (children != null) {
-            for (int i = 0; i < children.length; ++i) {
-                SimpleNode n = (SimpleNode) children[i];
-                if (n != null) {
-                    n.dump(prefix + " ");
-                }
-            }
-        }
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class SimpleNode implements Node{

+    private static final Node[] EMPTY_ARRAY = new Node[0];

+

+    protected Node parent;

+    protected Node[] children = EMPTY_ARRAY;

+    protected int id;

+    protected Object value;

+    private Document document;

+    public String attr[];

+    private int noq;

+

+    public int getNoq() {

+		return noq;

+	}

+

+	public void setNoq(int noq) {

+		this.noq = noq;

+	}

+

+	public SimpleNode(int i) {

+        id = i;

+    }

+

+    protected Document getDocument() {

+        if (document != null) {

+            return document;

+        }

+

+        document = ((SimpleNode)parent).getDocument();

+        return document;

+    }

+

+    public void jjtOpen() {

+    }

+

+    public void jjtClose() {

+    }

+

+    public void jjtSetParent(Node n) {

+        parent = n;

+    }

+

+    public Node jjtGetParent() {

+        return parent;

+    }

+

+    public void jjtAddChild(Node n, int i) {

+        if (children == null) {

+            children = new Node[i + 1];

+        } else if (i >= children.length) {

+            Node c[] = new Node[i + 1];

+            System.arraycopy(children, 0, c, 0, children.length);

+            children = c;

+        }

+        children[i] = n;

+    }

+

+    public Node jjtGetChild(int i) {

+        return children[i];

+    }

+

+    public int jjtGetNumChildren() {

+        return (children == null) ? 0 : children.length;

+    }

+

+    public void jjtSetValue(Object value) {

+        this.value = value;

+    }

+

+    public Object jjtGetValue() {

+        return value;

+    }

+

+    /**

+     * Accept the visitor. *

+     */

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public void childrenAccept(Visitor visitor) {

+        for (Node child : children) {

+            child.accept(visitor);

+        }

+    }

+

+    /* You can override these two methods in subclasses of SimpleNode to

+customize the way the node appears when the tree is dumped.  If

+your output uses more than one line you should override

+toString(String), otherwise overriding toString() is probably all

+you need to do. */

+

+    public String toString() {

+        return ParserTreeConstants.jjtNodeName[id];

+    }

+

+    public String toString(String prefix) {

+        return prefix + toString();

+    }

+

+    /* Override this method if you want to customize how the node dumps

+ out its children. */

+

+    public void dump(String prefix) {

+        System.out.println(toString(prefix));

+        if (children != null) {

+            for (int i = 0; i < children.length; ++i) {

+                SimpleNode n = (SimpleNode) children[i];

+                if (n != null) {

+                    n.dump(prefix + " ");

+                }

+            }

+        }

+    }

+

+

+	public String[] getAttr() {

+		// TODO Auto-generated method stub

+		return this.attr;

+	}

+

+

+	public void setAttr(String attr[]) {

+		// TODO Auto-generated method stub

+		this.attr = attr;

+	}

+

+	

+	

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Span.java b/core/src/main/java/org/tautua/markdownpapers/ast/Span.java
new file mode 100755
index 0000000..2deee06
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Span.java
@@ -0,0 +1,16 @@
+package org.tautua.markdownpapers.ast;

+

+public class Span extends SimpleNode{

+

+

+	public Span(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Table.java b/core/src/main/java/org/tautua/markdownpapers/ast/Table.java
new file mode 100755
index 0000000..9da5a39
--- /dev/null
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Table.java
@@ -0,0 +1,36 @@
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Table extends SimpleNode{

+

+	public Table(int i) {

+		super(i);

+		// TODO Auto-generated constructor stub

+	}

+	

+	@Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+	

+

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Tag.java b/core/src/main/java/org/tautua/markdownpapers/ast/Tag.java
old mode 100644
new mode 100755
index 8194cb1..393239a
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Tag.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Tag.java
@@ -1,52 +1,52 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-import java.util.*;
-
-/**
- * @author Larry Ruiz
- */
-public class Tag extends SimpleNode {
-    protected String name;
-    private java.util.List<TagAttribute> attributes = new ArrayList<TagAttribute>();
-    
-    public Tag(int i) {
-        super(i);
-    }
-
-    public String getName() {
-        return name;
-    }
-    
-    public void setName(String name) {
-        this.name = name;
-    }
-    
-    public java.util.List<TagAttribute> getAttributes() {
-        return attributes;
-    }
-
-    public void addAttribute(TagAttribute attribute) {
-        attributes.add(attribute);
-    }
-    
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+import java.util.*;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Tag extends SimpleNode {

+    protected String name;

+    private java.util.List<TagAttribute> attributes = new ArrayList<TagAttribute>();

+    

+    public Tag(int i) {

+        super(i);

+    }

+

+    public String getName() {

+        return name;

+    }

+    

+    public void setName(String name) {

+        this.name = name;

+    }

+    

+    public java.util.List<TagAttribute> getAttributes() {

+        return attributes;

+    }

+

+    public void addAttribute(TagAttribute attribute) {

+        attributes.add(attribute);

+    }

+    

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/TagAttribute.java b/core/src/main/java/org/tautua/markdownpapers/ast/TagAttribute.java
old mode 100644
new mode 100755
index 80eb9f2..04f59a7
--- a/core/src/main/java/org/tautua/markdownpapers/ast/TagAttribute.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/TagAttribute.java
@@ -1,38 +1,38 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class TagAttribute {
-    private String name;
-    private String value;
-
-    public TagAttribute(String name, String value) {
-        this.name = name;
-        this.value = value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getValue() {
-        return value;
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class TagAttribute {

+    private String name;

+    private String value;

+

+    public TagAttribute(String name, String value) {

+        this.name = name;

+        this.value = value;

+    }

+

+    public String getName() {

+        return name;

+    }

+

+    public String getValue() {

+        return value;

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Text.java b/core/src/main/java/org/tautua/markdownpapers/ast/Text.java
old mode 100644
new mode 100755
index ff6b3ed..8ffc983
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Text.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Text.java
@@ -1,54 +1,55 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public class Text extends SimpleNode {
-    private StringBuilder buffer = new StringBuilder();
-
-    public Text(int id) {
-        super(id);
-    }
-
-    @Override
-    public void accept(Visitor visitor) {
-        visitor.visit(this);
-    }
-
-    public void append(String str) {
-        buffer.append(str);
-    }
-
-    public void append(char c) {
-        buffer.append(c);
-    }
-
-    public String getValue() {
-        return buffer.toString();
-    }
-
-    public boolean isWhitespace() {
-        return buffer.toString().trim().length() == 0;
-    }
-
-    @Override
-    public String toString() {
-        return buffer.toString();
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public class Text extends SimpleNode {

+    private StringBuilder buffer = new StringBuilder();

+

+    public Text(int id) {

+        super(id);

+    }

+

+    @Override

+    public void accept(Visitor visitor) {

+        visitor.visit(this);

+    }

+

+    public void append(String str) {

+        buffer.append(str);

+    }

+

+    public void append(char c) {

+        buffer.append(c);

+    }

+

+    public String getValue() {

+        return buffer.toString();

+    }

+

+    public boolean isWhitespace() {

+        return buffer.toString().trim().length() == 0;

+    }

+

+    @Override

+    public String toString() {

+        return buffer.toString();

+    }

+

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/ast/Visitor.java b/core/src/main/java/org/tautua/markdownpapers/ast/Visitor.java
old mode 100644
new mode 100755
index 17a8bac..d1fb160
--- a/core/src/main/java/org/tautua/markdownpapers/ast/Visitor.java
+++ b/core/src/main/java/org/tautua/markdownpapers/ast/Visitor.java
@@ -1,66 +1,88 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.ast;
-
-/**
- * @author Larry Ruiz
- */
-public interface Visitor {
-    void visit(CharRef node);
-
-    void visit(Code node);
-
-    void visit(CodeSpan node);
-
-    void visit(CodeText node);
-
-    void visit(Comment node);
-
-    void visit(Document node);
-
-    void visit(Emphasis node);
-
-    void visit(Header node);
-
-    void visit(Image node);
-
-    void visit(Line node);
-    
-    void visit(LineBreak node);
-
-    void visit(Link node);
-    
-    void visit(List node);
-    
-    void visit(InlineUrl node);
-
-    void visit(Item node);
-
-    void visit(Paragraph node);
-
-    void visit(Quote node);
-
-    void visit(ResourceDefinition node);
-
-    void visit(Ruler node);
-
-    void visit(SimpleNode node);
-
-    void visit(Tag node);
-    
-    void visit(Text node);
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.ast;

+

+/**

+ * @author Larry Ruiz

+ */

+public interface Visitor {

+    void visit(CharRef node);

+

+    void visit(Code node);

+

+    void visit(CodeSpan node);

+

+    void visit(CodeText node);

+

+    void visit(Comment node);

+

+    void visit(Document node);

+

+    void visit(Emphasis node);

+

+    void visit(Header node);

+

+    void visit(Image node);

+

+    void visit(Line node);

+    

+    void visit(LineBreak node);

+

+    void visit(Link node);

+    

+    void visit(List node);

+    

+    void visit(InlineUrl node);

+

+    void visit(Item node);

+

+    void visit(Paragraph node);

+

+    void visit(Quote node);

+

+    void visit(ResourceDefinition node);

+

+    void visit(Ruler node);

+

+    void visit(SimpleNode node);

+

+    void visit(Tag node);

+    

+    void visit(Text node);

+    

+    void visit(Division node);

+    

+    void visit(Span node);

+    

+    void visit(Table node);

+    

+    void visit(Row node);

+    

+    void visit(Col node);

+    

+    void visit(QA node);

+    

+    void visit(Question node);

+    

+    void visit(Answer node);

+    

+    void visit(Corousel node);

+    

+    void visit(Items node);

+    

+    void visit(CorCap node);

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/parser/Token.java b/core/src/main/java/org/tautua/markdownpapers/parser/Token.java
old mode 100644
new mode 100755
index 91fa80b..1867b6e
--- a/core/src/main/java/org/tautua/markdownpapers/parser/Token.java
+++ b/core/src/main/java/org/tautua/markdownpapers/parser/Token.java
@@ -1,171 +1,171 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.parser;
-
-/**
- * Describes the input token stream.
- */
-
-public class Token implements java.io.Serializable {
-
-    /**
-     * The version identifier for this Serializable class.
-     * Increment only if the <i>serialized</i> form of the
-     * class changes.
-     */
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * An integer that describes the kind of this token.  This numbering
-     * system is determined by JavaCCParser, and a table of these numbers is
-     * stored in the file ...Constants.java.
-     */
-    public int kind;
-
-    /**
-     * The line number of the first character of this Token.
-     */
-    public int beginLine;
-    /**
-     * The column number of the first character of this Token.
-     */
-    public int beginColumn;
-    /**
-     * The line number of the last character of this Token.
-     */
-    public int endLine;
-    /**
-     * The column number of the last character of this Token.
-     */
-    public int endColumn;
-
-    /**
-     * The string image of the token.
-     */
-    public String image;
-
-    /**
-     * A reference to the next regular (non-special) token from the input
-     * stream.  If this is the last token from the input stream, or if the
-     * token manager has not read tokens beyond this one, this field is
-     * set to null.  This is true only if this token is also a regular
-     * token.  Otherwise, see below for a description of the contents of
-     * this field.
-     */
-    public Token next;
-
-    /**
-     * This field is used to access special tokens that occur prior to this
-     * token, but after the immediately preceding regular (non-special) token.
-     * If there are no such special tokens, this field is set to null.
-     * When there are more than one such special token, this field refers
-     * to the last of these special tokens, which in turn refers to the next
-     * previous special token through its specialToken field, and so on
-     * until the first special token (whose specialToken field is null).
-     * The next fields of special tokens refer to other special tokens that
-     * immediately follow it (without an intervening regular token).  If there
-     * is no such token, this field is null.
-     */
-    public Token specialToken;
-
-    /**
-     * An optional attribute value of the Token.
-     * Tokens which are not used as syntactic sugar will often contain
-     * meaningful values that will be used later on by the compiler or
-     * interpreter. This attribute value is often different from the image.
-     * Any subclass of Token that actually wants to return a non-null value can
-     * override this method as appropriate.
-     */
-    public Object getValue() {
-        return null;
-    }
-
-    /**
-     * No-argument constructor
-     */
-    public Token() {
-    }
-
-    /**
-     * Constructs a new token for the specified Image.
-     */
-    public Token(int kind) {
-        this(kind, null);
-    }
-
-    /**
-     * Constructs a new token for the specified Image and Kind.
-     */
-    public Token(int kind, String image) {
-        this.kind = kind;
-        this.image = image;
-    }
-
-    /**
-     * if the token is one of the kinds passed.
-     * @param args
-     * @return
-     */
-    public boolean any(int... args) {
-        for(int kind : args) {
-            if(this.kind == kind) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * if the token is none of the kinds passed.
-     * @param args
-     * @return
-     */
-    public boolean none(int... args) {
-        return !any(args);
-    }
-
-    /**
-     * Returns the image.
-     */
-    public String toString() {
-        return image;
-    }
-
-    /**
-     * Returns a new Token object, by default. However, if you want, you
-     * can create and return subclass objects based on the value of ofKind.
-     * Simply add the cases to the switch for all those special cases.
-     * For example, if you have a subclass of Token called IDToken that
-     * you want to create if ofKind is ID, simply add something like :
-     * <p/>
-     * case MyParserConstants.ID : return new IDToken(ofKind, image);
-     * <p/>
-     * to the following switch statement. Then you can cast matchedToken
-     * variable to the appropriate type and use sit in your lexical actions.
-     */
-    public static Token newToken(int ofKind, String image) {
-        switch (ofKind) {
-            default:
-                return new Token(ofKind, image);
-        }
-    }
-
-    public static Token newToken(int ofKind) {
-        return newToken(ofKind, null);
-    }
-
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.parser;

+

+/**

+ * Describes the input token stream.

+ */

+

+public class Token implements java.io.Serializable {

+

+    /**

+     * The version identifier for this Serializable class.

+     * Increment only if the <i>serialized</i> form of the

+     * class changes.

+     */

+    private static final long serialVersionUID = 1L;

+

+    /**

+     * An integer that describes the kind of this token.  This numbering

+     * system is determined by JavaCCParser, and a table of these numbers is

+     * stored in the file ...Constants.java.

+     */

+    public int kind;

+

+    /**

+     * The line number of the first character of this Token.

+     */

+    public int beginLine;

+    /**

+     * The column number of the first character of this Token.

+     */

+    public int beginColumn;

+    /**

+     * The line number of the last character of this Token.

+     */

+    public int endLine;

+    /**

+     * The column number of the last character of this Token.

+     */

+    public int endColumn;

+

+    /**

+     * The string image of the token.

+     */

+    public String image;

+

+    /**

+     * A reference to the next regular (non-special) token from the input

+     * stream.  If this is the last token from the input stream, or if the

+     * token manager has not read tokens beyond this one, this field is

+     * set to null.  This is true only if this token is also a regular

+     * token.  Otherwise, see below for a description of the contents of

+     * this field.

+     */

+    public Token next;

+

+    /**

+     * This field is used to access special tokens that occur prior to this

+     * token, but after the immediately preceding regular (non-special) token.

+     * If there are no such special tokens, this field is set to null.

+     * When there are more than one such special token, this field refers

+     * to the last of these special tokens, which in turn refers to the next

+     * previous special token through its specialToken field, and so on

+     * until the first special token (whose specialToken field is null).

+     * The next fields of special tokens refer to other special tokens that

+     * immediately follow it (without an intervening regular token).  If there

+     * is no such token, this field is null.

+     */

+    public Token specialToken;

+

+    /**

+     * An optional attribute value of the Token.

+     * Tokens which are not used as syntactic sugar will often contain

+     * meaningful values that will be used later on by the compiler or

+     * interpreter. This attribute value is often different from the image.

+     * Any subclass of Token that actually wants to return a non-null value can

+     * override this method as appropriate.

+     */

+    public Object getValue() {

+        return null;

+    }

+

+    /**

+     * No-argument constructor

+     */

+    public Token() {

+    }

+

+    /**

+     * Constructs a new token for the specified Image.

+     */

+    public Token(int kind) {

+        this(kind, null);

+    }

+

+    /**

+     * Constructs a new token for the specified Image and Kind.

+     */

+    public Token(int kind, String image) {

+        this.kind = kind;

+        this.image = image;

+    }

+

+    /**

+     * if the token is one of the kinds passed.

+     * @param args

+     * @return

+     */

+    public boolean any(int... args) {

+        for(int kind : args) {

+            if(this.kind == kind) {

+                return true;

+            }

+        }

+        return false;

+    }

+

+    /**

+     * if the token is none of the kinds passed.

+     * @param args

+     * @return

+     */

+    public boolean none(int... args) {

+        return !any(args);

+    }

+

+    /**

+     * Returns the image.

+     */

+    public String toString() {

+        return image;

+    }

+

+    /**

+     * Returns a new Token object, by default. However, if you want, you

+     * can create and return subclass objects based on the value of ofKind.

+     * Simply add the cases to the switch for all those special cases.

+     * For example, if you have a subclass of Token called IDToken that

+     * you want to create if ofKind is ID, simply add something like :

+     * <p/>

+     * case MyParserConstants.ID : return new IDToken(ofKind, image);

+     * <p/>

+     * to the following switch statement. Then you can cast matchedToken

+     * variable to the appropriate type and use sit in your lexical actions.

+     */

+    public static Token newToken(int ofKind, String image) {

+        switch (ofKind) {

+            default:

+                return new Token(ofKind, image);

+        }

+    }

+

+    public static Token newToken(int ofKind) {

+        return newToken(ofKind, null);

+    }

+

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/util/DequeStack.java b/core/src/main/java/org/tautua/markdownpapers/util/DequeStack.java
old mode 100644
new mode 100755
index 47eeba6..ba7e6ad
--- a/core/src/main/java/org/tautua/markdownpapers/util/DequeStack.java
+++ b/core/src/main/java/org/tautua/markdownpapers/util/DequeStack.java
@@ -1,49 +1,49 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.util;
-
-
-import java.util.ArrayDeque;
-import java.util.Deque;
-
-/**
- * <p>Stack implementation based on java.util.Deque</p>
- *
- * @author Larry Ruiz
- */
-public class DequeStack<E> implements Stack<E> {
-    private Deque<E> deque = new ArrayDeque<E>();
-    public E peek() {
-        return deque.peekLast();
-    }
-
-    public void push(E e) {
-        deque.addLast(e);
-    }
-
-    public E pop() {
-        return deque.pollLast();
-    }
-
-    public int size() {
-        return deque.size();
-    }
-
-    public void clear() {
-        deque.clear();
-    }
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.util;

+

+

+import java.util.ArrayDeque;

+import java.util.Deque;

+

+/**

+ * <p>Stack implementation based on java.util.Deque</p>

+ *

+ * @author Larry Ruiz

+ */

+public class DequeStack<E> implements Stack<E> {

+    private Deque<E> deque = new ArrayDeque<E>();

+    public E peek() {

+        return deque.peekLast();

+    }

+

+    public void push(E e) {

+        deque.addLast(e);

+    }

+

+    public E pop() {

+        return deque.pollLast();

+    }

+

+    public int size() {

+        return deque.size();

+    }

+

+    public void clear() {

+        deque.clear();

+    }

 }
\ No newline at end of file
diff --git a/core/src/main/java/org/tautua/markdownpapers/util/Stack.java b/core/src/main/java/org/tautua/markdownpapers/util/Stack.java
old mode 100644
new mode 100755
index 798f2a4..35565a6
--- a/core/src/main/java/org/tautua/markdownpapers/util/Stack.java
+++ b/core/src/main/java/org/tautua/markdownpapers/util/Stack.java
@@ -1,39 +1,39 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.util;
-
-/**
- * <p>Stack representation - LIFO.</p>
- *
- * @author Larry Ruiz
- */
-public interface Stack<E> {
-    /**
-     * Retrieves, but does not remove, the last element of this deque,
-     * or returns <tt>null</tt> if this deque is empty.
-     * @return
-     */
-    E peek();
-
-    void push(E e);
-
-    E pop();
-
-    int size();
-
-    void clear();
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.util;

+

+/**

+ * <p>Stack representation - LIFO.</p>

+ *

+ * @author Larry Ruiz

+ */

+public interface Stack<E> {

+    /**

+     * Retrieves, but does not remove, the last element of this deque,

+     * or returns <tt>null</tt> if this deque is empty.

+     * @return

+     */

+    E peek();

+

+    void push(E e);

+

+    E pop();

+

+    int size();

+

+    void clear();

+}

diff --git a/core/src/main/java/org/tautua/markdownpapers/util/Utils.java b/core/src/main/java/org/tautua/markdownpapers/util/Utils.java
old mode 100644
new mode 100755
index 45436b6..2131459
--- a/core/src/main/java/org/tautua/markdownpapers/util/Utils.java
+++ b/core/src/main/java/org/tautua/markdownpapers/util/Utils.java
@@ -1,55 +1,55 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers.util;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author Larry Ruiz, Sep 3, 2010
- */
-public final class Utils {
-    public static final char TAB = '\t';
-    public static final char EOL = '\n';
-    public static final char SPACE = ' ';
-    public static final char QUOTE = '\"';
-    public static final char AMPERSAND = '&';
-    public static final char LT = '<';
-    public static final char GT = '>';
-    public static final String EMPTY_STRING = "";
-
-
-    private static final Map<Character, String> ESCAPED_CHARS;
-
-
-    static {
-        ESCAPED_CHARS = new HashMap<Character, String>();
-        ESCAPED_CHARS.put(AMPERSAND, "&amp;");
-        ESCAPED_CHARS.put(LT, "&lt;");
-        ESCAPED_CHARS.put(GT, "&gt;");
-        ESCAPED_CHARS.put(QUOTE, "&quot;");
-    }
-
-    public static String escape(char character) {
-        String escaped = ESCAPED_CHARS.get(character);
-        return escaped == null ? String.valueOf(character) : escaped;
-    }
-
-    public static boolean isBlank(String val) {
-        return val == null || val.trim().equals(EMPTY_STRING);
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers.util;

+

+import java.util.HashMap;

+import java.util.Map;

+

+/**

+ * @author Larry Ruiz, Sep 3, 2010

+ */

+public final class Utils {

+    public static final char TAB = '\t';

+    public static final char EOL = '\n';

+    public static final char SPACE = ' ';

+    public static final char QUOTE = '\"';

+    public static final char AMPERSAND = '&';

+    public static final char LT = '<';

+    public static final char GT = '>';

+    public static final String EMPTY_STRING = "";

+

+

+    private static final Map<Character, String> ESCAPED_CHARS;

+

+

+    static {

+        ESCAPED_CHARS = new HashMap<Character, String>();

+        ESCAPED_CHARS.put(AMPERSAND, "&amp;");

+        ESCAPED_CHARS.put(LT, "&lt;");

+        ESCAPED_CHARS.put(GT, "&gt;");

+        ESCAPED_CHARS.put(QUOTE, "&quot;");

+    }

+

+    public static String escape(char character) {

+        String escaped = ESCAPED_CHARS.get(character);

+        return escaped == null ? String.valueOf(character) : escaped;

+    }

+

+    public static boolean isBlank(String val) {

+        return val == null || val.trim().equals(EMPTY_STRING);

+    }

+}

diff --git a/core/src/main/jjtree/Markdown.jjt b/core/src/main/jjtree/Markdown.jjt
old mode 100644
new mode 100755
index 3c09599..70f0d45
--- a/core/src/main/jjtree/Markdown.jjt
+++ b/core/src/main/jjtree/Markdown.jjt
Binary files differ
diff --git a/core/src/test/java/org/tautua/markdownpapers/BaseTest.java b/core/src/test/java/org/tautua/markdownpapers/BaseTest.java
old mode 100644
new mode 100755
index 26eb9c4..24596e2
--- a/core/src/test/java/org/tautua/markdownpapers/BaseTest.java
+++ b/core/src/test/java/org/tautua/markdownpapers/BaseTest.java
@@ -1,101 +1,101 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers;
-
-import org.custommonkey.xmlunit.HTMLDocumentBuilder;
-import org.custommonkey.xmlunit.TolerantSaxDocumentBuilder;
-import org.custommonkey.xmlunit.XMLAssert;
-import org.custommonkey.xmlunit.XMLUnit;
-import org.junit.Before;
-import org.junit.Test;
-import org.xml.sax.SAXException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.*;
-
-/**
- * @author Larry Ruiz
- */
-public abstract class BaseTest {
-
-    private static final String DEFAULT_OUTPUT_EXTENSION = ".html";
-    private static final String DEFAULT_INPUT_EXTENSION = ".text";
-    
-    protected String fileName;
-    private String inputExtension;
-    private String outputExtension; 
-    private File inputDirectory;
-    private File outputDirectory;
-
-    protected BaseTest(String fileName, File inputDirectory, File outputDirectory) {
-        this(fileName, inputDirectory, outputDirectory, DEFAULT_INPUT_EXTENSION, DEFAULT_OUTPUT_EXTENSION);
-    }
-    
-    protected BaseTest(String fileName, File inputDirectory, File outputDirectory, String inputExtension, String outputExtension) {
-        this.fileName = fileName;
-        this.inputDirectory = inputDirectory;
-        this.outputDirectory = outputDirectory;
-        this.inputExtension = inputExtension;
-        this.outputExtension = outputExtension;
-    }
-
-
-    protected static void transform(File in, File out) throws Exception {
-        Markdown md = new Markdown();
-        Reader r = new FileReader(in);
-        Writer w = new FileWriter(out);
-        md.transform(r, w);
-        r.close();
-        w.close();
-    }
-
-    /**
-     * <p>Compare two xml files, whitespace and attribute order are ignored.</p>
-     * @param expected
-     * @param output
-     * @throws java.io.IOException
-     * @throws org.xml.sax.SAXException
-     * @throws javax.xml.parsers.ParserConfigurationException
-     */
-    protected static void compare(File expected, File output) throws IOException, SAXException, ParserConfigurationException {
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLUnit.setIgnoreAttributeOrder(true);
-        TolerantSaxDocumentBuilder tolerantSaxDocumentBuilder = new TolerantSaxDocumentBuilder(XMLUnit.newTestParser());
-        HTMLDocumentBuilder htmlDocumentBuilder = new HTMLDocumentBuilder(tolerantSaxDocumentBuilder);
-        org.w3c.dom.Document e = htmlDocumentBuilder.parse(new FileReader(expected));
-        org.w3c.dom.Document o = htmlDocumentBuilder.parse(new FileReader(output));
-        XMLAssert.assertXMLEqual(e, o);
-    }
-    
-    @Before
-    public void setup() {
-        if (!outputDirectory.exists()) {
-            outputDirectory.mkdirs();
-        }
-    }
-
-    @Test
-    public void execute() throws Exception {
-        File input = new File(inputDirectory, fileName + inputExtension);
-        File expected = new File(inputDirectory, fileName + outputExtension);
-        File output = new File(outputDirectory, fileName + outputExtension);
-        transform(input, output);
-        if(expected.exists()) {
-            compare(expected, output);
-        }
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers;

+

+import org.custommonkey.xmlunit.HTMLDocumentBuilder;

+import org.custommonkey.xmlunit.TolerantSaxDocumentBuilder;

+import org.custommonkey.xmlunit.XMLAssert;

+import org.custommonkey.xmlunit.XMLUnit;

+import org.junit.Before;

+import org.junit.Test;

+import org.xml.sax.SAXException;

+

+import javax.xml.parsers.ParserConfigurationException;

+import java.io.*;

+

+/**

+ * @author Larry Ruiz

+ */

+public abstract class BaseTest {

+

+    private static final String DEFAULT_OUTPUT_EXTENSION = ".html";

+    private static final String DEFAULT_INPUT_EXTENSION = ".text";

+    

+    protected String fileName;

+    private String inputExtension;

+    private String outputExtension; 

+    private File inputDirectory;

+    private File outputDirectory;

+

+    protected BaseTest(String fileName, File inputDirectory, File outputDirectory) {

+        this(fileName, inputDirectory, outputDirectory, DEFAULT_INPUT_EXTENSION, DEFAULT_OUTPUT_EXTENSION);

+    }

+    

+    protected BaseTest(String fileName, File inputDirectory, File outputDirectory, String inputExtension, String outputExtension) {

+        this.fileName = fileName;

+        this.inputDirectory = inputDirectory;

+        this.outputDirectory = outputDirectory;

+        this.inputExtension = inputExtension;

+        this.outputExtension = outputExtension;

+    }

+

+

+    protected static void transform(File in, File out) throws Exception {

+        Markdown md = new Markdown();

+        Reader r = new FileReader(in);

+        Writer w = new FileWriter(out);

+        md.transform(r, w);

+        r.close();

+        w.close();

+    }

+

+    /**

+     * <p>Compare two xml files, whitespace and attribute order are ignored.</p>

+     * @param expected

+     * @param output

+     * @throws java.io.IOException

+     * @throws org.xml.sax.SAXException

+     * @throws javax.xml.parsers.ParserConfigurationException

+     */

+    protected static void compare(File expected, File output) throws IOException, SAXException, ParserConfigurationException {

+        XMLUnit.setIgnoreWhitespace(true);

+        XMLUnit.setIgnoreAttributeOrder(true);

+        TolerantSaxDocumentBuilder tolerantSaxDocumentBuilder = new TolerantSaxDocumentBuilder(XMLUnit.newTestParser());

+        HTMLDocumentBuilder htmlDocumentBuilder = new HTMLDocumentBuilder(tolerantSaxDocumentBuilder);

+        org.w3c.dom.Document e = htmlDocumentBuilder.parse(new FileReader(expected));

+        org.w3c.dom.Document o = htmlDocumentBuilder.parse(new FileReader(output));

+        XMLAssert.assertXMLEqual(e, o);

+    }

+    

+    @Before

+    public void setup() {

+        if (!outputDirectory.exists()) {

+            outputDirectory.mkdirs();

+        }

+    }

+

+    @Test

+    public void execute() throws Exception {

+        File input = new File(inputDirectory, fileName + inputExtension);

+        File expected = new File(inputDirectory, fileName + outputExtension);

+        File output = new File(outputDirectory, fileName + outputExtension);

+        transform(input, output);

+        if(expected.exists()) {

+            compare(expected, output);

+        }

+    }

+}

diff --git a/core/src/test/java/org/tautua/markdownpapers/LabelledParameterized.java b/core/src/test/java/org/tautua/markdownpapers/LabelledParameterized.java
old mode 100644
new mode 100755
index c781638..096fdf6
--- a/core/src/test/java/org/tautua/markdownpapers/LabelledParameterized.java
+++ b/core/src/test/java/org/tautua/markdownpapers/LabelledParameterized.java
@@ -1,173 +1,173 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.junit.runner.Description;
-import org.junit.runners.Parameterized;
-
-
-/**
- * <p>Taken from <a href="http://code.google.com/p/migen/">MiGen Project</a>, for better test name reporting.</p> 
- */
-public class LabelledParameterized extends Parameterized {
-    private List<String> labels;
-
-     private Description labelledDescription;
-
-     public LabelledParameterized(Class<?> cl) throws Throwable {
-         super(cl);
-         initialiseLabels();
-         generateLabelledDescription();
-     }
-
-     private void initialiseLabels() throws Exception {
-         Collection<Object[]> parameterArrays = getParameterArrays();
-         labels = new ArrayList<String>();
-         for (Object[] parameterArray : parameterArrays) {
-             String label = parameterArray[0].toString();
-             labels.add(label);
-         }
-
-     }
-
-     private Collection<Object[]> getParameterArrays() throws Exception {
-         Method testClassMethod = getDeclaredMethod(this.getClass(),
-                 "getTestClass");
-         Class<?> returnType = testClassMethod.getReturnType();
-         if (returnType == Class.class)
-             return getParameterArrays4_3();
-         else
-             return getParameterArrays4_4();
-     }
-
-     @SuppressWarnings("unchecked")
-     private Collection<Object[]> getParameterArrays4_3() throws Exception {
-         Object[][] methodCalls = new Object[][] { new Object[] { "getTestClass" } };
-         Class<?> cl = invokeMethodChain(this, methodCalls);
-         Method[] methods = cl.getMethods();
-
-         Method parametersMethod = null;
-         for (Method method : methods) {
-             boolean providesParameters = method
-                     .isAnnotationPresent(Parameters.class);
-             if (!providesParameters)
-                 continue;
-
-             if (parametersMethod != null)
-                 throw new Exception(
-                         "Only one method should be annotated with @Labels");
-
-             parametersMethod = method;
-         }
-
-         if (parametersMethod == null)
-             throw new Exception("No @Parameters method found");
-
-         Collection<Object[]> parameterArrays = (Collection<Object[]>) parametersMethod
-                 .invoke(null);
-         return parameterArrays;
-
-     }
-
-     private Collection<Object[]> getParameterArrays4_4() throws Exception {
-         Object[][] methodCalls = new Object[][] {
-                 new Object[] { "getTestClass" },
-                 new Object[] { "getAnnotatedMethods", Class.class,
-                         Parameters.class },
-                 new Object[] { "get", int.class, 0 },
-                 // use array type for varargs (equivalent (almost))
-                 new Object[] { "invokeExplosively", Object.class, null,
-                         Object[].class, new Object[] {} } };
-         Collection<Object[]> parameterArrays = invokeMethodChain(this,
-                 methodCalls);
-         return parameterArrays;
-     }
-
-     @SuppressWarnings("unchecked")
-     private <T> T invokeMethodChain(Object object, Object[][] methodCalls)
-             throws Exception {
-         for (Object[] methodCall : methodCalls) {
-             String methodName = (String) methodCall[0];
-             int parameterCount = (methodCall.length - 1) / 2;
-             Class<?>[] classes = new Class<?>[parameterCount];
-             Object[] arguments = new Object[parameterCount];
-             for (int i = 1; i < methodCall.length; i += 2) {
-                 Class<?> cl = (Class<?>) methodCall[i];
-                 Object argument = methodCall[i + 1];
-                 int index = (i - 1) / 2; // messy!
-                 classes[index] = cl;
-                 arguments[index] = argument;
-             }
-             Method method = getDeclaredMethod(object.getClass(), methodName,
-                     classes);
-             object = method.invoke(object, arguments);
-         }
-         return (T) object;
-     }
-
-     // iterates through super-classes until found. Throws NoSuchMethodException
-     // if not
-     private Method getDeclaredMethod(Class<?> cl, String methodName,
-             Class<?>... parameterTypes) throws NoSuchMethodException {
-         do {
-             try {
-                 Method method = cl
-                         .getDeclaredMethod(methodName, parameterTypes);
-                 return method;
-             } catch (NoSuchMethodException e) {
-                 // do nothing - just fall through to the below
-             }
-             cl = cl.getSuperclass();
-         } while (cl != null);
-         throw new NoSuchMethodException("Method " + methodName
-                 + "() not found in hierarchy");
-     }
-
-     private void generateLabelledDescription() throws Exception {
-         Description originalDescription = super.getDescription();
-         labelledDescription = Description
-                 .createSuiteDescription(originalDescription.getDisplayName());
-         ArrayList<Description> childDescriptions = originalDescription
-                 .getChildren();
-         int childCount = childDescriptions.size();
-         if (childCount != labels.size())
-             throw new Exception(
-                     "Number of labels and number of parameters must match.");
-
-         for (int i = 0; i < childDescriptions.size(); i++) {
-             Description childDescription = childDescriptions.get(i);
-             String label = labels.get(i);
-             Description newDescription = Description
-                     .createSuiteDescription(label);
-             ArrayList<Description> grandChildren = childDescription
-                     .getChildren();
-             for (Description grandChild : grandChildren)
-                 newDescription.addChild(grandChild);
-             labelledDescription.addChild(newDescription);
-         }
-     }
-
-     @Override
-     public Description getDescription() {
-         return labelledDescription;
-     }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers;

+

+import java.lang.reflect.Method;

+import java.util.ArrayList;

+import java.util.Collection;

+import java.util.List;

+

+import org.junit.runner.Description;

+import org.junit.runners.Parameterized;

+

+

+/**

+ * <p>Taken from <a href="http://code.google.com/p/migen/">MiGen Project</a>, for better test name reporting.</p> 

+ */

+public class LabelledParameterized extends Parameterized {

+    private List<String> labels;

+

+     private Description labelledDescription;

+

+     public LabelledParameterized(Class<?> cl) throws Throwable {

+         super(cl);

+         initialiseLabels();

+         generateLabelledDescription();

+     }

+

+     private void initialiseLabels() throws Exception {

+         Collection<Object[]> parameterArrays = getParameterArrays();

+         labels = new ArrayList<String>();

+         for (Object[] parameterArray : parameterArrays) {

+             String label = parameterArray[0].toString();

+             labels.add(label);

+         }

+

+     }

+

+     private Collection<Object[]> getParameterArrays() throws Exception {

+         Method testClassMethod = getDeclaredMethod(this.getClass(),

+                 "getTestClass");

+         Class<?> returnType = testClassMethod.getReturnType();

+         if (returnType == Class.class)

+             return getParameterArrays4_3();

+         else

+             return getParameterArrays4_4();

+     }

+

+     @SuppressWarnings("unchecked")

+     private Collection<Object[]> getParameterArrays4_3() throws Exception {

+         Object[][] methodCalls = new Object[][] { new Object[] { "getTestClass" } };

+         Class<?> cl = invokeMethodChain(this, methodCalls);

+         Method[] methods = cl.getMethods();

+

+         Method parametersMethod = null;

+         for (Method method : methods) {

+             boolean providesParameters = method

+                     .isAnnotationPresent(Parameters.class);

+             if (!providesParameters)

+                 continue;

+

+             if (parametersMethod != null)

+                 throw new Exception(

+                         "Only one method should be annotated with @Labels");

+

+             parametersMethod = method;

+         }

+

+         if (parametersMethod == null)

+             throw new Exception("No @Parameters method found");

+

+         Collection<Object[]> parameterArrays = (Collection<Object[]>) parametersMethod

+                 .invoke(null);

+         return parameterArrays;

+

+     }

+

+     private Collection<Object[]> getParameterArrays4_4() throws Exception {

+         Object[][] methodCalls = new Object[][] {

+                 new Object[] { "getTestClass" },

+                 new Object[] { "getAnnotatedMethods", Class.class,

+                         Parameters.class },

+                 new Object[] { "get", int.class, 0 },

+                 // use array type for varargs (equivalent (almost))

+                 new Object[] { "invokeExplosively", Object.class, null,

+                         Object[].class, new Object[] {} } };

+         Collection<Object[]> parameterArrays = invokeMethodChain(this,

+                 methodCalls);

+         return parameterArrays;

+     }

+

+     @SuppressWarnings("unchecked")

+     private <T> T invokeMethodChain(Object object, Object[][] methodCalls)

+             throws Exception {

+         for (Object[] methodCall : methodCalls) {

+             String methodName = (String) methodCall[0];

+             int parameterCount = (methodCall.length - 1) / 2;

+             Class<?>[] classes = new Class<?>[parameterCount];

+             Object[] arguments = new Object[parameterCount];

+             for (int i = 1; i < methodCall.length; i += 2) {

+                 Class<?> cl = (Class<?>) methodCall[i];

+                 Object argument = methodCall[i + 1];

+                 int index = (i - 1) / 2; // messy!

+                 classes[index] = cl;

+                 arguments[index] = argument;

+             }

+             Method method = getDeclaredMethod(object.getClass(), methodName,

+                     classes);

+             object = method.invoke(object, arguments);

+         }

+         return (T) object;

+     }

+

+     // iterates through super-classes until found. Throws NoSuchMethodException

+     // if not

+     private Method getDeclaredMethod(Class<?> cl, String methodName,

+             Class<?>... parameterTypes) throws NoSuchMethodException {

+         do {

+             try {

+                 Method method = cl

+                         .getDeclaredMethod(methodName, parameterTypes);

+                 return method;

+             } catch (NoSuchMethodException e) {

+                 // do nothing - just fall through to the below

+             }

+             cl = cl.getSuperclass();

+         } while (cl != null);

+         throw new NoSuchMethodException("Method " + methodName

+                 + "() not found in hierarchy");

+     }

+

+     private void generateLabelledDescription() throws Exception {

+         Description originalDescription = super.getDescription();

+         labelledDescription = Description

+                 .createSuiteDescription(originalDescription.getDisplayName());

+         ArrayList<Description> childDescriptions = originalDescription

+                 .getChildren();

+         int childCount = childDescriptions.size();

+         if (childCount != labels.size())

+             throw new Exception(

+                     "Number of labels and number of parameters must match.");

+

+         for (int i = 0; i < childDescriptions.size(); i++) {

+             Description childDescription = childDescriptions.get(i);

+             String label = labels.get(i);

+             Description newDescription = Description

+                     .createSuiteDescription(label);

+             ArrayList<Description> grandChildren = childDescription

+                     .getChildren();

+             for (Description grandChild : grandChildren)

+                 newDescription.addChild(grandChild);

+             labelledDescription.addChild(newDescription);

+         }

+     }

+

+     @Override

+     public Description getDescription() {

+         return labelledDescription;

+     }

+}

diff --git a/core/src/test/java/org/tautua/markdownpapers/MarkdownPapersTest.java b/core/src/test/java/org/tautua/markdownpapers/MarkdownPapersTest.java
old mode 100644
new mode 100755
index 7250d1d..27b3941
--- a/core/src/test/java/org/tautua/markdownpapers/MarkdownPapersTest.java
+++ b/core/src/test/java/org/tautua/markdownpapers/MarkdownPapersTest.java
@@ -1,55 +1,55 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.List;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(LabelledParameterized.class)
-public class MarkdownPapersTest extends BaseTest {
-
-    public MarkdownPapersTest(String fileName) {
-        super(fileName, new File("target/test-classes/others"), new File("target/output/others"));
-    }
-
-    @Parameters
-    public static List<Object[]> data() throws FileNotFoundException {
-        return Arrays.asList(new Object[][]{
-                {"code"},
-                {"comments"},
-                {"emphasis"},
-                {"headers"},
-                {"images"},
-                {"inline"},
-                {"linebreak"},
-                {"links"},
-                {"list"},
-                {"paragraphs"},
-                {"quoteAndList"},
-                {"quotes"},
-                {"rulers"},
-                {"snippets"},
-                {"tags"},
-                {"underscore"},
-                {"inlineUrls"}
-            });
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers;

+

+import java.io.*;

+import java.util.Arrays;

+import java.util.List;

+

+import org.junit.runner.RunWith;

+import org.junit.runners.Parameterized.Parameters;

+

+@RunWith(LabelledParameterized.class)

+public class MarkdownPapersTest extends BaseTest {

+

+    public MarkdownPapersTest(String fileName) {

+        super(fileName, new File("target/test-classes/others"), new File("target/output/others"));

+    }

+

+    @Parameters

+    public static List<Object[]> data() throws FileNotFoundException {

+        return Arrays.asList(new Object[][]{

+                {"code"},

+                {"comments"},

+                {"emphasis"},

+                {"headers"},

+                {"images"},

+                {"inline"},

+                {"linebreak"},

+                {"links"},

+                {"list"},

+                {"paragraphs"},

+                {"quoteAndList"},

+                {"quotes"},

+                {"rulers"},

+                {"snippets"},

+                {"tags"},

+                {"underscore"},

+                {"inlineUrls"}

+            });

+    }

+}

diff --git a/core/src/test/java/org/tautua/markdownpapers/Markdown_1_0_Test.java b/core/src/test/java/org/tautua/markdownpapers/Markdown_1_0_Test.java
old mode 100644
new mode 100755
index 66d72c5..867712d
--- a/core/src/test/java/org/tautua/markdownpapers/Markdown_1_0_Test.java
+++ b/core/src/test/java/org/tautua/markdownpapers/Markdown_1_0_Test.java
@@ -1,61 +1,61 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized.Parameters;
-import java.io.*;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * @author Larry Ruiz
- */
-@RunWith(LabelledParameterized.class)
-public class Markdown_1_0_Test extends BaseTest {
-    private static final File OUTPUT_DIR = new File("target/output/1.0");
-    private static final File INPUT_DIR = new File("target/test-classes/1.0");
-
-    public Markdown_1_0_Test(String fileName) {
-        super(fileName, INPUT_DIR, OUTPUT_DIR);
-    }
-
-    @Parameters
-    public static List<Object[]> data() {
-        return Arrays.asList(new Object[][]{
-                {"Amps and angle encoding"},
-                {"Auto links"},
-                {"Backslash escapes"},
-                {"Blockquotes with code blocks"},
-                {"Hard-wrapped paragraphs with list-like lines"},
-                {"Horizontal rules"},
-                {"Inline HTML (Advanced)"},
-                {"Inline HTML (Simple)"},
-                {"Inline HTML comments"},
-                {"Links, inline style"},
-                {"Links, reference style"},
-                {"Literal quotes in titles"},
-                {"Markdown Documentation - Basics"},
-                {"Markdown Documentation - Syntax"},
-                {"Nested blockquotes"},
-                {"Ordered and unordered lists"},
-                {"Strong and em together"},
-                {"Tabs"},
-                {"Tidyness"}
-            });
-    }
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers;

+

+import org.junit.runner.RunWith;

+import org.junit.runners.Parameterized.Parameters;

+import java.io.*;

+import java.util.Arrays;

+import java.util.List;

+

+/**

+ * @author Larry Ruiz

+ */

+@RunWith(LabelledParameterized.class)

+public class Markdown_1_0_Test extends BaseTest {

+    private static final File OUTPUT_DIR = new File("target/output/1.0");

+    private static final File INPUT_DIR = new File("target/test-classes/1.0");

+

+    public Markdown_1_0_Test(String fileName) {

+        super(fileName, INPUT_DIR, OUTPUT_DIR);

+    }

+

+    @Parameters

+    public static List<Object[]> data() {

+        return Arrays.asList(new Object[][]{

+                {"Amps and angle encoding"},

+                {"Auto links"},

+                {"Backslash escapes"},

+                {"Blockquotes with code blocks"},

+                {"Hard-wrapped paragraphs with list-like lines"},

+                {"Horizontal rules"},

+                {"Inline HTML (Advanced)"},

+                {"Inline HTML (Simple)"},

+                {"Inline HTML comments"},

+                {"Links, inline style"},

+                {"Links, reference style"},

+                {"Literal quotes in titles"},

+                {"Markdown Documentation - Basics"},

+                {"Markdown Documentation - Syntax"},

+                {"Nested blockquotes"},

+                {"Ordered and unordered lists"},

+                {"Strong and em together"},

+                {"Tabs"},

+                {"Tidyness"}

+            });

+    }

+}

diff --git a/core/src/test/java/org/tautua/markdownpapers/Markdown_1_1_Test.java b/core/src/test/java/org/tautua/markdownpapers/Markdown_1_1_Test.java
old mode 100644
new mode 100755
index 03f5193..1628fec
--- a/core/src/test/java/org/tautua/markdownpapers/Markdown_1_1_Test.java
+++ b/core/src/test/java/org/tautua/markdownpapers/Markdown_1_1_Test.java
@@ -1,66 +1,66 @@
-/*
- * Copyright 2011, TAUTUA
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.tautua.markdownpapers;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized.Parameters;
-import java.io.*;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * @author Larry Ruiz
- */
-@RunWith(LabelledParameterized.class)
-public class Markdown_1_1_Test extends BaseTest {
-    private static final File OUTPUT_DIR = new File("target/output/1.1/basics");
-    private static final File INPUT_DIR = new File("target/test-classes/1.1/basics");
-
-    public Markdown_1_1_Test(String fileName) {
-        super(fileName, INPUT_DIR, OUTPUT_DIR, ".text", ".xhtml");
-    }
-
-    @Parameters
-    public static List<Object[]> data() {
-        return Arrays.asList(new Object[][]{
-                {"Amps and angle encoding"},
-                {"Auto links"},
-                {"Backslash escapes"},
-                {"Blockquotes with code blocks"},
-                {"Code Blocks"},
-                {"Code Spans"},
-                {"Hard-wrapped paragraphs with list-like lines"},
-                {"Horizontal rules"},
-                {"Images"},
-                {"Inline HTML (Advanced)"},
-                {"Inline HTML (Simple)"},
-                {"Inline HTML comments"},
-                {"Links, inline style"},
-                {"Links, reference style"},
-                {"Links, shortcut references"},
-                {"Literal quotes in titles"},
-                {"Markdown Documentation - Basics"},
-                {"Markdown Documentation - Syntax"},
-                {"Nested blockquotes"},
-                {"Ordered and unordered lists"},
-                {"Strong and em together"},
-                {"Tabs"},
-                {"Tidyness"}
-            });
-    }
-
-}
+/*

+ * Copyright 2011, TAUTUA

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+package org.tautua.markdownpapers;

+

+import org.junit.runner.RunWith;

+import org.junit.runners.Parameterized.Parameters;

+import java.io.*;

+import java.util.Arrays;

+import java.util.List;

+

+/**

+ * @author Larry Ruiz

+ */

+@RunWith(LabelledParameterized.class)

+public class Markdown_1_1_Test extends BaseTest {

+    private static final File OUTPUT_DIR = new File("target/output/1.1/basics");

+    private static final File INPUT_DIR = new File("target/test-classes/1.1/basics");

+

+    public Markdown_1_1_Test(String fileName) {

+        super(fileName, INPUT_DIR, OUTPUT_DIR, ".text", ".xhtml");

+    }

+

+    @Parameters

+    public static List<Object[]> data() {

+        return Arrays.asList(new Object[][]{

+                {"Amps and angle encoding"},

+                {"Auto links"},

+                {"Backslash escapes"},

+                {"Blockquotes with code blocks"},

+                {"Code Blocks"},

+                {"Code Spans"},

+                {"Hard-wrapped paragraphs with list-like lines"},

+                {"Horizontal rules"},

+                {"Images"},

+                {"Inline HTML (Advanced)"},

+                {"Inline HTML (Simple)"},

+                {"Inline HTML comments"},

+                {"Links, inline style"},

+                {"Links, reference style"},

+                {"Links, shortcut references"},

+                {"Literal quotes in titles"},

+                {"Markdown Documentation - Basics"},

+                {"Markdown Documentation - Syntax"},

+                {"Nested blockquotes"},

+                {"Ordered and unordered lists"},

+                {"Strong and em together"},

+                {"Tabs"},

+                {"Tidyness"}

+            });

+    }

+

+}

diff --git a/core/src/test/resources/1.0/Amps and angle encoding.html b/core/src/test/resources/1.0/Amps and angle encoding.html
old mode 100644
new mode 100755
index 9606860..9923605
--- a/core/src/test/resources/1.0/Amps and angle encoding.html
+++ b/core/src/test/resources/1.0/Amps and angle encoding.html
@@ -1,17 +1,17 @@
-<p>AT&amp;T has an ampersand in their name.</p>
-
-<p>AT&amp;T is another way to write it.</p>
-
-<p>This &amp; that.</p>
-
-<p>4 &lt; 5.</p>
-
-<p>6 > 5.</p>
-
-<p>Here's a <a href="http://example.com/?foo=1&amp;bar=2">link</a> with an ampersand in the URL.</p>
-
-<p>Here's a link with an amersand in the link text: <a href="http://att.com/" title="AT&amp;T">AT&amp;T</a>.</p>
-
-<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>
-
-<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>
+<p>AT&amp;T has an ampersand in their name.</p>

+

+<p>AT&amp;T is another way to write it.</p>

+

+<p>This &amp; that.</p>

+

+<p>4 &lt; 5.</p>

+

+<p>6 > 5.</p>

+

+<p>Here's a <a href="http://example.com/?foo=1&amp;bar=2">link</a> with an ampersand in the URL.</p>

+

+<p>Here's a link with an amersand in the link text: <a href="http://att.com/" title="AT&amp;T">AT&amp;T</a>.</p>

+

+<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>

+

+<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>

diff --git a/core/src/test/resources/1.0/Amps and angle encoding.text b/core/src/test/resources/1.0/Amps and angle encoding.text
old mode 100644
new mode 100755
index 0e9527f..d898199
--- a/core/src/test/resources/1.0/Amps and angle encoding.text
+++ b/core/src/test/resources/1.0/Amps and angle encoding.text
@@ -1,21 +1,21 @@
-AT&T has an ampersand in their name.
-
-AT&amp;T is another way to write it.
-
-This & that.
-
-4 < 5.
-
-6 > 5.
-
-Here's a [link] [1] with an ampersand in the URL.
-
-Here's a link with an amersand in the link text: [AT&T] [2].
-
-Here's an inline [link](/script?foo=1&bar=2).
-
-Here's an inline [link](</script?foo=1&bar=2>).
-
-
-[1]: http://example.com/?foo=1&bar=2
+AT&T has an ampersand in their name.

+

+AT&amp;T is another way to write it.

+

+This & that.

+

+4 < 5.

+

+6 > 5.

+

+Here's a [link] [1] with an ampersand in the URL.

+

+Here's a link with an amersand in the link text: [AT&T] [2].

+

+Here's an inline [link](/script?foo=1&bar=2).

+

+Here's an inline [link](</script?foo=1&bar=2>).

+

+

+[1]: http://example.com/?foo=1&bar=2

 [2]: http://att.com/  "AT&T"
\ No newline at end of file
diff --git a/core/src/test/resources/1.0/Auto links.html b/core/src/test/resources/1.0/Auto links.html
old mode 100644
new mode 100755
index f8df985..12800bc
--- a/core/src/test/resources/1.0/Auto links.html
+++ b/core/src/test/resources/1.0/Auto links.html
@@ -1,18 +1,18 @@
-<p>Link: <a href="http://example.com/">http://example.com/</a>.</p>
-
-<p>With an ampersand: <a href="http://example.com/?foo=1&amp;bar=2">http://example.com/?foo=1&amp;bar=2</a></p>
-
-<ul>
-<li>In a list?</li>
-<li><a href="http://example.com/">http://example.com/</a></li>
-<li>It should.</li>
-</ul>
-
-<blockquote>
-  <p>Blockquoted: <a href="http://example.com/">http://example.com/</a></p>
-</blockquote>
-
-<p>Auto-links should not occur here: <code>&lt;http://example.com/&gt;</code></p>
-
-<pre><code>or here: &lt;http://example.com/&gt;
-</code></pre>
+<p>Link: <a href="http://example.com/">http://example.com/</a>.</p>

+

+<p>With an ampersand: <a href="http://example.com/?foo=1&amp;bar=2">http://example.com/?foo=1&amp;bar=2</a></p>

+

+<ul>

+<li>In a list?</li>

+<li><a href="http://example.com/">http://example.com/</a></li>

+<li>It should.</li>

+</ul>

+

+<blockquote>

+  <p>Blockquoted: <a href="http://example.com/">http://example.com/</a></p>

+</blockquote>

+

+<p>Auto-links should not occur here: <code>&lt;http://example.com/&gt;</code></p>

+

+<pre><code>or here: &lt;http://example.com/&gt;

+</code></pre>

diff --git a/core/src/test/resources/1.0/Auto links.text b/core/src/test/resources/1.0/Auto links.text
old mode 100644
new mode 100755
index abbc488..9e4380e
--- a/core/src/test/resources/1.0/Auto links.text
+++ b/core/src/test/resources/1.0/Auto links.text
@@ -1,13 +1,13 @@
-Link: <http://example.com/>.
-
-With an ampersand: <http://example.com/?foo=1&bar=2>
-
-* In a list?
-* <http://example.com/>
-* It should.
-
-> Blockquoted: <http://example.com/>
-
-Auto-links should not occur here: `<http://example.com/>`
-
+Link: <http://example.com/>.

+

+With an ampersand: <http://example.com/?foo=1&bar=2>

+

+* In a list?

+* <http://example.com/>

+* It should.

+

+> Blockquoted: <http://example.com/>

+

+Auto-links should not occur here: `<http://example.com/>`

+

 	or here: <http://example.com/>
\ No newline at end of file
diff --git a/core/src/test/resources/1.0/Backslash escapes.html b/core/src/test/resources/1.0/Backslash escapes.html
old mode 100644
new mode 100755
index 77823c3..0263468
--- a/core/src/test/resources/1.0/Backslash escapes.html
+++ b/core/src/test/resources/1.0/Backslash escapes.html
@@ -1,102 +1,102 @@
-<p>These should all get escaped:</p>
-
-<p>Backslash: \</p>
-
-<p>Backtick: `</p>
-
-<p>Asterisk: *</p>
-
-<p>Underscore: _</p>
-
-<p>Left brace: {</p>
-
-<p>Right brace: }</p>
-
-<p>Left bracket: [</p>
-
-<p>Right bracket: ]</p>
-
-<p>Left paren: (</p>
-
-<p>Right paren: )</p>
-
-<p>Greater-than: ></p>
-
-<p>Hash: #</p>
-
-<p>Period: .</p>
-
-<p>Bang: !</p>
-
-<p>Plus: +</p>
-
-<p>Minus: -</p>
-
-<p>These should not, because they occur within a code block:</p>
-
-<pre><code>Backslash: \\
-
-Backtick: \`
-
-Asterisk: \*
-
-Underscore: \_
-
-Left brace: \{
-
-Right brace: \}
-
-Left bracket: \[
-
-Right bracket: \]
-
-Left paren: \(
-
-Right paren: \)
-
-Greater-than: \&gt;
-
-Hash: \#
-
-Period: \.
-
-Bang: \!
-
-Plus: \+
-
-Minus: \-
-</code></pre>
-
-<p>Nor should these, which occur in code spans:</p>
-
-<p>Backslash: <code>\\</code></p>
-
-<p>Backtick: <code>\`</code></p>
-
-<p>Asterisk: <code>\*</code></p>
-
-<p>Underscore: <code>\_</code></p>
-
-<p>Left brace: <code>\{</code></p>
-
-<p>Right brace: <code>\}</code></p>
-
-<p>Left bracket: <code>\[</code></p>
-
-<p>Right bracket: <code>\]</code></p>
-
-<p>Left paren: <code>\(</code></p>
-
-<p>Right paren: <code>\)</code></p>
-
-<p>Greater-than: <code>\&gt;</code></p>
-
-<p>Hash: <code>\#</code></p>
-
-<p>Period: <code>\.</code></p>
-
-<p>Bang: <code>\!</code></p>
-
-<p>Plus: <code>\+</code></p>
-
-<p>Minus: <code>\-</code></p>
+<p>These should all get escaped:</p>

+

+<p>Backslash: \</p>

+

+<p>Backtick: `</p>

+

+<p>Asterisk: *</p>

+

+<p>Underscore: _</p>

+

+<p>Left brace: {</p>

+

+<p>Right brace: }</p>

+

+<p>Left bracket: [</p>

+

+<p>Right bracket: ]</p>

+

+<p>Left paren: (</p>

+

+<p>Right paren: )</p>

+

+<p>Greater-than: ></p>

+

+<p>Hash: #</p>

+

+<p>Period: .</p>

+

+<p>Bang: !</p>

+

+<p>Plus: +</p>

+

+<p>Minus: -</p>

+

+<p>These should not, because they occur within a code block:</p>

+

+<pre><code>Backslash: \\

+

+Backtick: \`

+

+Asterisk: \*

+

+Underscore: \_

+

+Left brace: \{

+

+Right brace: \}

+

+Left bracket: \[

+

+Right bracket: \]

+

+Left paren: \(

+

+Right paren: \)

+

+Greater-than: \&gt;

+

+Hash: \#

+

+Period: \.

+

+Bang: \!

+

+Plus: \+

+

+Minus: \-

+</code></pre>

+

+<p>Nor should these, which occur in code spans:</p>

+

+<p>Backslash: <code>\\</code></p>

+

+<p>Backtick: <code>\`</code></p>

+

+<p>Asterisk: <code>\*</code></p>

+

+<p>Underscore: <code>\_</code></p>

+

+<p>Left brace: <code>\{</code></p>

+

+<p>Right brace: <code>\}</code></p>

+

+<p>Left bracket: <code>\[</code></p>

+

+<p>Right bracket: <code>\]</code></p>

+

+<p>Left paren: <code>\(</code></p>

+

+<p>Right paren: <code>\)</code></p>

+

+<p>Greater-than: <code>\&gt;</code></p>

+

+<p>Hash: <code>\#</code></p>

+

+<p>Period: <code>\.</code></p>

+

+<p>Bang: <code>\!</code></p>

+

+<p>Plus: <code>\+</code></p>

+

+<p>Minus: <code>\-</code></p>

diff --git a/core/src/test/resources/1.0/Backslash escapes.text b/core/src/test/resources/1.0/Backslash escapes.text
old mode 100644
new mode 100755
index 16447a0..5450eb2
--- a/core/src/test/resources/1.0/Backslash escapes.text
+++ b/core/src/test/resources/1.0/Backslash escapes.text
@@ -1,104 +1,104 @@
-These should all get escaped:
-
-Backslash: \\
-
-Backtick: \`
-
-Asterisk: \*
-
-Underscore: \_
-
-Left brace: \{
-
-Right brace: \}
-
-Left bracket: \[
-
-Right bracket: \]
-
-Left paren: \(
-
-Right paren: \)
-
-Greater-than: \>
-
-Hash: \#
-
-Period: \.
-
-Bang: \!
-
-Plus: \+
-
-Minus: \-
-
-
-
-These should not, because they occur within a code block:
-
-	Backslash: \\
-
-	Backtick: \`
-
-	Asterisk: \*
-
-	Underscore: \_
-
-	Left brace: \{
-
-	Right brace: \}
-
-	Left bracket: \[
-
-	Right bracket: \]
-
-	Left paren: \(
-
-	Right paren: \)
-
-	Greater-than: \>
-
-	Hash: \#
-
-	Period: \.
-
-	Bang: \!
-
-	Plus: \+
-
-	Minus: \-
-
-
-Nor should these, which occur in code spans:
-
-Backslash: `\\`
-
-Backtick: `` \` ``
-
-Asterisk: `\*`
-
-Underscore: `\_`
-
-Left brace: `\{`
-
-Right brace: `\}`
-
-Left bracket: `\[`
-
-Right bracket: `\]`
-
-Left paren: `\(`
-
-Right paren: `\)`
-
-Greater-than: `\>`
-
-Hash: `\#`
-
-Period: `\.`
-
-Bang: `\!`
-
-Plus: `\+`
-
-Minus: `\-`
+These should all get escaped:

+

+Backslash: \\

+

+Backtick: \`

+

+Asterisk: \*

+

+Underscore: \_

+

+Left brace: \{

+

+Right brace: \}

+

+Left bracket: \[

+

+Right bracket: \]

+

+Left paren: \(

+

+Right paren: \)

+

+Greater-than: \>

+

+Hash: \#

+

+Period: \.

+

+Bang: \!

+

+Plus: \+

+

+Minus: \-

+

+

+

+These should not, because they occur within a code block:

+

+	Backslash: \\

+

+	Backtick: \`

+

+	Asterisk: \*

+

+	Underscore: \_

+

+	Left brace: \{

+

+	Right brace: \}

+

+	Left bracket: \[

+

+	Right bracket: \]

+

+	Left paren: \(

+

+	Right paren: \)

+

+	Greater-than: \>

+

+	Hash: \#

+

+	Period: \.

+

+	Bang: \!

+

+	Plus: \+

+

+	Minus: \-

+

+

+Nor should these, which occur in code spans:

+

+Backslash: `\\`

+

+Backtick: `` \` ``

+

+Asterisk: `\*`

+

+Underscore: `\_`

+

+Left brace: `\{`

+

+Right brace: `\}`

+

+Left bracket: `\[`

+

+Right bracket: `\]`

+

+Left paren: `\(`

+

+Right paren: `\)`

+

+Greater-than: `\>`

+

+Hash: `\#`

+

+Period: `\.`

+

+Bang: `\!`

+

+Plus: `\+`

+

+Minus: `\-`

diff --git a/core/src/test/resources/1.0/Blockquotes with code blocks.html b/core/src/test/resources/1.0/Blockquotes with code blocks.html
old mode 100644
new mode 100755
index 990202a..3bdb552
--- a/core/src/test/resources/1.0/Blockquotes with code blocks.html
+++ b/core/src/test/resources/1.0/Blockquotes with code blocks.html
@@ -1,15 +1,15 @@
-<blockquote>
-  <p>Example:</p>
-
-<pre><code>sub status {
-    print "working";
-}
-</code></pre>
-  
-  <p>Or:</p>
-
-<pre><code>sub status {
-    return "working";
-}
-</code></pre>
-</blockquote>
+<blockquote>

+  <p>Example:</p>

+

+<pre><code>sub status {

+    print "working";

+}

+</code></pre>

+  

+  <p>Or:</p>

+

+<pre><code>sub status {

+    return "working";

+}

+</code></pre>

+</blockquote>

diff --git a/core/src/test/resources/1.0/Blockquotes with code blocks.text b/core/src/test/resources/1.0/Blockquotes with code blocks.text
old mode 100644
new mode 100755
index c31d171..1132c95
--- a/core/src/test/resources/1.0/Blockquotes with code blocks.text
+++ b/core/src/test/resources/1.0/Blockquotes with code blocks.text
@@ -1,11 +1,11 @@
-> Example:
-> 
->     sub status {
->         print "working";
->     }
-> 
-> Or:
-> 
->     sub status {
->         return "working";
->     }
+> Example:

+> 

+>     sub status {

+>         print "working";

+>     }

+> 

+> Or:

+> 

+>     sub status {

+>         return "working";

+>     }

diff --git a/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.html b/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.html
old mode 100644
new mode 100755
index e21ac79..c7a7277
--- a/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.html
+++ b/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.html
@@ -1,8 +1,8 @@
-<p>In Markdown 1.0.0 and earlier. Version
-8. This line turns into a list item.
-Because a hard-wrapped line in the
-middle of a paragraph looked like a
-list item.</p>
-
-<p>Here's one with a bullet.
-* criminey.</p>
+<p>In Markdown 1.0.0 and earlier. Version

+8. This line turns into a list item.

+Because a hard-wrapped line in the

+middle of a paragraph looked like a

+list item.</p>

+

+<p>Here's one with a bullet.

+* criminey.</p>

diff --git a/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.text b/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.text
old mode 100644
new mode 100755
index f8a5b27..94acad8
--- a/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.text
+++ b/core/src/test/resources/1.0/Hard-wrapped paragraphs with list-like lines.text
@@ -1,8 +1,8 @@
-In Markdown 1.0.0 and earlier. Version
-8. This line turns into a list item.
-Because a hard-wrapped line in the
-middle of a paragraph looked like a
-list item.
-
-Here's one with a bullet.
-* criminey.
+In Markdown 1.0.0 and earlier. Version

+8. This line turns into a list item.

+Because a hard-wrapped line in the

+middle of a paragraph looked like a

+list item.

+

+Here's one with a bullet.

+* criminey.

diff --git a/core/src/test/resources/1.0/Horizontal rules.html b/core/src/test/resources/1.0/Horizontal rules.html
old mode 100644
new mode 100755
index 2dc2ab6..4b5574c
--- a/core/src/test/resources/1.0/Horizontal rules.html
+++ b/core/src/test/resources/1.0/Horizontal rules.html
@@ -1,71 +1,71 @@
-<p>Dashes:</p>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>---
-</code></pre>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>- - -
-</code></pre>
-
-<p>Asterisks:</p>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>***
-</code></pre>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>* * *
-</code></pre>
-
-<p>Underscores:</p>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>___
-</code></pre>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>_ _ _
-</code></pre>
+<p>Dashes:</p>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>---

+</code></pre>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>- - -

+</code></pre>

+

+<p>Asterisks:</p>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>***

+</code></pre>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>* * *

+</code></pre>

+

+<p>Underscores:</p>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>___

+</code></pre>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>_ _ _

+</code></pre>

diff --git a/core/src/test/resources/1.0/Horizontal rules.text b/core/src/test/resources/1.0/Horizontal rules.text
old mode 100644
new mode 100755
index 1594bda..6a51dac
--- a/core/src/test/resources/1.0/Horizontal rules.text
+++ b/core/src/test/resources/1.0/Horizontal rules.text
@@ -1,67 +1,67 @@
-Dashes:
-
----
-
- ---
- 
-  ---
-
-   ---
-
-	---
-
-- - -
-
- - - -
- 
-  - - -
-
-   - - -
-
-	- - -
-
-
-Asterisks:
-
-***
-
- ***
- 
-  ***
-
-   ***
-
-	***
-
-* * *
-
- * * *
- 
-  * * *
-
-   * * *
-
-	* * *
-
-
-Underscores:
-
-___
-
- ___
- 
-  ___
-
-   ___
-
-    ___
-
-_ _ _
-
- _ _ _
- 
-  _ _ _
-
-   _ _ _
-
-    _ _ _
+Dashes:

+

+---

+

+ ---

+ 

+  ---

+

+   ---

+

+	---

+

+- - -

+

+ - - -

+ 

+  - - -

+

+   - - -

+

+	- - -

+

+

+Asterisks:

+

+***

+

+ ***

+ 

+  ***

+

+   ***

+

+	***

+

+* * *

+

+ * * *

+ 

+  * * *

+

+   * * *

+

+	* * *

+

+

+Underscores:

+

+___

+

+ ___

+ 

+  ___

+

+   ___

+

+    ___

+

+_ _ _

+

+ _ _ _

+ 

+  _ _ _

+

+   _ _ _

+

+    _ _ _

diff --git "a/core/src/test/resources/1.0/Inline HTML \050Advanced\051.html" "b/core/src/test/resources/1.0/Inline HTML \050Advanced\051.html"
old mode 100644
new mode 100755
index 1972d87..db46fde
--- "a/core/src/test/resources/1.0/Inline HTML \050Advanced\051.html"
+++ "b/core/src/test/resources/1.0/Inline HTML \050Advanced\051.html"
@@ -1,14 +1,14 @@
-<p>Simple block on one line:</p>
-
-<div>foo</div>
-
-<p>And nested without indentation:</p>
-
-<div>
-<div>
-<div>
-foo
-</div>
-</div>
-<div>bar</div>
-</div>
+<p>Simple block on one line:</p>

+

+<div>foo</div>

+

+<p>And nested without indentation:</p>

+

+<div>

+<div>

+<div>

+foo

+</div>

+</div>

+<div>bar</div>

+</div>

diff --git "a/core/src/test/resources/1.0/Inline HTML \050Advanced\051.text" "b/core/src/test/resources/1.0/Inline HTML \050Advanced\051.text"
old mode 100644
new mode 100755
index 9d71ddc..72c22c3
--- "a/core/src/test/resources/1.0/Inline HTML \050Advanced\051.text"
+++ "b/core/src/test/resources/1.0/Inline HTML \050Advanced\051.text"
@@ -1,14 +1,14 @@
-Simple block on one line:
-
-<div>foo</div>
-
-And nested without indentation:
-
-<div>
-<div>
-<div>
-foo
-</div>
-</div>
-<div>bar</div>
-</div>
+Simple block on one line:

+

+<div>foo</div>

+

+And nested without indentation:

+

+<div>

+<div>

+<div>

+foo

+</div>

+</div>

+<div>bar</div>

+</div>

diff --git "a/core/src/test/resources/1.0/Inline HTML \050Simple\051.html" "b/core/src/test/resources/1.0/Inline HTML \050Simple\051.html"
old mode 100644
new mode 100755
index 6bf78f8..eeb873d
--- "a/core/src/test/resources/1.0/Inline HTML \050Simple\051.html"
+++ "b/core/src/test/resources/1.0/Inline HTML \050Simple\051.html"
@@ -1,72 +1,72 @@
-<p>Here's a simple block:</p>
-
-<div>
-    foo
-</div>
-
-<p>This should be a code block, though:</p>
-
-<pre><code>&lt;div&gt;
-    foo
-&lt;/div&gt;
-</code></pre>
-
-<p>As should this:</p>
-
-<pre><code>&lt;div&gt;foo&lt;/div&gt;
-</code></pre>
-
-<p>Now, nested:</p>
-
-<div>
-    <div>
-        <div>
-            foo
-        </div>
-    </div>
-</div>
-
-<p>This should just be an HTML comment:</p>
-
-<!-- Comment -->
-
-<p>Multiline:</p>
-
-<!--
-Blah
-Blah
--->
-
-<p>Code block:</p>
-
-<pre><code>&lt;!-- Comment --&gt;
-</code></pre>
-
-<p>Just plain comment, with trailing spaces on the line:</p>
-
-<!-- foo -->   
-
-<p>Code:</p>
-
-<pre><code>&lt;hr /&gt;
-</code></pre>
-
-<p>Hr's:</p>
-
-<hr>
-
-<hr/>
-
-<hr />
-
-<hr>   
-
-<hr/>  
-
-<hr /> 
-
-<hr class="foo" id="bar" />
-
-<hr class="foo" id="bar"/>
-
-<hr class="foo" id="bar" >
+<p>Here's a simple block:</p>

+

+<div>

+    foo

+</div>

+

+<p>This should be a code block, though:</p>

+

+<pre><code>&lt;div&gt;

+    foo

+&lt;/div&gt;

+</code></pre>

+

+<p>As should this:</p>

+

+<pre><code>&lt;div&gt;foo&lt;/div&gt;

+</code></pre>

+

+<p>Now, nested:</p>

+

+<div>

+    <div>

+        <div>

+            foo

+        </div>

+    </div>

+</div>

+

+<p>This should just be an HTML comment:</p>

+

+<!-- Comment -->

+

+<p>Multiline:</p>

+

+<!--

+Blah

+Blah

+-->

+

+<p>Code block:</p>

+

+<pre><code>&lt;!-- Comment --&gt;

+</code></pre>

+

+<p>Just plain comment, with trailing spaces on the line:</p>

+

+<!-- foo -->   

+

+<p>Code:</p>

+

+<pre><code>&lt;hr /&gt;

+</code></pre>

+

+<p>Hr's:</p>

+

+<hr>

+

+<hr/>

+

+<hr />

+

+<hr>   

+

+<hr/>  

+

+<hr /> 

+

+<hr class="foo" id="bar" />

+

+<hr class="foo" id="bar"/>

+

+<hr class="foo" id="bar" >

diff --git "a/core/src/test/resources/1.0/Inline HTML \050Simple\051.text" "b/core/src/test/resources/1.0/Inline HTML \050Simple\051.text"
old mode 100644
new mode 100755
index 14aa2dc..3d2f820
--- "a/core/src/test/resources/1.0/Inline HTML \050Simple\051.text"
+++ "b/core/src/test/resources/1.0/Inline HTML \050Simple\051.text"
@@ -1,69 +1,69 @@
-Here's a simple block:
-
-<div>
-	foo
-</div>
-
-This should be a code block, though:
-
-	<div>
-		foo
-	</div>
-
-As should this:
-
-	<div>foo</div>
-
-Now, nested:
-
-<div>
-	<div>
-		<div>
-			foo
-		</div>
-	</div>
-</div>
-
-This should just be an HTML comment:
-
-<!-- Comment -->
-
-Multiline:
-
-<!--
-Blah
-Blah
--->
-
-Code block:
-
-	<!-- Comment -->
-
-Just plain comment, with trailing spaces on the line:
-
-<!-- foo -->   
-
-Code:
-
-	<hr />
-	
-Hr's:
-
-<hr>
-
-<hr/>
-
-<hr />
-
-<hr>   
-
-<hr/>  
-
-<hr /> 
-
-<hr class="foo" id="bar" />
-
-<hr class="foo" id="bar"/>
-
-<hr class="foo" id="bar" >
-
+Here's a simple block:

+

+<div>

+	foo

+</div>

+

+This should be a code block, though:

+

+	<div>

+		foo

+	</div>

+

+As should this:

+

+	<div>foo</div>

+

+Now, nested:

+

+<div>

+	<div>

+		<div>

+			foo

+		</div>

+	</div>

+</div>

+

+This should just be an HTML comment:

+

+<!-- Comment -->

+

+Multiline:

+

+<!--

+Blah

+Blah

+-->

+

+Code block:

+

+	<!-- Comment -->

+

+Just plain comment, with trailing spaces on the line:

+

+<!-- foo -->   

+

+Code:

+

+	<hr />

+	

+Hr's:

+

+<hr>

+

+<hr/>

+

+<hr />

+

+<hr>   

+

+<hr/>  

+

+<hr /> 

+

+<hr class="foo" id="bar" />

+

+<hr class="foo" id="bar"/>

+

+<hr class="foo" id="bar" >

+

diff --git a/core/src/test/resources/1.0/Inline HTML comments.html b/core/src/test/resources/1.0/Inline HTML comments.html
old mode 100644
new mode 100755
index 3f167a1..fc353b6
--- a/core/src/test/resources/1.0/Inline HTML comments.html
+++ b/core/src/test/resources/1.0/Inline HTML comments.html
@@ -1,13 +1,13 @@
-<p>Paragraph one.</p>
-
-<!-- This is a simple comment -->
-
-<!--
-    This is another comment.
--->
-
-<p>Paragraph two.</p>
-
-<!-- one comment block -- -- with two comments -->
-
-<p>The end.</p>
+<p>Paragraph one.</p>

+

+<!-- This is a simple comment -->

+

+<!--

+    This is another comment.

+-->

+

+<p>Paragraph two.</p>

+

+<!-- one comment block -- -- with two comments -->

+

+<p>The end.</p>

diff --git a/core/src/test/resources/1.0/Inline HTML comments.text b/core/src/test/resources/1.0/Inline HTML comments.text
old mode 100644
new mode 100755
index 41d830d..2faaca9
--- a/core/src/test/resources/1.0/Inline HTML comments.text
+++ b/core/src/test/resources/1.0/Inline HTML comments.text
@@ -1,13 +1,13 @@
-Paragraph one.
-
-<!-- This is a simple comment -->
-
-<!--
-	This is another comment.
--->
-
-Paragraph two.
-
-<!-- one comment block -- -- with two comments -->
-
-The end.
+Paragraph one.

+

+<!-- This is a simple comment -->

+

+<!--

+	This is another comment.

+-->

+

+Paragraph two.

+

+<!-- one comment block -- -- with two comments -->

+

+The end.

diff --git a/core/src/test/resources/1.0/Links, inline style.html b/core/src/test/resources/1.0/Links, inline style.html
old mode 100644
new mode 100755
index bdfabb5..f548e79
--- a/core/src/test/resources/1.0/Links, inline style.html
+++ b/core/src/test/resources/1.0/Links, inline style.html
@@ -1,9 +1,9 @@
-<p>Just a <a href="/url/">URL</a>.</p>
-
-<p><a href="/url/" title="title">URL and title</a>.</p>
-
-<p><a href="/url/" title="title preceded by two spaces">URL and title</a>.</p>
-
-<p><a href="/url/" title="title preceded by a tab">URL and title</a>.</p>
-
-<p><a href="">Empty</a>.</p>
+<p>Just a <a href="/url/">URL</a>.</p>

+

+<p><a href="/url/" title="title">URL and title</a>.</p>

+

+<p><a href="/url/" title="title preceded by two spaces">URL and title</a>.</p>

+

+<p><a href="/url/" title="title preceded by a tab">URL and title</a>.</p>

+

+<p><a href="">Empty</a>.</p>

diff --git a/core/src/test/resources/1.0/Links, inline style.text b/core/src/test/resources/1.0/Links, inline style.text
old mode 100644
new mode 100755
index 4d0c1c2..bb191cf
--- a/core/src/test/resources/1.0/Links, inline style.text
+++ b/core/src/test/resources/1.0/Links, inline style.text
@@ -1,9 +1,9 @@
-Just a [URL](/url/).
-
-[URL and title](/url/ "title").
-
-[URL and title](/url/  "title preceded by two spaces").
-
-[URL and title](/url/	"title preceded by a tab").
-
-[Empty]().
+Just a [URL](/url/).

+

+[URL and title](/url/ "title").

+

+[URL and title](/url/  "title preceded by two spaces").

+

+[URL and title](/url/	"title preceded by a tab").

+

+[Empty]().

diff --git a/core/src/test/resources/1.0/Links, reference style.html b/core/src/test/resources/1.0/Links, reference style.html
old mode 100644
new mode 100755
index cf4d833..ee82fc6
--- a/core/src/test/resources/1.0/Links, reference style.html
+++ b/core/src/test/resources/1.0/Links, reference style.html
@@ -1,18 +1,18 @@
-<p>Foo <a href="/url/" title="Title">bar</a>.</p>
-
-<p>Foo <a href="/url/" title="Title">bar</a>.</p>
-
-<p>Foo <a href="/url/" title="Title">bar</a>.</p>
-
-<p>With <a href="/url/">embedded [brackets]</a>.</p>
-
-<p>Indented <a href="/url">once</a>.</p>
-
-<p>Indented <a href="/url">twice</a>.</p>
-
-<p>Indented <a href="/url">thrice</a>.</p>
-
-<p>Indented [four][] times.</p>
-
-<pre><code>[four]: /url
-</code></pre>
+<p>Foo <a href="/url/" title="Title">bar</a>.</p>

+

+<p>Foo <a href="/url/" title="Title">bar</a>.</p>

+

+<p>Foo <a href="/url/" title="Title">bar</a>.</p>

+

+<p>With <a href="/url/">embedded [brackets]</a>.</p>

+

+<p>Indented <a href="/url">once</a>.</p>

+

+<p>Indented <a href="/url">twice</a>.</p>

+

+<p>Indented <a href="/url">thrice</a>.</p>

+

+<p>Indented [four][] times.</p>

+

+<pre><code>[four]: /url

+</code></pre>

diff --git a/core/src/test/resources/1.0/Links, reference style.text b/core/src/test/resources/1.0/Links, reference style.text
old mode 100644
new mode 100755
index b2fa734..5f1d158
--- a/core/src/test/resources/1.0/Links, reference style.text
+++ b/core/src/test/resources/1.0/Links, reference style.text
@@ -1,31 +1,31 @@
-Foo [bar] [1].
-
-Foo [bar][1].
-
-Foo [bar]
-[1].
-
-[1]: /url/  "Title"
-
-
-With [embedded [brackets]] [b].
-
-
-Indented [once][].
-
-Indented [twice][].
-
-Indented [thrice][].
-
-Indented [four][] times.
-
- [once]: /url
-
-  [twice]: /url
-
-   [thrice]: /url
-
-    [four]: /url
-
-
-[b]: /url/
+Foo [bar] [1].

+

+Foo [bar][1].

+

+Foo [bar]

+[1].

+

+[1]: /url/  "Title"

+

+

+With [embedded [brackets]] [b].

+

+

+Indented [once][].

+

+Indented [twice][].

+

+Indented [thrice][].

+

+Indented [four][] times.

+

+ [once]: /url

+

+  [twice]: /url

+

+   [thrice]: /url

+

+    [four]: /url

+

+

+[b]: /url/

diff --git a/core/src/test/resources/1.0/Literal quotes in titles.html b/core/src/test/resources/1.0/Literal quotes in titles.html
old mode 100644
new mode 100755
index 611c1ac..d464ab4
--- a/core/src/test/resources/1.0/Literal quotes in titles.html
+++ b/core/src/test/resources/1.0/Literal quotes in titles.html
@@ -1,3 +1,3 @@
-<p>Foo <a href="/url/" title="Title with &quot;quotes&quot; inside">bar</a>.</p>
-
-<p>Foo <a href="/url/" title="Title with &quot;quotes&quot; inside">bar</a>.</p>
+<p>Foo <a href="/url/" title="Title with &quot;quotes&quot; inside">bar</a>.</p>

+

+<p>Foo <a href="/url/" title="Title with &quot;quotes&quot; inside">bar</a>.</p>

diff --git a/core/src/test/resources/1.0/Literal quotes in titles.text b/core/src/test/resources/1.0/Literal quotes in titles.text
old mode 100644
new mode 100755
index 29d0e42..b62bd98
--- a/core/src/test/resources/1.0/Literal quotes in titles.text
+++ b/core/src/test/resources/1.0/Literal quotes in titles.text
@@ -1,7 +1,7 @@
-Foo [bar][].
-
-Foo [bar](/url/ "Title with "quotes" inside").
-
-
-  [bar]: /url/ "Title with "quotes" inside"
-
+Foo [bar][].

+

+Foo [bar](/url/ "Title with "quotes" inside").

+

+

+  [bar]: /url/ "Title with "quotes" inside"

+

diff --git a/core/src/test/resources/1.0/Markdown Documentation - Basics.html b/core/src/test/resources/1.0/Markdown Documentation - Basics.html
old mode 100644
new mode 100755
index d5bdbb2..d96fa3e
--- a/core/src/test/resources/1.0/Markdown Documentation - Basics.html
+++ b/core/src/test/resources/1.0/Markdown Documentation - Basics.html
@@ -1,314 +1,314 @@
-<h1>Markdown: Basics</h1>
-
-<ul id="ProjectSubmenu">
-    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
-    <li><a class="selected" title="Markdown Basics">Basics</a></li>
-    <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li>
-    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
-    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
-</ul>
-
-<h2>Getting the Gist of Markdown's Formatting Syntax</h2>
-
-<p>This page offers a brief overview of what it's like to use Markdown.
-The <a href="/projects/markdown/syntax" title="Markdown Syntax">syntax page</a> provides complete, detailed documentation for
-every feature, but Markdown should be very easy to pick up simply by
-looking at a few examples of it in action. The examples on this page
-are written in a before/after style, showing example syntax and the
-HTML output produced by Markdown.</p>
-
-<p>It's also helpful to simply try Markdown out; the <a href="/projects/markdown/dingus" title="Markdown Dingus">Dingus</a> is a
-web application that allows you type your own Markdown-formatted text
-and translate it to XHTML.</p>
-
-<p><strong>Note:</strong> This document is itself written using Markdown; you
-can <a href="/projects/markdown/basics.text">see the source for it by adding '.text' to the URL</a>.</p>
-
-<h2>Paragraphs, Headers, Blockquotes</h2>
-
-<p>A paragraph is simply one or more consecutive lines of text, separated
-by one or more blank lines. (A blank line is any line that looks like a
-blank line -- a line containing nothing spaces or tabs is considered
-blank.) Normal paragraphs should not be intended with spaces or tabs.</p>
-
-<p>Markdown offers two styles of headers: <em>Setext</em> and <em>atx</em>.
-Setext-style headers for <code>&lt;h1&gt;</code> and <code>&lt;h2&gt;</code> are created by
-"underlining" with equal signs (<code>=</code>) and hyphens (<code>-</code>), respectively.
-To create an atx-style header, you put 1-6 hash marks (<code>#</code>) at the
-beginning of the line -- the number of hashes equals the resulting
-HTML header level.</p>
-
-<p>Blockquotes are indicated using email-style '<code>&gt;</code>' angle brackets.</p>
-
-<p>Markdown:</p>
-
-<pre><code>A First Level Header
-====================
-
-A Second Level Header
----------------------
-
-Now is the time for all good men to come to
-the aid of their country. This is just a
-regular paragraph.
-
-The quick brown fox jumped over the lazy
-dog's back.
-
-### Header 3
-
-&gt; This is a blockquote.
-&gt; 
-&gt; This is the second paragraph in the blockquote.
-&gt;
-&gt; ## This is an H2 in a blockquote
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;h1&gt;A First Level Header&lt;/h1&gt;
-
-&lt;h2&gt;A Second Level Header&lt;/h2&gt;
-
-&lt;p&gt;Now is the time for all good men to come to
-the aid of their country. This is just a
-regular paragraph.&lt;/p&gt;
-
-&lt;p&gt;The quick brown fox jumped over the lazy
-dog's back.&lt;/p&gt;
-
-&lt;h3&gt;Header 3&lt;/h3&gt;
-
-&lt;blockquote&gt;
-    &lt;p&gt;This is a blockquote.&lt;/p&gt;
-
-    &lt;p&gt;This is the second paragraph in the blockquote.&lt;/p&gt;
-
-    &lt;h2&gt;This is an H2 in a blockquote&lt;/h2&gt;
-&lt;/blockquote&gt;
-</code></pre>
-
-<h3>Phrase Emphasis</h3>
-
-<p>Markdown uses asterisks and underscores to indicate spans of emphasis.</p>
-
-<p>Markdown:</p>
-
-<pre><code>Some of these words *are emphasized*.
-Some of these words _are emphasized also_.
-
-Use two asterisks for **strong emphasis**.
-Or, if you prefer, __use two underscores instead__.
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;p&gt;Some of these words &lt;em&gt;are emphasized&lt;/em&gt;.
-Some of these words &lt;em&gt;are emphasized also&lt;/em&gt;.&lt;/p&gt;
-
-&lt;p&gt;Use two asterisks for &lt;strong&gt;strong emphasis&lt;/strong&gt;.
-Or, if you prefer, &lt;strong&gt;use two underscores instead&lt;/strong&gt;.&lt;/p&gt;
-</code></pre>
-
-<h2>Lists</h2>
-
-<p>Unordered (bulleted) lists use asterisks, pluses, and hyphens (<code>*</code>,
-<code>+</code>, and <code>-</code>) as list markers. These three markers are
-interchangable; this:</p>
-
-<pre><code>*   Candy.
-*   Gum.
-*   Booze.
-</code></pre>
-
-<p>this:</p>
-
-<pre><code>+   Candy.
-+   Gum.
-+   Booze.
-</code></pre>
-
-<p>and this:</p>
-
-<pre><code>-   Candy.
--   Gum.
--   Booze.
-</code></pre>
-
-<p>all produce the same output:</p>
-
-<pre><code>&lt;ul&gt;
-&lt;li&gt;Candy.&lt;/li&gt;
-&lt;li&gt;Gum.&lt;/li&gt;
-&lt;li&gt;Booze.&lt;/li&gt;
-&lt;/ul&gt;
-</code></pre>
-
-<p>Ordered (numbered) lists use regular numbers, followed by periods, as
-list markers:</p>
-
-<pre><code>1.  Red
-2.  Green
-3.  Blue
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;ol&gt;
-&lt;li&gt;Red&lt;/li&gt;
-&lt;li&gt;Green&lt;/li&gt;
-&lt;li&gt;Blue&lt;/li&gt;
-&lt;/ol&gt;
-</code></pre>
-
-<p>If you put blank lines between items, you'll get <code>&lt;p&gt;</code> tags for the
-list item text. You can create multi-paragraph list items by indenting
-the paragraphs by 4 spaces or 1 tab:</p>
-
-<pre><code>*   A list item.
-
-    With multiple paragraphs.
-
-*   Another item in the list.
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;ul&gt;
-&lt;li&gt;&lt;p&gt;A list item.&lt;/p&gt;
-&lt;p&gt;With multiple paragraphs.&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;Another item in the list.&lt;/p&gt;&lt;/li&gt;
-&lt;/ul&gt;
-</code></pre>
-
-<h3>Links</h3>
-
-<p>Markdown supports two styles for creating links: <em>inline</em> and
-<em>reference</em>. With both styles, you use square brackets to delimit the
-text you want to turn into a link.</p>
-
-<p>Inline-style links use parentheses immediately after the link text.
-For example:</p>
-
-<pre><code>This is an [example link](http://example.com/).
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;p&gt;This is an &lt;a href="http://example.com/"&gt;
-example link&lt;/a&gt;.&lt;/p&gt;
-</code></pre>
-
-<p>Optionally, you may include a title attribute in the parentheses:</p>
-
-<pre><code>This is an [example link](http://example.com/ "With a Title").
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;p&gt;This is an &lt;a href="http://example.com/" title="With a Title"&gt;
-example link&lt;/a&gt;.&lt;/p&gt;
-</code></pre>
-
-<p>Reference-style links allow you to refer to your links by names, which
-you define elsewhere in your document:</p>
-
-<pre><code>I get 10 times more traffic from [Google][1] than from
-[Yahoo][2] or [MSN][3].
-
-[1]: http://google.com/        "Google"
-[2]: http://search.yahoo.com/  "Yahoo Search"
-[3]: http://search.msn.com/    "MSN Search"
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;p&gt;I get 10 times more traffic from &lt;a href="http://google.com/"
-title="Google"&gt;Google&lt;/a&gt; than from &lt;a href="http://search.yahoo.com/"
-title="Yahoo Search"&gt;Yahoo&lt;/a&gt; or &lt;a href="http://search.msn.com/"
-title="MSN Search"&gt;MSN&lt;/a&gt;.&lt;/p&gt;
-</code></pre>
-
-<p>The title attribute is optional. Link names may contain letters,
-numbers and spaces, but are <em>not</em> case sensitive:</p>
-
-<pre><code>I start my morning with a cup of coffee and
-[The New York Times][NY Times].
-
-[ny times]: http://www.nytimes.com/
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;p&gt;I start my morning with a cup of coffee and
-&lt;a href="http://www.nytimes.com/"&gt;The New York Times&lt;/a&gt;.&lt;/p&gt;
-</code></pre>
-
-<h3>Images</h3>
-
-<p>Image syntax is very much like link syntax.</p>
-
-<p>Inline (titles are optional):</p>
-
-<pre><code>![alt text](/path/to/img.jpg "Title")
-</code></pre>
-
-<p>Reference-style:</p>
-
-<pre><code>![alt text][id]
-
-[id]: /path/to/img.jpg "Title"
-</code></pre>
-
-<p>Both of the above examples produce the same output:</p>
-
-<pre><code>&lt;img src="/path/to/img.jpg" alt="alt text" title="Title" /&gt;
-</code></pre>
-
-<h3>Code</h3>
-
-<p>In a regular paragraph, you can create code span by wrapping text in
-backtick quotes. Any ampersands (<code>&amp;</code>) and angle brackets (<code>&lt;</code> or
-<code>&gt;</code>) will automatically be translated into HTML entities. This makes
-it easy to use Markdown to write about HTML example code:</p>
-
-<pre><code>I strongly recommend against using any `&lt;blink&gt;` tags.
-
-I wish SmartyPants used named entities like `&amp;mdash;`
-instead of decimal-encoded entites like `&amp;#8212;`.
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;p&gt;I strongly recommend against using any
-&lt;code&gt;&amp;lt;blink&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;
-
-&lt;p&gt;I wish SmartyPants used named entities like
-&lt;code&gt;&amp;amp;mdash;&lt;/code&gt; instead of decimal-encoded
-entites like &lt;code&gt;&amp;amp;#8212;&lt;/code&gt;.&lt;/p&gt;
-</code></pre>
-
-<p>To specify an entire block of pre-formatted code, indent every line of
-the block by 4 spaces or 1 tab. Just like with code spans, <code>&amp;</code>, <code>&lt;</code>,
-and <code>&gt;</code> characters will be escaped automatically.</p>
-
-<p>Markdown:</p>
-
-<pre><code>If you want your page to validate under XHTML 1.0 Strict,
-you've got to put paragraph tags in your blockquotes:
-
-    &lt;blockquote&gt;
-        &lt;p&gt;For example.&lt;/p&gt;
-    &lt;/blockquote&gt;
-</code></pre>
-
-<p>Output:</p>
-
-<pre><code>&lt;p&gt;If you want your page to validate under XHTML 1.0 Strict,
-you've got to put paragraph tags in your blockquotes:&lt;/p&gt;
-
-&lt;pre&gt;&lt;code&gt;&amp;lt;blockquote&amp;gt;
-    &amp;lt;p&amp;gt;For example.&amp;lt;/p&amp;gt;
-&amp;lt;/blockquote&amp;gt;
-&lt;/code&gt;&lt;/pre&gt;
-</code></pre>
+<h1>Markdown: Basics</h1>

+

+<ul id="ProjectSubmenu">

+    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>

+    <li><a class="selected" title="Markdown Basics">Basics</a></li>

+    <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li>

+    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>

+    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>

+</ul>

+

+<h2>Getting the Gist of Markdown's Formatting Syntax</h2>

+

+<p>This page offers a brief overview of what it's like to use Markdown.

+The <a href="/projects/markdown/syntax" title="Markdown Syntax">syntax page</a> provides complete, detailed documentation for

+every feature, but Markdown should be very easy to pick up simply by

+looking at a few examples of it in action. The examples on this page

+are written in a before/after style, showing example syntax and the

+HTML output produced by Markdown.</p>

+

+<p>It's also helpful to simply try Markdown out; the <a href="/projects/markdown/dingus" title="Markdown Dingus">Dingus</a> is a

+web application that allows you type your own Markdown-formatted text

+and translate it to XHTML.</p>

+

+<p><strong>Note:</strong> This document is itself written using Markdown; you

+can <a href="/projects/markdown/basics.text">see the source for it by adding '.text' to the URL</a>.</p>

+

+<h2>Paragraphs, Headers, Blockquotes</h2>

+

+<p>A paragraph is simply one or more consecutive lines of text, separated

+by one or more blank lines. (A blank line is any line that looks like a

+blank line -- a line containing nothing spaces or tabs is considered

+blank.) Normal paragraphs should not be intended with spaces or tabs.</p>

+

+<p>Markdown offers two styles of headers: <em>Setext</em> and <em>atx</em>.

+Setext-style headers for <code>&lt;h1&gt;</code> and <code>&lt;h2&gt;</code> are created by

+"underlining" with equal signs (<code>=</code>) and hyphens (<code>-</code>), respectively.

+To create an atx-style header, you put 1-6 hash marks (<code>#</code>) at the

+beginning of the line -- the number of hashes equals the resulting

+HTML header level.</p>

+

+<p>Blockquotes are indicated using email-style '<code>&gt;</code>' angle brackets.</p>

+

+<p>Markdown:</p>

+

+<pre><code>A First Level Header

+====================

+

+A Second Level Header

+---------------------

+

+Now is the time for all good men to come to

+the aid of their country. This is just a

+regular paragraph.

+

+The quick brown fox jumped over the lazy

+dog's back.

+

+### Header 3

+

+&gt; This is a blockquote.

+&gt; 

+&gt; This is the second paragraph in the blockquote.

+&gt;

+&gt; ## This is an H2 in a blockquote

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;h1&gt;A First Level Header&lt;/h1&gt;

+

+&lt;h2&gt;A Second Level Header&lt;/h2&gt;

+

+&lt;p&gt;Now is the time for all good men to come to

+the aid of their country. This is just a

+regular paragraph.&lt;/p&gt;

+

+&lt;p&gt;The quick brown fox jumped over the lazy

+dog's back.&lt;/p&gt;

+

+&lt;h3&gt;Header 3&lt;/h3&gt;

+

+&lt;blockquote&gt;

+    &lt;p&gt;This is a blockquote.&lt;/p&gt;

+

+    &lt;p&gt;This is the second paragraph in the blockquote.&lt;/p&gt;

+

+    &lt;h2&gt;This is an H2 in a blockquote&lt;/h2&gt;

+&lt;/blockquote&gt;

+</code></pre>

+

+<h3>Phrase Emphasis</h3>

+

+<p>Markdown uses asterisks and underscores to indicate spans of emphasis.</p>

+

+<p>Markdown:</p>

+

+<pre><code>Some of these words *are emphasized*.

+Some of these words _are emphasized also_.

+

+Use two asterisks for **strong emphasis**.

+Or, if you prefer, __use two underscores instead__.

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;p&gt;Some of these words &lt;em&gt;are emphasized&lt;/em&gt;.

+Some of these words &lt;em&gt;are emphasized also&lt;/em&gt;.&lt;/p&gt;

+

+&lt;p&gt;Use two asterisks for &lt;strong&gt;strong emphasis&lt;/strong&gt;.

+Or, if you prefer, &lt;strong&gt;use two underscores instead&lt;/strong&gt;.&lt;/p&gt;

+</code></pre>

+

+<h2>Lists</h2>

+

+<p>Unordered (bulleted) lists use asterisks, pluses, and hyphens (<code>*</code>,

+<code>+</code>, and <code>-</code>) as list markers. These three markers are

+interchangable; this:</p>

+

+<pre><code>*   Candy.

+*   Gum.

+*   Booze.

+</code></pre>

+

+<p>this:</p>

+

+<pre><code>+   Candy.

++   Gum.

++   Booze.

+</code></pre>

+

+<p>and this:</p>

+

+<pre><code>-   Candy.

+-   Gum.

+-   Booze.

+</code></pre>

+

+<p>all produce the same output:</p>

+

+<pre><code>&lt;ul&gt;

+&lt;li&gt;Candy.&lt;/li&gt;

+&lt;li&gt;Gum.&lt;/li&gt;

+&lt;li&gt;Booze.&lt;/li&gt;

+&lt;/ul&gt;

+</code></pre>

+

+<p>Ordered (numbered) lists use regular numbers, followed by periods, as

+list markers:</p>

+

+<pre><code>1.  Red

+2.  Green

+3.  Blue

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;ol&gt;

+&lt;li&gt;Red&lt;/li&gt;

+&lt;li&gt;Green&lt;/li&gt;

+&lt;li&gt;Blue&lt;/li&gt;

+&lt;/ol&gt;

+</code></pre>

+

+<p>If you put blank lines between items, you'll get <code>&lt;p&gt;</code> tags for the

+list item text. You can create multi-paragraph list items by indenting

+the paragraphs by 4 spaces or 1 tab:</p>

+

+<pre><code>*   A list item.

+

+    With multiple paragraphs.

+

+*   Another item in the list.

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;ul&gt;

+&lt;li&gt;&lt;p&gt;A list item.&lt;/p&gt;

+&lt;p&gt;With multiple paragraphs.&lt;/p&gt;&lt;/li&gt;

+&lt;li&gt;&lt;p&gt;Another item in the list.&lt;/p&gt;&lt;/li&gt;

+&lt;/ul&gt;

+</code></pre>

+

+<h3>Links</h3>

+

+<p>Markdown supports two styles for creating links: <em>inline</em> and

+<em>reference</em>. With both styles, you use square brackets to delimit the

+text you want to turn into a link.</p>

+

+<p>Inline-style links use parentheses immediately after the link text.

+For example:</p>

+

+<pre><code>This is an [example link](http://example.com/).

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;p&gt;This is an &lt;a href="http://example.com/"&gt;

+example link&lt;/a&gt;.&lt;/p&gt;

+</code></pre>

+

+<p>Optionally, you may include a title attribute in the parentheses:</p>

+

+<pre><code>This is an [example link](http://example.com/ "With a Title").

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;p&gt;This is an &lt;a href="http://example.com/" title="With a Title"&gt;

+example link&lt;/a&gt;.&lt;/p&gt;

+</code></pre>

+

+<p>Reference-style links allow you to refer to your links by names, which

+you define elsewhere in your document:</p>

+

+<pre><code>I get 10 times more traffic from [Google][1] than from

+[Yahoo][2] or [MSN][3].

+

+[1]: http://google.com/        "Google"

+[2]: http://search.yahoo.com/  "Yahoo Search"

+[3]: http://search.msn.com/    "MSN Search"

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;p&gt;I get 10 times more traffic from &lt;a href="http://google.com/"

+title="Google"&gt;Google&lt;/a&gt; than from &lt;a href="http://search.yahoo.com/"

+title="Yahoo Search"&gt;Yahoo&lt;/a&gt; or &lt;a href="http://search.msn.com/"

+title="MSN Search"&gt;MSN&lt;/a&gt;.&lt;/p&gt;

+</code></pre>

+

+<p>The title attribute is optional. Link names may contain letters,

+numbers and spaces, but are <em>not</em> case sensitive:</p>

+

+<pre><code>I start my morning with a cup of coffee and

+[The New York Times][NY Times].

+

+[ny times]: http://www.nytimes.com/

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;p&gt;I start my morning with a cup of coffee and

+&lt;a href="http://www.nytimes.com/"&gt;The New York Times&lt;/a&gt;.&lt;/p&gt;

+</code></pre>

+

+<h3>Images</h3>

+

+<p>Image syntax is very much like link syntax.</p>

+

+<p>Inline (titles are optional):</p>

+

+<pre><code>![alt text](/path/to/img.jpg "Title")

+</code></pre>

+

+<p>Reference-style:</p>

+

+<pre><code>![alt text][id]

+

+[id]: /path/to/img.jpg "Title"

+</code></pre>

+

+<p>Both of the above examples produce the same output:</p>

+

+<pre><code>&lt;img src="/path/to/img.jpg" alt="alt text" title="Title" /&gt;

+</code></pre>

+

+<h3>Code</h3>

+

+<p>In a regular paragraph, you can create code span by wrapping text in

+backtick quotes. Any ampersands (<code>&amp;</code>) and angle brackets (<code>&lt;</code> or

+<code>&gt;</code>) will automatically be translated into HTML entities. This makes

+it easy to use Markdown to write about HTML example code:</p>

+

+<pre><code>I strongly recommend against using any `&lt;blink&gt;` tags.

+

+I wish SmartyPants used named entities like `&amp;mdash;`

+instead of decimal-encoded entites like `&amp;#8212;`.

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;p&gt;I strongly recommend against using any

+&lt;code&gt;&amp;lt;blink&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;

+

+&lt;p&gt;I wish SmartyPants used named entities like

+&lt;code&gt;&amp;amp;mdash;&lt;/code&gt; instead of decimal-encoded

+entites like &lt;code&gt;&amp;amp;#8212;&lt;/code&gt;.&lt;/p&gt;

+</code></pre>

+

+<p>To specify an entire block of pre-formatted code, indent every line of

+the block by 4 spaces or 1 tab. Just like with code spans, <code>&amp;</code>, <code>&lt;</code>,

+and <code>&gt;</code> characters will be escaped automatically.</p>

+

+<p>Markdown:</p>

+

+<pre><code>If you want your page to validate under XHTML 1.0 Strict,

+you've got to put paragraph tags in your blockquotes:

+

+    &lt;blockquote&gt;

+        &lt;p&gt;For example.&lt;/p&gt;

+    &lt;/blockquote&gt;

+</code></pre>

+

+<p>Output:</p>

+

+<pre><code>&lt;p&gt;If you want your page to validate under XHTML 1.0 Strict,

+you've got to put paragraph tags in your blockquotes:&lt;/p&gt;

+

+&lt;pre&gt;&lt;code&gt;&amp;lt;blockquote&amp;gt;

+    &amp;lt;p&amp;gt;For example.&amp;lt;/p&amp;gt;

+&amp;lt;/blockquote&amp;gt;

+&lt;/code&gt;&lt;/pre&gt;

+</code></pre>

diff --git a/core/src/test/resources/1.0/Markdown Documentation - Basics.text b/core/src/test/resources/1.0/Markdown Documentation - Basics.text
old mode 100644
new mode 100755
index 486055c..97b8f33
--- a/core/src/test/resources/1.0/Markdown Documentation - Basics.text
+++ b/core/src/test/resources/1.0/Markdown Documentation - Basics.text
@@ -1,306 +1,306 @@
-Markdown: Basics
-================
-
-<ul id="ProjectSubmenu">
-    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
-    <li><a class="selected" title="Markdown Basics">Basics</a></li>
-    <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li>
-    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
-    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
-</ul>
-
-
-Getting the Gist of Markdown's Formatting Syntax
-------------------------------------------------
-
-This page offers a brief overview of what it's like to use Markdown.
-The [syntax page] [s] provides complete, detailed documentation for
-every feature, but Markdown should be very easy to pick up simply by
-looking at a few examples of it in action. The examples on this page
-are written in a before/after style, showing example syntax and the
-HTML output produced by Markdown.
-
-It's also helpful to simply try Markdown out; the [Dingus] [d] is a
-web application that allows you type your own Markdown-formatted text
-and translate it to XHTML.
-
-**Note:** This document is itself written using Markdown; you
-can [see the source for it by adding '.text' to the URL] [src].
-
-  [s]: /projects/markdown/syntax  "Markdown Syntax"
-  [d]: /projects/markdown/dingus  "Markdown Dingus"
-  [src]: /projects/markdown/basics.text
-
-
-## Paragraphs, Headers, Blockquotes ##
-
-A paragraph is simply one or more consecutive lines of text, separated
-by one or more blank lines. (A blank line is any line that looks like a
-blank line -- a line containing nothing spaces or tabs is considered
-blank.) Normal paragraphs should not be intended with spaces or tabs.
-
-Markdown offers two styles of headers: *Setext* and *atx*.
-Setext-style headers for `<h1>` and `<h2>` are created by
-"underlining" with equal signs (`=`) and hyphens (`-`), respectively.
-To create an atx-style header, you put 1-6 hash marks (`#`) at the
-beginning of the line -- the number of hashes equals the resulting
-HTML header level.
-
-Blockquotes are indicated using email-style '`>`' angle brackets.
-
-Markdown:
-
-    A First Level Header
-    ====================
-    
-    A Second Level Header
-    ---------------------
-
-    Now is the time for all good men to come to
-    the aid of their country. This is just a
-    regular paragraph.
-
-    The quick brown fox jumped over the lazy
-    dog's back.
-    
-    ### Header 3
-
-    > This is a blockquote.
-    > 
-    > This is the second paragraph in the blockquote.
-    >
-    > ## This is an H2 in a blockquote
-
-
-Output:
-
-    <h1>A First Level Header</h1>
-    
-    <h2>A Second Level Header</h2>
-    
-    <p>Now is the time for all good men to come to
-    the aid of their country. This is just a
-    regular paragraph.</p>
-    
-    <p>The quick brown fox jumped over the lazy
-    dog's back.</p>
-    
-    <h3>Header 3</h3>
-    
-    <blockquote>
-        <p>This is a blockquote.</p>
-        
-        <p>This is the second paragraph in the blockquote.</p>
-        
-        <h2>This is an H2 in a blockquote</h2>
-    </blockquote>
-
-
-
-### Phrase Emphasis ###
-
-Markdown uses asterisks and underscores to indicate spans of emphasis.
-
-Markdown:
-
-    Some of these words *are emphasized*.
-    Some of these words _are emphasized also_.
-    
-    Use two asterisks for **strong emphasis**.
-    Or, if you prefer, __use two underscores instead__.
-
-Output:
-
-    <p>Some of these words <em>are emphasized</em>.
-    Some of these words <em>are emphasized also</em>.</p>
-    
-    <p>Use two asterisks for <strong>strong emphasis</strong>.
-    Or, if you prefer, <strong>use two underscores instead</strong>.</p>
-   
-
-
-## Lists ##
-
-Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,
-`+`, and `-`) as list markers. These three markers are
-interchangable; this:
-
-    *   Candy.
-    *   Gum.
-    *   Booze.
-
-this:
-
-    +   Candy.
-    +   Gum.
-    +   Booze.
-
-and this:
-
-    -   Candy.
-    -   Gum.
-    -   Booze.
-
-all produce the same output:
-
-    <ul>
-    <li>Candy.</li>
-    <li>Gum.</li>
-    <li>Booze.</li>
-    </ul>
-
-Ordered (numbered) lists use regular numbers, followed by periods, as
-list markers:
-
-    1.  Red
-    2.  Green
-    3.  Blue
-
-Output:
-
-    <ol>
-    <li>Red</li>
-    <li>Green</li>
-    <li>Blue</li>
-    </ol>
-
-If you put blank lines between items, you'll get `<p>` tags for the
-list item text. You can create multi-paragraph list items by indenting
-the paragraphs by 4 spaces or 1 tab:
-
-    *   A list item.
-    
-        With multiple paragraphs.
-
-    *   Another item in the list.
-
-Output:
-
-    <ul>
-    <li><p>A list item.</p>
-    <p>With multiple paragraphs.</p></li>
-    <li><p>Another item in the list.</p></li>
-    </ul>
-    
-
-
-### Links ###
-
-Markdown supports two styles for creating links: *inline* and
-*reference*. With both styles, you use square brackets to delimit the
-text you want to turn into a link.
-
-Inline-style links use parentheses immediately after the link text.
-For example:
-
-    This is an [example link](http://example.com/).
-
-Output:
-
-    <p>This is an <a href="http://example.com/">
-    example link</a>.</p>
-
-Optionally, you may include a title attribute in the parentheses:
-
-    This is an [example link](http://example.com/ "With a Title").
-
-Output:
-
-    <p>This is an <a href="http://example.com/" title="With a Title">
-    example link</a>.</p>
-
-Reference-style links allow you to refer to your links by names, which
-you define elsewhere in your document:
-
-    I get 10 times more traffic from [Google][1] than from
-    [Yahoo][2] or [MSN][3].
-
-    [1]: http://google.com/        "Google"
-    [2]: http://search.yahoo.com/  "Yahoo Search"
-    [3]: http://search.msn.com/    "MSN Search"
-
-Output:
-
-    <p>I get 10 times more traffic from <a href="http://google.com/"
-    title="Google">Google</a> than from <a href="http://search.yahoo.com/"
-    title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
-    title="MSN Search">MSN</a>.</p>
-
-The title attribute is optional. Link names may contain letters,
-numbers and spaces, but are *not* case sensitive:
-
-    I start my morning with a cup of coffee and
-    [The New York Times][NY Times].
-
-    [ny times]: http://www.nytimes.com/
-
-Output:
-
-    <p>I start my morning with a cup of coffee and
-    <a href="http://www.nytimes.com/">The New York Times</a>.</p>
-
-
-### Images ###
-
-Image syntax is very much like link syntax.
-
-Inline (titles are optional):
-
-    ![alt text](/path/to/img.jpg "Title")
-
-Reference-style:
-
-    ![alt text][id]
-
-    [id]: /path/to/img.jpg "Title"
-
-Both of the above examples produce the same output:
-
-    <img src="/path/to/img.jpg" alt="alt text" title="Title" />
-
-
-
-### Code ###
-
-In a regular paragraph, you can create code span by wrapping text in
-backtick quotes. Any ampersands (`&`) and angle brackets (`<` or
-`>`) will automatically be translated into HTML entities. This makes
-it easy to use Markdown to write about HTML example code:
-
-    I strongly recommend against using any `<blink>` tags.
-
-    I wish SmartyPants used named entities like `&mdash;`
-    instead of decimal-encoded entites like `&#8212;`.
-
-Output:
-
-    <p>I strongly recommend against using any
-    <code>&lt;blink&gt;</code> tags.</p>
-    
-    <p>I wish SmartyPants used named entities like
-    <code>&amp;mdash;</code> instead of decimal-encoded
-    entites like <code>&amp;#8212;</code>.</p>
-
-
-To specify an entire block of pre-formatted code, indent every line of
-the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,
-and `>` characters will be escaped automatically.
-
-Markdown:
-
-    If you want your page to validate under XHTML 1.0 Strict,
-    you've got to put paragraph tags in your blockquotes:
-
-        <blockquote>
-            <p>For example.</p>
-        </blockquote>
-
-Output:
-
-    <p>If you want your page to validate under XHTML 1.0 Strict,
-    you've got to put paragraph tags in your blockquotes:</p>
-    
-    <pre><code>&lt;blockquote&gt;
-        &lt;p&gt;For example.&lt;/p&gt;
-    &lt;/blockquote&gt;
-    </code></pre>
+Markdown: Basics

+================

+

+<ul id="ProjectSubmenu">

+    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>

+    <li><a class="selected" title="Markdown Basics">Basics</a></li>

+    <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li>

+    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>

+    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>

+</ul>

+

+

+Getting the Gist of Markdown's Formatting Syntax

+------------------------------------------------

+

+This page offers a brief overview of what it's like to use Markdown.

+The [syntax page] [s] provides complete, detailed documentation for

+every feature, but Markdown should be very easy to pick up simply by

+looking at a few examples of it in action. The examples on this page

+are written in a before/after style, showing example syntax and the

+HTML output produced by Markdown.

+

+It's also helpful to simply try Markdown out; the [Dingus] [d] is a

+web application that allows you type your own Markdown-formatted text

+and translate it to XHTML.

+

+**Note:** This document is itself written using Markdown; you

+can [see the source for it by adding '.text' to the URL] [src].

+

+  [s]: /projects/markdown/syntax  "Markdown Syntax"

+  [d]: /projects/markdown/dingus  "Markdown Dingus"

+  [src]: /projects/markdown/basics.text

+

+

+## Paragraphs, Headers, Blockquotes ##

+

+A paragraph is simply one or more consecutive lines of text, separated

+by one or more blank lines. (A blank line is any line that looks like a

+blank line -- a line containing nothing spaces or tabs is considered

+blank.) Normal paragraphs should not be intended with spaces or tabs.

+

+Markdown offers two styles of headers: *Setext* and *atx*.

+Setext-style headers for `<h1>` and `<h2>` are created by

+"underlining" with equal signs (`=`) and hyphens (`-`), respectively.

+To create an atx-style header, you put 1-6 hash marks (`#`) at the

+beginning of the line -- the number of hashes equals the resulting

+HTML header level.

+

+Blockquotes are indicated using email-style '`>`' angle brackets.

+

+Markdown:

+

+    A First Level Header

+    ====================

+    

+    A Second Level Header

+    ---------------------

+

+    Now is the time for all good men to come to

+    the aid of their country. This is just a

+    regular paragraph.

+

+    The quick brown fox jumped over the lazy

+    dog's back.

+    

+    ### Header 3

+

+    > This is a blockquote.

+    > 

+    > This is the second paragraph in the blockquote.

+    >

+    > ## This is an H2 in a blockquote

+

+

+Output:

+

+    <h1>A First Level Header</h1>

+    

+    <h2>A Second Level Header</h2>

+    

+    <p>Now is the time for all good men to come to

+    the aid of their country. This is just a

+    regular paragraph.</p>

+    

+    <p>The quick brown fox jumped over the lazy

+    dog's back.</p>

+    

+    <h3>Header 3</h3>

+    

+    <blockquote>

+        <p>This is a blockquote.</p>

+        

+        <p>This is the second paragraph in the blockquote.</p>

+        

+        <h2>This is an H2 in a blockquote</h2>

+    </blockquote>

+

+

+

+### Phrase Emphasis ###

+

+Markdown uses asterisks and underscores to indicate spans of emphasis.

+

+Markdown:

+

+    Some of these words *are emphasized*.

+    Some of these words _are emphasized also_.

+    

+    Use two asterisks for **strong emphasis**.

+    Or, if you prefer, __use two underscores instead__.

+

+Output:

+

+    <p>Some of these words <em>are emphasized</em>.

+    Some of these words <em>are emphasized also</em>.</p>

+    

+    <p>Use two asterisks for <strong>strong emphasis</strong>.

+    Or, if you prefer, <strong>use two underscores instead</strong>.</p>

+   

+

+

+## Lists ##

+

+Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,

+`+`, and `-`) as list markers. These three markers are

+interchangable; this:

+

+    *   Candy.

+    *   Gum.

+    *   Booze.

+

+this:

+

+    +   Candy.

+    +   Gum.

+    +   Booze.

+

+and this:

+

+    -   Candy.

+    -   Gum.

+    -   Booze.

+

+all produce the same output:

+

+    <ul>

+    <li>Candy.</li>

+    <li>Gum.</li>

+    <li>Booze.</li>

+    </ul>

+

+Ordered (numbered) lists use regular numbers, followed by periods, as

+list markers:

+

+    1.  Red

+    2.  Green

+    3.  Blue

+

+Output:

+

+    <ol>

+    <li>Red</li>

+    <li>Green</li>

+    <li>Blue</li>

+    </ol>

+

+If you put blank lines between items, you'll get `<p>` tags for the

+list item text. You can create multi-paragraph list items by indenting

+the paragraphs by 4 spaces or 1 tab:

+

+    *   A list item.

+    

+        With multiple paragraphs.

+

+    *   Another item in the list.

+

+Output:

+

+    <ul>

+    <li><p>A list item.</p>

+    <p>With multiple paragraphs.</p></li>

+    <li><p>Another item in the list.</p></li>

+    </ul>

+    

+

+

+### Links ###

+

+Markdown supports two styles for creating links: *inline* and

+*reference*. With both styles, you use square brackets to delimit the

+text you want to turn into a link.

+

+Inline-style links use parentheses immediately after the link text.

+For example:

+

+    This is an [example link](http://example.com/).

+

+Output:

+

+    <p>This is an <a href="http://example.com/">

+    example link</a>.</p>

+

+Optionally, you may include a title attribute in the parentheses:

+

+    This is an [example link](http://example.com/ "With a Title").

+

+Output:

+

+    <p>This is an <a href="http://example.com/" title="With a Title">

+    example link</a>.</p>

+

+Reference-style links allow you to refer to your links by names, which

+you define elsewhere in your document:

+

+    I get 10 times more traffic from [Google][1] than from

+    [Yahoo][2] or [MSN][3].

+

+    [1]: http://google.com/        "Google"

+    [2]: http://search.yahoo.com/  "Yahoo Search"

+    [3]: http://search.msn.com/    "MSN Search"

+

+Output:

+

+    <p>I get 10 times more traffic from <a href="http://google.com/"

+    title="Google">Google</a> than from <a href="http://search.yahoo.com/"

+    title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"

+    title="MSN Search">MSN</a>.</p>

+

+The title attribute is optional. Link names may contain letters,

+numbers and spaces, but are *not* case sensitive:

+

+    I start my morning with a cup of coffee and

+    [The New York Times][NY Times].

+

+    [ny times]: http://www.nytimes.com/

+

+Output:

+

+    <p>I start my morning with a cup of coffee and

+    <a href="http://www.nytimes.com/">The New York Times</a>.</p>

+

+

+### Images ###

+

+Image syntax is very much like link syntax.

+

+Inline (titles are optional):

+

+    ![alt text](/path/to/img.jpg "Title")

+

+Reference-style:

+

+    ![alt text][id]

+

+    [id]: /path/to/img.jpg "Title"

+

+Both of the above examples produce the same output:

+

+    <img src="/path/to/img.jpg" alt="alt text" title="Title" />

+

+

+

+### Code ###

+

+In a regular paragraph, you can create code span by wrapping text in

+backtick quotes. Any ampersands (`&`) and angle brackets (`<` or

+`>`) will automatically be translated into HTML entities. This makes

+it easy to use Markdown to write about HTML example code:

+

+    I strongly recommend against using any `<blink>` tags.

+

+    I wish SmartyPants used named entities like `&mdash;`

+    instead of decimal-encoded entites like `&#8212;`.

+

+Output:

+

+    <p>I strongly recommend against using any

+    <code>&lt;blink&gt;</code> tags.</p>

+    

+    <p>I wish SmartyPants used named entities like

+    <code>&amp;mdash;</code> instead of decimal-encoded

+    entites like <code>&amp;#8212;</code>.</p>

+

+

+To specify an entire block of pre-formatted code, indent every line of

+the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,

+and `>` characters will be escaped automatically.

+

+Markdown:

+

+    If you want your page to validate under XHTML 1.0 Strict,

+    you've got to put paragraph tags in your blockquotes:

+

+        <blockquote>

+            <p>For example.</p>

+        </blockquote>

+

+Output:

+

+    <p>If you want your page to validate under XHTML 1.0 Strict,

+    you've got to put paragraph tags in your blockquotes:</p>

+    

+    <pre><code>&lt;blockquote&gt;

+        &lt;p&gt;For example.&lt;/p&gt;

+    &lt;/blockquote&gt;

+    </code></pre>

diff --git a/core/src/test/resources/1.0/Markdown Documentation - Syntax.html b/core/src/test/resources/1.0/Markdown Documentation - Syntax.html
old mode 100644
new mode 100755
index 5c01306..b8c87e4
--- a/core/src/test/resources/1.0/Markdown Documentation - Syntax.html
+++ b/core/src/test/resources/1.0/Markdown Documentation - Syntax.html
@@ -1,942 +1,942 @@
-<h1>Markdown: Syntax</h1>
-
-<ul id="ProjectSubmenu">
-    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
-    <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li>
-    <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li>
-    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
-    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
-</ul>
-
-<ul>
-<li><a href="#overview">Overview</a>
-<ul>
-<li><a href="#philosophy">Philosophy</a></li>
-<li><a href="#html">Inline HTML</a></li>
-<li><a href="#autoescape">Automatic Escaping for Special Characters</a></li>
-</ul></li>
-<li><a href="#block">Block Elements</a>
-<ul>
-<li><a href="#p">Paragraphs and Line Breaks</a></li>
-<li><a href="#header">Headers</a></li>
-<li><a href="#blockquote">Blockquotes</a></li>
-<li><a href="#list">Lists</a></li>
-<li><a href="#precode">Code Blocks</a></li>
-<li><a href="#hr">Horizontal Rules</a></li>
-</ul></li>
-<li><a href="#span">Span Elements</a>
-<ul>
-<li><a href="#link">Links</a></li>
-<li><a href="#em">Emphasis</a></li>
-<li><a href="#code">Code</a></li>
-<li><a href="#img">Images</a></li>
-</ul></li>
-<li><a href="#misc">Miscellaneous</a>
-<ul>
-<li><a href="#backslash">Backslash Escapes</a></li>
-<li><a href="#autolink">Automatic Links</a></li>
-</ul></li>
-</ul>
-
-<p><strong>Note:</strong> This document is itself written using Markdown; you
-can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p>
-
-<hr />
-
-<h2 id="overview">Overview</h2>
-
-<h3 id="philosophy">Philosophy</h3>
-
-<p>Markdown is intended to be as easy-to-read and easy-to-write as is feasible.</p>
-
-<p>Readability, however, is emphasized above all else. A Markdown-formatted
-document should be publishable as-is, as plain text, without looking
-like it's been marked up with tags or formatting instructions. While
-Markdown's syntax has been influenced by several existing text-to-HTML
-filters -- including <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a>, <a href="http://www.aaronsw.com/2002/atx/">atx</a>, <a href="http://textism.com/tools/textile/">Textile</a>, <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>,
-<a href="http://www.triptico.com/software/grutatxt.html">Grutatext</a>, and <a href="http://ettext.taint.org/doc/">EtText</a> -- the single biggest source of
-inspiration for Markdown's syntax is the format of plain text email.</p>
-
-<p>To this end, Markdown's syntax is comprised entirely of punctuation
-characters, which punctuation characters have been carefully chosen so
-as to look like what they mean. E.g., asterisks around a word actually
-look like *emphasis*. Markdown lists look like, well, lists. Even
-blockquotes look like quoted passages of text, assuming you've ever
-used email.</p>
-
-<h3 id="html">Inline HTML</h3>
-
-<p>Markdown's syntax is intended for one purpose: to be used as a
-format for <em>writing</em> for the web.</p>
-
-<p>Markdown is not a replacement for HTML, or even close to it. Its
-syntax is very small, corresponding only to a very small subset of
-HTML tags. The idea is <em>not</em> to create a syntax that makes it easier
-to insert HTML tags. In my opinion, HTML tags are already easy to
-insert. The idea for Markdown is to make it easy to read, write, and
-edit prose. HTML is a <em>publishing</em> format; Markdown is a <em>writing</em>
-format. Thus, Markdown's formatting syntax only addresses issues that
-can be conveyed in plain text.</p>
-
-<p>For any markup that is not covered by Markdown's syntax, you simply
-use HTML itself. There's no need to preface it or delimit it to
-indicate that you're switching from Markdown to HTML; you just use
-the tags.</p>
-
-<p>The only restrictions are that block-level HTML elements -- e.g. <code>&lt;div&gt;</code>,
-<code>&lt;table&gt;</code>, <code>&lt;pre&gt;</code>, <code>&lt;p&gt;</code>, etc. -- must be separated from surrounding
-content by blank lines, and the start and end tags of the block should
-not be indented with tabs or spaces. Markdown is smart enough not
-to add extra (unwanted) <code>&lt;p&gt;</code> tags around HTML block-level tags.</p>
-
-<p>For example, to add an HTML table to a Markdown article:</p>
-
-<pre><code>This is a regular paragraph.
-
-&lt;table&gt;
-    &lt;tr&gt;
-        &lt;td&gt;Foo&lt;/td&gt;
-    &lt;/tr&gt;
-&lt;/table&gt;
-
-This is another regular paragraph.
-</code></pre>
-
-<p>Note that Markdown formatting syntax is not processed within block-level
-HTML tags. E.g., you can't use Markdown-style <code>*emphasis*</code> inside an
-HTML block.</p>
-
-<p>Span-level HTML tags -- e.g. <code>&lt;span&gt;</code>, <code>&lt;cite&gt;</code>, or <code>&lt;del&gt;</code> -- can be
-used anywhere in a Markdown paragraph, list item, or header. If you
-want, you can even use HTML tags instead of Markdown formatting; e.g. if
-you'd prefer to use HTML <code>&lt;a&gt;</code> or <code>&lt;img&gt;</code> tags instead of Markdown's
-link or image syntax, go right ahead.</p>
-
-<p>Unlike block-level HTML tags, Markdown syntax <em>is</em> processed within
-span-level tags.</p>
-
-<h3 id="autoescape">Automatic Escaping for Special Characters</h3>
-
-<p>In HTML, there are two characters that demand special treatment: <code>&lt;</code>
-and <code>&amp;</code>. Left angle brackets are used to start tags; ampersands are
-used to denote HTML entities. If you want to use them as literal
-characters, you must escape them as entities, e.g. <code>&amp;lt;</code>, and
-<code>&amp;amp;</code>.</p>
-
-<p>Ampersands in particular are bedeviling for web writers. If you want to
-write about 'AT&amp;T', you need to write '<code>AT&amp;amp;T</code>'. You even need to
-escape ampersands within URLs. Thus, if you want to link to:</p>
-
-<pre><code>http://images.google.com/images?num=30&amp;q=larry+bird
-</code></pre>
-
-<p>you need to encode the URL as:</p>
-
-<pre><code>http://images.google.com/images?num=30&amp;amp;q=larry+bird
-</code></pre>
-
-<p>in your anchor tag <code>href</code> attribute. Needless to say, this is easy to
-forget, and is probably the single most common source of HTML validation
-errors in otherwise well-marked-up web sites.</p>
-
-<p>Markdown allows you to use these characters naturally, taking care of
-all the necessary escaping for you. If you use an ampersand as part of
-an HTML entity, it remains unchanged; otherwise it will be translated
-into <code>&amp;amp;</code>.</p>
-
-<p>So, if you want to include a copyright symbol in your article, you can write:</p>
-
-<pre><code>&amp;copy;
-</code></pre>
-
-<p>and Markdown will leave it alone. But if you write:</p>
-
-<pre><code>AT&amp;T
-</code></pre>
-
-<p>Markdown will translate it to:</p>
-
-<pre><code>AT&amp;amp;T
-</code></pre>
-
-<p>Similarly, because Markdown supports <a href="#html">inline HTML</a>, if you use
-angle brackets as delimiters for HTML tags, Markdown will treat them as
-such. But if you write:</p>
-
-<pre><code>4 &lt; 5
-</code></pre>
-
-<p>Markdown will translate it to:</p>
-
-<pre><code>4 &amp;lt; 5
-</code></pre>
-
-<p>However, inside Markdown code spans and blocks, angle brackets and
-ampersands are <em>always</em> encoded automatically. This makes it easy to use
-Markdown to write about HTML code. (As opposed to raw HTML, which is a
-terrible format for writing about HTML syntax, because every single <code>&lt;</code>
-and <code>&amp;</code> in your example code needs to be escaped.)</p>
-
-<hr />
-
-<h2 id="block">Block Elements</h2>
-
-<h3 id="p">Paragraphs and Line Breaks</h3>
-
-<p>A paragraph is simply one or more consecutive lines of text, separated
-by one or more blank lines. (A blank line is any line that looks like a
-blank line -- a line containing nothing but spaces or tabs is considered
-blank.) Normal paragraphs should not be intended with spaces or tabs.</p>
-
-<p>The implication of the "one or more consecutive lines of text" rule is
-that Markdown supports "hard-wrapped" text paragraphs. This differs
-significantly from most other text-to-HTML formatters (including Movable
-Type's "Convert Line Breaks" option) which translate every line break
-character in a paragraph into a <code>&lt;br /&gt;</code> tag.</p>
-
-<p>When you <em>do</em> want to insert a <code>&lt;br /&gt;</code> break tag using Markdown, you
-end a line with two or more spaces, then type return.</p>
-
-<p>Yes, this takes a tad more effort to create a <code>&lt;br /&gt;</code>, but a simplistic
-"every line break is a <code>&lt;br /&gt;</code>" rule wouldn't work for Markdown.
-Markdown's email-style <a href="#blockquote">blockquoting</a> and multi-paragraph <a href="#list">list items</a>
-work best -- and look better -- when you format them with hard breaks.</p>
-
-<h3 id="header">Headers</h3>
-
-<p>Markdown supports two styles of headers, <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a> and <a href="http://www.aaronsw.com/2002/atx/">atx</a>.</p>
-
-<p>Setext-style headers are "underlined" using equal signs (for first-level
-headers) and dashes (for second-level headers). For example:</p>
-
-<pre><code>This is an H1
-=============
-
-This is an H2
--------------
-</code></pre>
-
-<p>Any number of underlining <code>=</code>'s or <code>-</code>'s will work.</p>
-
-<p>Atx-style headers use 1-6 hash characters at the start of the line,
-corresponding to header levels 1-6. For example:</p>
-
-<pre><code># This is an H1
-
-## This is an H2
-
-###### This is an H6
-</code></pre>
-
-<p>Optionally, you may "close" atx-style headers. This is purely
-cosmetic -- you can use this if you think it looks better. The
-closing hashes don't even need to match the number of hashes
-used to open the header. (The number of opening hashes
-determines the header level.) :</p>
-
-<pre><code># This is an H1 #
-
-## This is an H2 ##
-
-### This is an H3 ######
-</code></pre>
-
-<h3 id="blockquote">Blockquotes</h3>
-
-<p>Markdown uses email-style <code>&gt;</code> characters for blockquoting. If you're
-familiar with quoting passages of text in an email message, then you
-know how to create a blockquote in Markdown. It looks best if you hard
-wrap the text and put a <code>&gt;</code> before every line:</p>
-
-<pre><code>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
-&gt; consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-&gt; Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
-&gt; 
-&gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
-&gt; id sem consectetuer libero luctus adipiscing.
-</code></pre>
-
-<p>Markdown allows you to be lazy and only put the <code>&gt;</code> before the first
-line of a hard-wrapped paragraph:</p>
-
-<pre><code>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
-consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
-
-&gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
-id sem consectetuer libero luctus adipiscing.
-</code></pre>
-
-<p>Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by
-adding additional levels of <code>&gt;</code>:</p>
-
-<pre><code>&gt; This is the first level of quoting.
-&gt;
-&gt; &gt; This is nested blockquote.
-&gt;
-&gt; Back to the first level.
-</code></pre>
-
-<p>Blockquotes can contain other Markdown elements, including headers, lists,
-and code blocks:</p>
-
-<pre><code>&gt; ## This is a header.
-&gt; 
-&gt; 1.   This is the first list item.
-&gt; 2.   This is the second list item.
-&gt; 
-&gt; Here's some example code:
-&gt; 
-&gt;     return shell_exec("echo $input | $markdown_script");
-</code></pre>
-
-<p>Any decent text editor should make email-style quoting easy. For
-example, with BBEdit, you can make a selection and choose Increase
-Quote Level from the Text menu.</p>
-
-<h3 id="list">Lists</h3>
-
-<p>Markdown supports ordered (numbered) and unordered (bulleted) lists.</p>
-
-<p>Unordered lists use asterisks, pluses, and hyphens -- interchangably
--- as list markers:</p>
-
-<pre><code>*   Red
-*   Green
-*   Blue
-</code></pre>
-
-<p>is equivalent to:</p>
-
-<pre><code>+   Red
-+   Green
-+   Blue
-</code></pre>
-
-<p>and:</p>
-
-<pre><code>-   Red
--   Green
--   Blue
-</code></pre>
-
-<p>Ordered lists use numbers followed by periods:</p>
-
-<pre><code>1.  Bird
-2.  McHale
-3.  Parish
-</code></pre>
-
-<p>It's important to note that the actual numbers you use to mark the
-list have no effect on the HTML output Markdown produces. The HTML
-Markdown produces from the above list is:</p>
-
-<pre><code>&lt;ol&gt;
-&lt;li&gt;Bird&lt;/li&gt;
-&lt;li&gt;McHale&lt;/li&gt;
-&lt;li&gt;Parish&lt;/li&gt;
-&lt;/ol&gt;
-</code></pre>
-
-<p>If you instead wrote the list in Markdown like this:</p>
-
-<pre><code>1.  Bird
-1.  McHale
-1.  Parish
-</code></pre>
-
-<p>or even:</p>
-
-<pre><code>3. Bird
-1. McHale
-8. Parish
-</code></pre>
-
-<p>you'd get the exact same HTML output. The point is, if you want to,
-you can use ordinal numbers in your ordered Markdown lists, so that
-the numbers in your source match the numbers in your published HTML.
-But if you want to be lazy, you don't have to.</p>
-
-<p>If you do use lazy list numbering, however, you should still start the
-list with the number 1. At some point in the future, Markdown may support
-starting ordered lists at an arbitrary number.</p>
-
-<p>List markers typically start at the left margin, but may be indented by
-up to three spaces. List markers must be followed by one or more spaces
-or a tab.</p>
-
-<p>To make lists look nice, you can wrap items with hanging indents:</p>
-
-<pre><code>*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
-    viverra nec, fringilla in, laoreet vitae, risus.
-*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
-    Suspendisse id sem consectetuer libero luctus adipiscing.
-</code></pre>
-
-<p>But if you want to be lazy, you don't have to:</p>
-
-<pre><code>*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
-viverra nec, fringilla in, laoreet vitae, risus.
-*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
-Suspendisse id sem consectetuer libero luctus adipiscing.
-</code></pre>
-
-<p>If list items are separated by blank lines, Markdown will wrap the
-items in <code>&lt;p&gt;</code> tags in the HTML output. For example, this input:</p>
-
-<pre><code>*   Bird
-*   Magic
-</code></pre>
-
-<p>will turn into:</p>
-
-<pre><code>&lt;ul&gt;
-&lt;li&gt;Bird&lt;/li&gt;
-&lt;li&gt;Magic&lt;/li&gt;
-&lt;/ul&gt;
-</code></pre>
-
-<p>But this:</p>
-
-<pre><code>*   Bird
-
-*   Magic
-</code></pre>
-
-<p>will turn into:</p>
-
-<pre><code>&lt;ul&gt;
-&lt;li&gt;&lt;p&gt;Bird&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;Magic&lt;/p&gt;&lt;/li&gt;
-&lt;/ul&gt;
-</code></pre>
-
-<p>List items may consist of multiple paragraphs. Each subsequent
-paragraph in a list item must be intended by either 4 spaces
-or one tab:</p>
-
-<pre><code>1.  This is a list item with two paragraphs. Lorem ipsum dolor
-    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
-    mi posuere lectus.
-
-    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
-    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
-    sit amet velit.
-
-2.  Suspendisse id sem consectetuer libero luctus adipiscing.
-</code></pre>
-
-<p>It looks nice if you indent every line of the subsequent
-paragraphs, but here again, Markdown will allow you to be
-lazy:</p>
-
-<pre><code>*   This is a list item with two paragraphs.
-
-    This is the second paragraph in the list item. You're
-only required to indent the first line. Lorem ipsum dolor
-sit amet, consectetuer adipiscing elit.
-
-*   Another item in the same list.
-</code></pre>
-
-<p>To put a blockquote within a list item, the blockquote's <code>&gt;</code>
-delimiters need to be indented:</p>
-
-<pre><code>*   A list item with a blockquote:
-
-    &gt; This is a blockquote
-    &gt; inside a list item.
-</code></pre>
-
-<p>To put a code block within a list item, the code block needs
-to be indented <em>twice</em> -- 8 spaces or two tabs:</p>
-
-<pre><code>*   A list item with a code block:
-
-        &lt;code goes here&gt;
-</code></pre>
-
-<p>It's worth noting that it's possible to trigger an ordered list by
-accident, by writing something like this:</p>
-
-<pre><code>1986. What a great season.
-</code></pre>
-
-<p>In other words, a <em>number-period-space</em> sequence at the beginning of a
-line. To avoid this, you can backslash-escape the period:</p>
-
-<pre><code>1986\. What a great season.
-</code></pre>
-
-<h3 id="precode">Code Blocks</h3>
-
-<p>Pre-formatted code blocks are used for writing about programming or
-markup source code. Rather than forming normal paragraphs, the lines
-of a code block are interpreted literally. Markdown wraps a code block
-in both <code>&lt;pre&gt;</code> and <code>&lt;code&gt;</code> tags.</p>
-
-<p>To produce a code block in Markdown, simply indent every line of the
-block by at least 4 spaces or 1 tab. For example, given this input:</p>
-
-<pre><code>This is a normal paragraph:
-
-    This is a code block.
-</code></pre>
-
-<p>Markdown will generate:</p>
-
-<pre><code>&lt;p&gt;This is a normal paragraph:&lt;/p&gt;
-
-&lt;pre&gt;&lt;code&gt;This is a code block.
-&lt;/code&gt;&lt;/pre&gt;
-</code></pre>
-
-<p>One level of indentation -- 4 spaces or 1 tab -- is removed from each
-line of the code block. For example, this:</p>
-
-<pre><code>Here is an example of AppleScript:
-
-    tell application "Foo"
-        beep
-    end tell
-</code></pre>
-
-<p>will turn into:</p>
-
-<pre><code>&lt;p&gt;Here is an example of AppleScript:&lt;/p&gt;
-
-&lt;pre&gt;&lt;code&gt;tell application "Foo"
-    beep
-end tell
-&lt;/code&gt;&lt;/pre&gt;
-</code></pre>
-
-<p>A code block continues until it reaches a line that is not indented
-(or the end of the article).</p>
-
-<p>Within a code block, ampersands (<code>&amp;</code>) and angle brackets (<code>&lt;</code> and <code>&gt;</code>)
-are automatically converted into HTML entities. This makes it very
-easy to include example HTML source code using Markdown -- just paste
-it and indent it, and Markdown will handle the hassle of encoding the
-ampersands and angle brackets. For example, this:</p>
-
-<pre><code>    &lt;div class="footer"&gt;
-        &amp;copy; 2004 Foo Corporation
-    &lt;/div&gt;
-</code></pre>
-
-<p>will turn into:</p>
-
-<pre><code>&lt;pre&gt;&lt;code&gt;&amp;lt;div class="footer"&amp;gt;
-    &amp;amp;copy; 2004 Foo Corporation
-&amp;lt;/div&amp;gt;
-&lt;/code&gt;&lt;/pre&gt;
-</code></pre>
-
-<p>Regular Markdown syntax is not processed within code blocks. E.g.,
-asterisks are just literal asterisks within a code block. This means
-it's also easy to use Markdown to write about Markdown's own syntax.</p>
-
-<h3 id="hr">Horizontal Rules</h3>
-
-<p>You can produce a horizontal rule tag (<code>&lt;hr /&gt;</code>) by placing three or
-more hyphens, asterisks, or underscores on a line by themselves. If you
-wish, you may use spaces between the hyphens or asterisks. Each of the
-following lines will produce a horizontal rule:</p>
-
-<pre><code>* * *
-
-***
-
-*****
-
-- - -
-
----------------------------------------
-
-_ _ _
-</code></pre>
-
-<hr />
-
-<h2 id="span">Span Elements</h2>
-
-<h3 id="link">Links</h3>
-
-<p>Markdown supports two style of links: <em>inline</em> and <em>reference</em>.</p>
-
-<p>In both styles, the link text is delimited by [square brackets].</p>
-
-<p>To create an inline link, use a set of regular parentheses immediately
-after the link text's closing square bracket. Inside the parentheses,
-put the URL where you want the link to point, along with an <em>optional</em>
-title for the link, surrounded in quotes. For example:</p>
-
-<pre><code>This is [an example](http://example.com/ "Title") inline link.
-
-[This link](http://example.net/) has no title attribute.
-</code></pre>
-
-<p>Will produce:</p>
-
-<pre><code>&lt;p&gt;This is &lt;a href="http://example.com/" title="Title"&gt;
-an example&lt;/a&gt; inline link.&lt;/p&gt;
-
-&lt;p&gt;&lt;a href="http://example.net/"&gt;This link&lt;/a&gt; has no
-title attribute.&lt;/p&gt;
-</code></pre>
-
-<p>If you're referring to a local resource on the same server, you can
-use relative paths:</p>
-
-<pre><code>See my [About](/about/) page for details.
-</code></pre>
-
-<p>Reference-style links use a second set of square brackets, inside
-which you place a label of your choosing to identify the link:</p>
-
-<pre><code>This is [an example][id] reference-style link.
-</code></pre>
-
-<p>You can optionally use a space to separate the sets of brackets:</p>
-
-<pre><code>This is [an example] [id] reference-style link.
-</code></pre>
-
-<p>Then, anywhere in the document, you define your link label like this,
-on a line by itself:</p>
-
-<pre><code>[id]: http://example.com/  "Optional Title Here"
-</code></pre>
-
-<p>That is:</p>
-
-<ul>
-<li>Square brackets containing the link identifier (optionally
-indented from the left margin using up to three spaces);</li>
-<li>followed by a colon;</li>
-<li>followed by one or more spaces (or tabs);</li>
-<li>followed by the URL for the link;</li>
-<li>optionally followed by a title attribute for the link, enclosed
-in double or single quotes.</li>
-</ul>
-
-<p>The link URL may, optionally, be surrounded by angle brackets:</p>
-
-<pre><code>[id]: &lt;http://example.com/&gt;  "Optional Title Here"
-</code></pre>
-
-<p>You can put the title attribute on the next line and use extra spaces
-or tabs for padding, which tends to look better with longer URLs:</p>
-
-<pre><code>[id]: http://example.com/longish/path/to/resource/here
-    "Optional Title Here"
-</code></pre>
-
-<p>Link definitions are only used for creating links during Markdown
-processing, and are stripped from your document in the HTML output.</p>
-
-<p>Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are <em>not</em> case sensitive. E.g. these two links:</p>
-
-<pre><code>[link text][a]
-[link text][A]
-</code></pre>
-
-<p>are equivalent.</p>
-
-<p>The <em>implicit link name</em> shortcut allows you to omit the name of the
-link, in which case the link text itself is used as the name.
-Just use an empty set of square brackets -- e.g., to link the word
-"Google" to the google.com web site, you could simply write:</p>
-
-<pre><code>[Google][]
-</code></pre>
-
-<p>And then define the link:</p>
-
-<pre><code>[Google]: http://google.com/
-</code></pre>
-
-<p>Because link names may contain spaces, this shortcut even works for
-multiple words in the link text:</p>
-
-<pre><code>Visit [Daring Fireball][] for more information.
-</code></pre>
-
-<p>And then define the link:</p>
-
-<pre><code>[Daring Fireball]: http://daringfireball.net/
-</code></pre>
-
-<p>Link definitions can be placed anywhere in your Markdown document. I
-tend to put them immediately after each paragraph in which they're
-used, but if you want, you can put them all at the end of your
-document, sort of like footnotes.</p>
-
-<p>Here's an example of reference links in action:</p>
-
-<pre><code>I get 10 times more traffic from [Google] [1] than from
-[Yahoo] [2] or [MSN] [3].
-
-  [1]: http://google.com/        "Google"
-  [2]: http://search.yahoo.com/  "Yahoo Search"
-  [3]: http://search.msn.com/    "MSN Search"
-</code></pre>
-
-<p>Using the implicit link name shortcut, you could instead write:</p>
-
-<pre><code>I get 10 times more traffic from [Google][] than from
-[Yahoo][] or [MSN][].
-
-  [google]: http://google.com/        "Google"
-  [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
-  [msn]:    http://search.msn.com/    "MSN Search"
-</code></pre>
-
-<p>Both of the above examples will produce the following HTML output:</p>
-
-<pre><code>&lt;p&gt;I get 10 times more traffic from &lt;a href="http://google.com/"
-title="Google"&gt;Google&lt;/a&gt; than from
-&lt;a href="http://search.yahoo.com/" title="Yahoo Search"&gt;Yahoo&lt;/a&gt;
-or &lt;a href="http://search.msn.com/" title="MSN Search"&gt;MSN&lt;/a&gt;.&lt;/p&gt;
-</code></pre>
-
-<p>For comparison, here is the same paragraph written using
-Markdown's inline link style:</p>
-
-<pre><code>I get 10 times more traffic from [Google](http://google.com/ "Google")
-than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
-[MSN](http://search.msn.com/ "MSN Search").
-</code></pre>
-
-<p>The point of reference-style links is not that they're easier to
-write. The point is that with reference-style links, your document
-source is vastly more readable. Compare the above examples: using
-reference-style links, the paragraph itself is only 81 characters
-long; with inline-style links, it's 176 characters; and as raw HTML,
-it's 234 characters. In the raw HTML, there's more markup than there
-is text.</p>
-
-<p>With Markdown's reference-style links, a source document much more
-closely resembles the final output, as rendered in a browser. By
-allowing you to move the markup-related metadata out of the paragraph,
-you can add links without interrupting the narrative flow of your
-prose.</p>
-
-<h3 id="em">Emphasis</h3>
-
-<p>Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of
-emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an
-HTML <code>&lt;em&gt;</code> tag; double <code>*</code>'s or <code>_</code>'s will be wrapped with an HTML
-<code>&lt;strong&gt;</code> tag. E.g., this input:</p>
-
-<pre><code>*single asterisks*
-
-_single underscores_
-
-**double asterisks**
-
-__double underscores__
-</code></pre>
-
-<p>will produce:</p>
-
-<pre><code>&lt;em&gt;single asterisks&lt;/em&gt;
-
-&lt;em&gt;single underscores&lt;/em&gt;
-
-&lt;strong&gt;double asterisks&lt;/strong&gt;
-
-&lt;strong&gt;double underscores&lt;/strong&gt;
-</code></pre>
-
-<p>You can use whichever style you prefer; the lone restriction is that
-the same character must be used to open and close an emphasis span.</p>
-
-<p>Emphasis can be used in the middle of a word:</p>
-
-<pre><code>un*fucking*believable
-</code></pre>
-
-<p>But if you surround an <code>*</code> or <code>_</code> with spaces, it'll be treated as a
-literal asterisk or underscore.</p>
-
-<p>To produce a literal asterisk or underscore at a position where it
-would otherwise be used as an emphasis delimiter, you can backslash
-escape it:</p>
-
-<pre><code>\*this text is surrounded by literal asterisks\*
-</code></pre>
-
-<h3 id="code">Code</h3>
-
-<p>To indicate a span of code, wrap it with backtick quotes (<code>`</code>).
-Unlike a pre-formatted code block, a code span indicates code within a
-normal paragraph. For example:</p>
-
-<pre><code>Use the `printf()` function.
-</code></pre>
-
-<p>will produce:</p>
-
-<pre><code>&lt;p&gt;Use the &lt;code&gt;printf()&lt;/code&gt; function.&lt;/p&gt;
-</code></pre>
-
-<p>To include a literal backtick character within a code span, you can use
-multiple backticks as the opening and closing delimiters:</p>
-
-<pre><code>``There is a literal backtick (`) here.``
-</code></pre>
-
-<p>which will produce this:</p>
-
-<pre><code>&lt;p&gt;&lt;code&gt;There is a literal backtick (`) here.&lt;/code&gt;&lt;/p&gt;
-</code></pre>
-
-<p>The backtick delimiters surrounding a code span may include spaces --
-one after the opening, one before the closing. This allows you to place
-literal backtick characters at the beginning or end of a code span:</p>
-
-<pre><code>A single backtick in a code span: `` ` ``
-
-A backtick-delimited string in a code span: `` `foo` ``
-</code></pre>
-
-<p>will produce:</p>
-
-<pre><code>&lt;p&gt;A single backtick in a code span: &lt;code&gt;`&lt;/code&gt;&lt;/p&gt;
-
-&lt;p&gt;A backtick-delimited string in a code span: &lt;code&gt;`foo`&lt;/code&gt;&lt;/p&gt;
-</code></pre>
-
-<p>With a code span, ampersands and angle brackets are encoded as HTML
-entities automatically, which makes it easy to include example HTML
-tags. Markdown will turn this:</p>
-
-<pre><code>Please don't use any `&lt;blink&gt;` tags.
-</code></pre>
-
-<p>into:</p>
-
-<pre><code>&lt;p&gt;Please don't use any &lt;code&gt;&amp;lt;blink&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;
-</code></pre>
-
-<p>You can write this:</p>
-
-<pre><code>`&amp;#8212;` is the decimal-encoded equivalent of `&amp;mdash;`.
-</code></pre>
-
-<p>to produce:</p>
-
-<pre><code>&lt;p&gt;&lt;code&gt;&amp;amp;#8212;&lt;/code&gt; is the decimal-encoded
-equivalent of &lt;code&gt;&amp;amp;mdash;&lt;/code&gt;.&lt;/p&gt;
-</code></pre>
-
-<h3 id="img">Images</h3>
-
-<p>Admittedly, it's fairly difficult to devise a "natural" syntax for
-placing images into a plain text document format.</p>
-
-<p>Markdown uses an image syntax that is intended to resemble the syntax
-for links, allowing for two styles: <em>inline</em> and <em>reference</em>.</p>
-
-<p>Inline image syntax looks like this:</p>
-
-<pre><code>![Alt text](/path/to/img.jpg)
-
-![Alt text](/path/to/img.jpg "Optional title")
-</code></pre>
-
-<p>That is:</p>
-
-<ul>
-<li>An exclamation mark: <code>!</code>;</li>
-<li>followed by a set of square brackets, containing the <code>alt</code>
-attribute text for the image;</li>
-<li>followed by a set of parentheses, containing the URL or path to
-the image, and an optional <code>title</code> attribute enclosed in double
-or single quotes.</li>
-</ul>
-
-<p>Reference-style image syntax looks like this:</p>
-
-<pre><code>![Alt text][id]
-</code></pre>
-
-<p>Where "id" is the name of a defined image reference. Image references
-are defined using syntax identical to link references:</p>
-
-<pre><code>[id]: url/to/image  "Optional title attribute"
-</code></pre>
-
-<p>As of this writing, Markdown has no syntax for specifying the
-dimensions of an image; if this is important to you, you can simply
-use regular HTML <code>&lt;img&gt;</code> tags.</p>
-
-<hr />
-
-<h2 id="misc">Miscellaneous</h2>
-
-<h3 id="autolink">Automatic Links</h3>
-
-<p>Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:</p>
-
-<pre><code>&lt;http://example.com/&gt;
-</code></pre>
-
-<p>Markdown will turn this into:</p>
-
-<pre><code>&lt;a href="http://example.com/"&gt;http://example.com/&lt;/a&gt;
-</code></pre>
-
-<p>Automatic links for email addresses work similarly, except that
-Markdown will also perform a bit of randomized decimal and hex
-entity-encoding to help obscure your address from address-harvesting
-spambots. For example, Markdown will turn this:</p>
-
-<pre><code>&lt;address@example.com&gt;
-</code></pre>
-
-<p>into something like this:</p>
-
-<pre><code>&lt;a href="&amp;#x6D;&amp;#x61;i&amp;#x6C;&amp;#x74;&amp;#x6F;:&amp;#x61;&amp;#x64;&amp;#x64;&amp;#x72;&amp;#x65;
-&amp;#115;&amp;#115;&amp;#64;&amp;#101;&amp;#120;&amp;#x61;&amp;#109;&amp;#x70;&amp;#x6C;e&amp;#x2E;&amp;#99;&amp;#111;
-&amp;#109;"&gt;&amp;#x61;&amp;#x64;&amp;#x64;&amp;#x72;&amp;#x65;&amp;#115;&amp;#115;&amp;#64;&amp;#101;&amp;#120;&amp;#x61;
-&amp;#109;&amp;#x70;&amp;#x6C;e&amp;#x2E;&amp;#99;&amp;#111;&amp;#109;&lt;/a&gt;
-</code></pre>
-
-<p>which will render in a browser as a clickable link to "address@example.com".</p>
-
-<p>(This sort of entity-encoding trick will indeed fool many, if not
-most, address-harvesting bots, but it definitely won't fool all of
-them. It's better than nothing, but an address published in this way
-will probably eventually start receiving spam.)</p>
-
-<h3 id="backslash">Backslash Escapes</h3>
-
-<p>Markdown allows you to use backslash escapes to generate literal
-characters which would otherwise have special meaning in Markdown's
-formatting syntax. For example, if you wanted to surround a word with
-literal asterisks (instead of an HTML <code>&lt;em&gt;</code> tag), you can backslashes
-before the asterisks, like this:</p>
-
-<pre><code>\*literal asterisks\*
-</code></pre>
-
-<p>Markdown provides backslash escapes for the following characters:</p>
-
-<pre><code>\   backslash
-`   backtick
-*   asterisk
-_   underscore
-{}  curly braces
-[]  square brackets
-()  parentheses
-#   hash mark
-+   plus sign
--   minus sign (hyphen)
-.   dot
-!   exclamation mark
-</code></pre>
+<h1>Markdown: Syntax</h1>

+

+<ul id="ProjectSubmenu">

+    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>

+    <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li>

+    <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li>

+    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>

+    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>

+</ul>

+

+<ul>

+<li><a href="#overview">Overview</a>

+<ul>

+<li><a href="#philosophy">Philosophy</a></li>

+<li><a href="#html">Inline HTML</a></li>

+<li><a href="#autoescape">Automatic Escaping for Special Characters</a></li>

+</ul></li>

+<li><a href="#block">Block Elements</a>

+<ul>

+<li><a href="#p">Paragraphs and Line Breaks</a></li>

+<li><a href="#header">Headers</a></li>

+<li><a href="#blockquote">Blockquotes</a></li>

+<li><a href="#list">Lists</a></li>

+<li><a href="#precode">Code Blocks</a></li>

+<li><a href="#hr">Horizontal Rules</a></li>

+</ul></li>

+<li><a href="#span">Span Elements</a>

+<ul>

+<li><a href="#link">Links</a></li>

+<li><a href="#em">Emphasis</a></li>

+<li><a href="#code">Code</a></li>

+<li><a href="#img">Images</a></li>

+</ul></li>

+<li><a href="#misc">Miscellaneous</a>

+<ul>

+<li><a href="#backslash">Backslash Escapes</a></li>

+<li><a href="#autolink">Automatic Links</a></li>

+</ul></li>

+</ul>

+

+<p><strong>Note:</strong> This document is itself written using Markdown; you

+can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p>

+

+<hr />

+

+<h2 id="overview">Overview</h2>

+

+<h3 id="philosophy">Philosophy</h3>

+

+<p>Markdown is intended to be as easy-to-read and easy-to-write as is feasible.</p>

+

+<p>Readability, however, is emphasized above all else. A Markdown-formatted

+document should be publishable as-is, as plain text, without looking

+like it's been marked up with tags or formatting instructions. While

+Markdown's syntax has been influenced by several existing text-to-HTML

+filters -- including <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a>, <a href="http://www.aaronsw.com/2002/atx/">atx</a>, <a href="http://textism.com/tools/textile/">Textile</a>, <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>,

+<a href="http://www.triptico.com/software/grutatxt.html">Grutatext</a>, and <a href="http://ettext.taint.org/doc/">EtText</a> -- the single biggest source of

+inspiration for Markdown's syntax is the format of plain text email.</p>

+

+<p>To this end, Markdown's syntax is comprised entirely of punctuation

+characters, which punctuation characters have been carefully chosen so

+as to look like what they mean. E.g., asterisks around a word actually

+look like *emphasis*. Markdown lists look like, well, lists. Even

+blockquotes look like quoted passages of text, assuming you've ever

+used email.</p>

+

+<h3 id="html">Inline HTML</h3>

+

+<p>Markdown's syntax is intended for one purpose: to be used as a

+format for <em>writing</em> for the web.</p>

+

+<p>Markdown is not a replacement for HTML, or even close to it. Its

+syntax is very small, corresponding only to a very small subset of

+HTML tags. The idea is <em>not</em> to create a syntax that makes it easier

+to insert HTML tags. In my opinion, HTML tags are already easy to

+insert. The idea for Markdown is to make it easy to read, write, and

+edit prose. HTML is a <em>publishing</em> format; Markdown is a <em>writing</em>

+format. Thus, Markdown's formatting syntax only addresses issues that

+can be conveyed in plain text.</p>

+

+<p>For any markup that is not covered by Markdown's syntax, you simply

+use HTML itself. There's no need to preface it or delimit it to

+indicate that you're switching from Markdown to HTML; you just use

+the tags.</p>

+

+<p>The only restrictions are that block-level HTML elements -- e.g. <code>&lt;div&gt;</code>,

+<code>&lt;table&gt;</code>, <code>&lt;pre&gt;</code>, <code>&lt;p&gt;</code>, etc. -- must be separated from surrounding

+content by blank lines, and the start and end tags of the block should

+not be indented with tabs or spaces. Markdown is smart enough not

+to add extra (unwanted) <code>&lt;p&gt;</code> tags around HTML block-level tags.</p>

+

+<p>For example, to add an HTML table to a Markdown article:</p>

+

+<pre><code>This is a regular paragraph.

+

+&lt;table&gt;

+    &lt;tr&gt;

+        &lt;td&gt;Foo&lt;/td&gt;

+    &lt;/tr&gt;

+&lt;/table&gt;

+

+This is another regular paragraph.

+</code></pre>

+

+<p>Note that Markdown formatting syntax is not processed within block-level

+HTML tags. E.g., you can't use Markdown-style <code>*emphasis*</code> inside an

+HTML block.</p>

+

+<p>Span-level HTML tags -- e.g. <code>&lt;span&gt;</code>, <code>&lt;cite&gt;</code>, or <code>&lt;del&gt;</code> -- can be

+used anywhere in a Markdown paragraph, list item, or header. If you

+want, you can even use HTML tags instead of Markdown formatting; e.g. if

+you'd prefer to use HTML <code>&lt;a&gt;</code> or <code>&lt;img&gt;</code> tags instead of Markdown's

+link or image syntax, go right ahead.</p>

+

+<p>Unlike block-level HTML tags, Markdown syntax <em>is</em> processed within

+span-level tags.</p>

+

+<h3 id="autoescape">Automatic Escaping for Special Characters</h3>

+

+<p>In HTML, there are two characters that demand special treatment: <code>&lt;</code>

+and <code>&amp;</code>. Left angle brackets are used to start tags; ampersands are

+used to denote HTML entities. If you want to use them as literal

+characters, you must escape them as entities, e.g. <code>&amp;lt;</code>, and

+<code>&amp;amp;</code>.</p>

+

+<p>Ampersands in particular are bedeviling for web writers. If you want to

+write about 'AT&amp;T', you need to write '<code>AT&amp;amp;T</code>'. You even need to

+escape ampersands within URLs. Thus, if you want to link to:</p>

+

+<pre><code>http://images.google.com/images?num=30&amp;q=larry+bird

+</code></pre>

+

+<p>you need to encode the URL as:</p>

+

+<pre><code>http://images.google.com/images?num=30&amp;amp;q=larry+bird

+</code></pre>

+

+<p>in your anchor tag <code>href</code> attribute. Needless to say, this is easy to

+forget, and is probably the single most common source of HTML validation

+errors in otherwise well-marked-up web sites.</p>

+

+<p>Markdown allows you to use these characters naturally, taking care of

+all the necessary escaping for you. If you use an ampersand as part of

+an HTML entity, it remains unchanged; otherwise it will be translated

+into <code>&amp;amp;</code>.</p>

+

+<p>So, if you want to include a copyright symbol in your article, you can write:</p>

+

+<pre><code>&amp;copy;

+</code></pre>

+

+<p>and Markdown will leave it alone. But if you write:</p>

+

+<pre><code>AT&amp;T

+</code></pre>

+

+<p>Markdown will translate it to:</p>

+

+<pre><code>AT&amp;amp;T

+</code></pre>

+

+<p>Similarly, because Markdown supports <a href="#html">inline HTML</a>, if you use

+angle brackets as delimiters for HTML tags, Markdown will treat them as

+such. But if you write:</p>

+

+<pre><code>4 &lt; 5

+</code></pre>

+

+<p>Markdown will translate it to:</p>

+

+<pre><code>4 &amp;lt; 5

+</code></pre>

+

+<p>However, inside Markdown code spans and blocks, angle brackets and

+ampersands are <em>always</em> encoded automatically. This makes it easy to use

+Markdown to write about HTML code. (As opposed to raw HTML, which is a

+terrible format for writing about HTML syntax, because every single <code>&lt;</code>

+and <code>&amp;</code> in your example code needs to be escaped.)</p>

+

+<hr />

+

+<h2 id="block">Block Elements</h2>

+

+<h3 id="p">Paragraphs and Line Breaks</h3>

+

+<p>A paragraph is simply one or more consecutive lines of text, separated

+by one or more blank lines. (A blank line is any line that looks like a

+blank line -- a line containing nothing but spaces or tabs is considered

+blank.) Normal paragraphs should not be intended with spaces or tabs.</p>

+

+<p>The implication of the "one or more consecutive lines of text" rule is

+that Markdown supports "hard-wrapped" text paragraphs. This differs

+significantly from most other text-to-HTML formatters (including Movable

+Type's "Convert Line Breaks" option) which translate every line break

+character in a paragraph into a <code>&lt;br /&gt;</code> tag.</p>

+

+<p>When you <em>do</em> want to insert a <code>&lt;br /&gt;</code> break tag using Markdown, you

+end a line with two or more spaces, then type return.</p>

+

+<p>Yes, this takes a tad more effort to create a <code>&lt;br /&gt;</code>, but a simplistic

+"every line break is a <code>&lt;br /&gt;</code>" rule wouldn't work for Markdown.

+Markdown's email-style <a href="#blockquote">blockquoting</a> and multi-paragraph <a href="#list">list items</a>

+work best -- and look better -- when you format them with hard breaks.</p>

+

+<h3 id="header">Headers</h3>

+

+<p>Markdown supports two styles of headers, <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a> and <a href="http://www.aaronsw.com/2002/atx/">atx</a>.</p>

+

+<p>Setext-style headers are "underlined" using equal signs (for first-level

+headers) and dashes (for second-level headers). For example:</p>

+

+<pre><code>This is an H1

+=============

+

+This is an H2

+-------------

+</code></pre>

+

+<p>Any number of underlining <code>=</code>'s or <code>-</code>'s will work.</p>

+

+<p>Atx-style headers use 1-6 hash characters at the start of the line,

+corresponding to header levels 1-6. For example:</p>

+

+<pre><code># This is an H1

+

+## This is an H2

+

+###### This is an H6

+</code></pre>

+

+<p>Optionally, you may "close" atx-style headers. This is purely

+cosmetic -- you can use this if you think it looks better. The

+closing hashes don't even need to match the number of hashes

+used to open the header. (The number of opening hashes

+determines the header level.) :</p>

+

+<pre><code># This is an H1 #

+

+## This is an H2 ##

+

+### This is an H3 ######

+</code></pre>

+

+<h3 id="blockquote">Blockquotes</h3>

+

+<p>Markdown uses email-style <code>&gt;</code> characters for blockquoting. If you're

+familiar with quoting passages of text in an email message, then you

+know how to create a blockquote in Markdown. It looks best if you hard

+wrap the text and put a <code>&gt;</code> before every line:</p>

+

+<pre><code>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,

+&gt; consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.

+&gt; Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

+&gt; 

+&gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse

+&gt; id sem consectetuer libero luctus adipiscing.

+</code></pre>

+

+<p>Markdown allows you to be lazy and only put the <code>&gt;</code> before the first

+line of a hard-wrapped paragraph:</p>

+

+<pre><code>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,

+consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.

+Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

+

+&gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse

+id sem consectetuer libero luctus adipiscing.

+</code></pre>

+

+<p>Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by

+adding additional levels of <code>&gt;</code>:</p>

+

+<pre><code>&gt; This is the first level of quoting.

+&gt;

+&gt; &gt; This is nested blockquote.

+&gt;

+&gt; Back to the first level.

+</code></pre>

+

+<p>Blockquotes can contain other Markdown elements, including headers, lists,

+and code blocks:</p>

+

+<pre><code>&gt; ## This is a header.

+&gt; 

+&gt; 1.   This is the first list item.

+&gt; 2.   This is the second list item.

+&gt; 

+&gt; Here's some example code:

+&gt; 

+&gt;     return shell_exec("echo $input | $markdown_script");

+</code></pre>

+

+<p>Any decent text editor should make email-style quoting easy. For

+example, with BBEdit, you can make a selection and choose Increase

+Quote Level from the Text menu.</p>

+

+<h3 id="list">Lists</h3>

+

+<p>Markdown supports ordered (numbered) and unordered (bulleted) lists.</p>

+

+<p>Unordered lists use asterisks, pluses, and hyphens -- interchangably

+-- as list markers:</p>

+

+<pre><code>*   Red

+*   Green

+*   Blue

+</code></pre>

+

+<p>is equivalent to:</p>

+

+<pre><code>+   Red

++   Green

++   Blue

+</code></pre>

+

+<p>and:</p>

+

+<pre><code>-   Red

+-   Green

+-   Blue

+</code></pre>

+

+<p>Ordered lists use numbers followed by periods:</p>

+

+<pre><code>1.  Bird

+2.  McHale

+3.  Parish

+</code></pre>

+

+<p>It's important to note that the actual numbers you use to mark the

+list have no effect on the HTML output Markdown produces. The HTML

+Markdown produces from the above list is:</p>

+

+<pre><code>&lt;ol&gt;

+&lt;li&gt;Bird&lt;/li&gt;

+&lt;li&gt;McHale&lt;/li&gt;

+&lt;li&gt;Parish&lt;/li&gt;

+&lt;/ol&gt;

+</code></pre>

+

+<p>If you instead wrote the list in Markdown like this:</p>

+

+<pre><code>1.  Bird

+1.  McHale

+1.  Parish

+</code></pre>

+

+<p>or even:</p>

+

+<pre><code>3. Bird

+1. McHale

+8. Parish

+</code></pre>

+

+<p>you'd get the exact same HTML output. The point is, if you want to,

+you can use ordinal numbers in your ordered Markdown lists, so that

+the numbers in your source match the numbers in your published HTML.

+But if you want to be lazy, you don't have to.</p>

+

+<p>If you do use lazy list numbering, however, you should still start the

+list with the number 1. At some point in the future, Markdown may support

+starting ordered lists at an arbitrary number.</p>

+

+<p>List markers typically start at the left margin, but may be indented by

+up to three spaces. List markers must be followed by one or more spaces

+or a tab.</p>

+

+<p>To make lists look nice, you can wrap items with hanging indents:</p>

+

+<pre><code>*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

+    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,

+    viverra nec, fringilla in, laoreet vitae, risus.

+*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.

+    Suspendisse id sem consectetuer libero luctus adipiscing.

+</code></pre>

+

+<p>But if you want to be lazy, you don't have to:</p>

+

+<pre><code>*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

+Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,

+viverra nec, fringilla in, laoreet vitae, risus.

+*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.

+Suspendisse id sem consectetuer libero luctus adipiscing.

+</code></pre>

+

+<p>If list items are separated by blank lines, Markdown will wrap the

+items in <code>&lt;p&gt;</code> tags in the HTML output. For example, this input:</p>

+

+<pre><code>*   Bird

+*   Magic

+</code></pre>

+

+<p>will turn into:</p>

+

+<pre><code>&lt;ul&gt;

+&lt;li&gt;Bird&lt;/li&gt;

+&lt;li&gt;Magic&lt;/li&gt;

+&lt;/ul&gt;

+</code></pre>

+

+<p>But this:</p>

+

+<pre><code>*   Bird

+

+*   Magic

+</code></pre>

+

+<p>will turn into:</p>

+

+<pre><code>&lt;ul&gt;

+&lt;li&gt;&lt;p&gt;Bird&lt;/p&gt;&lt;/li&gt;

+&lt;li&gt;&lt;p&gt;Magic&lt;/p&gt;&lt;/li&gt;

+&lt;/ul&gt;

+</code></pre>

+

+<p>List items may consist of multiple paragraphs. Each subsequent

+paragraph in a list item must be intended by either 4 spaces

+or one tab:</p>

+

+<pre><code>1.  This is a list item with two paragraphs. Lorem ipsum dolor

+    sit amet, consectetuer adipiscing elit. Aliquam hendrerit

+    mi posuere lectus.

+

+    Vestibulum enim wisi, viverra nec, fringilla in, laoreet

+    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum

+    sit amet velit.

+

+2.  Suspendisse id sem consectetuer libero luctus adipiscing.

+</code></pre>

+

+<p>It looks nice if you indent every line of the subsequent

+paragraphs, but here again, Markdown will allow you to be

+lazy:</p>

+

+<pre><code>*   This is a list item with two paragraphs.

+

+    This is the second paragraph in the list item. You're

+only required to indent the first line. Lorem ipsum dolor

+sit amet, consectetuer adipiscing elit.

+

+*   Another item in the same list.

+</code></pre>

+

+<p>To put a blockquote within a list item, the blockquote's <code>&gt;</code>

+delimiters need to be indented:</p>

+

+<pre><code>*   A list item with a blockquote:

+

+    &gt; This is a blockquote

+    &gt; inside a list item.

+</code></pre>

+

+<p>To put a code block within a list item, the code block needs

+to be indented <em>twice</em> -- 8 spaces or two tabs:</p>

+

+<pre><code>*   A list item with a code block:

+

+        &lt;code goes here&gt;

+</code></pre>

+

+<p>It's worth noting that it's possible to trigger an ordered list by

+accident, by writing something like this:</p>

+

+<pre><code>1986. What a great season.

+</code></pre>

+

+<p>In other words, a <em>number-period-space</em> sequence at the beginning of a

+line. To avoid this, you can backslash-escape the period:</p>

+

+<pre><code>1986\. What a great season.

+</code></pre>

+

+<h3 id="precode">Code Blocks</h3>

+

+<p>Pre-formatted code blocks are used for writing about programming or

+markup source code. Rather than forming normal paragraphs, the lines

+of a code block are interpreted literally. Markdown wraps a code block

+in both <code>&lt;pre&gt;</code> and <code>&lt;code&gt;</code> tags.</p>

+

+<p>To produce a code block in Markdown, simply indent every line of the

+block by at least 4 spaces or 1 tab. For example, given this input:</p>

+

+<pre><code>This is a normal paragraph:

+

+    This is a code block.

+</code></pre>

+

+<p>Markdown will generate:</p>

+

+<pre><code>&lt;p&gt;This is a normal paragraph:&lt;/p&gt;

+

+&lt;pre&gt;&lt;code&gt;This is a code block.

+&lt;/code&gt;&lt;/pre&gt;

+</code></pre>

+

+<p>One level of indentation -- 4 spaces or 1 tab -- is removed from each

+line of the code block. For example, this:</p>

+

+<pre><code>Here is an example of AppleScript:

+

+    tell application "Foo"

+        beep

+    end tell

+</code></pre>

+

+<p>will turn into:</p>

+

+<pre><code>&lt;p&gt;Here is an example of AppleScript:&lt;/p&gt;

+

+&lt;pre&gt;&lt;code&gt;tell application "Foo"

+    beep

+end tell

+&lt;/code&gt;&lt;/pre&gt;

+</code></pre>

+

+<p>A code block continues until it reaches a line that is not indented

+(or the end of the article).</p>

+

+<p>Within a code block, ampersands (<code>&amp;</code>) and angle brackets (<code>&lt;</code> and <code>&gt;</code>)

+are automatically converted into HTML entities. This makes it very

+easy to include example HTML source code using Markdown -- just paste

+it and indent it, and Markdown will handle the hassle of encoding the

+ampersands and angle brackets. For example, this:</p>

+

+<pre><code>    &lt;div class="footer"&gt;

+        &amp;copy; 2004 Foo Corporation

+    &lt;/div&gt;

+</code></pre>

+

+<p>will turn into:</p>

+

+<pre><code>&lt;pre&gt;&lt;code&gt;&amp;lt;div class="footer"&amp;gt;

+    &amp;amp;copy; 2004 Foo Corporation

+&amp;lt;/div&amp;gt;

+&lt;/code&gt;&lt;/pre&gt;

+</code></pre>

+

+<p>Regular Markdown syntax is not processed within code blocks. E.g.,

+asterisks are just literal asterisks within a code block. This means

+it's also easy to use Markdown to write about Markdown's own syntax.</p>

+

+<h3 id="hr">Horizontal Rules</h3>

+

+<p>You can produce a horizontal rule tag (<code>&lt;hr /&gt;</code>) by placing three or

+more hyphens, asterisks, or underscores on a line by themselves. If you

+wish, you may use spaces between the hyphens or asterisks. Each of the

+following lines will produce a horizontal rule:</p>

+

+<pre><code>* * *

+

+***

+

+*****

+

+- - -

+

+---------------------------------------

+

+_ _ _

+</code></pre>

+

+<hr />

+

+<h2 id="span">Span Elements</h2>

+

+<h3 id="link">Links</h3>

+

+<p>Markdown supports two style of links: <em>inline</em> and <em>reference</em>.</p>

+

+<p>In both styles, the link text is delimited by [square brackets].</p>

+

+<p>To create an inline link, use a set of regular parentheses immediately

+after the link text's closing square bracket. Inside the parentheses,

+put the URL where you want the link to point, along with an <em>optional</em>

+title for the link, surrounded in quotes. For example:</p>

+

+<pre><code>This is [an example](http://example.com/ "Title") inline link.

+

+[This link](http://example.net/) has no title attribute.

+</code></pre>

+

+<p>Will produce:</p>

+

+<pre><code>&lt;p&gt;This is &lt;a href="http://example.com/" title="Title"&gt;

+an example&lt;/a&gt; inline link.&lt;/p&gt;

+

+&lt;p&gt;&lt;a href="http://example.net/"&gt;This link&lt;/a&gt; has no

+title attribute.&lt;/p&gt;

+</code></pre>

+

+<p>If you're referring to a local resource on the same server, you can

+use relative paths:</p>

+

+<pre><code>See my [About](/about/) page for details.

+</code></pre>

+

+<p>Reference-style links use a second set of square brackets, inside

+which you place a label of your choosing to identify the link:</p>

+

+<pre><code>This is [an example][id] reference-style link.

+</code></pre>

+

+<p>You can optionally use a space to separate the sets of brackets:</p>

+

+<pre><code>This is [an example] [id] reference-style link.

+</code></pre>

+

+<p>Then, anywhere in the document, you define your link label like this,

+on a line by itself:</p>

+

+<pre><code>[id]: http://example.com/  "Optional Title Here"

+</code></pre>

+

+<p>That is:</p>

+

+<ul>

+<li>Square brackets containing the link identifier (optionally

+indented from the left margin using up to three spaces);</li>

+<li>followed by a colon;</li>

+<li>followed by one or more spaces (or tabs);</li>

+<li>followed by the URL for the link;</li>

+<li>optionally followed by a title attribute for the link, enclosed

+in double or single quotes.</li>

+</ul>

+

+<p>The link URL may, optionally, be surrounded by angle brackets:</p>

+

+<pre><code>[id]: &lt;http://example.com/&gt;  "Optional Title Here"

+</code></pre>

+

+<p>You can put the title attribute on the next line and use extra spaces

+or tabs for padding, which tends to look better with longer URLs:</p>

+

+<pre><code>[id]: http://example.com/longish/path/to/resource/here

+    "Optional Title Here"

+</code></pre>

+

+<p>Link definitions are only used for creating links during Markdown

+processing, and are stripped from your document in the HTML output.</p>

+

+<p>Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are <em>not</em> case sensitive. E.g. these two links:</p>

+

+<pre><code>[link text][a]

+[link text][A]

+</code></pre>

+

+<p>are equivalent.</p>

+

+<p>The <em>implicit link name</em> shortcut allows you to omit the name of the

+link, in which case the link text itself is used as the name.

+Just use an empty set of square brackets -- e.g., to link the word

+"Google" to the google.com web site, you could simply write:</p>

+

+<pre><code>[Google][]

+</code></pre>

+

+<p>And then define the link:</p>

+

+<pre><code>[Google]: http://google.com/

+</code></pre>

+

+<p>Because link names may contain spaces, this shortcut even works for

+multiple words in the link text:</p>

+

+<pre><code>Visit [Daring Fireball][] for more information.

+</code></pre>

+

+<p>And then define the link:</p>

+

+<pre><code>[Daring Fireball]: http://daringfireball.net/

+</code></pre>

+

+<p>Link definitions can be placed anywhere in your Markdown document. I

+tend to put them immediately after each paragraph in which they're

+used, but if you want, you can put them all at the end of your

+document, sort of like footnotes.</p>

+

+<p>Here's an example of reference links in action:</p>

+

+<pre><code>I get 10 times more traffic from [Google] [1] than from

+[Yahoo] [2] or [MSN] [3].

+

+  [1]: http://google.com/        "Google"

+  [2]: http://search.yahoo.com/  "Yahoo Search"

+  [3]: http://search.msn.com/    "MSN Search"

+</code></pre>

+

+<p>Using the implicit link name shortcut, you could instead write:</p>

+

+<pre><code>I get 10 times more traffic from [Google][] than from

+[Yahoo][] or [MSN][].

+

+  [google]: http://google.com/        "Google"

+  [yahoo]:  http://search.yahoo.com/  "Yahoo Search"

+  [msn]:    http://search.msn.com/    "MSN Search"

+</code></pre>

+

+<p>Both of the above examples will produce the following HTML output:</p>

+

+<pre><code>&lt;p&gt;I get 10 times more traffic from &lt;a href="http://google.com/"

+title="Google"&gt;Google&lt;/a&gt; than from

+&lt;a href="http://search.yahoo.com/" title="Yahoo Search"&gt;Yahoo&lt;/a&gt;

+or &lt;a href="http://search.msn.com/" title="MSN Search"&gt;MSN&lt;/a&gt;.&lt;/p&gt;

+</code></pre>

+

+<p>For comparison, here is the same paragraph written using

+Markdown's inline link style:</p>

+

+<pre><code>I get 10 times more traffic from [Google](http://google.com/ "Google")

+than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or

+[MSN](http://search.msn.com/ "MSN Search").

+</code></pre>

+

+<p>The point of reference-style links is not that they're easier to

+write. The point is that with reference-style links, your document

+source is vastly more readable. Compare the above examples: using

+reference-style links, the paragraph itself is only 81 characters

+long; with inline-style links, it's 176 characters; and as raw HTML,

+it's 234 characters. In the raw HTML, there's more markup than there

+is text.</p>

+

+<p>With Markdown's reference-style links, a source document much more

+closely resembles the final output, as rendered in a browser. By

+allowing you to move the markup-related metadata out of the paragraph,

+you can add links without interrupting the narrative flow of your

+prose.</p>

+

+<h3 id="em">Emphasis</h3>

+

+<p>Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of

+emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an

+HTML <code>&lt;em&gt;</code> tag; double <code>*</code>'s or <code>_</code>'s will be wrapped with an HTML

+<code>&lt;strong&gt;</code> tag. E.g., this input:</p>

+

+<pre><code>*single asterisks*

+

+_single underscores_

+

+**double asterisks**

+

+__double underscores__

+</code></pre>

+

+<p>will produce:</p>

+

+<pre><code>&lt;em&gt;single asterisks&lt;/em&gt;

+

+&lt;em&gt;single underscores&lt;/em&gt;

+

+&lt;strong&gt;double asterisks&lt;/strong&gt;

+

+&lt;strong&gt;double underscores&lt;/strong&gt;

+</code></pre>

+

+<p>You can use whichever style you prefer; the lone restriction is that

+the same character must be used to open and close an emphasis span.</p>

+

+<p>Emphasis can be used in the middle of a word:</p>

+

+<pre><code>un*fucking*believable

+</code></pre>

+

+<p>But if you surround an <code>*</code> or <code>_</code> with spaces, it'll be treated as a

+literal asterisk or underscore.</p>

+

+<p>To produce a literal asterisk or underscore at a position where it

+would otherwise be used as an emphasis delimiter, you can backslash

+escape it:</p>

+

+<pre><code>\*this text is surrounded by literal asterisks\*

+</code></pre>

+

+<h3 id="code">Code</h3>

+

+<p>To indicate a span of code, wrap it with backtick quotes (<code>`</code>).

+Unlike a pre-formatted code block, a code span indicates code within a

+normal paragraph. For example:</p>

+

+<pre><code>Use the `printf()` function.

+</code></pre>

+

+<p>will produce:</p>

+

+<pre><code>&lt;p&gt;Use the &lt;code&gt;printf()&lt;/code&gt; function.&lt;/p&gt;

+</code></pre>

+

+<p>To include a literal backtick character within a code span, you can use

+multiple backticks as the opening and closing delimiters:</p>

+

+<pre><code>``There is a literal backtick (`) here.``

+</code></pre>

+

+<p>which will produce this:</p>

+

+<pre><code>&lt;p&gt;&lt;code&gt;There is a literal backtick (`) here.&lt;/code&gt;&lt;/p&gt;

+</code></pre>

+

+<p>The backtick delimiters surrounding a code span may include spaces --

+one after the opening, one before the closing. This allows you to place

+literal backtick characters at the beginning or end of a code span:</p>

+

+<pre><code>A single backtick in a code span: `` ` ``

+

+A backtick-delimited string in a code span: `` `foo` ``

+</code></pre>

+

+<p>will produce:</p>

+

+<pre><code>&lt;p&gt;A single backtick in a code span: &lt;code&gt;`&lt;/code&gt;&lt;/p&gt;

+

+&lt;p&gt;A backtick-delimited string in a code span: &lt;code&gt;`foo`&lt;/code&gt;&lt;/p&gt;

+</code></pre>

+

+<p>With a code span, ampersands and angle brackets are encoded as HTML

+entities automatically, which makes it easy to include example HTML

+tags. Markdown will turn this:</p>

+

+<pre><code>Please don't use any `&lt;blink&gt;` tags.

+</code></pre>

+

+<p>into:</p>

+

+<pre><code>&lt;p&gt;Please don't use any &lt;code&gt;&amp;lt;blink&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;

+</code></pre>

+

+<p>You can write this:</p>

+

+<pre><code>`&amp;#8212;` is the decimal-encoded equivalent of `&amp;mdash;`.

+</code></pre>

+

+<p>to produce:</p>

+

+<pre><code>&lt;p&gt;&lt;code&gt;&amp;amp;#8212;&lt;/code&gt; is the decimal-encoded

+equivalent of &lt;code&gt;&amp;amp;mdash;&lt;/code&gt;.&lt;/p&gt;

+</code></pre>

+

+<h3 id="img">Images</h3>

+

+<p>Admittedly, it's fairly difficult to devise a "natural" syntax for

+placing images into a plain text document format.</p>

+

+<p>Markdown uses an image syntax that is intended to resemble the syntax

+for links, allowing for two styles: <em>inline</em> and <em>reference</em>.</p>

+

+<p>Inline image syntax looks like this:</p>

+

+<pre><code>![Alt text](/path/to/img.jpg)

+

+![Alt text](/path/to/img.jpg "Optional title")

+</code></pre>

+

+<p>That is:</p>

+

+<ul>

+<li>An exclamation mark: <code>!</code>;</li>

+<li>followed by a set of square brackets, containing the <code>alt</code>

+attribute text for the image;</li>

+<li>followed by a set of parentheses, containing the URL or path to

+the image, and an optional <code>title</code> attribute enclosed in double

+or single quotes.</li>

+</ul>

+

+<p>Reference-style image syntax looks like this:</p>

+

+<pre><code>![Alt text][id]

+</code></pre>

+

+<p>Where "id" is the name of a defined image reference. Image references

+are defined using syntax identical to link references:</p>

+

+<pre><code>[id]: url/to/image  "Optional title attribute"

+</code></pre>

+

+<p>As of this writing, Markdown has no syntax for specifying the

+dimensions of an image; if this is important to you, you can simply

+use regular HTML <code>&lt;img&gt;</code> tags.</p>

+

+<hr />

+

+<h2 id="misc">Miscellaneous</h2>

+

+<h3 id="autolink">Automatic Links</h3>

+

+<p>Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:</p>

+

+<pre><code>&lt;http://example.com/&gt;

+</code></pre>

+

+<p>Markdown will turn this into:</p>

+

+<pre><code>&lt;a href="http://example.com/"&gt;http://example.com/&lt;/a&gt;

+</code></pre>

+

+<p>Automatic links for email addresses work similarly, except that

+Markdown will also perform a bit of randomized decimal and hex

+entity-encoding to help obscure your address from address-harvesting

+spambots. For example, Markdown will turn this:</p>

+

+<pre><code>&lt;address@example.com&gt;

+</code></pre>

+

+<p>into something like this:</p>

+

+<pre><code>&lt;a href="&amp;#x6D;&amp;#x61;i&amp;#x6C;&amp;#x74;&amp;#x6F;:&amp;#x61;&amp;#x64;&amp;#x64;&amp;#x72;&amp;#x65;

+&amp;#115;&amp;#115;&amp;#64;&amp;#101;&amp;#120;&amp;#x61;&amp;#109;&amp;#x70;&amp;#x6C;e&amp;#x2E;&amp;#99;&amp;#111;

+&amp;#109;"&gt;&amp;#x61;&amp;#x64;&amp;#x64;&amp;#x72;&amp;#x65;&amp;#115;&amp;#115;&amp;#64;&amp;#101;&amp;#120;&amp;#x61;

+&amp;#109;&amp;#x70;&amp;#x6C;e&amp;#x2E;&amp;#99;&amp;#111;&amp;#109;&lt;/a&gt;

+</code></pre>

+

+<p>which will render in a browser as a clickable link to "address@example.com".</p>

+

+<p>(This sort of entity-encoding trick will indeed fool many, if not

+most, address-harvesting bots, but it definitely won't fool all of

+them. It's better than nothing, but an address published in this way

+will probably eventually start receiving spam.)</p>

+

+<h3 id="backslash">Backslash Escapes</h3>

+

+<p>Markdown allows you to use backslash escapes to generate literal

+characters which would otherwise have special meaning in Markdown's

+formatting syntax. For example, if you wanted to surround a word with

+literal asterisks (instead of an HTML <code>&lt;em&gt;</code> tag), you can backslashes

+before the asterisks, like this:</p>

+

+<pre><code>\*literal asterisks\*

+</code></pre>

+

+<p>Markdown provides backslash escapes for the following characters:</p>

+

+<pre><code>\   backslash

+`   backtick

+*   asterisk

+_   underscore

+{}  curly braces

+[]  square brackets

+()  parentheses

+#   hash mark

++   plus sign

+-   minus sign (hyphen)

+.   dot

+!   exclamation mark

+</code></pre>

diff --git a/core/src/test/resources/1.0/Markdown Documentation - Syntax.text b/core/src/test/resources/1.0/Markdown Documentation - Syntax.text
old mode 100644
new mode 100755
index dabd75c..99c42e5
--- a/core/src/test/resources/1.0/Markdown Documentation - Syntax.text
+++ b/core/src/test/resources/1.0/Markdown Documentation - Syntax.text
@@ -1,888 +1,888 @@
-Markdown: Syntax
-================
-
-<ul id="ProjectSubmenu">
-    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>
-    <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li>
-    <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li>
-    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>
-    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>
-</ul>
-
-
-*   [Overview](#overview)
-    *   [Philosophy](#philosophy)
-    *   [Inline HTML](#html)
-    *   [Automatic Escaping for Special Characters](#autoescape)
-*   [Block Elements](#block)
-    *   [Paragraphs and Line Breaks](#p)
-    *   [Headers](#header)
-    *   [Blockquotes](#blockquote)
-    *   [Lists](#list)
-    *   [Code Blocks](#precode)
-    *   [Horizontal Rules](#hr)
-*   [Span Elements](#span)
-    *   [Links](#link)
-    *   [Emphasis](#em)
-    *   [Code](#code)
-    *   [Images](#img)
-*   [Miscellaneous](#misc)
-    *   [Backslash Escapes](#backslash)
-    *   [Automatic Links](#autolink)
-
-
-**Note:** This document is itself written using Markdown; you
-can [see the source for it by adding '.text' to the URL][src].
-
-  [src]: /projects/markdown/syntax.text
-
-* * *
-
-<h2 id="overview">Overview</h2>
-
-<h3 id="philosophy">Philosophy</h3>
-
-Markdown is intended to be as easy-to-read and easy-to-write as is feasible.
-
-Readability, however, is emphasized above all else. A Markdown-formatted
-document should be publishable as-is, as plain text, without looking
-like it's been marked up with tags or formatting instructions. While
-Markdown's syntax has been influenced by several existing text-to-HTML
-filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4],
-[Grutatext] [5], and [EtText] [6] -- the single biggest source of
-inspiration for Markdown's syntax is the format of plain text email.
-
-  [1]: http://docutils.sourceforge.net/mirror/setext.html
-  [2]: http://www.aaronsw.com/2002/atx/
-  [3]: http://textism.com/tools/textile/
-  [4]: http://docutils.sourceforge.net/rst.html
-  [5]: http://www.triptico.com/software/grutatxt.html
-  [6]: http://ettext.taint.org/doc/
-
-To this end, Markdown's syntax is comprised entirely of punctuation
-characters, which punctuation characters have been carefully chosen so
-as to look like what they mean. E.g., asterisks around a word actually
-look like \*emphasis\*. Markdown lists look like, well, lists. Even
-blockquotes look like quoted passages of text, assuming you've ever
-used email.
-
-
-
-<h3 id="html">Inline HTML</h3>
-
-Markdown's syntax is intended for one purpose: to be used as a
-format for *writing* for the web.
-
-Markdown is not a replacement for HTML, or even close to it. Its
-syntax is very small, corresponding only to a very small subset of
-HTML tags. The idea is *not* to create a syntax that makes it easier
-to insert HTML tags. In my opinion, HTML tags are already easy to
-insert. The idea for Markdown is to make it easy to read, write, and
-edit prose. HTML is a *publishing* format; Markdown is a *writing*
-format. Thus, Markdown's formatting syntax only addresses issues that
-can be conveyed in plain text.
-
-For any markup that is not covered by Markdown's syntax, you simply
-use HTML itself. There's no need to preface it or delimit it to
-indicate that you're switching from Markdown to HTML; you just use
-the tags.
-
-The only restrictions are that block-level HTML elements -- e.g. `<div>`,
-`<table>`, `<pre>`, `<p>`, etc. -- must be separated from surrounding
-content by blank lines, and the start and end tags of the block should
-not be indented with tabs or spaces. Markdown is smart enough not
-to add extra (unwanted) `<p>` tags around HTML block-level tags.
-
-For example, to add an HTML table to a Markdown article:
-
-    This is a regular paragraph.
-
-    <table>
-        <tr>
-            <td>Foo</td>
-        </tr>
-    </table>
-
-    This is another regular paragraph.
-
-Note that Markdown formatting syntax is not processed within block-level
-HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an
-HTML block.
-
-Span-level HTML tags -- e.g. `<span>`, `<cite>`, or `<del>` -- can be
-used anywhere in a Markdown paragraph, list item, or header. If you
-want, you can even use HTML tags instead of Markdown formatting; e.g. if
-you'd prefer to use HTML `<a>` or `<img>` tags instead of Markdown's
-link or image syntax, go right ahead.
-
-Unlike block-level HTML tags, Markdown syntax *is* processed within
-span-level tags.
-
-
-<h3 id="autoescape">Automatic Escaping for Special Characters</h3>
-
-In HTML, there are two characters that demand special treatment: `<`
-and `&`. Left angle brackets are used to start tags; ampersands are
-used to denote HTML entities. If you want to use them as literal
-characters, you must escape them as entities, e.g. `&lt;`, and
-`&amp;`.
-
-Ampersands in particular are bedeviling for web writers. If you want to
-write about 'AT&T', you need to write '`AT&amp;T`'. You even need to
-escape ampersands within URLs. Thus, if you want to link to:
-
-    http://images.google.com/images?num=30&q=larry+bird
-
-you need to encode the URL as:
-
-    http://images.google.com/images?num=30&amp;q=larry+bird
-
-in your anchor tag `href` attribute. Needless to say, this is easy to
-forget, and is probably the single most common source of HTML validation
-errors in otherwise well-marked-up web sites.
-
-Markdown allows you to use these characters naturally, taking care of
-all the necessary escaping for you. If you use an ampersand as part of
-an HTML entity, it remains unchanged; otherwise it will be translated
-into `&amp;`.
-
-So, if you want to include a copyright symbol in your article, you can write:
-
-    &copy;
-
-and Markdown will leave it alone. But if you write:
-
-    AT&T
-
-Markdown will translate it to:
-
-    AT&amp;T
-
-Similarly, because Markdown supports [inline HTML](#html), if you use
-angle brackets as delimiters for HTML tags, Markdown will treat them as
-such. But if you write:
-
-    4 < 5
-
-Markdown will translate it to:
-
-    4 &lt; 5
-
-However, inside Markdown code spans and blocks, angle brackets and
-ampersands are *always* encoded automatically. This makes it easy to use
-Markdown to write about HTML code. (As opposed to raw HTML, which is a
-terrible format for writing about HTML syntax, because every single `<`
-and `&` in your example code needs to be escaped.)
-
-
-* * *
-
-
-<h2 id="block">Block Elements</h2>
-
-
-<h3 id="p">Paragraphs and Line Breaks</h3>
-
-A paragraph is simply one or more consecutive lines of text, separated
-by one or more blank lines. (A blank line is any line that looks like a
-blank line -- a line containing nothing but spaces or tabs is considered
-blank.) Normal paragraphs should not be intended with spaces or tabs.
-
-The implication of the "one or more consecutive lines of text" rule is
-that Markdown supports "hard-wrapped" text paragraphs. This differs
-significantly from most other text-to-HTML formatters (including Movable
-Type's "Convert Line Breaks" option) which translate every line break
-character in a paragraph into a `<br />` tag.
-
-When you *do* want to insert a `<br />` break tag using Markdown, you
-end a line with two or more spaces, then type return.
-
-Yes, this takes a tad more effort to create a `<br />`, but a simplistic
-"every line break is a `<br />`" rule wouldn't work for Markdown.
-Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l]
-work best -- and look better -- when you format them with hard breaks.
-
-  [bq]: #blockquote
-  [l]:  #list
-
-
-
-<h3 id="header">Headers</h3>
-
-Markdown supports two styles of headers, [Setext] [1] and [atx] [2].
-
-Setext-style headers are "underlined" using equal signs (for first-level
-headers) and dashes (for second-level headers). For example:
-
-    This is an H1
-    =============
-
-    This is an H2
-    -------------
-
-Any number of underlining `=`'s or `-`'s will work.
-
-Atx-style headers use 1-6 hash characters at the start of the line,
-corresponding to header levels 1-6. For example:
-
-    # This is an H1
-
-    ## This is an H2
-
-    ###### This is an H6
-
-Optionally, you may "close" atx-style headers. This is purely
-cosmetic -- you can use this if you think it looks better. The
-closing hashes don't even need to match the number of hashes
-used to open the header. (The number of opening hashes
-determines the header level.) :
-
-    # This is an H1 #
-
-    ## This is an H2 ##
-
-    ### This is an H3 ######
-
-
-<h3 id="blockquote">Blockquotes</h3>
-
-Markdown uses email-style `>` characters for blockquoting. If you're
-familiar with quoting passages of text in an email message, then you
-know how to create a blockquote in Markdown. It looks best if you hard
-wrap the text and put a `>` before every line:
-
-    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
-    > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-    > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
-    > 
-    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
-    > id sem consectetuer libero luctus adipiscing.
-
-Markdown allows you to be lazy and only put the `>` before the first
-line of a hard-wrapped paragraph:
-
-    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
-    consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-    Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
-
-    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
-    id sem consectetuer libero luctus adipiscing.
-
-Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by
-adding additional levels of `>`:
-
-    > This is the first level of quoting.
-    >
-    > > This is nested blockquote.
-    >
-    > Back to the first level.
-
-Blockquotes can contain other Markdown elements, including headers, lists,
-and code blocks:
-
-	> ## This is a header.
-	> 
-	> 1.   This is the first list item.
-	> 2.   This is the second list item.
-	> 
-	> Here's some example code:
-	> 
-	>     return shell_exec("echo $input | $markdown_script");
-
-Any decent text editor should make email-style quoting easy. For
-example, with BBEdit, you can make a selection and choose Increase
-Quote Level from the Text menu.
-
-
-<h3 id="list">Lists</h3>
-
-Markdown supports ordered (numbered) and unordered (bulleted) lists.
-
-Unordered lists use asterisks, pluses, and hyphens -- interchangably
--- as list markers:
-
-    *   Red
-    *   Green
-    *   Blue
-
-is equivalent to:
-
-    +   Red
-    +   Green
-    +   Blue
-
-and:
-
-    -   Red
-    -   Green
-    -   Blue
-
-Ordered lists use numbers followed by periods:
-
-    1.  Bird
-    2.  McHale
-    3.  Parish
-
-It's important to note that the actual numbers you use to mark the
-list have no effect on the HTML output Markdown produces. The HTML
-Markdown produces from the above list is:
-
-    <ol>
-    <li>Bird</li>
-    <li>McHale</li>
-    <li>Parish</li>
-    </ol>
-
-If you instead wrote the list in Markdown like this:
-
-    1.  Bird
-    1.  McHale
-    1.  Parish
-
-or even:
-
-    3. Bird
-    1. McHale
-    8. Parish
-
-you'd get the exact same HTML output. The point is, if you want to,
-you can use ordinal numbers in your ordered Markdown lists, so that
-the numbers in your source match the numbers in your published HTML.
-But if you want to be lazy, you don't have to.
-
-If you do use lazy list numbering, however, you should still start the
-list with the number 1. At some point in the future, Markdown may support
-starting ordered lists at an arbitrary number.
-
-List markers typically start at the left margin, but may be indented by
-up to three spaces. List markers must be followed by one or more spaces
-or a tab.
-
-To make lists look nice, you can wrap items with hanging indents:
-
-    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-        Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
-        viverra nec, fringilla in, laoreet vitae, risus.
-    *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
-        Suspendisse id sem consectetuer libero luctus adipiscing.
-
-But if you want to be lazy, you don't have to:
-
-    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
-    viverra nec, fringilla in, laoreet vitae, risus.
-    *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
-    Suspendisse id sem consectetuer libero luctus adipiscing.
-
-If list items are separated by blank lines, Markdown will wrap the
-items in `<p>` tags in the HTML output. For example, this input:
-
-    *   Bird
-    *   Magic
-
-will turn into:
-
-    <ul>
-    <li>Bird</li>
-    <li>Magic</li>
-    </ul>
-
-But this:
-
-    *   Bird
-
-    *   Magic
-
-will turn into:
-
-    <ul>
-    <li><p>Bird</p></li>
-    <li><p>Magic</p></li>
-    </ul>
-
-List items may consist of multiple paragraphs. Each subsequent
-paragraph in a list item must be intended by either 4 spaces
-or one tab:
-
-    1.  This is a list item with two paragraphs. Lorem ipsum dolor
-        sit amet, consectetuer adipiscing elit. Aliquam hendrerit
-        mi posuere lectus.
-
-        Vestibulum enim wisi, viverra nec, fringilla in, laoreet
-        vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
-        sit amet velit.
-
-    2.  Suspendisse id sem consectetuer libero luctus adipiscing.
-
-It looks nice if you indent every line of the subsequent
-paragraphs, but here again, Markdown will allow you to be
-lazy:
-
-    *   This is a list item with two paragraphs.
-
-        This is the second paragraph in the list item. You're
-    only required to indent the first line. Lorem ipsum dolor
-    sit amet, consectetuer adipiscing elit.
-
-    *   Another item in the same list.
-
-To put a blockquote within a list item, the blockquote's `>`
-delimiters need to be indented:
-
-    *   A list item with a blockquote:
-
-        > This is a blockquote
-        > inside a list item.
-
-To put a code block within a list item, the code block needs
-to be indented *twice* -- 8 spaces or two tabs:
-
-    *   A list item with a code block:
-
-            <code goes here>
-
-
-It's worth noting that it's possible to trigger an ordered list by
-accident, by writing something like this:
-
-    1986. What a great season.
-
-In other words, a *number-period-space* sequence at the beginning of a
-line. To avoid this, you can backslash-escape the period:
-
-    1986\. What a great season.
-
-
-
-<h3 id="precode">Code Blocks</h3>
-
-Pre-formatted code blocks are used for writing about programming or
-markup source code. Rather than forming normal paragraphs, the lines
-of a code block are interpreted literally. Markdown wraps a code block
-in both `<pre>` and `<code>` tags.
-
-To produce a code block in Markdown, simply indent every line of the
-block by at least 4 spaces or 1 tab. For example, given this input:
-
-    This is a normal paragraph:
-
-        This is a code block.
-
-Markdown will generate:
-
-    <p>This is a normal paragraph:</p>
-
-    <pre><code>This is a code block.
-    </code></pre>
-
-One level of indentation -- 4 spaces or 1 tab -- is removed from each
-line of the code block. For example, this:
-
-    Here is an example of AppleScript:
-
-        tell application "Foo"
-            beep
-        end tell
-
-will turn into:
-
-    <p>Here is an example of AppleScript:</p>
-
-    <pre><code>tell application "Foo"
-        beep
-    end tell
-    </code></pre>
-
-A code block continues until it reaches a line that is not indented
-(or the end of the article).
-
-Within a code block, ampersands (`&`) and angle brackets (`<` and `>`)
-are automatically converted into HTML entities. This makes it very
-easy to include example HTML source code using Markdown -- just paste
-it and indent it, and Markdown will handle the hassle of encoding the
-ampersands and angle brackets. For example, this:
-
-        <div class="footer">
-            &copy; 2004 Foo Corporation
-        </div>
-
-will turn into:
-
-    <pre><code>&lt;div class="footer"&gt;
-        &amp;copy; 2004 Foo Corporation
-    &lt;/div&gt;
-    </code></pre>
-
-Regular Markdown syntax is not processed within code blocks. E.g.,
-asterisks are just literal asterisks within a code block. This means
-it's also easy to use Markdown to write about Markdown's own syntax.
-
-
-
-<h3 id="hr">Horizontal Rules</h3>
-
-You can produce a horizontal rule tag (`<hr />`) by placing three or
-more hyphens, asterisks, or underscores on a line by themselves. If you
-wish, you may use spaces between the hyphens or asterisks. Each of the
-following lines will produce a horizontal rule:
-
-    * * *
-
-    ***
-
-    *****
-	
-    - - -
-
-    ---------------------------------------
-
-	_ _ _
-
-
-* * *
-
-<h2 id="span">Span Elements</h2>
-
-<h3 id="link">Links</h3>
-
-Markdown supports two style of links: *inline* and *reference*.
-
-In both styles, the link text is delimited by [square brackets].
-
-To create an inline link, use a set of regular parentheses immediately
-after the link text's closing square bracket. Inside the parentheses,
-put the URL where you want the link to point, along with an *optional*
-title for the link, surrounded in quotes. For example:
-
-    This is [an example](http://example.com/ "Title") inline link.
-
-    [This link](http://example.net/) has no title attribute.
-
-Will produce:
-
-    <p>This is <a href="http://example.com/" title="Title">
-    an example</a> inline link.</p>
-
-    <p><a href="http://example.net/">This link</a> has no
-    title attribute.</p>
-
-If you're referring to a local resource on the same server, you can
-use relative paths:
-
-    See my [About](/about/) page for details.   
-
-Reference-style links use a second set of square brackets, inside
-which you place a label of your choosing to identify the link:
-
-    This is [an example][id] reference-style link.
-
-You can optionally use a space to separate the sets of brackets:
-
-    This is [an example] [id] reference-style link.
-
-Then, anywhere in the document, you define your link label like this,
-on a line by itself:
-
-    [id]: http://example.com/  "Optional Title Here"
-
-That is:
-
-*   Square brackets containing the link identifier (optionally
-    indented from the left margin using up to three spaces);
-*   followed by a colon;
-*   followed by one or more spaces (or tabs);
-*   followed by the URL for the link;
-*   optionally followed by a title attribute for the link, enclosed
-    in double or single quotes.
-
-The link URL may, optionally, be surrounded by angle brackets:
-
-    [id]: <http://example.com/>  "Optional Title Here"
-
-You can put the title attribute on the next line and use extra spaces
-or tabs for padding, which tends to look better with longer URLs:
-
-    [id]: http://example.com/longish/path/to/resource/here
-        "Optional Title Here"
-
-Link definitions are only used for creating links during Markdown
-processing, and are stripped from your document in the HTML output.
-
-Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links:
-
-	[link text][a]
-	[link text][A]
-
-are equivalent.
-
-The *implicit link name* shortcut allows you to omit the name of the
-link, in which case the link text itself is used as the name.
-Just use an empty set of square brackets -- e.g., to link the word
-"Google" to the google.com web site, you could simply write:
-
-	[Google][]
-
-And then define the link:
-
-	[Google]: http://google.com/
-
-Because link names may contain spaces, this shortcut even works for
-multiple words in the link text:
-
-	Visit [Daring Fireball][] for more information.
-
-And then define the link:
-	
-	[Daring Fireball]: http://daringfireball.net/
-
-Link definitions can be placed anywhere in your Markdown document. I
-tend to put them immediately after each paragraph in which they're
-used, but if you want, you can put them all at the end of your
-document, sort of like footnotes.
-
-Here's an example of reference links in action:
-
-    I get 10 times more traffic from [Google] [1] than from
-    [Yahoo] [2] or [MSN] [3].
-
-      [1]: http://google.com/        "Google"
-      [2]: http://search.yahoo.com/  "Yahoo Search"
-      [3]: http://search.msn.com/    "MSN Search"
-
-Using the implicit link name shortcut, you could instead write:
-
-    I get 10 times more traffic from [Google][] than from
-    [Yahoo][] or [MSN][].
-
-      [google]: http://google.com/        "Google"
-      [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
-      [msn]:    http://search.msn.com/    "MSN Search"
-
-Both of the above examples will produce the following HTML output:
-
-    <p>I get 10 times more traffic from <a href="http://google.com/"
-    title="Google">Google</a> than from
-    <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
-    or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
-
-For comparison, here is the same paragraph written using
-Markdown's inline link style:
-
-    I get 10 times more traffic from [Google](http://google.com/ "Google")
-    than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
-    [MSN](http://search.msn.com/ "MSN Search").
-
-The point of reference-style links is not that they're easier to
-write. The point is that with reference-style links, your document
-source is vastly more readable. Compare the above examples: using
-reference-style links, the paragraph itself is only 81 characters
-long; with inline-style links, it's 176 characters; and as raw HTML,
-it's 234 characters. In the raw HTML, there's more markup than there
-is text.
-
-With Markdown's reference-style links, a source document much more
-closely resembles the final output, as rendered in a browser. By
-allowing you to move the markup-related metadata out of the paragraph,
-you can add links without interrupting the narrative flow of your
-prose.
-
-
-<h3 id="em">Emphasis</h3>
-
-Markdown treats asterisks (`*`) and underscores (`_`) as indicators of
-emphasis. Text wrapped with one `*` or `_` will be wrapped with an
-HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML
-`<strong>` tag. E.g., this input:
-
-    *single asterisks*
-
-    _single underscores_
-
-    **double asterisks**
-
-    __double underscores__
-
-will produce:
-
-    <em>single asterisks</em>
-
-    <em>single underscores</em>
-
-    <strong>double asterisks</strong>
-
-    <strong>double underscores</strong>
-
-You can use whichever style you prefer; the lone restriction is that
-the same character must be used to open and close an emphasis span.
-
-Emphasis can be used in the middle of a word:
-
-    un*fucking*believable
-
-But if you surround an `*` or `_` with spaces, it'll be treated as a
-literal asterisk or underscore.
-
-To produce a literal asterisk or underscore at a position where it
-would otherwise be used as an emphasis delimiter, you can backslash
-escape it:
-
-    \*this text is surrounded by literal asterisks\*
-
-
-
-<h3 id="code">Code</h3>
-
-To indicate a span of code, wrap it with backtick quotes (`` ` ``).
-Unlike a pre-formatted code block, a code span indicates code within a
-normal paragraph. For example:
-
-    Use the `printf()` function.
-
-will produce:
-
-    <p>Use the <code>printf()</code> function.</p>
-
-To include a literal backtick character within a code span, you can use
-multiple backticks as the opening and closing delimiters:
-
-    ``There is a literal backtick (`) here.``
-
-which will produce this:
-
-    <p><code>There is a literal backtick (`) here.</code></p>
-
-The backtick delimiters surrounding a code span may include spaces --
-one after the opening, one before the closing. This allows you to place
-literal backtick characters at the beginning or end of a code span:
-
-	A single backtick in a code span: `` ` ``
-	
-	A backtick-delimited string in a code span: `` `foo` ``
-
-will produce:
-
-	<p>A single backtick in a code span: <code>`</code></p>
-	
-	<p>A backtick-delimited string in a code span: <code>`foo`</code></p>
-
-With a code span, ampersands and angle brackets are encoded as HTML
-entities automatically, which makes it easy to include example HTML
-tags. Markdown will turn this:
-
-    Please don't use any `<blink>` tags.
-
-into:
-
-    <p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>
-
-You can write this:
-
-    `&#8212;` is the decimal-encoded equivalent of `&mdash;`.
-
-to produce:
-
-    <p><code>&amp;#8212;</code> is the decimal-encoded
-    equivalent of <code>&amp;mdash;</code>.</p>
-
-
-
-<h3 id="img">Images</h3>
-
-Admittedly, it's fairly difficult to devise a "natural" syntax for
-placing images into a plain text document format.
-
-Markdown uses an image syntax that is intended to resemble the syntax
-for links, allowing for two styles: *inline* and *reference*.
-
-Inline image syntax looks like this:
-
-    ![Alt text](/path/to/img.jpg)
-
-    ![Alt text](/path/to/img.jpg "Optional title")
-
-That is:
-
-*   An exclamation mark: `!`;
-*   followed by a set of square brackets, containing the `alt`
-    attribute text for the image;
-*   followed by a set of parentheses, containing the URL or path to
-    the image, and an optional `title` attribute enclosed in double
-    or single quotes.
-
-Reference-style image syntax looks like this:
-
-    ![Alt text][id]
-
-Where "id" is the name of a defined image reference. Image references
-are defined using syntax identical to link references:
-
-    [id]: url/to/image  "Optional title attribute"
-
-As of this writing, Markdown has no syntax for specifying the
-dimensions of an image; if this is important to you, you can simply
-use regular HTML `<img>` tags.
-
-
-* * *
-
-
-<h2 id="misc">Miscellaneous</h2>
-
-<h3 id="autolink">Automatic Links</h3>
-
-Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:
-
-    <http://example.com/>
-    
-Markdown will turn this into:
-
-    <a href="http://example.com/">http://example.com/</a>
-
-Automatic links for email addresses work similarly, except that
-Markdown will also perform a bit of randomized decimal and hex
-entity-encoding to help obscure your address from address-harvesting
-spambots. For example, Markdown will turn this:
-
-    <address@example.com>
-
-into something like this:
-
-    <a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
-    &#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
-    &#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
-    &#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>
-
-which will render in a browser as a clickable link to "address@example.com".
-
-(This sort of entity-encoding trick will indeed fool many, if not
-most, address-harvesting bots, but it definitely won't fool all of
-them. It's better than nothing, but an address published in this way
-will probably eventually start receiving spam.)
-
-
-
-<h3 id="backslash">Backslash Escapes</h3>
-
-Markdown allows you to use backslash escapes to generate literal
-characters which would otherwise have special meaning in Markdown's
-formatting syntax. For example, if you wanted to surround a word with
-literal asterisks (instead of an HTML `<em>` tag), you can backslashes
-before the asterisks, like this:
-
-    \*literal asterisks\*
-
-Markdown provides backslash escapes for the following characters:
-
-    \   backslash
-    `   backtick
-    *   asterisk
-    _   underscore
-    {}  curly braces
-    []  square brackets
-    ()  parentheses
-    #   hash mark
-	+	plus sign
-	-	minus sign (hyphen)
-    .   dot
-    !   exclamation mark
-
+Markdown: Syntax

+================

+

+<ul id="ProjectSubmenu">

+    <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li>

+    <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li>

+    <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li>

+    <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li>

+    <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li>

+</ul>

+

+

+*   [Overview](#overview)

+    *   [Philosophy](#philosophy)

+    *   [Inline HTML](#html)

+    *   [Automatic Escaping for Special Characters](#autoescape)

+*   [Block Elements](#block)

+    *   [Paragraphs and Line Breaks](#p)

+    *   [Headers](#header)

+    *   [Blockquotes](#blockquote)

+    *   [Lists](#list)

+    *   [Code Blocks](#precode)

+    *   [Horizontal Rules](#hr)

+*   [Span Elements](#span)

+    *   [Links](#link)

+    *   [Emphasis](#em)

+    *   [Code](#code)

+    *   [Images](#img)

+*   [Miscellaneous](#misc)

+    *   [Backslash Escapes](#backslash)

+    *   [Automatic Links](#autolink)

+

+

+**Note:** This document is itself written using Markdown; you

+can [see the source for it by adding '.text' to the URL][src].

+

+  [src]: /projects/markdown/syntax.text

+

+* * *

+

+<h2 id="overview">Overview</h2>

+

+<h3 id="philosophy">Philosophy</h3>

+

+Markdown is intended to be as easy-to-read and easy-to-write as is feasible.

+

+Readability, however, is emphasized above all else. A Markdown-formatted

+document should be publishable as-is, as plain text, without looking

+like it's been marked up with tags or formatting instructions. While

+Markdown's syntax has been influenced by several existing text-to-HTML

+filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4],

+[Grutatext] [5], and [EtText] [6] -- the single biggest source of

+inspiration for Markdown's syntax is the format of plain text email.

+

+  [1]: http://docutils.sourceforge.net/mirror/setext.html

+  [2]: http://www.aaronsw.com/2002/atx/

+  [3]: http://textism.com/tools/textile/

+  [4]: http://docutils.sourceforge.net/rst.html

+  [5]: http://www.triptico.com/software/grutatxt.html

+  [6]: http://ettext.taint.org/doc/

+

+To this end, Markdown's syntax is comprised entirely of punctuation

+characters, which punctuation characters have been carefully chosen so

+as to look like what they mean. E.g., asterisks around a word actually

+look like \*emphasis\*. Markdown lists look like, well, lists. Even

+blockquotes look like quoted passages of text, assuming you've ever

+used email.

+

+

+

+<h3 id="html">Inline HTML</h3>

+

+Markdown's syntax is intended for one purpose: to be used as a

+format for *writing* for the web.

+

+Markdown is not a replacement for HTML, or even close to it. Its

+syntax is very small, corresponding only to a very small subset of

+HTML tags. The idea is *not* to create a syntax that makes it easier

+to insert HTML tags. In my opinion, HTML tags are already easy to

+insert. The idea for Markdown is to make it easy to read, write, and

+edit prose. HTML is a *publishing* format; Markdown is a *writing*

+format. Thus, Markdown's formatting syntax only addresses issues that

+can be conveyed in plain text.

+

+For any markup that is not covered by Markdown's syntax, you simply

+use HTML itself. There's no need to preface it or delimit it to

+indicate that you're switching from Markdown to HTML; you just use

+the tags.

+

+The only restrictions are that block-level HTML elements -- e.g. `<div>`,

+`<table>`, `<pre>`, `<p>`, etc. -- must be separated from surrounding

+content by blank lines, and the start and end tags of the block should

+not be indented with tabs or spaces. Markdown is smart enough not

+to add extra (unwanted) `<p>` tags around HTML block-level tags.

+

+For example, to add an HTML table to a Markdown article:

+

+    This is a regular paragraph.

+

+    <table>

+        <tr>

+            <td>Foo</td>

+        </tr>

+    </table>

+

+    This is another regular paragraph.

+

+Note that Markdown formatting syntax is not processed within block-level

+HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an

+HTML block.

+

+Span-level HTML tags -- e.g. `<span>`, `<cite>`, or `<del>` -- can be

+used anywhere in a Markdown paragraph, list item, or header. If you

+want, you can even use HTML tags instead of Markdown formatting; e.g. if

+you'd prefer to use HTML `<a>` or `<img>` tags instead of Markdown's

+link or image syntax, go right ahead.

+

+Unlike block-level HTML tags, Markdown syntax *is* processed within

+span-level tags.

+

+

+<h3 id="autoescape">Automatic Escaping for Special Characters</h3>

+

+In HTML, there are two characters that demand special treatment: `<`

+and `&`. Left angle brackets are used to start tags; ampersands are

+used to denote HTML entities. If you want to use them as literal

+characters, you must escape them as entities, e.g. `&lt;`, and

+`&amp;`.

+

+Ampersands in particular are bedeviling for web writers. If you want to

+write about 'AT&T', you need to write '`AT&amp;T`'. You even need to

+escape ampersands within URLs. Thus, if you want to link to:

+

+    http://images.google.com/images?num=30&q=larry+bird

+

+you need to encode the URL as:

+

+    http://images.google.com/images?num=30&amp;q=larry+bird

+

+in your anchor tag `href` attribute. Needless to say, this is easy to

+forget, and is probably the single most common source of HTML validation

+errors in otherwise well-marked-up web sites.

+

+Markdown allows you to use these characters naturally, taking care of

+all the necessary escaping for you. If you use an ampersand as part of

+an HTML entity, it remains unchanged; otherwise it will be translated

+into `&amp;`.

+

+So, if you want to include a copyright symbol in your article, you can write:

+

+    &copy;

+

+and Markdown will leave it alone. But if you write:

+

+    AT&T

+

+Markdown will translate it to:

+

+    AT&amp;T

+

+Similarly, because Markdown supports [inline HTML](#html), if you use

+angle brackets as delimiters for HTML tags, Markdown will treat them as

+such. But if you write:

+

+    4 < 5

+

+Markdown will translate it to:

+

+    4 &lt; 5

+

+However, inside Markdown code spans and blocks, angle brackets and

+ampersands are *always* encoded automatically. This makes it easy to use

+Markdown to write about HTML code. (As opposed to raw HTML, which is a

+terrible format for writing about HTML syntax, because every single `<`

+and `&` in your example code needs to be escaped.)

+

+

+* * *

+

+

+<h2 id="block">Block Elements</h2>

+

+

+<h3 id="p">Paragraphs and Line Breaks</h3>

+

+A paragraph is simply one or more consecutive lines of text, separated

+by one or more blank lines. (A blank line is any line that looks like a

+blank line -- a line containing nothing but spaces or tabs is considered

+blank.) Normal paragraphs should not be intended with spaces or tabs.

+

+The implication of the "one or more consecutive lines of text" rule is

+that Markdown supports "hard-wrapped" text paragraphs. This differs

+significantly from most other text-to-HTML formatters (including Movable

+Type's "Convert Line Breaks" option) which translate every line break

+character in a paragraph into a `<br />` tag.

+

+When you *do* want to insert a `<br />` break tag using Markdown, you

+end a line with two or more spaces, then type return.

+

+Yes, this takes a tad more effort to create a `<br />`, but a simplistic

+"every line break is a `<br />`" rule wouldn't work for Markdown.

+Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l]

+work best -- and look better -- when you format them with hard breaks.

+

+  [bq]: #blockquote

+  [l]:  #list

+

+

+

+<h3 id="header">Headers</h3>

+

+Markdown supports two styles of headers, [Setext] [1] and [atx] [2].

+

+Setext-style headers are "underlined" using equal signs (for first-level

+headers) and dashes (for second-level headers). For example:

+

+    This is an H1

+    =============

+

+    This is an H2

+    -------------

+

+Any number of underlining `=`'s or `-`'s will work.

+

+Atx-style headers use 1-6 hash characters at the start of the line,

+corresponding to header levels 1-6. For example:

+

+    # This is an H1

+

+    ## This is an H2

+

+    ###### This is an H6

+

+Optionally, you may "close" atx-style headers. This is purely

+cosmetic -- you can use this if you think it looks better. The

+closing hashes don't even need to match the number of hashes

+used to open the header. (The number of opening hashes

+determines the header level.) :

+

+    # This is an H1 #

+

+    ## This is an H2 ##

+

+    ### This is an H3 ######

+

+

+<h3 id="blockquote">Blockquotes</h3>

+

+Markdown uses email-style `>` characters for blockquoting. If you're

+familiar with quoting passages of text in an email message, then you

+know how to create a blockquote in Markdown. It looks best if you hard

+wrap the text and put a `>` before every line:

+

+    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,

+    > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.

+    > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

+    > 

+    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse

+    > id sem consectetuer libero luctus adipiscing.

+

+Markdown allows you to be lazy and only put the `>` before the first

+line of a hard-wrapped paragraph:

+

+    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,

+    consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.

+    Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

+

+    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse

+    id sem consectetuer libero luctus adipiscing.

+

+Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by

+adding additional levels of `>`:

+

+    > This is the first level of quoting.

+    >

+    > > This is nested blockquote.

+    >

+    > Back to the first level.

+

+Blockquotes can contain other Markdown elements, including headers, lists,

+and code blocks:

+

+	> ## This is a header.

+	> 

+	> 1.   This is the first list item.

+	> 2.   This is the second list item.

+	> 

+	> Here's some example code:

+	> 

+	>     return shell_exec("echo $input | $markdown_script");

+

+Any decent text editor should make email-style quoting easy. For

+example, with BBEdit, you can make a selection and choose Increase

+Quote Level from the Text menu.

+

+

+<h3 id="list">Lists</h3>

+

+Markdown supports ordered (numbered) and unordered (bulleted) lists.

+

+Unordered lists use asterisks, pluses, and hyphens -- interchangably

+-- as list markers:

+

+    *   Red

+    *   Green

+    *   Blue

+

+is equivalent to:

+

+    +   Red

+    +   Green

+    +   Blue

+

+and:

+

+    -   Red

+    -   Green

+    -   Blue

+

+Ordered lists use numbers followed by periods:

+

+    1.  Bird

+    2.  McHale

+    3.  Parish

+

+It's important to note that the actual numbers you use to mark the

+list have no effect on the HTML output Markdown produces. The HTML

+Markdown produces from the above list is:

+

+    <ol>

+    <li>Bird</li>

+    <li>McHale</li>

+    <li>Parish</li>

+    </ol>

+

+If you instead wrote the list in Markdown like this:

+

+    1.  Bird

+    1.  McHale

+    1.  Parish

+

+or even:

+

+    3. Bird

+    1. McHale

+    8. Parish

+

+you'd get the exact same HTML output. The point is, if you want to,

+you can use ordinal numbers in your ordered Markdown lists, so that

+the numbers in your source match the numbers in your published HTML.

+But if you want to be lazy, you don't have to.

+

+If you do use lazy list numbering, however, you should still start the

+list with the number 1. At some point in the future, Markdown may support

+starting ordered lists at an arbitrary number.

+

+List markers typically start at the left margin, but may be indented by

+up to three spaces. List markers must be followed by one or more spaces

+or a tab.

+

+To make lists look nice, you can wrap items with hanging indents:

+

+    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

+        Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,

+        viverra nec, fringilla in, laoreet vitae, risus.

+    *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.

+        Suspendisse id sem consectetuer libero luctus adipiscing.

+

+But if you want to be lazy, you don't have to:

+

+    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

+    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,

+    viverra nec, fringilla in, laoreet vitae, risus.

+    *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.

+    Suspendisse id sem consectetuer libero luctus adipiscing.

+

+If list items are separated by blank lines, Markdown will wrap the

+items in `<p>` tags in the HTML output. For example, this input:

+

+    *   Bird

+    *   Magic

+

+will turn into:

+

+    <ul>

+    <li>Bird</li>

+    <li>Magic</li>

+    </ul>

+

+But this:

+

+    *   Bird

+

+    *   Magic

+

+will turn into:

+

+    <ul>

+    <li><p>Bird</p></li>

+    <li><p>Magic</p></li>

+    </ul>

+

+List items may consist of multiple paragraphs. Each subsequent

+paragraph in a list item must be intended by either 4 spaces

+or one tab:

+

+    1.  This is a list item with two paragraphs. Lorem ipsum dolor

+        sit amet, consectetuer adipiscing elit. Aliquam hendrerit

+        mi posuere lectus.

+

+        Vestibulum enim wisi, viverra nec, fringilla in, laoreet

+        vitae, risus. Donec sit amet nisl. Aliquam semper ipsum

+        sit amet velit.

+

+    2.  Suspendisse id sem consectetuer libero luctus adipiscing.

+

+It looks nice if you indent every line of the subsequent

+paragraphs, but here again, Markdown will allow you to be

+lazy:

+

+    *   This is a list item with two paragraphs.

+

+        This is the second paragraph in the list item. You're

+    only required to indent the first line. Lorem ipsum dolor

+    sit amet, consectetuer adipiscing elit.

+

+    *   Another item in the same list.

+

+To put a blockquote within a list item, the blockquote's `>`

+delimiters need to be indented:

+

+    *   A list item with a blockquote:

+

+        > This is a blockquote

+        > inside a list item.

+

+To put a code block within a list item, the code block needs

+to be indented *twice* -- 8 spaces or two tabs:

+

+    *   A list item with a code block:

+

+            <code goes here>

+

+

+It's worth noting that it's possible to trigger an ordered list by

+accident, by writing something like this:

+

+    1986. What a great season.

+

+In other words, a *number-period-space* sequence at the beginning of a

+line. To avoid this, you can backslash-escape the period:

+

+    1986\. What a great season.

+

+

+

+<h3 id="precode">Code Blocks</h3>

+

+Pre-formatted code blocks are used for writing about programming or

+markup source code. Rather than forming normal paragraphs, the lines

+of a code block are interpreted literally. Markdown wraps a code block

+in both `<pre>` and `<code>` tags.

+

+To produce a code block in Markdown, simply indent every line of the

+block by at least 4 spaces or 1 tab. For example, given this input:

+

+    This is a normal paragraph:

+

+        This is a code block.

+

+Markdown will generate:

+

+    <p>This is a normal paragraph:</p>

+

+    <pre><code>This is a code block.

+    </code></pre>

+

+One level of indentation -- 4 spaces or 1 tab -- is removed from each

+line of the code block. For example, this:

+

+    Here is an example of AppleScript:

+

+        tell application "Foo"

+            beep

+        end tell

+

+will turn into:

+

+    <p>Here is an example of AppleScript:</p>

+

+    <pre><code>tell application "Foo"

+        beep

+    end tell

+    </code></pre>

+

+A code block continues until it reaches a line that is not indented

+(or the end of the article).

+

+Within a code block, ampersands (`&`) and angle brackets (`<` and `>`)

+are automatically converted into HTML entities. This makes it very

+easy to include example HTML source code using Markdown -- just paste

+it and indent it, and Markdown will handle the hassle of encoding the

+ampersands and angle brackets. For example, this:

+

+        <div class="footer">

+            &copy; 2004 Foo Corporation

+        </div>

+

+will turn into:

+

+    <pre><code>&lt;div class="footer"&gt;

+        &amp;copy; 2004 Foo Corporation

+    &lt;/div&gt;

+    </code></pre>

+

+Regular Markdown syntax is not processed within code blocks. E.g.,

+asterisks are just literal asterisks within a code block. This means

+it's also easy to use Markdown to write about Markdown's own syntax.

+

+

+

+<h3 id="hr">Horizontal Rules</h3>

+

+You can produce a horizontal rule tag (`<hr />`) by placing three or

+more hyphens, asterisks, or underscores on a line by themselves. If you

+wish, you may use spaces between the hyphens or asterisks. Each of the

+following lines will produce a horizontal rule:

+

+    * * *

+

+    ***

+

+    *****

+	

+    - - -

+

+    ---------------------------------------

+

+	_ _ _

+

+

+* * *

+

+<h2 id="span">Span Elements</h2>

+

+<h3 id="link">Links</h3>

+

+Markdown supports two style of links: *inline* and *reference*.

+

+In both styles, the link text is delimited by [square brackets].

+

+To create an inline link, use a set of regular parentheses immediately

+after the link text's closing square bracket. Inside the parentheses,

+put the URL where you want the link to point, along with an *optional*

+title for the link, surrounded in quotes. For example:

+

+    This is [an example](http://example.com/ "Title") inline link.

+

+    [This link](http://example.net/) has no title attribute.

+

+Will produce:

+

+    <p>This is <a href="http://example.com/" title="Title">

+    an example</a> inline link.</p>

+

+    <p><a href="http://example.net/">This link</a> has no

+    title attribute.</p>

+

+If you're referring to a local resource on the same server, you can

+use relative paths:

+

+    See my [About](/about/) page for details.   

+

+Reference-style links use a second set of square brackets, inside

+which you place a label of your choosing to identify the link:

+

+    This is [an example][id] reference-style link.

+

+You can optionally use a space to separate the sets of brackets:

+

+    This is [an example] [id] reference-style link.

+

+Then, anywhere in the document, you define your link label like this,

+on a line by itself:

+

+    [id]: http://example.com/  "Optional Title Here"

+

+That is:

+

+*   Square brackets containing the link identifier (optionally

+    indented from the left margin using up to three spaces);

+*   followed by a colon;

+*   followed by one or more spaces (or tabs);

+*   followed by the URL for the link;

+*   optionally followed by a title attribute for the link, enclosed

+    in double or single quotes.

+

+The link URL may, optionally, be surrounded by angle brackets:

+

+    [id]: <http://example.com/>  "Optional Title Here"

+

+You can put the title attribute on the next line and use extra spaces

+or tabs for padding, which tends to look better with longer URLs:

+

+    [id]: http://example.com/longish/path/to/resource/here

+        "Optional Title Here"

+

+Link definitions are only used for creating links during Markdown

+processing, and are stripped from your document in the HTML output.

+

+Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links:

+

+	[link text][a]

+	[link text][A]

+

+are equivalent.

+

+The *implicit link name* shortcut allows you to omit the name of the

+link, in which case the link text itself is used as the name.

+Just use an empty set of square brackets -- e.g., to link the word

+"Google" to the google.com web site, you could simply write:

+

+	[Google][]

+

+And then define the link:

+

+	[Google]: http://google.com/

+

+Because link names may contain spaces, this shortcut even works for

+multiple words in the link text:

+

+	Visit [Daring Fireball][] for more information.

+

+And then define the link:

+	

+	[Daring Fireball]: http://daringfireball.net/

+

+Link definitions can be placed anywhere in your Markdown document. I

+tend to put them immediately after each paragraph in which they're

+used, but if you want, you can put them all at the end of your

+document, sort of like footnotes.

+

+Here's an example of reference links in action:

+

+    I get 10 times more traffic from [Google] [1] than from

+    [Yahoo] [2] or [MSN] [3].

+

+      [1]: http://google.com/        "Google"

+      [2]: http://search.yahoo.com/  "Yahoo Search"

+      [3]: http://search.msn.com/    "MSN Search"

+

+Using the implicit link name shortcut, you could instead write:

+

+    I get 10 times more traffic from [Google][] than from

+    [Yahoo][] or [MSN][].

+

+      [google]: http://google.com/        "Google"

+      [yahoo]:  http://search.yahoo.com/  "Yahoo Search"

+      [msn]:    http://search.msn.com/    "MSN Search"

+

+Both of the above examples will produce the following HTML output:

+

+    <p>I get 10 times more traffic from <a href="http://google.com/"

+    title="Google">Google</a> than from

+    <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>

+    or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>

+

+For comparison, here is the same paragraph written using

+Markdown's inline link style:

+

+    I get 10 times more traffic from [Google](http://google.com/ "Google")

+    than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or

+    [MSN](http://search.msn.com/ "MSN Search").

+

+The point of reference-style links is not that they're easier to

+write. The point is that with reference-style links, your document

+source is vastly more readable. Compare the above examples: using

+reference-style links, the paragraph itself is only 81 characters

+long; with inline-style links, it's 176 characters; and as raw HTML,

+it's 234 characters. In the raw HTML, there's more markup than there

+is text.

+

+With Markdown's reference-style links, a source document much more

+closely resembles the final output, as rendered in a browser. By

+allowing you to move the markup-related metadata out of the paragraph,

+you can add links without interrupting the narrative flow of your

+prose.

+

+

+<h3 id="em">Emphasis</h3>

+

+Markdown treats asterisks (`*`) and underscores (`_`) as indicators of

+emphasis. Text wrapped with one `*` or `_` will be wrapped with an

+HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML

+`<strong>` tag. E.g., this input:

+

+    *single asterisks*

+

+    _single underscores_

+

+    **double asterisks**

+

+    __double underscores__

+

+will produce:

+

+    <em>single asterisks</em>

+

+    <em>single underscores</em>

+

+    <strong>double asterisks</strong>

+

+    <strong>double underscores</strong>

+

+You can use whichever style you prefer; the lone restriction is that

+the same character must be used to open and close an emphasis span.

+

+Emphasis can be used in the middle of a word:

+

+    un*fucking*believable

+

+But if you surround an `*` or `_` with spaces, it'll be treated as a

+literal asterisk or underscore.

+

+To produce a literal asterisk or underscore at a position where it

+would otherwise be used as an emphasis delimiter, you can backslash

+escape it:

+

+    \*this text is surrounded by literal asterisks\*

+

+

+

+<h3 id="code">Code</h3>

+

+To indicate a span of code, wrap it with backtick quotes (`` ` ``).

+Unlike a pre-formatted code block, a code span indicates code within a

+normal paragraph. For example:

+

+    Use the `printf()` function.

+

+will produce:

+

+    <p>Use the <code>printf()</code> function.</p>

+

+To include a literal backtick character within a code span, you can use

+multiple backticks as the opening and closing delimiters:

+

+    ``There is a literal backtick (`) here.``

+

+which will produce this:

+

+    <p><code>There is a literal backtick (`) here.</code></p>

+

+The backtick delimiters surrounding a code span may include spaces --

+one after the opening, one before the closing. This allows you to place

+literal backtick characters at the beginning or end of a code span:

+

+	A single backtick in a code span: `` ` ``

+	

+	A backtick-delimited string in a code span: `` `foo` ``

+

+will produce:

+

+	<p>A single backtick in a code span: <code>`</code></p>

+	

+	<p>A backtick-delimited string in a code span: <code>`foo`</code></p>

+

+With a code span, ampersands and angle brackets are encoded as HTML

+entities automatically, which makes it easy to include example HTML

+tags. Markdown will turn this:

+

+    Please don't use any `<blink>` tags.

+

+into:

+

+    <p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>

+

+You can write this:

+

+    `&#8212;` is the decimal-encoded equivalent of `&mdash;`.

+

+to produce:

+

+    <p><code>&amp;#8212;</code> is the decimal-encoded

+    equivalent of <code>&amp;mdash;</code>.</p>

+

+

+

+<h3 id="img">Images</h3>

+

+Admittedly, it's fairly difficult to devise a "natural" syntax for

+placing images into a plain text document format.

+

+Markdown uses an image syntax that is intended to resemble the syntax

+for links, allowing for two styles: *inline* and *reference*.

+

+Inline image syntax looks like this:

+

+    ![Alt text](/path/to/img.jpg)

+

+    ![Alt text](/path/to/img.jpg "Optional title")

+

+That is:

+

+*   An exclamation mark: `!`;

+*   followed by a set of square brackets, containing the `alt`

+    attribute text for the image;

+*   followed by a set of parentheses, containing the URL or path to

+    the image, and an optional `title` attribute enclosed in double

+    or single quotes.

+

+Reference-style image syntax looks like this:

+

+    ![Alt text][id]

+

+Where "id" is the name of a defined image reference. Image references

+are defined using syntax identical to link references:

+

+    [id]: url/to/image  "Optional title attribute"

+

+As of this writing, Markdown has no syntax for specifying the

+dimensions of an image; if this is important to you, you can simply

+use regular HTML `<img>` tags.

+

+

+* * *

+

+

+<h2 id="misc">Miscellaneous</h2>

+

+<h3 id="autolink">Automatic Links</h3>

+

+Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:

+

+    <http://example.com/>

+    

+Markdown will turn this into:

+

+    <a href="http://example.com/">http://example.com/</a>

+

+Automatic links for email addresses work similarly, except that

+Markdown will also perform a bit of randomized decimal and hex

+entity-encoding to help obscure your address from address-harvesting

+spambots. For example, Markdown will turn this:

+

+    <address@example.com>

+

+into something like this:

+

+    <a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;

+    &#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;

+    &#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;

+    &#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>

+

+which will render in a browser as a clickable link to "address@example.com".

+

+(This sort of entity-encoding trick will indeed fool many, if not

+most, address-harvesting bots, but it definitely won't fool all of

+them. It's better than nothing, but an address published in this way

+will probably eventually start receiving spam.)

+

+

+

+<h3 id="backslash">Backslash Escapes</h3>

+

+Markdown allows you to use backslash escapes to generate literal

+characters which would otherwise have special meaning in Markdown's

+formatting syntax. For example, if you wanted to surround a word with

+literal asterisks (instead of an HTML `<em>` tag), you can backslashes

+before the asterisks, like this:

+

+    \*literal asterisks\*

+

+Markdown provides backslash escapes for the following characters:

+

+    \   backslash

+    `   backtick

+    *   asterisk

+    _   underscore

+    {}  curly braces

+    []  square brackets

+    ()  parentheses

+    #   hash mark

+	+	plus sign

+	-	minus sign (hyphen)

+    .   dot

+    !   exclamation mark

+

diff --git a/core/src/test/resources/1.0/Nested blockquotes.html b/core/src/test/resources/1.0/Nested blockquotes.html
old mode 100644
new mode 100755
index d8ec7f8..2a36d9c
--- a/core/src/test/resources/1.0/Nested blockquotes.html
+++ b/core/src/test/resources/1.0/Nested blockquotes.html
@@ -1,9 +1,9 @@
-<blockquote>
-  <p>foo</p>
-  
-  <blockquote>
-    <p>bar</p>
-  </blockquote>
-  
-  <p>foo</p>
-</blockquote>
+<blockquote>

+  <p>foo</p>

+  

+  <blockquote>

+    <p>bar</p>

+  </blockquote>

+  

+  <p>foo</p>

+</blockquote>

diff --git a/core/src/test/resources/1.0/Nested blockquotes.text b/core/src/test/resources/1.0/Nested blockquotes.text
old mode 100644
new mode 100755
index ed3c624..35917e9
--- a/core/src/test/resources/1.0/Nested blockquotes.text
+++ b/core/src/test/resources/1.0/Nested blockquotes.text
@@ -1,5 +1,5 @@
-> foo
->
-> > bar
->
-> foo
+> foo

+>

+> > bar

+>

+> foo

diff --git a/core/src/test/resources/1.0/Ordered and unordered lists.html b/core/src/test/resources/1.0/Ordered and unordered lists.html
old mode 100644
new mode 100755
index ce85c3a..81b97f7
--- a/core/src/test/resources/1.0/Ordered and unordered lists.html
+++ b/core/src/test/resources/1.0/Ordered and unordered lists.html
@@ -1,137 +1,137 @@
-<h2>Unordered</h2>
-
-<p>Asterisks tight:</p>
-
-<ul>
-<li>asterisk 1</li>
-<li>asterisk 2</li>
-<li>asterisk 3</li>
-</ul>
-
-<p>Asterisks loose:</p>
-
-<ul>
-<li><p>asterisk 1</p></li>
-<li><p>asterisk 2</p></li>
-<li><p>asterisk 3</p></li>
-</ul>
-
-<hr />
-
-<p>Pluses tight:</p>
-
-<ul>
-<li>Plus 1</li>
-<li>Plus 2</li>
-<li>Plus 3</li>
-</ul>
-
-<p>Pluses loose:</p>
-
-<ul>
-<li><p>Plus 1</p></li>
-<li><p>Plus 2</p></li>
-<li><p>Plus 3</p></li>
-</ul>
-
-<hr />
-
-<p>Minuses tight:</p>
-
-<ul>
-<li>Minus 1</li>
-<li>Minus 2</li>
-<li>Minus 3</li>
-</ul>
-
-<p>Minuses loose:</p>
-
-<ul>
-<li><p>Minus 1</p></li>
-<li><p>Minus 2</p></li>
-<li><p>Minus 3</p></li>
-</ul>
-
-<h2>Ordered</h2>
-
-<p>Tight:</p>
-
-<ol>
-<li>First</li>
-<li>Second</li>
-<li>Third</li>
-</ol>
-
-<p>and:</p>
-
-<ol>
-<li>One</li>
-<li>Two</li>
-<li>Three</li>
-</ol>
-
-<p>Loose using tabs:</p>
-
-<ol>
-<li><p>First</p></li>
-<li><p>Second</p></li>
-<li><p>Third</p></li>
-</ol>
-
-<p>and using spaces:</p>
-
-<ol>
-<li><p>One</p></li>
-<li><p>Two</p></li>
-<li><p>Three</p></li>
-</ol>
-
-<p>Multiple paragraphs:</p>
-
-<ol>
-<li><p>Item 1, graf one.</p>
-
-<p>Item 2. graf two. The quick brown fox jumped over the lazy dog's
-back.</p></li>
-<li><p>Item 2.</p></li>
-<li><p>Item 3.</p></li>
-</ol>
-
-<h2>Nested</h2>
-
-<ul>
-<li>Tab
-<ul>
-<li>Tab
-<ul>
-<li>Tab</li>
-</ul></li>
-</ul></li>
-</ul>
-
-<p>Here's another:</p>
-
-<ol>
-<li>First</li>
-<li>Second:
-<ul>
-<li>Fee</li>
-<li>Fie</li>
-<li>Foe</li>
-</ul></li>
-<li>Third</li>
-</ol>
-
-<p>Same thing but with paragraphs:</p>
-
-<ol>
-<li><p>First</p></li>
-<li><p>Second:</p>
-
-<ul>
-<li>Fee</li>
-<li>Fie</li>
-<li>Foe</li>
-</ul></li>
-<li><p>Third</p></li>
-</ol>
+<h2>Unordered</h2>

+

+<p>Asterisks tight:</p>

+

+<ul>

+<li>asterisk 1</li>

+<li>asterisk 2</li>

+<li>asterisk 3</li>

+</ul>

+

+<p>Asterisks loose:</p>

+

+<ul>

+<li><p>asterisk 1</p></li>

+<li><p>asterisk 2</p></li>

+<li><p>asterisk 3</p></li>

+</ul>

+

+<hr />

+

+<p>Pluses tight:</p>

+

+<ul>

+<li>Plus 1</li>

+<li>Plus 2</li>

+<li>Plus 3</li>

+</ul>

+

+<p>Pluses loose:</p>

+

+<ul>

+<li><p>Plus 1</p></li>

+<li><p>Plus 2</p></li>

+<li><p>Plus 3</p></li>

+</ul>

+

+<hr />

+

+<p>Minuses tight:</p>

+

+<ul>

+<li>Minus 1</li>

+<li>Minus 2</li>

+<li>Minus 3</li>

+</ul>

+

+<p>Minuses loose:</p>

+

+<ul>

+<li><p>Minus 1</p></li>

+<li><p>Minus 2</p></li>

+<li><p>Minus 3</p></li>

+</ul>

+

+<h2>Ordered</h2>

+

+<p>Tight:</p>

+

+<ol>

+<li>First</li>

+<li>Second</li>

+<li>Third</li>

+</ol>

+

+<p>and:</p>

+

+<ol>

+<li>One</li>

+<li>Two</li>

+<li>Three</li>

+</ol>

+

+<p>Loose using tabs:</p>

+

+<ol>

+<li><p>First</p></li>

+<li><p>Second</p></li>

+<li><p>Third</p></li>

+</ol>

+

+<p>and using spaces:</p>

+

+<ol>

+<li><p>One</p></li>

+<li><p>Two</p></li>

+<li><p>Three</p></li>

+</ol>

+

+<p>Multiple paragraphs:</p>

+

+<ol>

+<li><p>Item 1, graf one.</p>

+

+<p>Item 2. graf two. The quick brown fox jumped over the lazy dog's

+back.</p></li>

+<li><p>Item 2.</p></li>

+<li><p>Item 3.</p></li>

+</ol>

+

+<h2>Nested</h2>

+

+<ul>

+<li>Tab

+<ul>

+<li>Tab

+<ul>

+<li>Tab</li>

+</ul></li>

+</ul></li>

+</ul>

+

+<p>Here's another:</p>

+

+<ol>

+<li>First</li>

+<li>Second:

+<ul>

+<li>Fee</li>

+<li>Fie</li>

+<li>Foe</li>

+</ul></li>

+<li>Third</li>

+</ol>

+

+<p>Same thing but with paragraphs:</p>

+

+<ol>

+<li><p>First</p></li>

+<li><p>Second:</p>

+

+<ul>

+<li>Fee</li>

+<li>Fie</li>

+<li>Foe</li>

+</ul></li>

+<li><p>Third</p></li>

+</ol>

diff --git a/core/src/test/resources/1.0/Ordered and unordered lists.text b/core/src/test/resources/1.0/Ordered and unordered lists.text
old mode 100644
new mode 100755
index 621db58..5f104d4
--- a/core/src/test/resources/1.0/Ordered and unordered lists.text
+++ b/core/src/test/resources/1.0/Ordered and unordered lists.text
@@ -1,122 +1,122 @@
-## Unordered
-
-Asterisks tight:
-
-*	asterisk 1
-*	asterisk 2
-*	asterisk 3
-
-
-Asterisks loose:
-
-*	asterisk 1
-
-*	asterisk 2
-
-*	asterisk 3
-
-* * *
-
-Pluses tight:
-
-+	Plus 1
-+	Plus 2
-+	Plus 3
-
-
-Pluses loose:
-
-+	Plus 1
-
-+	Plus 2
-
-+	Plus 3
-
-* * *
-
-
-Minuses tight:
-
--	Minus 1
--	Minus 2
--	Minus 3
-
-
-Minuses loose:
-
--	Minus 1
-
--	Minus 2
-
--	Minus 3
-
-
-## Ordered
-
-Tight:
-
-1.	First
-2.	Second
-3.	Third
-
-and:
-
-1. One
-2. Two
-3. Three
-
-
-Loose using tabs:
-
-1.	First
-
-2.	Second
-
-3.	Third
-
-and using spaces:
-
-1. One
-
-2. Two
-
-3. Three
-
-Multiple paragraphs:
-
-1.	Item 1, graf one.
-
-	Item 2. graf two. The quick brown fox jumped over the lazy dog's
-	back.
-	
-2.	Item 2.
-
-3.	Item 3.
-
-
-
-## Nested
-
-*	Tab
-	*	Tab
-		*	Tab
-
-Here's another:
-
-1. First
-2. Second:
-	* Fee
-	* Fie
-	* Foe
-3. Third
-
-Same thing but with paragraphs:
-
-1. First
-
-2. Second:
-	* Fee
-	* Fie
-	* Foe
-
-3. Third
+## Unordered

+

+Asterisks tight:

+

+*	asterisk 1

+*	asterisk 2

+*	asterisk 3

+

+

+Asterisks loose:

+

+*	asterisk 1

+

+*	asterisk 2

+

+*	asterisk 3

+

+* * *

+

+Pluses tight:

+

++	Plus 1

++	Plus 2

++	Plus 3

+

+

+Pluses loose:

+

++	Plus 1

+

++	Plus 2

+

++	Plus 3

+

+* * *

+

+

+Minuses tight:

+

+-	Minus 1

+-	Minus 2

+-	Minus 3

+

+

+Minuses loose:

+

+-	Minus 1

+

+-	Minus 2

+

+-	Minus 3

+

+

+## Ordered

+

+Tight:

+

+1.	First

+2.	Second

+3.	Third

+

+and:

+

+1. One

+2. Two

+3. Three

+

+

+Loose using tabs:

+

+1.	First

+

+2.	Second

+

+3.	Third

+

+and using spaces:

+

+1. One

+

+2. Two

+

+3. Three

+

+Multiple paragraphs:

+

+1.	Item 1, graf one.

+

+	Item 2. graf two. The quick brown fox jumped over the lazy dog's

+	back.

+	

+2.	Item 2.

+

+3.	Item 3.

+

+

+

+## Nested

+

+*	Tab

+	*	Tab

+		*	Tab

+

+Here's another:

+

+1. First

+2. Second:

+	* Fee

+	* Fie

+	* Foe

+3. Third

+

+Same thing but with paragraphs:

+

+1. First

+

+2. Second:

+	* Fee

+	* Fie

+	* Foe

+

+3. Third

diff --git a/core/src/test/resources/1.0/Strong and em together.html b/core/src/test/resources/1.0/Strong and em together.html
old mode 100644
new mode 100755
index 71ec78c..3404517
--- a/core/src/test/resources/1.0/Strong and em together.html
+++ b/core/src/test/resources/1.0/Strong and em together.html
@@ -1,7 +1,7 @@
-<p><strong><em>This is strong and em.</em></strong></p>
-
-<p>So is <strong><em>this</em></strong> word.</p>
-
-<p><strong><em>This is strong and em.</em></strong></p>
-
-<p>So is <strong><em>this</em></strong> word.</p>
+<p><strong><em>This is strong and em.</em></strong></p>

+

+<p>So is <strong><em>this</em></strong> word.</p>

+

+<p><strong><em>This is strong and em.</em></strong></p>

+

+<p>So is <strong><em>this</em></strong> word.</p>

diff --git a/core/src/test/resources/1.0/Strong and em together.text b/core/src/test/resources/1.0/Strong and em together.text
old mode 100644
new mode 100755
index 95ee690..cbb2883
--- a/core/src/test/resources/1.0/Strong and em together.text
+++ b/core/src/test/resources/1.0/Strong and em together.text
@@ -1,7 +1,7 @@
-***This is strong and em.***
-
-So is ***this*** word.
-
-___This is strong and em.___
-
-So is ___this___ word.
+***This is strong and em.***

+

+So is ***this*** word.

+

+___This is strong and em.___

+

+So is ___this___ word.

diff --git a/core/src/test/resources/1.0/Tabs.html b/core/src/test/resources/1.0/Tabs.html
old mode 100644
new mode 100755
index 3301ba8..c83fd98
--- a/core/src/test/resources/1.0/Tabs.html
+++ b/core/src/test/resources/1.0/Tabs.html
@@ -1,25 +1,25 @@
-<ul>
-<li><p>this is a list item
-indented with tabs</p></li>
-<li><p>this is a list item
-indented with spaces</p></li>
-</ul>
-
-<p>Code:</p>
-
-<pre><code>this code block is indented by one tab
-</code></pre>
-
-<p>And:</p>
-
-<pre><code>    this code block is indented by two tabs
-</code></pre>
-
-<p>And:</p>
-
-<pre><code>+   this is an example list item
-    indented with tabs
-
-+   this is an example list item
-    indented with spaces
-</code></pre>
+<ul>

+<li><p>this is a list item

+indented with tabs</p></li>

+<li><p>this is a list item

+indented with spaces</p></li>

+</ul>

+

+<p>Code:</p>

+

+<pre><code>this code block is indented by one tab

+</code></pre>

+

+<p>And:</p>

+

+<pre><code>    this code block is indented by two tabs

+</code></pre>

+

+<p>And:</p>

+

+<pre><code>+   this is an example list item

+    indented with tabs

+

++   this is an example list item

+    indented with spaces

+</code></pre>

diff --git a/core/src/test/resources/1.0/Tabs.text b/core/src/test/resources/1.0/Tabs.text
old mode 100644
new mode 100755
index 589d113..0240df3
--- a/core/src/test/resources/1.0/Tabs.text
+++ b/core/src/test/resources/1.0/Tabs.text
@@ -1,21 +1,21 @@
-+	this is a list item
-	indented with tabs
-
-+   this is a list item
-    indented with spaces
-
-Code:
-
-	this code block is indented by one tab
-
-And:
-
-		this code block is indented by two tabs
-
-And:
-
-	+	this is an example list item
-		indented with tabs
-	
-	+   this is an example list item
-	    indented with spaces
++	this is a list item

+	indented with tabs

+

++   this is a list item

+    indented with spaces

+

+Code:

+

+	this code block is indented by one tab

+

+And:

+

+		this code block is indented by two tabs

+

+And:

+

+	+	this is an example list item

+		indented with tabs

+	

+	+   this is an example list item

+	    indented with spaces

diff --git a/core/src/test/resources/1.0/Tidyness.html b/core/src/test/resources/1.0/Tidyness.html
old mode 100644
new mode 100755
index f2a8ce7..320efec
--- a/core/src/test/resources/1.0/Tidyness.html
+++ b/core/src/test/resources/1.0/Tidyness.html
@@ -1,8 +1,8 @@
-<blockquote>
-<p>A list within a blockquote:</p>
-<ul>
-<li>asterisk 1</li>
-<li>asterisk 2</li>
-<li>asterisk 3</li>
-</ul>
-</blockquote>
+<blockquote>

+<p>A list within a blockquote:</p>

+<ul>

+<li>asterisk 1</li>

+<li>asterisk 2</li>

+<li>asterisk 3</li>

+</ul>

+</blockquote>

diff --git a/core/src/test/resources/1.0/Tidyness.text b/core/src/test/resources/1.0/Tidyness.text
old mode 100644
new mode 100755
index 5f18b8d..e811339
--- a/core/src/test/resources/1.0/Tidyness.text
+++ b/core/src/test/resources/1.0/Tidyness.text
@@ -1,5 +1,5 @@
-> A list within a blockquote:
-> 
-> *	asterisk 1
-> *	asterisk 2
-> *	asterisk 3
+> A list within a blockquote:

+> 

+> *	asterisk 1

+> *	asterisk 2

+> *	asterisk 3

diff --git a/core/src/test/resources/1.1/basics/Amps and angle encoding.text b/core/src/test/resources/1.1/basics/Amps and angle encoding.text
old mode 100644
new mode 100755
index 0e9527f..d898199
--- a/core/src/test/resources/1.1/basics/Amps and angle encoding.text
+++ b/core/src/test/resources/1.1/basics/Amps and angle encoding.text
@@ -1,21 +1,21 @@
-AT&T has an ampersand in their name.
-
-AT&amp;T is another way to write it.
-
-This & that.
-
-4 < 5.
-
-6 > 5.
-
-Here's a [link] [1] with an ampersand in the URL.
-
-Here's a link with an amersand in the link text: [AT&T] [2].
-
-Here's an inline [link](/script?foo=1&bar=2).
-
-Here's an inline [link](</script?foo=1&bar=2>).
-
-
-[1]: http://example.com/?foo=1&bar=2
+AT&T has an ampersand in their name.

+

+AT&amp;T is another way to write it.

+

+This & that.

+

+4 < 5.

+

+6 > 5.

+

+Here's a [link] [1] with an ampersand in the URL.

+

+Here's a link with an amersand in the link text: [AT&T] [2].

+

+Here's an inline [link](/script?foo=1&bar=2).

+

+Here's an inline [link](</script?foo=1&bar=2>).

+

+

+[1]: http://example.com/?foo=1&bar=2

 [2]: http://att.com/  "AT&T"
\ No newline at end of file
diff --git a/core/src/test/resources/1.1/basics/Amps and angle encoding.xhtml b/core/src/test/resources/1.1/basics/Amps and angle encoding.xhtml
old mode 100644
new mode 100755
index 9606860..9923605
--- a/core/src/test/resources/1.1/basics/Amps and angle encoding.xhtml
+++ b/core/src/test/resources/1.1/basics/Amps and angle encoding.xhtml
@@ -1,17 +1,17 @@
-<p>AT&amp;T has an ampersand in their name.</p>
-
-<p>AT&amp;T is another way to write it.</p>
-
-<p>This &amp; that.</p>
-
-<p>4 &lt; 5.</p>
-
-<p>6 > 5.</p>
-
-<p>Here's a <a href="http://example.com/?foo=1&amp;bar=2">link</a> with an ampersand in the URL.</p>
-
-<p>Here's a link with an amersand in the link text: <a href="http://att.com/" title="AT&amp;T">AT&amp;T</a>.</p>
-
-<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>
-
-<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>
+<p>AT&amp;T has an ampersand in their name.</p>

+

+<p>AT&amp;T is another way to write it.</p>

+

+<p>This &amp; that.</p>

+

+<p>4 &lt; 5.</p>

+

+<p>6 > 5.</p>

+

+<p>Here's a <a href="http://example.com/?foo=1&amp;bar=2">link</a> with an ampersand in the URL.</p>

+

+<p>Here's a link with an amersand in the link text: <a href="http://att.com/" title="AT&amp;T">AT&amp;T</a>.</p>

+

+<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>

+

+<p>Here's an inline <a href="/script?foo=1&amp;bar=2">link</a>.</p>

diff --git a/core/src/test/resources/1.1/basics/Auto links.text b/core/src/test/resources/1.1/basics/Auto links.text
old mode 100644
new mode 100755
index abbc488..9e4380e
--- a/core/src/test/resources/1.1/basics/Auto links.text
+++ b/core/src/test/resources/1.1/basics/Auto links.text
@@ -1,13 +1,13 @@
-Link: <http://example.com/>.
-
-With an ampersand: <http://example.com/?foo=1&bar=2>
-
-* In a list?
-* <http://example.com/>
-* It should.
-
-> Blockquoted: <http://example.com/>
-
-Auto-links should not occur here: `<http://example.com/>`
-
+Link: <http://example.com/>.

+

+With an ampersand: <http://example.com/?foo=1&bar=2>

+

+* In a list?

+* <http://example.com/>

+* It should.

+

+> Blockquoted: <http://example.com/>

+

+Auto-links should not occur here: `<http://example.com/>`

+

 	or here: <http://example.com/>
\ No newline at end of file
diff --git a/core/src/test/resources/1.1/basics/Auto links.xhtml b/core/src/test/resources/1.1/basics/Auto links.xhtml
old mode 100644
new mode 100755
index f8df985..12800bc
--- a/core/src/test/resources/1.1/basics/Auto links.xhtml
+++ b/core/src/test/resources/1.1/basics/Auto links.xhtml
@@ -1,18 +1,18 @@
-<p>Link: <a href="http://example.com/">http://example.com/</a>.</p>
-
-<p>With an ampersand: <a href="http://example.com/?foo=1&amp;bar=2">http://example.com/?foo=1&amp;bar=2</a></p>
-
-<ul>
-<li>In a list?</li>
-<li><a href="http://example.com/">http://example.com/</a></li>
-<li>It should.</li>
-</ul>
-
-<blockquote>
-  <p>Blockquoted: <a href="http://example.com/">http://example.com/</a></p>
-</blockquote>
-
-<p>Auto-links should not occur here: <code>&lt;http://example.com/&gt;</code></p>
-
-<pre><code>or here: &lt;http://example.com/&gt;
-</code></pre>
+<p>Link: <a href="http://example.com/">http://example.com/</a>.</p>

+

+<p>With an ampersand: <a href="http://example.com/?foo=1&amp;bar=2">http://example.com/?foo=1&amp;bar=2</a></p>

+

+<ul>

+<li>In a list?</li>

+<li><a href="http://example.com/">http://example.com/</a></li>

+<li>It should.</li>

+</ul>

+

+<blockquote>

+  <p>Blockquoted: <a href="http://example.com/">http://example.com/</a></p>

+</blockquote>

+

+<p>Auto-links should not occur here: <code>&lt;http://example.com/&gt;</code></p>

+

+<pre><code>or here: &lt;http://example.com/&gt;

+</code></pre>

diff --git a/core/src/test/resources/1.1/basics/Backslash escapes.text b/core/src/test/resources/1.1/basics/Backslash escapes.text
old mode 100644
new mode 100755
index 5b014cb..266bb48
--- a/core/src/test/resources/1.1/basics/Backslash escapes.text
+++ b/core/src/test/resources/1.1/basics/Backslash escapes.text
@@ -1,120 +1,120 @@
-These should all get escaped:
-
-Backslash: \\
-
-Backtick: \`
-
-Asterisk: \*
-
-Underscore: \_
-
-Left brace: \{
-
-Right brace: \}
-
-Left bracket: \[
-
-Right bracket: \]
-
-Left paren: \(
-
-Right paren: \)
-
-Greater-than: \>
-
-Hash: \#
-
-Period: \.
-
-Bang: \!
-
-Plus: \+
-
-Minus: \-
-
-
-
-These should not, because they occur within a code block:
-
-	Backslash: \\
-
-	Backtick: \`
-
-	Asterisk: \*
-
-	Underscore: \_
-
-	Left brace: \{
-
-	Right brace: \}
-
-	Left bracket: \[
-
-	Right bracket: \]
-
-	Left paren: \(
-
-	Right paren: \)
-
-	Greater-than: \>
-
-	Hash: \#
-
-	Period: \.
-
-	Bang: \!
-
-	Plus: \+
-
-	Minus: \-
-
-
-Nor should these, which occur in code spans:
-
-Backslash: `\\`
-
-Backtick: `` \` ``
-
-Asterisk: `\*`
-
-Underscore: `\_`
-
-Left brace: `\{`
-
-Right brace: `\}`
-
-Left bracket: `\[`
-
-Right bracket: `\]`
-
-Left paren: `\(`
-
-Right paren: `\)`
-
-Greater-than: `\>`
-
-Hash: `\#`
-
-Period: `\.`
-
-Bang: `\!`
-
-Plus: `\+`
-
-Minus: `\-`
-
-
-These should get escaped, even though they're matching pairs for
-other Markdown constructs:
-
-\*asterisks\*
-
-\_underscores\_
-
-\`backticks\`
-
-This is a code span with a literal backslash-backtick sequence: `` \` ``
-
-This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.
-
-This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.
+These should all get escaped:

+

+Backslash: \\

+

+Backtick: \`

+

+Asterisk: \*

+

+Underscore: \_

+

+Left brace: \{

+

+Right brace: \}

+

+Left bracket: \[

+

+Right bracket: \]

+

+Left paren: \(

+

+Right paren: \)

+

+Greater-than: \>

+

+Hash: \#

+

+Period: \.

+

+Bang: \!

+

+Plus: \+

+

+Minus: \-

+

+

+

+These should not, because they occur within a code block:

+

+	Backslash: \\

+

+	Backtick: \`

+

+	Asterisk: \*

+

+	Underscore: \_

+

+	Left brace: \{

+

+	Right brace: \}

+

+	Left bracket: \[

+

+	Right bracket: \]

+

+	Left paren: \(

+

+	Right paren: \)

+

+	Greater-than: \>

+

+	Hash: \#

+

+	Period: \.

+

+	Bang: \!

+

+	Plus: \+

+

+	Minus: \-

+

+

+Nor should these, which occur in code spans:

+

+Backslash: `\\`

+

+Backtick: `` \` ``

+

+Asterisk: `\*`

+

+Underscore: `\_`

+

+Left brace: `\{`

+

+Right brace: `\}`

+

+Left bracket: `\[`

+

+Right bracket: `\]`

+

+Left paren: `\(`

+

+Right paren: `\)`

+

+Greater-than: `\>`

+

+Hash: `\#`

+

+Period: `\.`

+

+Bang: `\!`

+

+Plus: `\+`

+

+Minus: `\-`

+

+

+These should get escaped, even though they're matching pairs for

+other Markdown constructs:

+

+\*asterisks\*

+

+\_underscores\_

+

+\`backticks\`

+

+This is a code span with a literal backslash-backtick sequence: `` \` ``

+

+This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.

+

+This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.

diff --git a/core/src/test/resources/1.1/basics/Backslash escapes.xhtml b/core/src/test/resources/1.1/basics/Backslash escapes.xhtml
old mode 100644
new mode 100755
index 29870da..93e8ca9
--- a/core/src/test/resources/1.1/basics/Backslash escapes.xhtml
+++ b/core/src/test/resources/1.1/basics/Backslash escapes.xhtml
@@ -1,118 +1,118 @@
-<p>These should all get escaped:</p>
-
-<p>Backslash: \</p>
-
-<p>Backtick: `</p>
-
-<p>Asterisk: *</p>
-
-<p>Underscore: _</p>
-
-<p>Left brace: {</p>
-
-<p>Right brace: }</p>
-
-<p>Left bracket: [</p>
-
-<p>Right bracket: ]</p>
-
-<p>Left paren: (</p>
-
-<p>Right paren: )</p>
-
-<p>Greater-than: ></p>
-
-<p>Hash: #</p>
-
-<p>Period: .</p>
-
-<p>Bang: !</p>
-
-<p>Plus: +</p>
-
-<p>Minus: -</p>
-
-<p>These should not, because they occur within a code block:</p>
-
-<pre><code>Backslash: \\
-
-Backtick: \`
-
-Asterisk: \*
-
-Underscore: \_
-
-Left brace: \{
-
-Right brace: \}
-
-Left bracket: \[
-
-Right bracket: \]
-
-Left paren: \(
-
-Right paren: \)
-
-Greater-than: \&gt;
-
-Hash: \#
-
-Period: \.
-
-Bang: \!
-
-Plus: \+
-
-Minus: \-
-</code></pre>
-
-<p>Nor should these, which occur in code spans:</p>
-
-<p>Backslash: <code>\\</code></p>
-
-<p>Backtick: <code>\`</code></p>
-
-<p>Asterisk: <code>\*</code></p>
-
-<p>Underscore: <code>\_</code></p>
-
-<p>Left brace: <code>\{</code></p>
-
-<p>Right brace: <code>\}</code></p>
-
-<p>Left bracket: <code>\[</code></p>
-
-<p>Right bracket: <code>\]</code></p>
-
-<p>Left paren: <code>\(</code></p>
-
-<p>Right paren: <code>\)</code></p>
-
-<p>Greater-than: <code>\&gt;</code></p>
-
-<p>Hash: <code>\#</code></p>
-
-<p>Period: <code>\.</code></p>
-
-<p>Bang: <code>\!</code></p>
-
-<p>Plus: <code>\+</code></p>
-
-<p>Minus: <code>\-</code></p>
-
-
-<p>These should get escaped, even though they're matching pairs for
-other Markdown constructs:</p>
-
-<p>*asterisks*</p>
-
-<p>_underscores_</p>
-
-<p>`backticks`</p>
-
-<p>This is a code span with a literal backslash-backtick sequence: <code>\`</code></p>
-
-<p>This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.</p>
-
-<p>This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.</p>
+<p>These should all get escaped:</p>

+

+<p>Backslash: \</p>

+

+<p>Backtick: `</p>

+

+<p>Asterisk: *</p>

+

+<p>Underscore: _</p>

+

+<p>Left brace: {</p>

+

+<p>Right brace: }</p>

+

+<p>Left bracket: [</p>

+

+<p>Right bracket: ]</p>

+

+<p>Left paren: (</p>

+

+<p>Right paren: )</p>

+

+<p>Greater-than: ></p>

+

+<p>Hash: #</p>

+

+<p>Period: .</p>

+

+<p>Bang: !</p>

+

+<p>Plus: +</p>

+

+<p>Minus: -</p>

+

+<p>These should not, because they occur within a code block:</p>

+

+<pre><code>Backslash: \\

+

+Backtick: \`

+

+Asterisk: \*

+

+Underscore: \_

+

+Left brace: \{

+

+Right brace: \}

+

+Left bracket: \[

+

+Right bracket: \]

+

+Left paren: \(

+

+Right paren: \)

+

+Greater-than: \&gt;

+

+Hash: \#

+

+Period: \.

+

+Bang: \!

+

+Plus: \+

+

+Minus: \-

+</code></pre>

+

+<p>Nor should these, which occur in code spans:</p>

+

+<p>Backslash: <code>\\</code></p>

+

+<p>Backtick: <code>\`</code></p>

+

+<p>Asterisk: <code>\*</code></p>

+

+<p>Underscore: <code>\_</code></p>

+

+<p>Left brace: <code>\{</code></p>

+

+<p>Right brace: <code>\}</code></p>

+

+<p>Left bracket: <code>\[</code></p>

+

+<p>Right bracket: <code>\]</code></p>

+

+<p>Left paren: <code>\(</code></p>

+

+<p>Right paren: <code>\)</code></p>

+

+<p>Greater-than: <code>\&gt;</code></p>

+

+<p>Hash: <code>\#</code></p>

+

+<p>Period: <code>\.</code></p>

+

+<p>Bang: <code>\!</code></p>

+

+<p>Plus: <code>\+</code></p>

+

+<p>Minus: <code>\-</code></p>

+

+

+<p>These should get escaped, even though they're matching pairs for

+other Markdown constructs:</p>

+

+<p>*asterisks*</p>

+

+<p>_underscores_</p>

+

+<p>`backticks`</p>

+

+<p>This is a code span with a literal backslash-backtick sequence: <code>\`</code></p>

+

+<p>This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.</p>

+

+<p>This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.</p>

diff --git a/core/src/test/resources/1.1/basics/Blockquotes with code blocks.text b/core/src/test/resources/1.1/basics/Blockquotes with code blocks.text
old mode 100644
new mode 100755
index c31d171..1132c95
--- a/core/src/test/resources/1.1/basics/Blockquotes with code blocks.text
+++ b/core/src/test/resources/1.1/basics/Blockquotes with code blocks.text
@@ -1,11 +1,11 @@
-> Example:
-> 
->     sub status {
->         print "working";
->     }
-> 
-> Or:
-> 
->     sub status {
->         return "working";
->     }
+> Example:

+> 

+>     sub status {

+>         print "working";

+>     }

+> 

+> Or:

+> 

+>     sub status {

+>         return "working";

+>     }

diff --git a/core/src/test/resources/1.1/basics/Blockquotes with code blocks.xhtml b/core/src/test/resources/1.1/basics/Blockquotes with code blocks.xhtml
old mode 100644
new mode 100755
index 990202a..3bdb552
--- a/core/src/test/resources/1.1/basics/Blockquotes with code blocks.xhtml
+++ b/core/src/test/resources/1.1/basics/Blockquotes with code blocks.xhtml
@@ -1,15 +1,15 @@
-<blockquote>
-  <p>Example:</p>
-
-<pre><code>sub status {
-    print "working";
-}
-</code></pre>
-  
-  <p>Or:</p>
-
-<pre><code>sub status {
-    return "working";
-}
-</code></pre>
-</blockquote>
+<blockquote>

+  <p>Example:</p>

+

+<pre><code>sub status {

+    print "working";

+}

+</code></pre>

+  

+  <p>Or:</p>

+

+<pre><code>sub status {

+    return "working";

+}

+</code></pre>

+</blockquote>

diff --git a/core/src/test/resources/1.1/basics/Code Blocks.text b/core/src/test/resources/1.1/basics/Code Blocks.text
old mode 100644
new mode 100755
index b54b092..b9f7c23
--- a/core/src/test/resources/1.1/basics/Code Blocks.text
+++ b/core/src/test/resources/1.1/basics/Code Blocks.text
@@ -1,14 +1,14 @@
-	code block on the first line
-	
-Regular text.
-
-    code block indented by spaces
-
-Regular text.
-
-	the lines in this block  
-	all contain trailing spaces  
-
-Regular Text.
-
+	code block on the first line

+	

+Regular text.

+

+    code block indented by spaces

+

+Regular text.

+

+	the lines in this block  

+	all contain trailing spaces  

+

+Regular Text.

+

 	code block on the last line
\ No newline at end of file
diff --git a/core/src/test/resources/1.1/basics/Code Blocks.xhtml b/core/src/test/resources/1.1/basics/Code Blocks.xhtml
old mode 100644
new mode 100755
index 32703f5..806a203
--- a/core/src/test/resources/1.1/basics/Code Blocks.xhtml
+++ b/core/src/test/resources/1.1/basics/Code Blocks.xhtml
@@ -1,18 +1,18 @@
-<pre><code>code block on the first line
-</code></pre>
-
-<p>Regular text.</p>
-
-<pre><code>code block indented by spaces
-</code></pre>
-
-<p>Regular text.</p>
-
-<pre><code>the lines in this block  
-all contain trailing spaces  
-</code></pre>
-
-<p>Regular Text.</p>
-
-<pre><code>code block on the last line
-</code></pre>
+<pre><code>code block on the first line

+</code></pre>

+

+<p>Regular text.</p>

+

+<pre><code>code block indented by spaces

+</code></pre>

+

+<p>Regular text.</p>

+

+<pre><code>the lines in this block  

+all contain trailing spaces  

+</code></pre>

+

+<p>Regular Text.</p>

+

+<pre><code>code block on the last line

+</code></pre>

diff --git a/core/src/test/resources/1.1/basics/Code Spans.text b/core/src/test/resources/1.1/basics/Code Spans.text
old mode 100644
new mode 100755
index 5c229c7..8608c02
--- a/core/src/test/resources/1.1/basics/Code Spans.text
+++ b/core/src/test/resources/1.1/basics/Code Spans.text
@@ -1,5 +1,5 @@
-`<test a="` content of attribute `">`
-
-Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span>
-
+`<test a="` content of attribute `">`

+

+Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span>

+

 Here's how you put `` `backticks` `` in a code span.
\ No newline at end of file
diff --git a/core/src/test/resources/1.1/basics/Code Spans.xhtml b/core/src/test/resources/1.1/basics/Code Spans.xhtml
old mode 100644
new mode 100755
index b057457..b6950fd
--- a/core/src/test/resources/1.1/basics/Code Spans.xhtml
+++ b/core/src/test/resources/1.1/basics/Code Spans.xhtml
@@ -1,5 +1,5 @@
-<p><code>&lt;test a="</code> content of attribute <code>"&gt;</code></p>
-
-<p>Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span></p>
-
-<p>Here's how you put <code>`backticks`</code> in a code span.</p>
+<p><code>&lt;test a="</code> content of attribute <code>"&gt;</code></p>

+

+<p>Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span></p>

+

+<p>Here's how you put <code>`backticks`</code> in a code span.</p>

diff --git a/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.text b/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.text
old mode 100644
new mode 100755
index f8a5b27..94acad8
--- a/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.text
+++ b/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.text
@@ -1,8 +1,8 @@
-In Markdown 1.0.0 and earlier. Version
-8. This line turns into a list item.
-Because a hard-wrapped line in the
-middle of a paragraph looked like a
-list item.
-
-Here's one with a bullet.
-* criminey.
+In Markdown 1.0.0 and earlier. Version

+8. This line turns into a list item.

+Because a hard-wrapped line in the

+middle of a paragraph looked like a

+list item.

+

+Here's one with a bullet.

+* criminey.

diff --git a/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.xhtml b/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.xhtml
old mode 100644
new mode 100755
index e21ac79..c7a7277
--- a/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.xhtml
+++ b/core/src/test/resources/1.1/basics/Hard-wrapped paragraphs with list-like lines.xhtml
@@ -1,8 +1,8 @@
-<p>In Markdown 1.0.0 and earlier. Version
-8. This line turns into a list item.
-Because a hard-wrapped line in the
-middle of a paragraph looked like a
-list item.</p>
-
-<p>Here's one with a bullet.
-* criminey.</p>
+<p>In Markdown 1.0.0 and earlier. Version

+8. This line turns into a list item.

+Because a hard-wrapped line in the

+middle of a paragraph looked like a

+list item.</p>

+

+<p>Here's one with a bullet.

+* criminey.</p>

diff --git a/core/src/test/resources/1.1/basics/Horizontal rules.text b/core/src/test/resources/1.1/basics/Horizontal rules.text
old mode 100644
new mode 100755
index 1594bda..6a51dac
--- a/core/src/test/resources/1.1/basics/Horizontal rules.text
+++ b/core/src/test/resources/1.1/basics/Horizontal rules.text
@@ -1,67 +1,67 @@
-Dashes:
-
----
-
- ---
- 
-  ---
-
-   ---
-
-	---
-
-- - -
-
- - - -
- 
-  - - -
-
-   - - -
-
-	- - -
-
-
-Asterisks:
-
-***
-
- ***
- 
-  ***
-
-   ***
-
-	***
-
-* * *
-
- * * *
- 
-  * * *
-
-   * * *
-
-	* * *
-
-
-Underscores:
-
-___
-
- ___
- 
-  ___
-
-   ___
-
-    ___
-
-_ _ _
-
- _ _ _
- 
-  _ _ _
-
-   _ _ _
-
-    _ _ _
+Dashes:

+

+---

+

+ ---

+ 

+  ---

+

+   ---

+

+	---

+

+- - -

+

+ - - -

+ 

+  - - -

+

+   - - -

+

+	- - -

+

+

+Asterisks:

+

+***

+

+ ***

+ 

+  ***

+

+   ***

+

+	***

+

+* * *

+

+ * * *

+ 

+  * * *

+

+   * * *

+

+	* * *

+

+

+Underscores:

+

+___

+

+ ___

+ 

+  ___

+

+   ___

+

+    ___

+

+_ _ _

+

+ _ _ _

+ 

+  _ _ _

+

+   _ _ _

+

+    _ _ _

diff --git a/core/src/test/resources/1.1/basics/Horizontal rules.xhtml b/core/src/test/resources/1.1/basics/Horizontal rules.xhtml
old mode 100644
new mode 100755
index 2dc2ab6..4b5574c
--- a/core/src/test/resources/1.1/basics/Horizontal rules.xhtml
+++ b/core/src/test/resources/1.1/basics/Horizontal rules.xhtml
@@ -1,71 +1,71 @@
-<p>Dashes:</p>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>---
-</code></pre>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>- - -
-</code></pre>
-
-<p>Asterisks:</p>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>***
-</code></pre>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>* * *
-</code></pre>
-
-<p>Underscores:</p>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>___
-</code></pre>
-
-<hr />
-
-<hr />
-
-<hr />
-
-<hr />
-
-<pre><code>_ _ _
-</code></pre>
+<p>Dashes:</p>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>---

+</code></pre>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>- - -

+</code></pre>

+

+<p>Asterisks:</p>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>***

+</code></pre>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>* * *

+</code></pre>

+

+<p>Underscores:</p>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>___

+</code></pre>

+

+<hr />

+

+<hr />

+

+<hr />

+

+<hr />

+

+<pre><code>_ _ _

+</code></pre>

diff --git a/core/src/test/resources/1.1/basics/Images.text b/core/src/test/resources/1.1/basics/Images.text
old mode 100644
new mode 100755
index 5707590..17dac72
--- a/core/src/test/resources/1.1/basics/Images.text
+++ b/core/src/test/resources/1.1/basics/Images.text
@@ -1,26 +1,26 @@
-![Alt text](/path/to/img.jpg)
-
-![Alt text](/path/to/img.jpg "Optional title")
-
-Inline within a paragraph: [alt text](/url/).
-
-![alt text](/url/  "title preceded by two spaces")
-
-![alt text](/url/  "title has spaces afterward"  )
-
-![alt text](</url/>)
-
-![alt text](</url/> "with a title").
-
-![Empty]()
-
-![this is a stupid URL](http://example.com/(parens).jpg)
-
-
-![alt text][foo]
-
-  [foo]: /url/
-
-![alt text][bar]
-
+![Alt text](/path/to/img.jpg)

+

+![Alt text](/path/to/img.jpg "Optional title")

+

+Inline within a paragraph: [alt text](/url/).

+

+![alt text](/url/  "title preceded by two spaces")

+

+![alt text](/url/  "title has spaces afterward"  )

+

+![alt text](</url/>)

+

+![alt text](</url/> "with a title").

+

+![Empty]()

+

+![this is a stupid URL](http://example.com/(parens).jpg)

+

+

+![alt text][foo]

+

+  [foo]: /url/

+

+![alt text][bar]

+

   [bar]: /url/ "Title here"
\ No newline at end of file
diff --git a/core/src/test/resources/1.1/basics/Images.xhtml b/core/src/test/resources/1.1/basics/Images.xhtml
old mode 100644
new mode 100755
index 925bc14..c57674c
--- a/core/src/test/resources/1.1/basics/Images.xhtml
+++ b/core/src/test/resources/1.1/basics/Images.xhtml
@@ -1,21 +1,21 @@
-<p><img src="/path/to/img.jpg" alt="Alt text" /></p>
-
-<p><img src="/path/to/img.jpg" alt="Alt text" title="Optional title" /></p>
-
-<p>Inline within a paragraph: <a href="/url/">alt text</a>.</p>
-
-<p><img src="/url/" alt="alt text" title="title preceded by two spaces" /></p>
-
-<p><img src="/url/" alt="alt text" title="title has spaces afterward" /></p>
-
-<p><img src="/url/" alt="alt text" /></p>
-
-<p><img src="/url/" alt="alt text" title="with a title" />.</p>
-
-<p><img src="" alt="Empty" /></p>
-
-<p><img src="http://example.com/(parens).jpg" alt="this is a stupid URL" /></p>
-
-<p><img src="/url/" alt="alt text" /></p>
-
-<p><img src="/url/" alt="alt text" title="Title here" /></p>
+<p><img src="/path/to/img.jpg" alt="Alt text" /></p>

+

+<p><img src="/path/to/img.jpg" alt="Alt text" title="Optional title" /></p>

+

+<p>Inline within a paragraph: <a href="/url/">alt text</a>.</p>

+

+<p><img src="/url/" alt="alt text" title="title preceded by two spaces" /></p>

+

+<p><img src="/url/" alt="alt text" title="title has spaces afterward" /></p>

+

+<p><img src="/url/" alt="alt text" /></p>

+

+<p><img src="/url/" alt="alt text" title="with a title" />.</p>

+

+<p><img src="" alt="Empty" /></p>

+

+<p><img src="http://example.com/(parens).jpg" alt="this is a stupid URL" /></p>

+

+<p><img src="/url/" alt="alt text" /></p>

+

+<p><img src="/url/" alt="alt text" title="Title here" /></p>

diff --git "a/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.text" "b/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.text"
old mode 100644
new mode 100755
index 3633f81..b151c68
--- "a/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.text"
+++ "b/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.text"
@@ -1,30 +1,30 @@
-Simple block on one line:
-
-<div>foo</div>
-
-And nested without indentation:
-
-<div>
-<div>
-<div>
-foo
-</div>
-<div style=">"/>
-</div>
-<div>bar</div>
-</div>
-
-And with attributes:
-
-<div>
-	<div id="foo">
-	</div>
-</div>
-
-This was broken in 1.0.2b7:
-
-<div class="inlinepage">
-<div class="toggleableend">
-foo
-</div>
-</div>
+Simple block on one line:

+

+<div>foo</div>

+

+And nested without indentation:

+

+<div>

+<div>

+<div>

+foo

+</div>

+<div style=">"/>

+</div>

+<div>bar</div>

+</div>

+

+And with attributes:

+

+<div>

+	<div id="foo">

+	</div>

+</div>

+

+This was broken in 1.0.2b7:

+

+<div class="inlinepage">

+<div class="toggleableend">

+foo

+</div>

+</div>

diff --git "a/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.xhtml" "b/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.xhtml"
old mode 100644
new mode 100755
index 884f14c..a67ff0a
--- "a/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.xhtml"
+++ "b/core/src/test/resources/1.1/basics/Inline HTML \050Advanced\051.xhtml"
@@ -1,30 +1,30 @@
-<p>Simple block on one line:</p>
-
-<div>foo</div>
-
-<p>And nested without indentation:</p>
-
-<div>
-<div>
-<div>
-foo
-</div>
-<div style=">"/>
-</div>
-<div>bar</div>
-</div>
-
-<p>And with attributes:</p>
-
-<div>
-    <div id="foo">
-    </div>
-</div>
-
-<p>This was broken in 1.0.2b7:</p>
-
-<div class="inlinepage">
-<div class="toggleableend">
-foo
-</div>
-</div>
+<p>Simple block on one line:</p>

+

+<div>foo</div>

+

+<p>And nested without indentation:</p>

+

+<div>

+<div>

+<div>

+foo

+</div>

+<div style=">"/>

+</div>

+<div>bar</div>

+</div>

+

+<p>And with attributes:</p>

+

+<div>

+    <div id="foo">

+    </div>

+</div>

+

+<p>This was broken in 1.0.2b7:</p>

+

+<div class="inlinepage">

+<div class="toggleableend">

+foo

+</div>

+</div>

diff --git "a/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.text" "b/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.text"
old mode 100644
new mode 100755
index 14aa2dc..3d2f820
--- "a/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.text"
+++ "b/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.text"
@@ -1,69 +1,69 @@
-Here's a simple block:
-
-<div>
-	foo
-</div>
-
-This should be a code block, though:
-
-	<div>
-		foo
-	</div>
-
-As should this:
-
-	<div>foo</div>
-
-Now, nested:
-
-<div>
-	<div>
-		<div>
-			foo
-		</div>
-	</div>
-</div>
-
-This should just be an HTML comment:
-
-<!-- Comment -->
-
-Multiline:
-
-<!--
-Blah
-Blah
--->
-
-Code block:
-
-	<!-- Comment -->
-
-Just plain comment, with trailing spaces on the line:
-
-<!-- foo -->   
-
-Code:
-
-	<hr />
-	
-Hr's:
-
-<hr>
-
-<hr/>
-
-<hr />
-
-<hr>   
-
-<hr/>  
-
-<hr /> 
-
-<hr class="foo" id="bar" />
-
-<hr class="foo" id="bar"/>
-
-<hr class="foo" id="bar" >
-
+Here's a simple block:

+

+<div>

+	foo

+</div>

+

+This should be a code block, though:

+

+	<div>

+		foo

+	</div>

+

+As should this:

+

+	<div>foo</div>

+

+Now, nested:

+

+<div>

+	<div>

+		<div>

+			foo

+		</div>

+	</div>

+</div>

+

+This should just be an HTML comment:

+

+<!-- Comment -->

+

+Multiline:

+

+<!--

+Blah

+Blah

+-->

+

+Code block:

+

+	<!-- Comment -->

+

+Just plain comment, with trailing spaces on the line:

+

+<!-- foo -->   

+

+Code:

+

+	<hr />

+	

+Hr's:

+

+<hr>

+

+<hr/>

+

+<hr />

+

+<hr>   

+

+<hr/>  

+

+<hr /> 

+

+<hr class="foo" id="bar" />

+

+<hr class="foo" id="bar"/>

+

+<hr class="foo" id="bar" >

+

diff --git "a/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.xhtml" "b/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.xhtml"
old mode 100644
new mode 100755
index 6bf78f8..eeb873d
--- "a/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.xhtml"
+++ "b/core/src/test/resources/1.1/basics/Inline HTML \050Simple\051.xhtml"
@@ -1,72 +1,72 @@
-<p>Here's a simple block:</p>
-
-<div>
-    foo
-</div>
-
-<p>This should be a code block, though:</p>
-
-<pre><code>&lt;div&gt;
-    foo
-&lt;/div&gt;
-</code></pre>
-
-<p>As should this:</p>
-
-<pre><code>&lt;div&gt;foo&lt;/div&gt;
-</code></pre>
-
-<p>Now, nested:</p>
-
-<div>
-    <div>
-        <div>
-            foo
-        </div>
-    </div>
-</div>
-
-<p>This should just be an HTML comment:</p>
-
-<!-- Comment -->
-
-<p>Multiline:</p>
-
-<!--
-Blah
-Blah
--->
-
-<p>Code block:</p>
-
-<pre><code>&lt;!-- Comment --&gt;
-</code></pre>
-
-<p>Just plain comment, with trailing spaces on the line:</p>
-
-<!-- foo -->   
-
-<p>Code:</p>
-
-<pre><code>&lt;hr /&gt;
-</code></pre>
-
-<p>Hr's:</p>
-
-<hr>
-
-<hr/>
-
-<hr />
-
-<hr>   
-
-<hr/>  
-
-<hr /> 
-
-<hr class="foo" id="bar" />
-
-<hr class="foo" id="bar"/>
-
-<hr class="foo" id="bar" >
+<p>Here's a simple block:</p>

+

+<div>

+    foo

+</div>

+

+<p>This should be a code block, though:</p>

+

+<pre><code>&lt;div&gt;

+    foo

+&lt;/div&gt;

+</code></pre>

+

+<p>As should this:</p>

+

+<pre><code>&lt;div&gt;foo&lt;/div&gt;

+</code></pre>

+

+<p>Now, nested:</p>

+

+<div>

+    <div>

+        <div>

+            foo

+        </div>

+    </div>

+</div>

+

+<p>This should just be an HTML comment:</p>

+

+<!-- Comment -->

+

+<p>Multiline:</p>

+

+<!--

+Blah

+Blah

+-->

+

+<p>Code block:</p>

+

+<pre><code>&lt;!-- Comment --&gt;

+</code></pre>

+

+<p>Just plain comment, with trailing spaces on the line:</p>

+

+<!-- foo -->   

+

+<p>Code:</p>

+

+<pre><code>&lt;hr /&gt;

+</code></pre>

+

+<p>Hr's:</p>

+

+<hr>

+

+<hr/>

+

+<hr />

+

+<hr>   

+

+&