summaryrefslogtreecommitdiffstats
path: root/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'parsers')
-rw-r--r--parsers/BackButton.java30
-rw-r--r--parsers/Footer.java8
-rw-r--r--parsers/Header.java6
3 files changed, 22 insertions, 22 deletions
diff --git a/parsers/BackButton.java b/parsers/BackButton.java
index 6dd37d1..0bba9b8 100644
--- a/parsers/BackButton.java
+++ b/parsers/BackButton.java
@@ -23,21 +23,27 @@ package scruf.parsers;
import java.io.*;
import scruf.io.*;
+import scruf.status.*;
public class BackButton implements Parser {
// this method doesn't modify the filContent.
public String parse(String fileContent) {
- StringBuilder button = new StringBuilder();
- button.append("\n<div class=\"back\">\n");
- button.append("<a href=\"");
- if(PresentFile.file.getName().equals("index")) {
- button.append("../\"> home ");
- }else {
- button.append("./\"> back ");
- }
- button.append("</a>\n");
- button.append("</div>\n");
- PresentFile.backButton = button.toString();
- return fileContent;
+ StringBuilder fileBuilder = new StringBuilder(fileContent);
+ /**
+ * Back button is added only if the present directory being
+ * parsed is not 'root'.
+ */
+ if(DirectoryInfo.level!=0) {
+ fileBuilder.append("\n<div class=\"back\">\n");
+ fileBuilder.append("<a href=\"");
+ if(PresentFile.file.getName().equals("index")) {
+ fileBuilder.append("../\"> back ");
+ }else {
+ fileBuilder.append("./\"> back ");
+ }
+ fileBuilder.append("</a>\n");
+ fileBuilder.append("</div>\n");
+ }
+ return fileBuilder.toString();
}
}
diff --git a/parsers/Footer.java b/parsers/Footer.java
index 7f079bd..6c1db65 100644
--- a/parsers/Footer.java
+++ b/parsers/Footer.java
@@ -28,11 +28,11 @@ public class Footer implements Parser {
Pattern pattern = Pattern.compile("\\-{70}\\n(.+)\\n\\-{70}");
Matcher matcher = pattern.matcher(fileContent);
StringBuffer sbuffer = new StringBuffer();
+ String footer=null;
while(matcher.find()) {
- PresentFile.footer = "\n<footer>"+matcher.group(1)+"</footer>\n";
- fileContent = new NullIt().nullIt(fileContent,matcher.group());
+ footer = "\n<footer>"+matcher.group(1)+"</footer>\n";
+ matcher.appendReplacement(sbuffer,footer);
}
-
- return fileContent;
+ return sbuffer.toString();
}
}
diff --git a/parsers/Header.java b/parsers/Header.java
index 5cf2c55..3d9b846 100644
--- a/parsers/Header.java
+++ b/parsers/Header.java
@@ -46,12 +46,6 @@ public class Header implements Parser {
sbuilder.append("<article>\n");
// insert File Content.
sbuilder.append(fileContent);
- // add footer if footer is available.
- if(PresentFile.footer!=null) {
- sbuilder.append(PresentFile.footer);
- }
- // insert back button.
- sbuilder.append(PresentFile.backButton);
sbuilder.append("</article>\n");
// add "powered by scruf" at bottom of page.
sbuilder.append("\n<div class=\"scruf\">\n");