Browse Source

manual: keyword index HTML'ized

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@62856 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Neteler 10 years ago
parent
commit
2c1d781950
2 changed files with 31 additions and 3 deletions
  1. 29 2
      lib/gis/parser_html.c
  2. 2 1
      man/build_keywords.py

+ 29 - 2
lib/gis/parser_html.c

@@ -323,12 +323,15 @@ void print_escaped_for_html_options(FILE * f, const char *str)
 
 
 void print_escaped_for_html_keywords(FILE * f, const char * str)
 void print_escaped_for_html_keywords(FILE * f, const char * str)
 {
 {
+    /* generate HTML links */
+
     /* HTML link only for second keyword */
     /* HTML link only for second keyword */
     if (st->n_keys > 1 &&
     if (st->n_keys > 1 &&
         strcmp(st->module_info.keywords[1], str) == 0) {
         strcmp(st->module_info.keywords[1], str) == 0) {
     
     
         const char *s;
         const char *s;
         
         
+        /* TODO: fprintf(f, _("topic: ")); */
         fprintf(f, "<a href=\"topic_");
         fprintf(f, "<a href=\"topic_");
         for (s = str; *s; s++) {
         for (s = str; *s; s++) {
             switch (*s) {
             switch (*s) {
@@ -339,8 +342,32 @@ void print_escaped_for_html_keywords(FILE * f, const char * str)
         }
         }
         fprintf(f, ".html\">%s</a>", str);
         fprintf(f, ".html\">%s</a>", str);
     }
     }
-    else {
-        fprintf(f, "%s", str);
+    else { /* first and other than second keyword */
+         if (st->n_keys > 0 &&
+             strcmp(st->module_info.keywords[0], str) == 0) {
+             /* command family */
+             const char *s;
+
+             fprintf(f, "<a href=\"");
+             for (s = str; *s; s++) {
+                 switch (*s) {
+                     do_escape(' ', "_");
+                 default:
+                     fputc(*s, f);
+                 }
+             }
+             fprintf(f, ".html\">%s</a>", str);
+         } else {
+             /* keyword index */
+             if (st->n_keys > 0 &&
+                strcmp(st->module_info.keywords[2], str) == 0) {
+
+                /* TODO: fprintf(f, _("keywords: ")); */
+                fprintf(f, "<a href=\"keywords.html#%s\">%s</a>", str, str);
+             } else {
+                fprintf(f, "<a href=\"keywords.html#%s\">%s</a>", str, str);
+             }
+         }
     }
     }
 }
 }
 #undef do_escape
 #undef do_escape

+ 2 - 1
man/build_keywords.py

@@ -34,13 +34,14 @@ for fname in htmlfiles:
         keys = lines[index_keys].split(',')
         keys = lines[index_keys].split(',')
     except:
     except:
         continue
         continue
+    print keys
     for key in keys:
     for key in keys:
         key = key.strip()
         key = key.strip()
         try:
         try:
             key = key.split('>')[1].split('<')[0]
             key = key.split('>')[1].split('<')[0]
         except:
         except:
             pass
             pass
-        key = "%s%s" % (key[0].upper(), key[1:])
+        #key = "%s%s" % (key[0].upper(), key[1:])
         if key not in keywords.keys():
         if key not in keywords.keys():
             keywords[key] = []
             keywords[key] = []
             keywords[key].append(fname)
             keywords[key].append(fname)