# HG changeset patch # User hauberg # Date 1243783078 0 # Node ID b1402d7ce6ef038c628cda81e2114dc79bda820f # Parent 38708a4d861b6df8037888b9dac6e29e85cd7320 Improve package index page diff -r 38708a4d861b -r b1402d7ce6ef extra/generate_html/inst/generate_html_manual.m --- a/extra/generate_html/inst/generate_html_manual.m Sat May 30 09:53:50 2009 +0000 +++ b/extra/generate_html/inst/generate_html_manual.m Sun May 31 15:17:58 2009 +0000 @@ -116,7 +116,8 @@ root = get_root (outdir, full_fun_dir); options.include_package_list_item = false; options.include_package_page = false; - options.include_overview = false; + options.include_overview = false; + options.include_package_license = false; for k = 1:length (index) if (!isempty (index {k})) printf ("Chapter: %s\n", index {k}.name); fflush (stdout); diff -r 38708a4d861b -r b1402d7ce6ef extra/generate_html/inst/generate_package_html.m --- a/extra/generate_html/inst/generate_package_html.m Sat May 30 09:53:50 2009 +0000 +++ b/extra/generate_html/inst/generate_package_html.m Sun May 31 15:17:58 2009 +0000 @@ -240,28 +240,155 @@ fprintf (fid, "%s\n", header); fprintf (fid, "

%s

\n\n", desc.name); - fprintf (fid, "\n"); - fprintf (fid, "\n", desc.name); - fprintf (fid, "\n", list.version); + + fprintf (fid, "
Package Name:%s
Package Version:%s
\n"); + fprintf (fid, "\n\n"); + + fprintf (fid, "\n"); + fprintf (fid, "\n"); + fprintf (fid, "
\n"); + fprintf (fid, "
\n"); + fprintf (fid, "
%s
\n", desc.name); + fprintf (fid, "
\n"); + fprintf (fid, " \n"); + fprintf (fid, " \n", + list.version); + fprintf (fid, " \n", + list.date); + fprintf (fid, " \n", + list.author); + fprintf (fid, " \n", + list.maintainer); + fprintf (fid, " \n", list.license); + fprintf (fid, "%s\n", list.license); + else + fprintf (fid, "Read license\n"); endif - + fprintf (fid, "
Package Version:%s
Last Release Date:%s
Package Author:%s
Package Maintainer:%s
License:"); if (isfield (list, "license")) - fprintf (fid, "
Package License:%s
\n"); + fprintf (fid, "
\n"); + fprintf (fid, "
\n"); + fprintf (fid, "
\n"); if (isfield (options, "download_link")) + fprintf (fid, "
\n"); + fprintf (fid, " \n", link); + fprintf (fid, " \n"); + fprintf (fid, " Download Package\n"); + fprintf (fid, " \n"); + fprintf (fid, "
\n"); + fprintf (fid, " \n"); + fprintf (fid, " \n"); link = strrep (options.download_link, "%name", desc.name); link = strrep (link, "%version", desc.version); - fprintf (fid, "
\"Download\"/"); - fprintf (fid, "Download this package
\n"); + fprintf (fid, "
\n"); + endif + fprintf (fid, "
\n"); + fprintf (fid, "
\n"); + fprintf (fid, "
\n"); + fprintf (fid, " \n"); + fprintf (fid, " \n"); + fprintf (fid, " \n", overview_filename); + fprintf (fid, " Function Reference\n"); + fprintf (fid, " \n"); + fprintf (fid, "
\n"); + fprintf (fid, "
\n"); + fprintf (fid, "
\n\n"); + + fprintf (fid, "

Description

\n"); + fprintf (fid, "
\n") + fprintf (fid, list.description); + fprintf (fid, "
\n\n") + + fprintf (fid, "

Details

\n"); + fprintf (fid, " \n"); + + if (isfield (list, "depends")) + fprintf (fid, " \n"); + endif + + if (isfield (list, "buildrequires")) + fprintf (fid, " \n", list.buildrequires); + endif + + if (isfield (list, "autoload")) + if (list.autoload) + a = "Yes"; + else + a = "No"; + endif + fprintf (fid, " \n", a); + endif + + fprintf (fid, "
Dependencies: \n"); + for k = 1:length (list.depends) + p = list.depends {k}.package; + if (isfield (list.depends {k}, "operator") && isfield (list.depends {k}, "version")) + o = list.depends {k}.operator; + v = list.depends {k}.version; + vt = sprintf ("(%s %s) ", o, v); + else + vt = ""; + endif + + if (strcmpi (p, "octave")) + fprintf (fid, "Octave "); + else + fprintf (fid, "%s ", p, p); + endif + fprintf (fid, vt); + endfor + fprintf (fid, "
Build Dependencies:%s
Autoload:%s
\n\n"); + + fprintf (fid, "\n%s\n", footer); + fclose (fid); + endif + + ###################### + ## Write COPYING file ## + ###################### + if (isfield (options, "include_package_license") && options.include_package_license) + ## Get detailed information about the package + all_list = pkg ("list"); + list = []; + for k = 1:length (all_list) + if (strcmp (all_list {k}.name, packname)) + list = all_list {k}; + endif + endfor + if (isempty (list)) + error ("generate_package_html: couldn't locate package '%s'", packname); endif - fprintf (fid, "\"Function"); - fprintf (fid, "Read package function reference\n", overview_filename); + ## Read license + filename = fullfile (list.dir, "packinfo", "COPYING"); + fid = fopen (filename, "r"); + if (fid < 0) + error ("generate_package_html: couldn't open license for reading"); + endif + contents = char (fread (fid).'); + fclose (fid); + + ## Open output file + copying_filename = "COPYING.html"; - fprintf (fid, "\n"); + if (!exist (fullfile (outdir, packname), "dir")) + mkdir (fullfile (outdir, packname)); + endif + + fid = fopen (fullfile (outdir, packname, copying_filename), "w"); + if (fid < 0) + error ("generate_package_html: couldn't open COPYING file for writing"); + endif - fprintf (fid, "
\n"); - fprintf (fid, "%s\n
\n", desc.description); + ## Write output + [header, title, footer] = get_index_header_title_and_footer (options, desc.name, "../"); + + fprintf (fid, "%s\n", header); + fprintf (fid, "

License for '%s' Package

\n\n", desc.name); + fprintf (fid, "
%s
\n\n", contents); + fprintf (fid, "\n%s\n", footer); fclose (fid); endif diff -r 38708a4d861b -r b1402d7ce6ef extra/generate_html/inst/get_html_options.m --- a/extra/generate_html/inst/get_html_options.m Sat May 30 09:53:50 2009 +0000 +++ b/extra/generate_html/inst/get_html_options.m Sun May 31 15:17:58 2009 +0000 @@ -142,6 +142,7 @@ ## Options for index package options.download_link = "http://downloads.sourceforge.net/octave/%name-%version.tar.gz?download"; options.include_package_page = true; + options.include_package_license = true; case "octave" options.header = "__HEADER__(`%title')";