From: <ha...@us...> - 2009-05-13 14:09:10
|
Revision: 5811 http://octave.svn.sourceforge.net/octave/?rev=5811&view=rev Author: hauberg Date: 2009-05-13 13:48:25 +0000 (Wed, 13 May 2009) Log Message: ----------- Change order of input arguments (from Carlo de Falco) Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-12 17:29:10 UTC (rev 5810) +++ trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-13 13:48:25 UTC (rev 5811) @@ -117,7 +117,7 @@ for k = 1:length (index) if (!isempty (index {k})) printf ("Chapter: %s\n", index {k}.name); fflush (stdout); - generate_package_html (index {k}, full_fun_dir, :, options, root); + generate_package_html (index {k}, full_fun_dir, options, :, root); %reference = txi2reference (index {k}.filename); endif endfor Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-12 17:29:10 UTC (rev 5810) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-13 13:48:25 UTC (rev 5811) @@ -48,7 +48,7 @@ ## @seealso{get_html_options} ## @end deftypefn -function generate_package_html (name, outdir = ".", fundir = outdir, options = struct (), root = "") +function generate_package_html (name, outdir = ".", options = struct (), fundir = outdir, root = "") ## Check input if (ischar (name)) pkg ("load", name); @@ -65,7 +65,7 @@ endif if (!ischar (fundir)) - error ("generate_package_html: third input argument must be a string"); + error ("generate_package_html: fourth input argument must be a string"); endif ## Create output directory if needed @@ -81,7 +81,7 @@ if (ischar (options)) options = get_html_options (options); elseif (!isstruct (options)) - error ("generate_package_html: fourth input argument must be a string or a structure"); + error ("generate_package_html: third input argument must be a string or a structure"); endif ################################################## This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-05-13 21:52:58
|
Revision: 5820 http://octave.svn.sourceforge.net/octave/?rev=5820&view=rev Author: hauberg Date: 2009-05-13 21:52:52 +0000 (Wed, 13 May 2009) Log Message: ----------- Simplify API Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-13 19:31:37 UTC (rev 5819) +++ trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-13 21:52:52 UTC (rev 5820) @@ -117,7 +117,7 @@ for k = 1:length (index) if (!isempty (index {k})) printf ("Chapter: %s\n", index {k}.name); fflush (stdout); - generate_package_html (index {k}, full_fun_dir, options, :, root); + generate_package_html (index {k}, outdir, options); %reference = txi2reference (index {k}.filename); endif endfor Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-13 19:31:37 UTC (rev 5819) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-13 21:52:52 UTC (rev 5820) @@ -48,13 +48,15 @@ ## @seealso{get_html_options} ## @end deftypefn -function generate_package_html (name, outdir = ".", options = struct (), fundir = outdir, root = "") +function generate_package_html (name, outdir = "manual", options = struct ()) ## Check input if (ischar (name)) + packname = name; pkg ("load", name); desc = pkg ("describe", name){1}; elseif (isstruct (name)) desc = name; + packname = ""; else error (["generate_package_html: first input must either be the name of a ", \ "package, or a structure giving its description."]); @@ -64,18 +66,16 @@ error ("generate_package_html: second input argument must be a string"); endif - if (!ischar (fundir)) - error ("generate_package_html: fourth input argument must be a string"); - endif - ## Create output directory if needed if (!exist (outdir, "dir")) mkdir (outdir); endif - - if (!exist (fundir, "dir")) - mkdir (fundir); + + 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 if (ischar (options)) @@ -111,7 +111,7 @@ fun = F {l}; outname = fullfile (fundir, sprintf ("%s.html", fun)); try - html_help_text (fun, outname, options, root); + html_help_text (fun, outname, options, "../"); implemented {k}{l} = true; catch warning ("marking '%s' as not implemented", fun); @@ -125,12 +125,12 @@ ######################### overview_filename = get_overview_filename (options, desc.name); - fid = fopen (fullfile (outdir, overview_filename), "w"); + 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, root); + [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); @@ -157,7 +157,7 @@ for l = 1:length (F) fun = F {l}; if (implemented {k}{l}) - link = sprintf ("%s/%s/%s.html", root, fundir, fun); + 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", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-05-14 20:47:22
|
Revision: 5825 http://octave.svn.sourceforge.net/octave/?rev=5825&view=rev Author: hauberg Date: 2009-05-14 20:47:12 +0000 (Thu, 14 May 2009) Log Message: ----------- Support generation of operator index Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_operators.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m Added Paths: ----------- trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_operators.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2009-05-14 17:48:08 UTC (rev 5824) +++ trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2009-05-14 20:47:12 UTC (rev 5825) @@ -15,12 +15,13 @@ ## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {Function File} generate_operators (@var{name}, @var{options}) +## @deftypefn {Function File} generate_operators (@var{outdir}, @var{options}) +## Generate a HTML page with a list of operators available in GNU Octave. ## @end deftypefn -function generate_operators (name, options = struct ()) +function generate_operators (outdir = "manual", options = struct ()) ## Check input - if (!ischar (name)) + if (!ischar (outdir)) error ("generate_operators: first input argument must be a string"); endif @@ -31,6 +32,13 @@ error ("generate_operators: second input argument must be a string or a structure"); endif + ## Create directories if needed + if (!exist (outdir, "dir")) + mkdir (outdir); + endif + various = mk_various_dir (outdir, options); + name = fullfile (various, "operators.html"); + ## Generate html title = "Operators and Keywords"; options.body_command = 'onload="javascript:fix_top_menu (); javascript:alphabetical_menu ();"'; Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-14 17:48:08 UTC (rev 5824) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-14 20:47:12 UTC (rev 5825) @@ -50,13 +50,19 @@ function generate_package_html (name, outdir = "manual", options = struct ()) ## Check input - if (ischar (name)) + if (isempty (name)) + list = pkg ("list"); + for k = 1:length (list) + generate_package_html (list {k}.name, outdir, options); + endfor + return; + elseif (isstruct (name)) + desc = name; + packname = ""; + elseif (ischar (name)) packname = name; pkg ("load", name); desc = pkg ("describe", name){1}; - elseif (isstruct (name)) - desc = name; - packname = ""; else error (["generate_package_html: first input must either be the name of a ", \ "package, or a structure giving its description."]); Added: trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m (rev 0) +++ trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m 2009-05-14 20:47:12 UTC (rev 5825) @@ -0,0 +1,33 @@ +## Copyright (C) 2009 Soren Hauberg +## +## This program is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. + +## THIS FUNCTION SHOULD BE private + +function location = mk_various_dir (outdir, options) + if (isfield (options, "various_dir")) + location = options.various_dir; + else + location = "various"; + endif + + location = fullfile (outdir, location); + + ## Create output directory if needed + if (!exist (location, "dir")) + mkdir (location); + endif + +endfunction This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-05-26 19:06:47
|
Revision: 5873 http://octave.svn.sourceforge.net/octave/?rev=5873&view=rev Author: hauberg Date: 2009-05-26 19:05:59 +0000 (Tue, 26 May 2009) Log Message: ----------- Generate a basic index.html for each package Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m Added Paths: ----------- trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-26 13:28:14 UTC (rev 5872) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-26 19:05:59 UTC (rev 5873) @@ -177,4 +177,42 @@ fprintf (fid, "\n%s\n", footer); fclose (fid); + + ###################### + ## Write index file ## + ###################### + 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 + + [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 + + 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, "<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, "\n%s\n", footer); + fclose (fid); endfunction Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-26 13:28:14 UTC (rev 5872) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-26 19:05:59 UTC (rev 5873) @@ -125,6 +125,9 @@ #options.overview_header = strrep (strrep (hh, "%date", date ()), "%body_command", ""); options.manual_body_cmd = 'onload="javascript:fix_top_menu (); javascript:manual_menu ();"'; + ## Options for index package + options.download_link = "http://downloads.sourceforge.net/octave/%name-%version.tar.gz?download"; + case "octave" options.header = "__HEADER__(`%title')"; options.footer = "__OCTAVE_TRAILER__"; Added: trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m (rev 0) +++ trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m 2009-05-26 19:05:59 UTC (rev 5873) @@ -0,0 +1,60 @@ +## Copyright (C) 2008 Soren Hauberg +## +## This program is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. + +function [header, title, footer] = get_index_header_title_and_footer (options, name, root = "") + if (isfield (options, "index_header")) + header = options.index_header; + elseif (isfield (options, "header")) + header = options.header; + else + header = "<html><head><title></title><head><body>"; + endif + + if (isfield (options, "css")) + header = strrep (header, "%css", options.css); + endif + + header = strrep (header, "%root", root); + if (isfield (options, "body_command")) + header = strrep (header, "%body_command", options.body_command); + endif + + if (isfield (options, "index_title")) + title = options.index_title; + elseif (isfield (options, "title")) + title = options.title; + else + title = "The '%name' package"; + endif + title = strrep (title, "%name", name); + title_start_idx = strfind (lower (header), "<title>"); + title_stop_idx = strfind (lower (header), "</title>"); + if (!isempty (title_start_idx) && !isempty (title_stop_idx)) + header = sprintf ("%s<title>%s%s", header (1:title_start_idx-1), title, + header (title_stop_idx:end)); + else + header = strrep (header, "%title", title); + endif + + ## Write footer of index page + if (isfield (options, "index_footer")) + footer = options.index_footer; + elseif (isfield (options, "footer")) + footer = options.footer; + else + footer = "</body></html>"; + endif +endfunction This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cd...@us...> - 2009-05-26 22:48:31
|
Revision: 5874 http://octave.svn.sourceforge.net/octave/?rev=5874&view=rev Author: cdf Date: 2009-05-26 22:48:22 +0000 (Tue, 26 May 2009) Log Message: ----------- save pkg descriptions in separate files Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m Added Paths: ----------- trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-26 19:05:59 UTC (rev 5873) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-26 22:48:22 UTC (rev 5874) @@ -48,7 +48,8 @@ ## @seealso{get_html_options} ## @end deftypefn -function generate_package_html (name, outdir = "manual", options = struct ()) +function generate_package_html (name = [], outdir = "manual", + options = struct (), section = "extra") ## Check input if (isempty (name)) list = pkg ("list"); @@ -58,13 +59,17 @@ return; elseif (isstruct (name)) desc = name; - packname = ""; + if (isfield (name, "name")) + packname = desc.name; + else + packname = ""; + endif elseif (ischar (name)) packname = name; pkg ("load", name); desc = pkg ("describe", name){1}; else - error (["generate_package_html: first input must either be the name of a ", \ + error (["generate_package_html: first input must either be the name of a ", ... "package, or a structure giving its description."]); endif @@ -178,6 +183,30 @@ fprintf (fid, "\n%s\n", footer); fclose (fid); + ##################################################### + ## Write short description for forge overview page ## + ##################################################### + + if (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); + text = strrep (text, "%uppername", toupper(desc.name)); + text = strrep (text, "%version", desc.version); + text = strrep (text, "%extension", "tar.gz"); + + fid = fopen (pkg_list_item_filename, "w"); + if (fid > 0) + fprintf (fid, text); + fclose (fid); + else + error ("generate_package_html: unable to open file %s.", pkg_list_item_filename); + endif + + endif + + ###################### ## Write index file ## ###################### @@ -216,3 +245,4 @@ fprintf (fid, "\n%s\n", footer); fclose (fid); endfunction + Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-26 19:05:59 UTC (rev 5873) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-26 22:48:22 UTC (rev 5874) @@ -125,14 +125,27 @@ #options.overview_header = strrep (strrep (hh, "%date", date ()), "%body_command", ""); options.manual_body_cmd = 'onload="javascript:fix_top_menu (); javascript:manual_menu ();"'; + ## Options for package list page + options.include_package_list_item = true; + options.package_list_item = ... +"<div class=\"package\" id=\"%name\">\n\ +<table class=\"package\"><tr>\n\ +<td><b><a href=\"javascript:unfold('%name');\" class=\"package_head_link\">\n\ +<img src=\"show.png\" id=\"%name_im\" alt=\"show/hide\" style=\"padding-right: 0.5em; border: none;\"/> %uppername </a></b></td>\n\ +<td style=\"text-align: right;\">» <a href=\"./%name/index.html\" class=\"package_link\">details</a> |\n\ +<a class=\"package_link\" href=\"http://downloads.sourceforge.net/octave/%name-%version.%extension?download\">download</a></td>\n\ +</tr></table>\n\ +<p id=\"%name_detailed\" style=\"display: none;\"> %shortdescription </p>\n\ +</div>\n"; + ## Options for index package options.download_link = "http://downloads.sourceforge.net/octave/%name-%version.tar.gz?download"; case "octave" options.header = "__HEADER__(`%title')"; options.footer = "__OCTAVE_TRAILER__"; - options.title = "Function Reference: %name"; - + options.title = "Function Reference: %name"; + case "docbrowser" ## Basic HTML header hh = "\ Added: trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m (rev 0) +++ trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m 2009-05-26 22:48:22 UTC (rev 5874) @@ -0,0 +1,48 @@ +## Copyright (C) 2009 Carlo de Falco +## +## This program is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. + +## THIS FUNCTION SHOULD BE private + +function pkg_list_item_filename = get_pkg_list_item_filename (name, outdir, section) + + pldir = mk_package_list_dir (outdir, section); + pkg_list_item_filename = fullfile (pldir, name); + +endfunction + +function pldir = mk_package_list_dir (outdir, section) + + descdir = fullfile (outdir, "short_package_descriptions"); + pldir = fullfile (descdir, section); + + if (!exist (descdir, "dir")) + [succ, msg] = mkdir (descdir); + if (! succ) + error ("generate_package_html: unable to create directory %s:\n %s", + descdir, msg); + endif + endif + + if (!exist (pldir, "dir")) + [succ, msg] = mkdir (pldir); + if (! succ) + error ("generate_package_html: unable to create directory %s:\n %s", + pldir, msg); + endif + endif + +endfunction + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-05-29 08:25:03
|
Revision: 5878 http://octave.svn.sourceforge.net/octave/?rev=5878&view=rev Author: hauberg Date: 2009-05-29 08:24:57 +0000 (Fri, 29 May 2009) Log Message: ----------- Allow the manual to be generated Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-29 07:19:26 UTC (rev 5877) +++ trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-29 08:24:57 UTC (rev 5878) @@ -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); Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-29 07:19:26 UTC (rev 5877) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-29 08:24:57 UTC (rev 5878) @@ -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); - fid = fopen (fullfile (outdir, packname, overview_filename), "w"); - if (fid < 0) - error ("generate_package_html: couldn't open overview file for writing"); - endif + 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, "../"); + [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, "%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, " <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"); + 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); + ## 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 + ## 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 - endfor - fprintf (fid, "\n%s\n", footer); - fclose (fid); - + fprintf (fid, "\n%s\n", footer); + fclose (fid); + endif + ##################################################### ## 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, "../"); + [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 + 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 - 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 + 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, "<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, "<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, "</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 Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-29 07:19:26 UTC (rev 5877) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-29 08:24:57 UTC (rev 5878) @@ -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"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-05-31 15:18:01
|
Revision: 5880 http://octave.svn.sourceforge.net/octave/?rev=5880&view=rev Author: hauberg Date: 2009-05-31 15:17:58 +0000 (Sun, 31 May 2009) Log Message: ----------- Improve package index page Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-30 09:53:50 UTC (rev 5879) +++ trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-05-31 15:17:58 UTC (rev 5880) @@ -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); Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-30 09:53:50 UTC (rev 5879) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-31 15:17:58 UTC (rev 5880) @@ -240,28 +240,155 @@ 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); - fprintf (fid, "<tr><td>Package Version:</td><td>%s</td></tr>\n", list.version); + + fprintf (fid, "<table>\n"); + fprintf (fid, "<tr><td rowspan=\"2\" class=\"box_table\">\n"); + fprintf (fid, "<div class=\"package_box\">\n"); + fprintf (fid, " <div class=\"package_box_header\">%s</div>\n", desc.name); + fprintf (fid, " <div class=\"package_box_contents\">\n"); + fprintf (fid, " <table>\n"); + fprintf (fid, " <tr><td class=\"package_table\">Package Version:</td><td>%s</td></tr>\n", + list.version); + fprintf (fid, " <tr><td class=\"package_table\">Last Release Date:</td><td>%s</td></tr>\n", + list.date); + fprintf (fid, " <tr><td class=\"package_table\">Package Author:</td><td>%s</td></tr>\n", + list.author); + fprintf (fid, " <tr><td class=\"package_table\">Package Maintainer:</td><td>%s</td></tr>\n", + list.maintainer); + fprintf (fid, " <tr><td class=\"package_table\">License:</td><td><a href=\"COPYING.html\">"); if (isfield (list, "license")) - fprintf (fid, "<tr><td>Package License:</td><td>%s</td></tr>\n", list.license); + fprintf (fid, "%s</a></td></tr>\n", list.license); + else + fprintf (fid, "Read license</a></td></tr>\n"); endif - + fprintf (fid, " </table>\n"); + fprintf (fid, " </div>\n"); + fprintf (fid, "</div>\n"); + fprintf (fid, "</td>\n\n"); + + fprintf (fid, "<td>\n"); if (isfield (options, "download_link")) + fprintf (fid, "<div class=\"download_package\">\n"); + fprintf (fid, " <table><tr><td>\n"); + fprintf (fid, " <img src=\"../download.png\"/>\n"); + fprintf (fid, " </td><td>\n"); 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); + fprintf (fid, " <a href=\"%s\"\n", link); + fprintf (fid, " class=\"download_link\">\n"); + fprintf (fid, " Download Package\n"); + fprintf (fid, " </a>\n"); + fprintf (fid, " </td></tr></table>\n"); + fprintf (fid, "</div>\n"); endif + fprintf (fid, "</td></tr>\n"); + fprintf (fid, "<tr><td>\n"); + fprintf (fid, "<div class=\"package_function_reference\">\n"); + fprintf (fid, " <table><tr><td>\n"); + fprintf (fid, " <img src=\"../doc.png\"/>\n"); + fprintf (fid, " </td><td>\n"); + fprintf (fid, " <a href=\"%s\" class=\"function_reference_link\">\n", overview_filename); + fprintf (fid, " Function Reference\n"); + fprintf (fid, " </a>\n"); + fprintf (fid, " </td></tr></table>\n"); + fprintf (fid, "</div>\n"); + fprintf (fid, "</td></tr>\n"); + fprintf (fid, "</table>\n\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, "<h3>Description</h3>\n"); + fprintf (fid, " <div id=\"description_box\">\n") + fprintf (fid, list.description); + fprintf (fid, " </div>\n\n") - fprintf (fid, "</table>\n"); + fprintf (fid, "<h3>Details</h3>\n"); + fprintf (fid, " <table id=\"extra_package_table\">\n"); + + if (isfield (list, "depends")) + fprintf (fid, " <tr><td>Dependencies: </td><td>\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, "<a href=\"http://www.octave.org\">Octave</a> "); + else + fprintf (fid, "<a href=\"../%s\">%s</a> ", p, p); + endif + fprintf (fid, vt); + endfor + fprintf (fid, "</td></tr>\n"); + endif - fprintf (fid, "<div id=\"description_box\">\n"); - fprintf (fid, "%s\n</div>\n", desc.description); + if (isfield (list, "buildrequires")) + fprintf (fid, " <tr><td>Build Dependencies:</td><td>%s</td></tr>\n", list.buildrequires); + endif + + if (isfield (list, "autoload")) + if (list.autoload) + a = "Yes"; + else + a = "No"; + endif + fprintf (fid, " <tr><td>Autoload:</td><td>%s</td></tr>\n", a); + endif + + fprintf (fid, " </table>\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 + + ## 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"; + + 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 + + ## Write output + [header, title, footer] = get_index_header_title_and_footer (options, desc.name, "../"); + + fprintf (fid, "%s\n", header); + fprintf (fid, "<h2 class=\"tbdesc\">License for '%s' Package</h2>\n\n", desc.name); + + fprintf (fid, "<pre>%s</pre>\n\n", contents); + fprintf (fid, "\n%s\n", footer); fclose (fid); endif Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-30 09:53:50 UTC (rev 5879) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-31 15:17:58 UTC (rev 5880) @@ -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')"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-05-31 20:23:42
|
Revision: 5881 http://octave.svn.sourceforge.net/octave/?rev=5881&view=rev Author: hauberg Date: 2009-05-31 20:23:37 +0000 (Sun, 31 May 2009) Log Message: ----------- Generate license Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-31 15:17:58 UTC (rev 5880) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-05-31 20:23:37 UTC (rev 5881) @@ -318,7 +318,7 @@ if (strcmpi (p, "octave")) fprintf (fid, "<a href=\"http://www.octave.org\">Octave</a> "); else - fprintf (fid, "<a href=\"../%s\">%s</a> ", p, p); + fprintf (fid, "<a href=\"../%s/index.html\">%s</a> ", p, p); endif fprintf (fid, vt); endfor Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-31 15:17:58 UTC (rev 5880) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-05-31 20:23:37 UTC (rev 5881) @@ -84,15 +84,15 @@ <tr>\n\ <td class=\"menu\">\n\ \n\ - <a href=\"index.html\" class=\"menu\">Home</a> ·\n\ - <a href=\"packages.html\" class=\"menu\">Packages</a> ·\n\ - <a href=\"developers.html\" class=\"menu\">Developers</a> ·\n\ - <a href=\"docs.html\" class=\"menu\">Documentation</a> ·\n\ - <a href=\"doc/index.html\" class=\"menu\">Function Reference</a> ·\n\ - <a href=\"FAQ.html\" class=\"menu\">FAQ</a> ·\n\ - <a href=\"bugs.html\" class=\"menu\">Bugs</a> ·\n\ - <a href=\"archive.html\" class=\"menu\">Mailing Lists</a> ·\n\ - <a href=\"links.html\" class=\"menu\">Links</a> ·\n\ + <a href=\"%rootindex.html\" class=\"menu\">Home</a> ·\n\ + <a href=\"%rootpackages.html\" class=\"menu\">Packages</a> ·\n\ + <a href=\"%rootdevelopers.html\" class=\"menu\">Developers</a> ·\n\ + <a href=\"%rootdocs.html\" class=\"menu\">Documentation</a> ·\n\ + <a href=\"%rootdoc/index.html\" class=\"menu\">Function Reference</a> ·\n\ + <a href=\"%rootFAQ.html\" class=\"menu\">FAQ</a> ·\n\ + <a href=\"%rootbugs.html\" class=\"menu\">Bugs</a> ·\n\ + <a href=\"%rootarchive.html\" class=\"menu\">Mailing Lists</a> ·\n\ + <a href=\"%rootlinks.html\" class=\"menu\">Links</a> ·\n\ <a href=\"http://sourceforge.net/svn/?group_id=2888\" class=\"menu\">SVN</a>\n\ \n\ </td>\n\ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-06-14 18:39:59
|
Revision: 5942 http://octave.svn.sourceforge.net/octave/?rev=5942&view=rev Author: hauberg Date: 2009-06-14 18:39:58 +0000 (Sun, 14 Jun 2009) Log Message: ----------- Change default output directory Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m trunk/octave-forge/extra/generate_html/inst/generate_operators.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-06-14 18:33:10 UTC (rev 5941) +++ trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-06-14 18:39:58 UTC (rev 5942) @@ -18,7 +18,7 @@ ## @deftypefn {Function File} generate_html_manual (@var{srcdir}, @var{outdir}) ## @end deftypefn -function generate_html_manual (srcdir, outdir = "manual", options = struct ()) +function generate_html_manual (srcdir, outdir = "htdocs", options = struct ()) ## Check input if (nargin == 0) print_usage (); Modified: trunk/octave-forge/extra/generate_html/inst/generate_operators.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2009-06-14 18:33:10 UTC (rev 5941) +++ trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2009-06-14 18:39:58 UTC (rev 5942) @@ -19,7 +19,7 @@ ## Generate a HTML page with a list of operators available in GNU Octave. ## @end deftypefn -function generate_operators (outdir = "manual", options = struct ()) +function generate_operators (outdir = "htdocs", options = struct ()) ## Check input if (!ischar (outdir)) error ("generate_operators: first input argument must be a string"); Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-06-14 18:33:10 UTC (rev 5941) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-06-14 18:39:58 UTC (rev 5942) @@ -48,7 +48,7 @@ ## @seealso{get_html_options} ## @end deftypefn -function generate_package_html (name = [], outdir = "manual", +function generate_package_html (name = [], outdir = "htdocs", options = struct (), section = "extra") ## Check input if (isempty (name)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-06-14 19:42:52
|
Revision: 5943 http://octave.svn.sourceforge.net/octave/?rev=5943&view=rev Author: hauberg Date: 2009-06-14 19:42:49 +0000 (Sun, 14 Jun 2009) Log Message: ----------- Simplify manual code to match new directory layout Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m trunk/octave-forge/extra/generate_html/inst/texi2html.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-06-14 18:39:58 UTC (rev 5942) +++ trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2009-06-14 19:42:49 UTC (rev 5943) @@ -43,11 +43,15 @@ if (!exist (outdir, "dir")) mkdir (outdir); endif + outdir = fullfile (outdir, "manual"); + if (!exist (outdir, "dir")) + mkdir (outdir); + endif chapter_dir = mk_chapter_dir (outdir, options); - [fun_dir, full_fun_dir] = mk_function_dir (outdir, options); + mk_function_dir (outdir, options); - ds_handler = @(fun) docstring_handler (fun, fun_dir); + ds_handler = @(fun) docstring_handler (fun); ## Get file list file_list = get_txi_files (srcdir); @@ -95,7 +99,7 @@ text = strcat ("@defindex op\n\n", text); ## Convert to HTML and write to disc - [header, body, footer] = texi2html (text, options, get_root (outdir, chapter_dir)); + [header, body, footer] = texi2html (text, options, "../../"); fid = fopen (fullfile (chapter_dir, sprintf ("%s.html", name)), "w"); fprintf (fid, "%s\n%s\n%s\n", header, body, footer); @@ -113,7 +117,6 @@ index = txi2index (srcdir); ## 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; @@ -121,14 +124,14 @@ for k = 1:length (index) if (!isempty (index {k})) printf ("Chapter: %s\n", index {k}.name); fflush (stdout); + index {k}.name = ""; # remove the name to avoid each chapter having its own dir generate_package_html (index {k}, outdir, options); - %reference = txi2reference (index {k}.filename); endif endfor endfunction -function retval = docstring_handler (fun, fun_dir) - retval = sprintf ("@ifhtml\n@html\n<div class='seefun'>See <a href='../%s/%s.html'>%s</a></div>\n@end html\n@end ifhtml\n", - fun_dir, fun, fun); +function retval = docstring_handler (fun) + retval = sprintf ("@ifhtml\n@html\n<div class='seefun'>See <a href='../function/%s.html'>%s</a></div>\n@end html\n@end ifhtml\n", + fun, fun); endfunction Modified: trunk/octave-forge/extra/generate_html/inst/texi2html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/texi2html.m 2009-06-14 18:39:58 UTC (rev 5942) +++ trunk/octave-forge/extra/generate_html/inst/texi2html.m 2009-06-14 19:42:49 UTC (rev 5943) @@ -70,9 +70,11 @@ endif ## Run makeinfo + orig_text = text; [text, status] = __makeinfo__ (text, "html", seealso); if (status != 0) - warning ("texi2html: couln't parse texinfo."); # XXX: make this an error + txi_out = orig_text (1:min (100, length (orig_text))); + warning ("texi2html: couldn't parse texinfo: \n%s", txi_out); # XXX: make this an error endif ## Split text into header, body, and footer using the text we added above This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-10-17 21:47:47
|
Revision: 6317 http://octave.svn.sourceforge.net/octave/?rev=6317&view=rev Author: hauberg Date: 2009-10-17 21:47:40 +0000 (Sat, 17 Oct 2009) Log Message: ----------- First draft of html generation for new release system Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_operators.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m trunk/octave-forge/extra/generate_html/inst/html_help_text.m trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m trunk/octave-forge/extra/generate_html/inst/texi2html.m Added Paths: ----------- trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_operators.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -36,13 +36,12 @@ if (!exist (outdir, "dir")) mkdir (outdir); endif - various = mk_various_dir (outdir, options); - name = fullfile (various, "operators.html"); + name = fullfile (outdir, "operators.html"); ## Generate html title = "Operators and Keywords"; - options.body_command = 'onload="javascript:fix_top_menu (); javascript:alphabetical_menu ();"'; - [header, title, footer] = get_overview_header_title_and_footer (options, title, "../"); + options.body_command = 'onload="javascript:fix_top_menu ();"'; + [header, title, footer] = get_overview_header_title_and_footer (options, title); fid = fopen (name, "w"); if (fid < 0) Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -34,7 +34,7 @@ ## @end example ## ## The resulting files will be available in the @t{"image_html"} directory. The -## overview page will be called @t{"image_html/image_overview.html"}. +## overview page will be called @t{"image_html/overview.html"}. ## ## As a convenience, if @var{options} is a string, a structure will ## be generated by calling @code{get_html_options}. This means the above @@ -48,8 +48,7 @@ ## @seealso{get_html_options} ## @end deftypefn -function generate_package_html (name = [], outdir = "htdocs", - options = struct (), section = "extra") +function generate_package_html (name = [], outdir = "htdocs", options = struct ()) ## Check input if (isempty (name)) list = pkg ("list"); @@ -137,6 +136,7 @@ ######################### ## Write overview file ## ######################### + first_sentences = cell (1, num_categories); if (isfield (options, "include_overview") && options.include_overview) overview_filename = get_overview_filename (options, desc.name); @@ -168,15 +168,19 @@ fprintf (fid, " <h3 class=\"category\"><a name=\"%s\">%s</a></h3>\n\n", anchors {k}, category); + first_sentences {k} = cell (1, length (F)); + ## 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); + first_sentences {k}{l} = get_first_help_sentence (fun, 200); + first_sentences {k}{l} = strrep (first_sentences {k}{l}, "\n", " "); + + 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)); + fprintf (fid, " <div class=\"ftext\">%s</div>\n\n", first_sentences {k}{l}); else fprintf (fid, " <div class=\"func\"><b>%s</b></div>\n", fun); fprintf (fid, " <div class=\"ftext\">Not implemented.</div>\n\n"); @@ -188,17 +192,47 @@ fclose (fid); endif + ################################################ + ## Write function data for alphabetical lists ## + ################################################ + if (isfield (options, "include_alpha") && options.include_alpha) + for letter = "a":"z" + [name_filename, desc_filename] = get_alpha_database (outdir, desc.name, letter); + name_fid = fopen (name_filename, "w"); + desc_fid = fopen (desc_filename, "w"); + if (name_fid == -1 || desc_fid == -1) + error ("generate_package_html: could not open alphabet database for writing"); + endif + + for k = 1:num_categories + F = desc.provides {k}.functions; + for l = 1:length (F) + fun = F {l}; + if (implemented {k}{l} && lower (fun (1)) == letter) + fs = first_sentences {k}{l}; + + fprintf (name_fid, "%s\n", fun); + fprintf (desc_fid, "%s\n", fs); + endif + endfor + endfor + + fclose (name_fid); + fclose (desc_fid); + endfor + endif + ##################################################### ## Write short description for forge overview page ## ##################################################### 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); + pkg_list_item_filename = get_pkg_list_item_filename (desc.name, outdir); text = strrep (options.package_list_item, "%name", desc.name); - text = strrep (text, "%uppername", toupper(desc.name)); text = strrep (text, "%version", desc.version); text = strrep (text, "%extension", "tar.gz"); + text = strrep (text, "%shortdescription", desc.description); fid = fopen (pkg_list_item_filename, "w"); if (fid > 0) @@ -209,7 +243,6 @@ endif endif - ###################### ## Write index file ## ###################### Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -85,10 +85,10 @@ <td class=\"menu\">\n\ \n\ <a href=\"%rootindex.html\" class=\"menu\">Home</a> ·\n\ - <a href=\"%rootpackages.html\" class=\"menu\">Packages</a> ·\n\ + <a href=\"%rootpackages.php\" class=\"menu\">Packages</a> ·\n\ <a href=\"%rootdevelopers.html\" class=\"menu\">Developers</a> ·\n\ <a href=\"%rootdocs.html\" class=\"menu\">Documentation</a> ·\n\ - <a href=\"%rootdoc/index.html\" class=\"menu\">Function Reference</a> ·\n\ + <a href=\"%rootfunref.html\" class=\"menu\">Function Reference</a> ·\n\ <a href=\"%rootFAQ.html\" class=\"menu\">FAQ</a> ·\n\ <a href=\"%rootbugs.html\" class=\"menu\">Bugs</a> ·\n\ <a href=\"%rootarchive.html\" class=\"menu\">Mailing Lists</a> ·\n\ @@ -99,27 +99,41 @@ </tr>\n\ </table>\n\ </div>\n\ -<div id=\"left-menu-span\">\n\ -<!--[if IE]>\n\ -<table id=\"left-menu\">\n\ - <tr><td>\n\ - <div id=\"menu-contents\">\n\ - </div>\n\ - </td></tr>\n\ -</table>\n\ -<![endif]-->\n\ +<div id=\"left-menu\">\n\ + <h3>Navigation</h3>\n\ + <p class=\"left-menu\"><a class=\"left-menu-link\" href=\"%rootmanual/index.html\">Octave Manual</a></p>\n\ + <p class=\"left-menu\"><a class=\"left-menu-link\" href=\"%rootoperators.html\">Operators and Keywords</a></p>\n\ + <p class=\"left-menu\"><a class=\"left-menu-link\" href=\"%rootfunction_list.html\">Function List:</a>\n\ + <ul class=\"left-menu-list\">\n\ + <li class=\"left-menu-list\">\n\ + <a class=\"left-menu-link\" href=\"%rootfunctions_by_package.php\">» by package</a>\n\ + </li>\n\ + <li class=\"left-menu-list\">\n\ + <a class=\"left-menu-link\" href=\"%rootfunctions_by_alpha.php\">» alphabetical</a>\n\ + </li>\n\ + </ul>\n\ + </p>\n\ + <p class=\"left-menu\"><a class=\"left-menu-link\" href=\"%rootdoxygen/html\">C++ API</a></p>\n\ </div>\n\ <div id=\"doccontent\">\n"; ## CSS options.css = "octave-forge.css"; + + ## Options for alphabetical lists + options.include_alpha = true; ## Options for individual function pages - options.pack_body_cmd = 'onload="javascript:fix_top_menu (); javascript:package_menu ();"'; + options.pack_body_cmd = 'onload="javascript:fix_top_menu (); javascript:show_left_menu ();"'; options.header = strrep (hh, "%date", date ()); - options.footer = "</div>\n</body>\n</html>\n"; + options.footer = "<div id=\"sf_logo\">\n\ + <a href=\"http://sourceforge.net\">\ + <img src=\"http://sourceforge.net/sflogo.php?group_id=2888&type=1\"\ + width=\"88\" height=\"31\" style=\"border: 0;\" alt=\"SourceForge.net Logo\"/>\ + </a>\n</div>\n</div>\n</body>\n</html>\n"; options.title = "Function Reference: %name"; options.include_demos = true; + options.seealso = @octave_forge_seealso; ## Options for overview page options.include_overview = true; @@ -132,7 +146,7 @@ "<div class=\"package\" id=\"%name\">\n\ <table class=\"package\"><tr>\n\ <td><b><a href=\"javascript:unfold('%name');\" class=\"package_head_link\">\n\ -<img src=\"show.png\" id=\"%name_im\" alt=\"show/hide\" style=\"padding-right: 0.5em; border: none;\"/> %uppername </a></b></td>\n\ +<img src=\"show.png\" id=\"%name_im\" alt=\"show/hide\" style=\"padding-right: 0.5em; border: none;\"/> %name </a></b></td>\n\ <td style=\"text-align: right;\">» <a href=\"./%name/index.html\" class=\"package_link\">details</a> |\n\ <a class=\"package_link\" href=\"http://downloads.sourceforge.net/octave/%name-%version.%extension?download\">download</a></td>\n\ </tr></table>\n\ @@ -143,6 +157,7 @@ options.download_link = "http://downloads.sourceforge.net/octave/%name-%version.tar.gz?download"; options.include_package_page = true; options.include_package_license = true; + options.index_body_command = "onload=\"javascript:fix_top_menu ();\""; case "octave" options.header = "__HEADER__(`%title')"; Modified: trunk/octave-forge/extra/generate_html/inst/html_help_text.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -93,6 +93,9 @@ footer = text (stop_idx + length (stop):end); text = text (start_idx + length (start):stop_idx - 1); + ## Hack around 'makeinfo' bug that forgets to put <p>'s before function declarations + text = strrep (text, "—", "<p class=\"functionfile\">"); + case "not found" error ("html_help_text: `%s' not found\n", name); otherwise Modified: trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -28,7 +28,9 @@ endif header = strrep (header, "%root", root); - if (isfield (options, "body_command")) + if (isfield (options, "index_body_command")) + header = strrep (header, "%body_command", options.index_body_command); + elseif (isfield (options, "body_command")) header = strrep (header, "%body_command", options.body_command); endif Modified: trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -28,7 +28,9 @@ endif header = strrep (header, "%root", root); - if (isfield (options, "body_command")) + if (isfield (options, "pack_body_cmd")) + header = strrep (header, "%body_command", options.pack_body_cmd); + elseif (isfield (options, "body_command")) header = strrep (header, "%body_command", options.body_command); endif Modified: trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -16,33 +16,20 @@ ## THIS FUNCTION SHOULD BE private -function pkg_list_item_filename = get_pkg_list_item_filename (name, outdir, section) +function pkg_list_item_filename = get_pkg_list_item_filename (name, outdir) - pldir = mk_package_list_dir (outdir, section); - pkg_list_item_filename = fullfile (pldir, name); + filename = "short_package_description"; + ld = fullfile (outdir, name); -endfunction - -function pldir = mk_package_list_dir (outdir, section) - - descdir = fullfile (outdir, "short_package_descriptions"); - pldir = fullfile (descdir, section); - - if (!exist (descdir, "dir")) - [succ, msg] = mkdir (descdir); - if (! succ) + if (!exist (ld, "dir")) + [succ, msg] = mkdir (ld); + if (!succ) error ("generate_package_html: unable to create directory %s:\n %s", - descdir, msg); + ld, msg); endif endif - if (!exist (pldir, "dir")) - [succ, msg] = mkdir (pldir); - if (! succ) - error ("generate_package_html: unable to create directory %s:\n %s", - pldir, msg); - endif - endif - + pkg_list_item_filename = fullfile (ld, filename); + endfunction Modified: trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -22,7 +22,7 @@ endif full_location = fullfile (outdir, location); - location = strcat (outdir, "/", location); + %location = strcat (outdir, "/", location); ## Create output directory if needed if (!exist (full_location, "dir")) Added: trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m (rev 0) +++ trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -0,0 +1,30 @@ +## Copyright (C) 2009 Soren Hauberg +## +## This program is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. + +function expanded = octave_forge_seealso (arg) + header = "@html\n<div class=\"seealso\">\n<b>See also</b>: "; + footer = "\n</div>\n@end html\n"; + + format = " <a href=\"../../find_function.php?fun=%s\">%s</a> "; + + arg2 = cell (1, 2*length (arg)); + arg2 (1:2:end) = arg; + arg2 (2:2:end) = arg; + + list = sprintf (format, arg2 {:}); + + expanded = strcat (header, list, footer); +endfunction Modified: trunk/octave-forge/extra/generate_html/inst/texi2html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/texi2html.m 2009-10-17 15:34:31 UTC (rev 6316) +++ trunk/octave-forge/extra/generate_html/inst/texi2html.m 2009-10-17 21:47:40 UTC (rev 6317) @@ -83,6 +83,9 @@ header = text (1:start_idx - 1); footer = text (stop_idx + length (stop):end); text = text (start_idx + length (start):stop_idx - 1); + + ## Hack around 'makeinfo' bug that forgets to put <p>'s before function declarations + text = strrep (text, "—", "<p class=\"functionfile\">"); ## Read 'options' input argument [header, title, footer] = get_header_title_and_footer (options, :, root); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2010-02-05 18:00:18
|
Revision: 6831 http://octave.svn.sourceforge.net/octave/?rev=6831&view=rev Author: hauberg Date: 2010-02-05 18:00:12 +0000 (Fri, 05 Feb 2010) Log Message: ----------- Remove debug output Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/html_help_text.m trunk/octave-forge/extra/generate_html/inst/txi2index.m Modified: trunk/octave-forge/extra/generate_html/inst/html_help_text.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2010-02-05 17:13:49 UTC (rev 6830) +++ trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2010-02-05 18:00:12 UTC (rev 6831) @@ -124,9 +124,7 @@ try [output, images] = get_output (code_k, imagedir, full_imagedir, name); catch - disp ("XXXXXXXXXXXXXXXXXXX"); lasterr () - disp ("XXXXXXXXXXXXXXXXXXX"); continue; end_try_catch has_text = !isempty (output); @@ -236,9 +234,7 @@ name = sprintf ("%s_%d.png", fileprefix, r); full_filename = fullfile (full_imagedir, name); filename = fullfile (imagedir, name); - disp ("&&&&&&&&&&&&&&&&&"); print (fig, full_filename); - disp ("/////////////////"); images {end+1} = filename; close (fig); endwhile Modified: trunk/octave-forge/extra/generate_html/inst/txi2index.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/txi2index.m 2010-02-05 17:13:49 UTC (rev 6830) +++ trunk/octave-forge/extra/generate_html/inst/txi2index.m 2010-02-05 18:00:12 UTC (rev 6831) @@ -65,7 +65,8 @@ fid = fopen (filename, "r"); if (fid < 0) - error ("txi2index: couldn't open '%s' for reading", filename); + warning ("txi2index: couldn't open '%s' for reading", filename); + continue; endif idx = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2010-03-02 00:40:10
|
Revision: 6979 http://octave.svn.sourceforge.net/octave/?rev=6979&view=rev Author: hauberg Date: 2010-03-02 00:39:59 +0000 (Tue, 02 Mar 2010) Log Message: ----------- Deal with keywords in @seealso's Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_operators.m trunk/octave-forge/extra/generate_html/inst/html_help_text.m trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m trunk/octave-forge/extra/generate_html/inst/texi2html.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_operators.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2010-03-01 15:41:38 UTC (rev 6978) +++ trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2010-03-02 00:39:59 UTC (rev 6979) @@ -51,16 +51,16 @@ fprintf (fid, "%s\n", header); fprintf (fid, "<h2 class=\"tbdesc\">Operators</h2>\n\n"); - write_list (__operators__, fid); + write_list (__operators__, fid, false); fprintf (fid, "<h2 class=\"tbdesc\">Keywords</h2>\n\n"); - write_list (__keywords__, fid); + write_list (__keywords__, fid, true); fprintf (fid, "\n%s\n", footer); fclose (fid); endfunction -function write_list (list, fid) +function write_list (list, fid, write_anchors) for k = 1:length (list) elem = list {k}; [text, format] = get_help_text (elem); @@ -68,8 +68,14 @@ text = strip_defs (text); text = __makeinfo__ (text, "plain text"); endif + if (write_anchors) + fprintf (fid, "<a name=\"%s\">\n", elem); + endif fprintf (fid, "<div class=\"func\"><b>%s</b></div>\n", elem); fprintf (fid, "<div class=\"ftext\">%s</div>\n", text); # XXX: don't use text + if (write_anchors) + fprintf (fid, "</a>\n\n"); + endif endfor endfunction Modified: trunk/octave-forge/extra/generate_html/inst/html_help_text.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2010-03-01 15:41:38 UTC (rev 6978) +++ trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2010-03-02 00:39:59 UTC (rev 6979) @@ -65,19 +65,10 @@ text = sprintf ("%s\n%s\n%s\n", start, text, stop); ## Handle @seealso - if (isfield (options, "seealso_prefix")) - seealso_prefix = options.seealso_prefix; - if (length (seealso_prefix) > 0 && seealso_prefix (end) != "/") - seealso_prefix (end+1) = "/"; - endif - else - seealso_prefix = ""; - endif - if (isfield (options, "seealso")) - seealso = options.seealso; + seealso = @(args) options.seealso (root, args); else - seealso = @(args) html_see_also_with_prefix (seealso_prefix, args {:}); + seealso = @(args) html_see_also_with_prefix (root, args {:}); endif ## Run makeinfo @@ -174,7 +165,7 @@ endfunction -function expanded = html_see_also_with_prefix (prefix, varargin) +function expanded = html_see_also_with_prefix (prefix, root, varargin) header = "@html\n<div class=\"seealso\">\n<b>See also</b>: "; footer = "\n</div>\n@end html\n"; Modified: trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m 2010-03-01 15:41:38 UTC (rev 6978) +++ trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m 2010-03-02 00:39:59 UTC (rev 6979) @@ -14,17 +14,26 @@ ## along with this program; see the file COPYING. If not, see ## <http://www.gnu.org/licenses/>. -function expanded = octave_forge_seealso (arg) +function expanded = octave_forge_seealso (root, arg) header = "@html\n<div class=\"seealso\">\n<b>See also</b>: "; footer = "\n</div>\n@end html\n"; - format = " <a href=\"../../find_function.php?fun=%s\">%s</a> "; + ## XXX: Deal properly with the root directory + format = sprintf (" <a href=\"%sfind_function.php?fun=%%s\">%%s</a> ", root); + kw_format = sprintf (" <a href=\"%soperators.html#%%s\">%%s</a> ", root); - arg2 = cell (1, 2*length (arg)); - arg2 (1:2:end) = arg; - arg2 (2:2:end) = arg; + keywords = __keywords__ (); - list = sprintf (format, arg2 {:}); + help_list = ""; + for k = 1:length (arg) + f = arg {k}; + if (any (strcmp (f, keywords))) + elem = sprintf (kw_format, f, f); + else + elem = sprintf (format, f, f); + endif + help_list = strcat (help_list, elem); + endfor - expanded = strcat (header, list, footer); + expanded = strcat (header, help_list, footer); endfunction Modified: trunk/octave-forge/extra/generate_html/inst/texi2html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/texi2html.m 2010-03-01 15:41:38 UTC (rev 6978) +++ trunk/octave-forge/extra/generate_html/inst/texi2html.m 2010-03-02 00:39:59 UTC (rev 6979) @@ -54,19 +54,10 @@ text = sprintf ("%s\n%s\n%s\n", start, text, stop); ## Handle @seealso - if (isfield (options, "seealso_prefix")) - seealso_prefix = options.seealso_prefix; - if (length (seealso_prefix) > 0 && seealso_prefix (end) != "/") - seealso_prefix (end+1) = "/"; - endif - else - seealso_prefix = ""; - endif - if (isfield (options, "seealso")) seealso = options.seealso; else - seealso = @(args) html_see_also_with_prefix (seealso_prefix, args {:}); + seealso = @(args) html_see_also_with_prefix (root, args {:}); endif ## Run makeinfo This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2011-11-27 02:07:17
|
Revision: 9201 http://octave.svn.sourceforge.net/octave/?rev=9201&view=rev Author: carandraug Date: 2011-11-27 02:07:11 +0000 (Sun, 27 Nov 2011) Log Message: ----------- generate_html: patch by Miguel Rubio-Roy <rub...@ce...> to mention the package in the function page documentation Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2011-11-27 01:45:30 UTC (rev 9200) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2011-11-27 02:07:11 UTC (rev 9201) @@ -109,7 +109,9 @@ options.body_command = ""; endif endif - + + options.footer = strrep (options.footer, "%package", packname); + num_categories = length (desc.provides); anchors = implemented = cell (1, num_categories); for k = 1:num_categories Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2011-11-27 01:45:30 UTC (rev 9200) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2011-11-27 02:07:11 UTC (rev 9201) @@ -127,7 +127,7 @@ ## Options for individual function pages options.pack_body_cmd = 'onload="javascript:fix_top_menu (); javascript:show_left_menu ();"'; options.header = strrep (hh, "%date", date ()); - options.footer = "<div id=\"sf_logo\">\n\ + options.footer = "<p>Package: <a href=\"../index.html\">%package</a></p>\n<div id=\"sf_logo\">\n\ <a href=\"http://sourceforge.net\">\ <img src=\"http://sourceforge.net/sflogo.php?group_id=2888&type=1\"\ width=\"88\" height=\"31\" style=\"border: 0;\" alt=\"SourceForge.net Logo\"/>\ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-03-31 21:56:30
|
Revision: 10120 http://octave.svn.sourceforge.net/octave/?rev=10120&view=rev Author: carandraug Date: 2012-03-31 21:56:22 +0000 (Sat, 31 Mar 2012) Log Message: ----------- generate_html: adding e-mail address to copyright notice Modified Paths: -------------- trunk/octave-forge/extra/generate_html/inst/generate_alphabet.m trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m trunk/octave-forge/extra/generate_html/inst/generate_operators.m trunk/octave-forge/extra/generate_html/inst/generate_package_html.m trunk/octave-forge/extra/generate_html/inst/get_html_options.m trunk/octave-forge/extra/generate_html/inst/html_help_text.m trunk/octave-forge/extra/generate_html/inst/private/find_package.m trunk/octave-forge/extra/generate_html/inst/private/get_alpha_database.m trunk/octave-forge/extra/generate_html/inst/private/get_header_title_and_footer.m trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m trunk/octave-forge/extra/generate_html/inst/private/get_overview_filename.m trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m trunk/octave-forge/extra/generate_html/inst/private/get_root.m trunk/octave-forge/extra/generate_html/inst/private/get_texi_conf.m trunk/octave-forge/extra/generate_html/inst/private/get_txi_files.m trunk/octave-forge/extra/generate_html/inst/private/mk_chapter_dir.m trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m trunk/octave-forge/extra/generate_html/inst/texi2html.m trunk/octave-forge/extra/generate_html/inst/txi2index.m trunk/octave-forge/extra/generate_html/inst/txi2reference.m Modified: trunk/octave-forge/extra/generate_html/inst/generate_alphabet.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_alphabet.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/generate_alphabet.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/generate_html_manual.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/generate_operators.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/generate_operators.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/generate_package_html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/generate_package_html.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/get_html_options.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/get_html_options.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/html_help_text.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/html_help_text.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/find_package.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/find_package.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/find_package.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2009 Soren Hauberg +## Copyright (C) 2009 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_alpha_database.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_alpha_database.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_alpha_database.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2009 Soren Hauberg +## Copyright (C) 2009 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_header_title_and_footer.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_header_title_and_footer.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_header_title_and_footer.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_index_header_title_and_footer.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_overview_filename.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_overview_filename.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_overview_filename.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_overview_header_title_and_footer.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_pkg_list_item_filename.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2009 Carlo de Falco +## Copyright (C) 2009 Carlo de Falco <car...@gm...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_root.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_root.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_root.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_texi_conf.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_texi_conf.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_texi_conf.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/get_txi_files.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/get_txi_files.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/get_txi_files.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/mk_chapter_dir.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/mk_chapter_dir.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/mk_chapter_dir.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/mk_function_dir.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/mk_various_dir.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2009 Soren Hauberg +## Copyright (C) 2009 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/private/octave_forge_seealso.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2009 Soren Hauberg +## Copyright (C) 2009 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/texi2html.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/texi2html.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/texi2html.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/txi2index.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/txi2index.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/txi2index.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by Modified: trunk/octave-forge/extra/generate_html/inst/txi2reference.m =================================================================== --- trunk/octave-forge/extra/generate_html/inst/txi2reference.m 2012-03-31 21:44:54 UTC (rev 10119) +++ trunk/octave-forge/extra/generate_html/inst/txi2reference.m 2012-03-31 21:56:22 UTC (rev 10120) @@ -1,4 +1,4 @@ -## Copyright (C) 2008 Soren Hauberg +## Copyright (C) 2008 Soren Hauberg <so...@ha...> ## ## This program is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |