diff options
Diffstat (limited to 'parsers')
-rw-r--r-- | parsers/BackButton.java | 30 | ||||
-rw-r--r-- | parsers/Footer.java | 8 | ||||
-rw-r--r-- | parsers/Header.java | 6 |
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"); |