Mercurial > forge
changeset 5693:80b423fb1efe octave-forge
Allow the manual to be generated
author | hauberg |
---|---|
date | Fri, 29 May 2009 08:24:57 +0000 |
parents | 31301bd91095 |
children | 38708a4d861b |
files | extra/generate_html/inst/generate_html_manual.m extra/generate_html/inst/generate_package_html.m extra/generate_html/inst/get_html_options.m |
diffstat | 3 files changed, 93 insertions(+), 80 deletions(-) [+] |
line wrap: on
line diff
--- a/extra/generate_html/inst/generate_html_manual.m Fri May 29 07:19:26 2009 +0000 +++ b/extra/generate_html/inst/generate_html_manual.m Fri May 29 08:24:57 2009 +0000 @@ -114,6 +114,9 @@ ## Generate the documentation root = get_root (outdir, full_fun_dir); + options.include_package_list_item = false; + options.include_package_page = false; + options.include_overview = false; for k = 1:length (index) if (!isempty (index {k})) printf ("Chapter: %s\n", index {k}.name); fflush (stdout);
--- a/extra/generate_html/inst/generate_package_html.m Fri May 29 07:19:26 2009 +0000 +++ b/extra/generate_html/inst/generate_package_html.m Fri May 29 08:24:57 2009 +0000 @@ -82,10 +82,6 @@ mkdir (outdir); endif - if (!exist (fullfile (outdir, packname), "dir")) - mkdir (fullfile (outdir, packname)); - endif - [local_fundir, fundir] = mk_function_dir (outdir, options); ## If options is a string, call get_html_options @@ -134,61 +130,66 @@ ######################### ## Write overview file ## ######################### - overview_filename = get_overview_filename (options, desc.name); + if (isfield (options, "include_overview") && options.include_overview) + overview_filename = get_overview_filename (options, desc.name); + + if (!exist (fullfile (outdir, packname), "dir")) + mkdir (fullfile (outdir, packname)); + endif + + fid = fopen (fullfile (outdir, packname, overview_filename), "w"); + if (fid < 0) + error ("generate_package_html: couldn't open overview file for writing"); + endif + + [header, title, footer] = get_overview_header_title_and_footer (options, desc.name, "../"); + + fprintf (fid, "%s\n", header); + fprintf (fid, "<h2 class=\"tbdesc\">%s</h2>\n\n", desc.name); - fid = fopen (fullfile (outdir, packname, overview_filename), "w"); - if (fid < 0) - error ("generate_package_html: couldn't open overview file for writing"); + fprintf (fid, " <div class=\"package_description\">\n"); + fprintf (fid, " %s\n", desc.description); + fprintf (fid, " </div>\n\n"); + + fprintf (fid, " <ul>\n"); + for k = 1:num_categories + category = desc.provides {k}.category; + fprintf (fid, " <li><a href=\"#%s\">%s</a></li>\n", anchors {k}, category); + endfor + fprintf (fid, " </ul>\n\n"); + + ## Generate function list by category + for k = 1:num_categories + F = desc.provides {k}.functions; + category = desc.provides {k}.category; + fprintf (fid, " <h3 class=\"category\"><a name=\"%s\">%s</a></h3>\n\n", + anchors {k}, category); + + ## For each function in category + for l = 1:length (F) + fun = F {l}; + if (implemented {k}{l}) + link = sprintf ("../%s/%s.html", local_fundir, fun); + fprintf (fid, " <div class=\"func\"><b><a href=\"%s\">%s</a></b></div>\n", + link, fun); + fprintf (fid, " <div class=\"ftext\">%s</div>\n\n", + get_first_help_sentence (fun, 200)); + else + fprintf (fid, " <div class=\"func\"><b>%s</b></div>\n", fun); + fprintf (fid, " <div class=\"ftext\">Not implemented.</div>\n\n"); + endif + endfor + endfor + + fprintf (fid, "\n%s\n", footer); + fclose (fid); endif - [header, title, footer] = get_overview_header_title_and_footer (options, desc.name, "../"); - - fprintf (fid, "%s\n", header); - fprintf (fid, "<h2 class=\"tbdesc\">%s</h2>\n\n", desc.name); - - fprintf (fid, " <div class=\"package_description\">\n"); - fprintf (fid, " %s\n", desc.description); - fprintf (fid, " </div>\n\n"); - - fprintf (fid, " <ul>\n"); - for k = 1:num_categories - category = desc.provides {k}.category; - fprintf (fid, " <li><a href=\"#%s\">%s</a></li>\n", anchors {k}, category); - endfor - fprintf (fid, " </ul>\n\n"); - - ## Generate function list by category - for k = 1:num_categories - F = desc.provides {k}.functions; - category = desc.provides {k}.category; - fprintf (fid, " <h3 class=\"category\"><a name=\"%s\">%s</a></h3>\n\n", - anchors {k}, category); - - ## For each function in category - for l = 1:length (F) - fun = F {l}; - if (implemented {k}{l}) - link = sprintf ("../%s/%s.html", local_fundir, fun); - fprintf (fid, " <div class=\"func\"><b><a href=\"%s\">%s</a></b></div>\n", - link, fun); - fprintf (fid, " <div class=\"ftext\">%s</div>\n\n", - get_first_help_sentence (fun, 200)); - else - fprintf (fid, " <div class=\"func\"><b>%s</b></div>\n", fun); - fprintf (fid, " <div class=\"ftext\">Not implemented.</div>\n\n"); - endif - endfor - endfor - - fprintf (fid, "\n%s\n", footer); - fclose (fid); - ##################################################### ## Write short description for forge overview page ## ##################################################### - if (options.include_package_list_item) - + if (isfield (options, "include_package_list_item") && options.include_package_list_item) pkg_list_item_filename = get_pkg_list_item_filename (desc.name, outdir, section); text = strrep (options.package_list_item, "%name", desc.name); @@ -203,46 +204,51 @@ else error ("generate_package_html: unable to open file %s.", pkg_list_item_filename); endif - endif ###################### ## Write index file ## ###################### - index_filename = "index.html"; + if (isfield (options, "include_package_page") && options.include_package_page) + index_filename = "index.html"; - fid = fopen (fullfile (outdir, packname, index_filename), "w"); - if (fid < 0) - error ("generate_package_html: couldn't open index file for writing"); - endif + if (!exist (fullfile (outdir, packname), "dir")) + mkdir (fullfile (outdir, packname)); + endif + + fid = fopen (fullfile (outdir, packname, index_filename), "w"); + if (fid < 0) + error ("generate_package_html: couldn't open index file for writing"); + endif - [header, title, footer] = get_index_header_title_and_footer (options, desc.name, "../"); - - fprintf (fid, "%s\n", header); - fprintf (fid, "<h2 class=\"tbdesc\">%s</h2>\n\n", desc.name); - fprintf (fid, "<table id=\"main_package_table\">\n"); - fprintf (fid, "<tr><td>Package Name:</td><td>%s</td></tr>\n", desc.name); - if (isfield (desc, "version")) - fprintf (fid, "<tr><td>Package Version:</td><td>%s</td></tr>\n", desc.version); - endif + [header, title, footer] = get_index_header_title_and_footer (options, desc.name, "../"); - if (isfield (options, "download_link")) - link = strrep (options.download_link, "%name", desc.name); - link = strrep (link, "%version", desc.version); - fprintf (fid, "<tr><td colspan=\"2\"><img src=\"../download.png\" alt=\"Download\"/>"); - fprintf (fid, "<a href=\"%s\">Download this package</a></td></tr>\n", link); - endif + fprintf (fid, "%s\n", header); + fprintf (fid, "<h2 class=\"tbdesc\">%s</h2>\n\n", desc.name); + fprintf (fid, "<table id=\"main_package_table\">\n"); + fprintf (fid, "<tr><td>Package Name:</td><td>%s</td></tr>\n", desc.name); + if (isfield (desc, "version")) + fprintf (fid, "<tr><td>Package Version:</td><td>%s</td></tr>\n", desc.version); + endif - fprintf (fid, "<tr><td colspan=\"2\"><img src=\"../doc.png\" alt=\"Function Reference\"/>"); - fprintf (fid, "<a href=\"%s\">Read package function reference</a></td></tr>\n", overview_filename); + if (isfield (options, "download_link")) + link = strrep (options.download_link, "%name", desc.name); + link = strrep (link, "%version", desc.version); + fprintf (fid, "<tr><td colspan=\"2\"><img src=\"../download.png\" alt=\"Download\"/>"); + fprintf (fid, "<a href=\"%s\">Download this package</a></td></tr>\n", link); + endif - fprintf (fid, "</table>\n"); + fprintf (fid, "<tr><td colspan=\"2\"><img src=\"../doc.png\" alt=\"Function Reference\"/>"); + fprintf (fid, "<a href=\"%s\">Read package function reference</a></td></tr>\n", overview_filename); + + fprintf (fid, "</table>\n"); - fprintf (fid, "<div id=\"description_box\">\n"); - fprintf (fid, "%s\n</div>\n", desc.description); + fprintf (fid, "<div id=\"description_box\">\n"); + fprintf (fid, "%s\n</div>\n", desc.description); - fprintf (fid, "\n%s\n", footer); - fclose (fid); + fprintf (fid, "\n%s\n", footer); + fclose (fid); + endif endfunction
--- a/extra/generate_html/inst/get_html_options.m Fri May 29 07:19:26 2009 +0000 +++ b/extra/generate_html/inst/get_html_options.m Fri May 29 08:24:57 2009 +0000 @@ -122,6 +122,7 @@ options.include_demos = true; ## Options for overview page + options.include_overview = true; #options.overview_header = strrep (strrep (hh, "%date", date ()), "%body_command", ""); options.manual_body_cmd = 'onload="javascript:fix_top_menu (); javascript:manual_menu ();"'; @@ -140,11 +141,13 @@ ## Options for index package options.download_link = "http://downloads.sourceforge.net/octave/%name-%version.tar.gz?download"; + options.include_package_page = true; case "octave" options.header = "__HEADER__(`%title')"; options.footer = "__OCTAVE_TRAILER__"; options.title = "Function Reference: %name"; + options.include_overview = true; case "docbrowser" ## Basic HTML header @@ -172,6 +175,7 @@ options.include_demos = true; ## Options for overview page + options.include_overview = true; options.overview_header = strrep (hh, "%css", sprintf ("../%s", css)); options.overview_title = "Overview: %name";