Parcourir la source

WebServer: Use table tags in directory listings

Use tables to align stuff instead of putting everything in a <pre>.
Andreas Kling il y a 5 ans
Parent
commit
5c7d54d50d
1 fichiers modifiés avec 8 ajouts et 9 suppressions
  1. 8 9
      Services/WebServer/Client.cpp

+ 8 - 9
Services/WebServer/Client.cpp

@@ -167,18 +167,16 @@ void Client::handle_directory_listing(const String& requested_path, const String
     builder.append(escape_html_entities(requested_path));
     builder.append("</h1>\n");
     builder.append("<hr>\n");
-    builder.append("<pre>\n");
+    builder.append("<table>\n");
 
     Core::DirIterator dt(real_path);
     while (dt.has_next()) {
         auto name = dt.next_path();
-        builder.append("<a href=\"");
+        builder.append("<tr><td><a href=\"");
         builder.append(urlencode(name));
         builder.append("\">");
         builder.append(escape_html_entities(name));
-        builder.append("</a>");
-        for (size_t i = 0; i < (40 - name.length()); ++i)
-            builder.append(' ');
+        builder.append("</a></td>");
 
         StringBuilder path_builder;
         path_builder.append(real_path);
@@ -190,13 +188,14 @@ void Client::handle_directory_listing(const String& requested_path, const String
         if (rc < 0) {
             perror("stat");
         }
-        builder.appendf("  %10d", st.st_size);
-        builder.appendf("  ");
+        builder.appendf("<td>%10d</td>", st.st_size);
+        builder.append("<td>");
         builder.append(Core::DateTime::from_timestamp(st.st_mtime).to_string());
-        builder.append("\n");
+        builder.append("</td>");
+        builder.append("</tr>\n");
     }
 
-    builder.append("</pre>\n");
+    builder.append("</table>\n");
     builder.append("<hr>\n");
     builder.append("<i>Generated by WebServer (SerenityOS)</i>\n");
     builder.append("</body>\n");