Simplify generated HTML and make it shorter.
Instead of adding a column's class to each <DT> we can use with CSS 
nth-child(column_num).
We can get rid of <COL> and use CSS to set width.
The tr.hdr and tr.foot used to set bg-color but we can set it to all <TH>.

Also fix rows zebra: tr:nth-child(even) to make the first row after header 
white.

Signed-off-by: Sergey Ponomarev <stok...@gmail.com>
---
 networking/httpd_indexcgi.c | 39 ++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/networking/httpd_indexcgi.c b/networking/httpd_indexcgi.c
index 34429e9c5..548f982ef 100644
--- a/networking/httpd_indexcgi.c
+++ b/networking/httpd_indexcgi.c
@@ -92,10 +92,12 @@ httpd_indexcgi.c -o index.cgi
   "border-collapse:collapse"                           \
 "}"                                                    \
 "th {"                                                 \
+  "text-align:left;"                                   \
   "border-width:1px;" /* 1px 1px 1px 1px; */           \
   "padding:1px;" /* 1px 1px 1px 1px; */                \
   "border-style:solid;" /* solid solid solid solid; */ \
-  "border-color:black" /* black black black black; */  \
+  "border-color:black;" /* black black black black; */ \
+  "background-color:#eee5de"                           \
 "}"                                                    \
 "td {"                                                 \
              /* top right bottom left */               \
@@ -105,17 +107,15 @@ httpd_indexcgi.c -o index.cgi
   "border-color:black;" /* black black black black; */ \
   "white-space:nowrap"                                 \
 "}"                                                    \
-"tr:nth-child(odd) { background-color:#ffffff }"       \
-"tr.hdr { background-color:#eee5de }"                  \
-"tr.foot { background-color:#eee5de }"                 \
-"th.cnt { text-align:left }"                           \
-"th.sz { text-align:right }"                           \
-"th.dt { text-align:right }"                           \
-"td.sz { text-align:right }"                           \
-"td.dt { text-align:right }"                           \
-"col.nm { width:98% }"                                 \
-"col.sz { width:1% }"                                  \
-"col.dt { width:1% }"                                  \
+"tr:nth-child(even) { background-color:#ffffff }"      \
+"td:nth-child(1) {"                                    \
+  "text-align:left;"                                   \
+  "width:98%"                                          \
+"}"                                                    \
+"td:nth-child(2), td:nth-child(3) {"                   \
+  "text-align:right;"                                  \
+  "width:1%"                                           \
+"}"                                                    \
 "</style>"                                             \
 
 typedef struct dir_list_t {
@@ -322,8 +322,7 @@ int main(int argc, char *argv[])
        fmt_str(
                "</h1>" "\n"
                "<table>" "\n"
-               "<col class=nm><col class=sz><col class=dt>" "\n"
-               "<tr class=hdr><th class=cnt>Name<th class=sz>Size<th 
class=dt>Last modified" "\n");
+               "<tr><th>Name<th>Size<th>Last modified" "\n");
 
        count_dirs = 0;
        count_files = 0;
@@ -340,7 +339,7 @@ int main(int argc, char *argv[])
                } else
                        goto next;
 
-               fmt_str("<tr><td class=nm><a href='");
+               fmt_str("<tr><td><a href='");
                fmt_url(cdir->dl_name); /* %20 etc */
                if (S_ISDIR(cdir->dl_mode))
                        *dst++ = '/';
@@ -348,10 +347,10 @@ int main(int argc, char *argv[])
                fmt_html(cdir->dl_name); /* &lt; etc */
                if (S_ISDIR(cdir->dl_mode))
                        *dst++ = '/';
-               fmt_str("</a><td class=sz>");
+               fmt_str("</a><td>");
                if (S_ISREG(cdir->dl_mode))
                        fmt_ull(cdir->dl_size);
-               fmt_str("<td class=dt>");
+               fmt_str("<td>");
                ptm = gmtime(&cdir->dl_mtime);
                fmt_04u(1900 + ptm->tm_year); *dst++ = '-';
                fmt_02u(ptm->tm_mon + 1); *dst++ = '-';
@@ -365,14 +364,14 @@ int main(int argc, char *argv[])
                cdir++;
        }
 
-       fmt_str("<tr class=foot><th class=cnt>Files: ");
+       fmt_str("<tr><th>Files: ");
        fmt_ull(count_files);
        /* count_dirs - 1: we don't want to count ".." */
        fmt_str(", directories: ");
        fmt_ull(count_dirs - 1);
-       fmt_str("<th class=sz>");
+       fmt_str("<th>");
        fmt_ull(size_total);
-       fmt_str("<th class=dt>\n");
+       fmt_str("<th>\n");
        /* "</table></body></html>" - why bother? */
        guarantee(BUFFER_SIZE * 2); /* flush */
 
-- 
2.30.2

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to