summaryrefslogtreecommitdiffstats
path: root/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'parsers')
-rw-r--r--parsers/BackButton.java23
-rw-r--r--parsers/CodeBlocks.java27
-rw-r--r--parsers/DocumentDate.java17
-rw-r--r--parsers/DocumentName.java41
-rw-r--r--parsers/Footer.java23
-rw-r--r--parsers/Header.java25
-rw-r--r--parsers/Headings.java21
-rw-r--r--parsers/Images.java23
-rw-r--r--parsers/LineBreak.java23
-rw-r--r--parsers/Links.java23
-rw-r--r--parsers/NullIt.java23
-rw-r--r--parsers/Paragraphs.java31
-rw-r--r--parsers/ParserList.java22
-rw-r--r--parsers/WordDecoration.java27
14 files changed, 319 insertions, 30 deletions
diff --git a/parsers/BackButton.java b/parsers/BackButton.java
index 8bf645f..6dd37d1 100644
--- a/parsers/BackButton.java
+++ b/parsers/BackButton.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.io.*;
@@ -19,4 +40,4 @@ public class BackButton implements Parser {
PresentFile.backButton = button.toString();
return fileContent;
}
-} \ No newline at end of file
+}
diff --git a/parsers/CodeBlocks.java b/parsers/CodeBlocks.java
index 50794a5..2c47099 100644
--- a/parsers/CodeBlocks.java
+++ b/parsers/CodeBlocks.java
@@ -1,10 +1,31 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
public class CodeBlocks implements Parser {
public String parse(String fileContent) {
- Pattern pattern = Pattern.compile("(\\#\\#\\#)\\n*(.+?)\\n*(\\1)",
+ Pattern pattern = Pattern.compile("(\\#\\#\\#)(.+?)(\\1)",
Pattern.DOTALL);
Matcher matcher = pattern.matcher(fileContent);
LineBreak lbreak = new LineBreak();
@@ -12,7 +33,7 @@ public class CodeBlocks implements Parser {
StringBuilder replacement = new StringBuilder();
while(matcher.find()) {
replacement.delete(0,replacement.length());
- replacement.append("<div class=\\\"code\\\">");
+ replacement.append("<div class=\"code\">");
replacement.append(quote(lbreak.parse(matcher.group(2))));
replacement.append("</div>");
matcher.appendReplacement(sbuffer,replacement.toString());
@@ -39,4 +60,4 @@ public class CodeBlocks implements Parser {
matcher.appendTail(sbuffer);
return sbuffer.toString();
}
-} \ No newline at end of file
+}
diff --git a/parsers/DocumentDate.java b/parsers/DocumentDate.java
new file mode 100644
index 0000000..717fe25
--- /dev/null
+++ b/parsers/DocumentDate.java
@@ -0,0 +1,17 @@
+package scruf.parsers;
+
+import java.util.regex.*;
+
+public class DocumentDate implements Parser {
+ public String parse(String fileContent) {
+ String timeTag = "<div class=\"time\"> $2 </div> \n";
+ StringBuffer sbuffer = new StringBuffer();
+ Pattern pattern = Pattern.compile("(\\$\\$\\$)(.+?)(\\1)");
+ Matcher matcher = pattern.matcher(fileContent);
+ while(matcher.find()) {
+ matcher.appendReplacement(sbuffer,timeTag);
+ }
+ matcher.appendTail(sbuffer);
+ return sbuffer.toString();
+ }
+} \ No newline at end of file
diff --git a/parsers/DocumentName.java b/parsers/DocumentName.java
index d0360c1..09eaf22 100644
--- a/parsers/DocumentName.java
+++ b/parsers/DocumentName.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.io.*;
@@ -5,14 +26,14 @@ import scruf.io.*;
public class DocumentName implements Parser {
public String parse(String fileContent) {
- BufferedReader read =
- new BufferedReader(new StringReader(fileContent));
- try {
- PresentFile.name = read.readLine();
- }catch(IOException e) {
- System.err.println("Error reading string "+e);
- }
- fileContent = new NullIt().nullIt(fileContent,PresentFile.name);
- return fileContent;
+ BufferedReader read =
+ new BufferedReader(new StringReader(fileContent));
+ try {
+ PresentFile.name = read.readLine();
+ }catch(IOException e) {
+ System.err.println("Error reading string "+e);
+ }
+ fileContent = new NullIt().nullIt(fileContent,PresentFile.name);
+ return fileContent;
}
-} \ No newline at end of file
+}
diff --git a/parsers/Footer.java b/parsers/Footer.java
index 568d0e7..7f079bd 100644
--- a/parsers/Footer.java
+++ b/parsers/Footer.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
@@ -14,4 +35,4 @@ public class Footer implements Parser {
return fileContent;
}
-} \ No newline at end of file
+}
diff --git a/parsers/Header.java b/parsers/Header.java
index 10fed98..eebec5d 100644
--- a/parsers/Header.java
+++ b/parsers/Header.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import scruf.io.*;
@@ -34,7 +55,7 @@ public class Header implements Parser {
sbuilder.append("</article>\n");
// add "powered by scruf" at bottom of page.
sbuilder.append("\n<div class=\"scruf\">\n");
- sbuilder.append("powered by scruf");
+ sbuilder.append("<a href=\"/scruf/\">powered by scruf</a>");
sbuilder.append("\n</div>\n");
// Close body tag
sbuilder.append("\n</body>\n");
@@ -43,4 +64,4 @@ public class Header implements Parser {
return sbuilder.toString();
}
-} \ No newline at end of file
+}
diff --git a/parsers/Headings.java b/parsers/Headings.java
index b23966c..51f3c5b 100644
--- a/parsers/Headings.java
+++ b/parsers/Headings.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
diff --git a/parsers/Images.java b/parsers/Images.java
index 803537c..0cfa5cf 100644
--- a/parsers/Images.java
+++ b/parsers/Images.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
@@ -30,4 +51,4 @@ public class Images implements Parser {
matcher.appendTail(sbuffer);
return sbuffer.toString();
}
-} \ No newline at end of file
+}
diff --git a/parsers/LineBreak.java b/parsers/LineBreak.java
index 09aee07..b2394d9 100644
--- a/parsers/LineBreak.java
+++ b/parsers/LineBreak.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
@@ -13,4 +34,4 @@ public class LineBreak implements Parser {
matcher.appendTail(sbuffer);
return sbuffer.toString();
}
-} \ No newline at end of file
+}
diff --git a/parsers/Links.java b/parsers/Links.java
index 0253846..396677f 100644
--- a/parsers/Links.java
+++ b/parsers/Links.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
@@ -30,4 +51,4 @@ public class Links implements Parser {
matcher.appendTail(sbuffer);
return sbuffer.toString();
}
-} \ No newline at end of file
+}
diff --git a/parsers/NullIt.java b/parsers/NullIt.java
index 29fdf00..ef710d7 100644
--- a/parsers/NullIt.java
+++ b/parsers/NullIt.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
@@ -12,4 +33,4 @@ public class NullIt {
}
return content;
}
-} \ No newline at end of file
+}
diff --git a/parsers/Paragraphs.java b/parsers/Paragraphs.java
index 02d6de6..29a546a 100644
--- a/parsers/Paragraphs.java
+++ b/parsers/Paragraphs.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
@@ -18,7 +39,7 @@ public class Paragraphs implements Parser {
/**
* This htmlTagPattern has a regex to deduct a html tag.
*/
- Pattern htmlTagPattern = Pattern.compile("^\\<.+?\\>\\n");
+ Pattern htmlTagPattern = Pattern.compile("^\\<.+?\\>(\\n?)");
Matcher matcher = pattern.matcher(fileContent);
Matcher htmlTag;
StringBuffer sbuffer = new StringBuffer();
@@ -27,7 +48,7 @@ public class Paragraphs implements Parser {
* give the paragraph that is identified htmlTagPattern
* and see whether the "paragraph" that is actually
* deducted is some other html block like <h1> (heading)
- * or <blockquote>, etcetera. "matcher.find()" has
+ * or <blockquote>, etcetera. If "matcher.find()" has
* actually found a html block then we don't need to do
* the conversion.
*/
@@ -37,12 +58,10 @@ public class Paragraphs implements Parser {
* then we do the conversion.
*/
if(!htmlTag.find()) {
- matcher.appendReplacement(sbuffer,paragraph);
- }else {
- System.out.println("MATCH$"+matcher.group()+" MATCH$$");
+ matcher.appendReplacement(sbuffer,paragraph);
}
}
matcher.appendTail(sbuffer);
return sbuffer.toString();
}
-} \ No newline at end of file
+}
diff --git a/parsers/ParserList.java b/parsers/ParserList.java
index aff198d..f57a6b8 100644
--- a/parsers/ParserList.java
+++ b/parsers/ParserList.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.*;
@@ -8,6 +29,7 @@ public class ParserList {
parsers = new ArrayList<Parser>();
// add Parsers. NOTE: parser order is significant.
parsers.add(new DocumentName());
+ parsers.add(new DocumentDate());
parsers.add(new WordDecoration());
parsers.add(new CodeBlocks());
parsers.add(new Headings());
diff --git a/parsers/WordDecoration.java b/parsers/WordDecoration.java
index 66a5183..1df8cc6 100644
--- a/parsers/WordDecoration.java
+++ b/parsers/WordDecoration.java
@@ -1,3 +1,24 @@
+/*+
+ * Copyright 2012 rsiddharth
+ * Email: <rsiddharth@ninthfloor.org>
+ *
+ * This file is part of Scruf.
+ *
+ * Scruf is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
package scruf.parsers;
import java.util.regex.*;
@@ -13,11 +34,11 @@ public class WordDecoration implements Parser {
tagMap.put("__","<u>$7</u>");
tagMap.put("'''","<b>$7</b>");
tagMap.put("%%%","<blockquote>$7</blockquote>");
- tagMap.put("`","<div class=\\\"monospace\\\">$7</div>");
+ tagMap.put("`","<span class=\"monospace\">$7</span>");
}
public String parse(String fileContent) {
Pattern pattern =
- Pattern.compile("((\\'\\'\\')|(\\_\\_)|(\\'\\')|(\\%\\%\\%))|(\\`))(.+?)((\\2)|(\\3)|(\\4)|(\\5)|(\\6))",
+ Pattern.compile("((\\'\\'\\')|(\\_\\_)|(\\'\\')|(\\%\\%\\%)|(\\`))(.+?)((\\2)|(\\3)|(\\4)|(\\5)|(\\6))",
Pattern.DOTALL);
Matcher matcher = pattern.matcher(fileContent);
StringBuffer sbuffer = new StringBuffer();
@@ -29,4 +50,4 @@ public class WordDecoration implements Parser {
matcher.appendTail(sbuffer);
return sbuffer.toString();
}
-} \ No newline at end of file
+}