Author: dda
Date: 2008-03-07 12:41:02 -0800 (Fri, 07 Mar 2008)
New Revision: 8209
Modified:
openlaszlo/trunk/docs/src/nav/classes.xml
openlaszlo/trunk/docs/src/nav/tags.xml
openlaszlo/trunk/docs/src/reference/navbuilder/navbuilder.rb
openlaszlo/trunk/docs/src/reference/navbuilder/navxmlbuilder.rb
Log:
Change 20080307-dda-B by [EMAIL PROTECTED] on 2008-03-07 15:20:58 EST
in /Users/dda/laszlo/src/svn/openlaszlo/trunk-doc
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: docs: Fixed problems in Classes and Tags tabs in left pane navigator
New Features:
Bugs Fixed: LPP-5366
Technical Reviewer: (pending)
QA Reviewer: (pending)
Doc Reviewer: liorio (pending)
Documentation:
Release Notes:
Details:
Overhauled navxmlbuilder.rb somewhat (navbuilder.rb is
a red herring, probably no longer useful - added a
message to it to use navxmlbuilder). Now navxmlbuilder
examines all files that might have tags in them, like
LzCanvas.html . This means 1) it cannot use the name of
the file to determine the tag, now it specifically looks for
the html title tag and the presence of <TAG_NAME>
Rather kludgy, but accurate. And 2) since we are looking
at a much larger set of files, including incubator files,
we need a way to eliminate incubator software from the reference
doc. Another kludge - we look for any <link> to a name
with Incubator in it. Easy enough in ruby.
There is probably a cleaner way to do this - we'd like for
the doc build process to communicate more directly to navxmlbuilder.
Either by inserting recognizable comments or div labels into the final
.html, or collected into another file. Saying for example,
this source came from the incubator, or this .html file has a tag, called
<foo>.
I explored the first of these, but made little headway, so
a cleaner solution will need to be deferred.
The classes.xml and tags.xml produced by running the script are
part of this commit.
The ruby files now generate in the xml a copyright comment and a 'do not
edit this file' comment, also to make it clear that navxmlbuilder.rb
shold be used to build them.
Tests:
Clicked around in Classes Tags. There should be no more broken
links and many of the <tags> that were missing before can be found.
Modified: openlaszlo/trunk/docs/src/nav/classes.xml
===================================================================
--- openlaszlo/trunk/docs/src/nav/classes.xml 2008-03-07 20:40:35 UTC (rev
8208)
+++ openlaszlo/trunk/docs/src/nav/classes.xml 2008-03-07 20:41:02 UTC (rev
8209)
@@ -1,48 +1,43 @@
<index>
- <item href="Lz+swf7+swf8+swf9.html" title="Lz" />
+ <!-- DO NOT EDIT: generated by navxmlbuilder.rb -->
<item href="LzAnimator.html" title="LzAnimator" />
<item href="LzAnimatorGroup.html" title="LzAnimatorGroup" />
- <item href="LzBrowser+dhtml.html" title="LzBrowser" />
- <item href="LzBrowser+swf7+swf8+swf9.html" title="LzBrowser" />
- <item href="LzCSSStyle.html" title="LzCSSStyle" />
- <item href="LzCSSStyleDeclaration.html" title="LzCSSStyleDeclaration" />
- <item href="LzCSSStyleRule.html" title="LzCSSStyleRule" />
- <item href="LzCSSStyleSheet.html" title="LzCSSStyleSheet" />
+ <item href="LzBrowser+dhtml.html" title="LzBrowser (dhtml)" />
+ <item href="LzBrowser+swf7+swf8+swf9.html" title="LzBrowser (swf)" />
<item href="LzCanvas.html" title="LzCanvas" />
<item href="LzCommand.html" title="LzCommand" />
- <item href="LzConnection+swf7+swf8+swf9.html" title="LzConnection" />
- <item href="LzConnectionDatasource+swf7+swf8+swf9.html"
title="LzConnectionDatasource" />
- <item href="LzContextMenu+dhtml.html" title="LzContextMenu" />
- <item href="LzContextMenu+swf7+swf8+swf9.html" title="LzContextMenu" />
- <item href="LzContextMenuItem+dhtml.html" title="LzContextMenuItem" />
- <item href="LzContextMenuItem+swf7+swf8+swf9.html"
title="LzContextMenuItem" />
+ <item href="LzContextMenu+dhtml.html" title="LzContextMenu (dhtml)" />
+ <item href="LzContextMenu+swf7+swf8+swf9.html" title="LzContextMenu (swf)"
/>
+ <item href="LzContextMenuItem+dhtml.html" title="LzContextMenuItem
(dhtml)" />
+ <item href="LzContextMenuItem+swf7+swf8+swf9.html"
title="LzContextMenuItem (swf)" />
+ <item href="LzCSSStyle.html" title="LzCSSStyle" />
<item href="LzCursor.html" title="LzCursor" />
<item href="LzDataElement.html" title="LzDataElement" />
<item href="LzDataNode.html" title="LzDataNode" />
+ <item href="LzDatapath.html" title="LzDatapath" />
+ <item href="LzDatapointer.html" title="LzDatapointer" />
<item href="LzDataProvider.html" title="LzDataProvider" />
<item href="LzDataRequest.html" title="LzDataRequest" />
<item href="LzDataSelectionManager.html" title="LzDataSelectionManager" />
- <item href="LzDataText.html" title="LzDataText" />
- <item href="LzDatapath.html" title="LzDatapath" />
- <item href="LzDatapointer.html" title="LzDatapointer" />
<item href="LzDataset.html" title="LzDataset" />
<item href="LzDatasource.html" title="LzDatasource" />
+ <item href="LzDataText.html" title="LzDataText" />
<item href="LzDelegate.html" title="LzDelegate" />
<item href="LzEvent.html" title="LzEvent" />
<item href="LzFocus.html" title="LzFocus" />
<item href="LzFormatter.html" title="LzFormatter" />
<item href="LzGlobalMouse.html" title="LzGlobalMouse" />
+ <item href="LzHistory+dhtml.html" title="LzHistory (dhtml)" />
+ <item href="LzHistory+swf7+swf8+swf9.html" title="LzHistory (swf)" />
<item href="LzHTTPDataProvider.html" title="LzHTTPDataProvider" />
<item href="LzHTTPDataRequest.html" title="LzHTTPDataRequest" />
<item href="LzHTTPDatasource.html" title="LzHTTPDatasource" />
- <item href="LzHistory+dhtml.html" title="LzHistory" />
- <item href="LzHistory+swf7+swf8+swf9.html" title="LzHistory" />
<item href="LzIdleClass.html" title="LzIdleClass" />
<item href="LzInputText.html" title="LzInputText" />
<item href="LzInstantiator.html" title="LzInstantiator" />
<item href="LzInstantiatorClass.html" title="LzInstantiatorClass" />
- <item href="LzKeys+dhtml.html" title="LzKeys" />
- <item href="LzKeys+swf7+swf8+swf9.html" title="LzKeys" />
+ <item href="LzKeys+dhtml.html" title="LzKeys (dhtml)" />
+ <item href="LzKeys+swf7+swf8+swf9.html" title="LzKeys (swf)" />
<item href="LzLayout.html" title="LzLayout" />
<item href="LzLazyReplicationManager.html"
title="LzLazyReplicationManager" />
<item href="LzMiniNode.html" title="LzMiniNode" />
@@ -58,8 +53,7 @@
<item href="LzTimer.html" title="LzTimer" />
<item href="LzTimerClass.html" title="LzTimerClass" />
<item href="LzTrackClass.html" title="LzTrackClass" />
- <item href="LzURL.html" title="LzURL" />
<item href="LzUserClass.html" title="LzUserClass" />
<item href="LzView.html" title="LzView" />
- <!-- Copyright 2007 Laszlo Systems -->
+ <!-- Copyright 2008 Laszlo Systems -->
</index>
Modified: openlaszlo/trunk/docs/src/nav/tags.xml
===================================================================
--- openlaszlo/trunk/docs/src/nav/tags.xml 2008-03-07 20:40:35 UTC (rev
8208)
+++ openlaszlo/trunk/docs/src/nav/tags.xml 2008-03-07 20:41:02 UTC (rev
8209)
@@ -1,16 +1,12 @@
<index>
- <item href="lz.DebugObject.html" title="DebugObject" />
- <item href="lz.LzTextFormat.html" title="LzTextFormat" />
- <item href="lz.SyncTester.html" title="SyncTester" />
- <item href="lz.Test.html" title="Test" />
- <item href="lz.TestCase.html" title="TestCase" />
- <item href="lz.TestResult.html" title="TestResult" />
- <item href="lz.TestSuite.html" title="TestSuite" />
- <item href="lz.XMLHttpRequest.html" title="XMLHttpRequest" />
+ <!-- DO NOT EDIT: generated by navxmlbuilder.rb -->
+ <item href="tag-a.html" title="a" />
<item href="lz.alert.html" title="alert" />
- <item href="lz.autocompletecombobox.html" title="autocompletecombobox" />
- <item href="lz.axis.html" title="axis" />
- <item href="lz.barchart.html" title="barchart" />
+ <item href="LzAnimator.html" title="animator" />
+ <item href="LzAnimatorGroup.html" title="animatorgroup" />
+ <item href="tag.attribute.html" title="attribute" />
+ <item href="tag-audio.html" title="audio" />
+ <item href="tag-b.html" title="b" />
<item href="lz.basebutton.html" title="basebutton" />
<item href="lz.basebuttonrepeater.html" title="basebuttonrepeater" />
<item href="lz.basecombobox.html" title="basecombobox" />
@@ -19,8 +15,6 @@
<item href="lz.basedatepicker.html" title="basedatepicker" />
<item href="lz.basedatepickerday.html" title="basedatepickerday" />
<item href="lz.basedatepickerweek.html" title="basedatepickerweek" />
- <item href="lz.basedragimage.html" title="basedragimage" />
- <item href="lz.baseedittext.html" title="baseedittext" />
<item href="lz.basefloatinglist.html" title="basefloatinglist" />
<item href="lz.baseform.html" title="baseform" />
<item href="lz.baseformitem.html" title="baseformitem" />
@@ -41,73 +35,60 @@
<item href="lz.basetabsbar.html" title="basetabsbar" />
<item href="lz.basetabscontent.html" title="basetabscontent" />
<item href="lz.basetabslider.html" title="basetabslider" />
- <item href="lz.basetooltip.html" title="basetooltip" />
<item href="lz.basetrackgroup.html" title="basetrackgroup" />
<item href="lz.basetree.html" title="basetree" />
- <item href="lz.basevalidator.html" title="basevalidator" />
<item href="lz.basevaluecomponent.html" title="basevaluecomponent" />
<item href="lz.basewindow.html" title="basewindow" />
- <item href="lz.basezoomarea.html" title="basezoomarea" />
- <item href="lz.bigcheckbox.html" title="bigcheckbox" />
- <item href="lz.borderinput.html" title="borderinput" />
- <item href="lz.boxview.html" title="boxview" />
+ <item href="tag-br.html" title="br" />
<item href="lz.button.html" title="button" />
<item href="lz.camera.html" title="camera" />
- <item href="lz.chart.html" title="chart" />
+ <item href="LzCanvas.html" title="canvas" />
<item href="lz.checkbox.html" title="checkbox" />
- <item href="lz.checkdragstate.html" title="checkdragstate" />
- <item href="lz.closebox.html" title="closebox" />
- <item href="lz.colorpicker.html" title="colorpicker" />
- <item href="lz.colorpot.html" title="colorpot" />
- <item href="lz.colorrow.html" title="colorrow" />
- <item href="lz.colorswatch.html" title="colorswatch" />
- <item href="lz.columnchart.html" title="columnchart" />
+ <item href="LzUserClass.html" title="class" />
<item href="lz.combobox.html" title="combobox" />
+ <item href="LzCommand.html" title="command" />
<item href="lz.constantboundslayout.html" title="constantboundslayout" />
<item href="lz.constantlayout.html" title="constantlayout" />
- <item href="lz.custombutton.html" title="custombutton" />
- <item href="lz.datacolumn.html" title="datacolumn" />
<item href="lz.datacombobox.html" title="datacombobox" />
- <item href="lz.datalabel.html" title="datalabel" />
- <item href="lz.datamarker.html" title="datamarker" />
- <item href="lz.dataseries.html" title="dataseries" />
- <item href="lz.datatip.html" title="datatip" />
+ <item href="LzDatapath.html" title="datapath" />
+ <item href="LzDatapointer.html" title="datapointer" />
+ <item href="LzDataRequest.html" title="datarequest" />
+ <item href="LzDataset.html" title="dataset" />
+ <item href="LzHTTPDatasource.html" title="datasource" />
<item href="lz.datepicker.html" title="datepicker" />
<item href="lz.datepickerday.html" title="datepickerday" />
<item href="lz.datepickerweek.html" title="datepickerweek" />
- <item href="lz.datevalidator.html" title="datevalidator" />
+ <item href="lz.DebugObject.html" title="DebugObject" />
<item href="lz.dragstate.html" title="dragstate" />
<item href="lz.drawview.html" title="drawview" />
<item href="lz.edittext.html" title="edittext" />
- <item href="lz.emailvalidator.html" title="emailvalidator" />
- <item href="lz.fileupload.html" title="fileupload" />
- <item href="lz.fileuploadlist.html" title="fileuploadlist" />
- <item href="lz.fisheye.html" title="fisheye" />
- <item href="lz.fisheye_item.html" title="fisheye_item" />
+ <item href="tag.event.html" title="event" />
+ <item href="tag-face.html" title="face" />
<item href="lz.floatinglist.html" title="floatinglist" />
<item href="lz.form.html" title="form" />
- <item href="lz.formatbtn.html" title="formatbtn" />
- <item href="lz.formatfontcolor.html" title="formatfontcolor" />
- <item href="lz.formatfontface.html" title="formatfontface" />
- <item href="lz.gradientview.html" title="gradientview" />
+ <item href="tag-frame.html" title="frame" />
<item href="lz.grid.html" title="grid" />
<item href="lz.gridcolumn.html" title="gridcolumn" />
<item href="lz.gridtext.html" title="gridtext" />
+ <item href="tag.handler.html" title="handler" />
<item href="lz.hbox.html" title="hbox" />
- <item href="lz.horizontalaxis.html" title="horizontalaxis" />
<item href="lz.hscrollbar.html" title="hscrollbar" />
- <item href="lz.hsplitpane.html" title="hsplitpane" />
- <item href="lz.html" title="html" />
<item href="lz.html.html" title="html" />
+ <item href="LzHTTPDataProvider.html" title="httpdataprovider" />
+ <item href="LzHTTPDataRequest.html" title="httpdatarequest" />
+ <item href="tag-i.html" title="i" />
<item href="lz.image.html" title="image" />
+ <item href="tag-img.html" title="img" />
+ <item href="tag.import.html" title="import" />
+ <item href="tag.include.html" title="include" />
+ <item href="LzInputText.html" title="inputtext" />
<item href="lz.javarpc.html" title="javarpc" />
- <item href="lz.label.html" title="label" />
+ <item href="LzLayout.html" title="layout" />
<item href="lz.lazyreplicator.html" title="lazyreplicator" />
- <item href="lz.legend.html" title="legend" />
- <item href="lz.linechart.html" title="linechart" />
- <item href="lz.linkdialog.html" title="linkdialog" />
+ <item href="tag.library.html" title="library" />
<item href="lz.list.html" title="list" />
<item href="lz.listitem.html" title="listitem" />
+ <item href="lz.LzTextFormat.html" title="LzTextFormat" />
<item href="lz.mediadevice.html" title="mediadevice" />
<item href="lz.mediastream.html" title="mediastream" />
<item href="lz.menu.html" title="menu" />
@@ -117,42 +98,37 @@
<item href="lz.menuitem.html" title="menuitem" />
<item href="lz.menuseparator.html" title="menuseparator" />
<item href="lz.menutrackgroup.html" title="menutrackgroup" />
+ <item href="tag.method.html" title="method" />
<item href="lz.microphone.html" title="microphone" />
- <item href="lz.minibutton.html" title="minibutton" />
<item href="lz.modaldialog.html" title="modaldialog" />
- <item href="lz.multiplefileupload.html" title="multiplefileupload" />
<item href="lz.multistatebutton.html" title="multistatebutton" />
<item href="lz.netparam.html" title="netparam" />
<item href="lz.netremotecall.html" title="netremotecall" />
- <item href="lz.numbervalidator.html" title="numbervalidator" />
- <item href="lz.opttree.html" title="opttree" />
+ <item href="LzNode.html" title="node" />
+ <item href="tag-p.html" title="p" />
<item href="lz.param.html" title="param" />
- <item href="lz.piechart.html" title="piechart" />
+ <item href="LzParam.html" title="params" />
<item href="lz.plainfloatinglist.html" title="plainfloatinglist" />
+ <item href="tag-pre.html" title="pre" />
<item href="lz.radiobutton.html" title="radiobutton" />
<item href="lz.radiogroup.html" title="radiogroup" />
- <item href="lz.radioitem.html" title="radioitem" />
- <item href="lz.rectangularchart.html" title="rectangularchart" />
<item href="lz.remotecall.html" title="remotecall" />
<item href="lz.replicator.html" title="replicator" />
<item href="lz.resizelayout.html" title="resizelayout" />
<item href="lz.resizestate.html" title="resizestate" />
<item href="lz.resizestatemin.html" title="resizestatemin" />
+ <item href="tag-resource.html" title="resource" />
<item href="lz.reverselayout.html" title="reverselayout" />
<item href="lz.richinputtext.html" title="richinputtext" />
- <item href="lz.richtexteditarea.html" title="richtexteditarea" />
- <item href="lz.richtexteditor.html" title="richtexteditor" />
- <item href="lz.richtexttoolbar.html" title="richtexttoolbar" />
- <item href="lz.roundrect.html" title="roundrect" />
- <item href="lz.roundrectbutton.html" title="roundrectbutton" />
<item href="lz.rpc.html" title="rpc" />
<item href="lz.rtmpconnection.html" title="rtmpconnection" />
<item href="lz.rtmpstatus.html" title="rtmpstatus" />
+ <item href="LzScript.html" title="script" />
<item href="lz.scrollbar.html" title="scrollbar" />
+ <item href="tag.security.html" title="security" />
+ <item href="LzSelectionManager.html" title="selectionmanager" />
<item href="lz.sessionrpc.html" title="sessionrpc" />
- <item href="lz.shadowbox.html" title="shadowbox" />
<item href="lz.simpleboundslayout.html" title="simpleboundslayout" />
- <item href="lz.simpledefaultlist.html" title="simpledefaultlist" />
<item href="lz.simpleinputtext.html" title="simpleinputtext" />
<item href="lz.simplelayout.html" title="simplelayout" />
<item href="lz.slider.html" title="slider" />
@@ -160,13 +136,13 @@
<item href="lz.slidertrack.html" title="slidertrack" />
<item href="lz.soap.html" title="soap" />
<item href="lz.stableborderlayout.html" title="stableborderlayout" />
+ <item href="LzState.html" title="state" />
<item href="lz.statictext.html" title="statictext" />
- <item href="lz.stepper.html" title="stepper" />
- <item href="lz.stringvalidator.html" title="stringvalidator" />
<item href="lz.style.html" title="style" />
- <item href="lz.stylishbutton.html" title="stylishbutton" />
<item href="lz.submit.html" title="submit" />
<item href="lz.swatchview.html" title="swatchview" />
+ <item href="tag.switch.html" title="switch" />
+ <item href="lz.SyncTester.html" title="SyncTester" />
<item href="lz.tab.html" title="tab" />
<item href="lz.tabelement.html" title="tabelement" />
<item href="lz.tabpane.html" title="tabpane" />
@@ -174,19 +150,16 @@
<item href="lz.tabsbar.html" title="tabsbar" />
<item href="lz.tabscontent.html" title="tabscontent" />
<item href="lz.tabslider.html" title="tabslider" />
+ <item href="lz.Test.html" title="Test" />
+ <item href="lz.TestCase.html" title="TestCase" />
+ <item href="lz.TestResult.html" title="TestResult" />
+ <item href="lz.TestSuite.html" title="TestSuite" />
+ <item href="LzText.html" title="text" />
<item href="lz.textformat.html" title="textformat" />
<item href="lz.textlistitem.html" title="textlistitem" />
- <item href="lz.textstyle.html" title="textstyle" />
- <item href="lz.tooltip.html" title="tooltip" />
- <item href="lz.tooltipManager.html" title="tooltipManager" />
<item href="lz.tree.html" title="tree" />
- <item href="lz.ulink.html" title="ulink" />
- <item href="lz.validatingForm.html" title="validatingForm" />
- <item href="lz.valueline.html" title="valueline" />
- <item href="lz.valuepoints.html" title="valuepoints" />
- <item href="lz.valueregion.html" title="valueregion" />
+ <item href="tag-u.html" title="u" />
<item href="lz.vbox.html" title="vbox" />
- <item href="lz.verticalaxis.html" title="verticalaxis" />
<item href="lz.videolibraryicon.html" title="videolibraryicon" />
<item href="lz.videolibrarypopup.html" title="videolibrarypopup" />
<item href="lz.videoplayer.html" title="videoplayer" />
@@ -196,14 +169,13 @@
<item href="lz.videotogglebutton.html" title="videotogglebutton" />
<item href="lz.videoview.html" title="videoview" />
<item href="lz.videovolumebutton.html" title="videovolumebutton" />
- <item href="lz.viewslist.html" title="viewslist" />
- <item href="lz.virtualdrawview.html" title="virtualdrawview" />
+ <item href="LzView.html" title="view" />
<item href="lz.vscrollbar.html" title="vscrollbar" />
<item href="lz.webapprpc.html" title="webapprpc" />
<item href="lz.window.html" title="window" />
<item href="lz.windowpanel.html" title="windowpanel" />
<item href="lz.wrappinglayout.html" title="wrappinglayout" />
+ <item href="lz.XMLHttpRequest.html" title="XMLHttpRequest" />
<item href="lz.xmlrpc.html" title="xmlrpc" />
- <item href="lz.zoomarea.html" title="zoomarea" />
- <!-- Copyright 2007 Laszlo Systems -->
+ <!-- Copyright 2008 Laszlo Systems -->
</index>
Modified: openlaszlo/trunk/docs/src/reference/navbuilder/navbuilder.rb
===================================================================
--- openlaszlo/trunk/docs/src/reference/navbuilder/navbuilder.rb
2008-03-07 20:40:35 UTC (rev 8208)
+++ openlaszlo/trunk/docs/src/reference/navbuilder/navbuilder.rb
2008-03-07 20:41:02 UTC (rev 8209)
@@ -1,5 +1,6 @@
# Special-purpose ruby script to generate index-generated.html, a simple
left-nav
# for OL4 reference.
+#
# usage: ruby navbuilder.rb > index-generated.html
# docs/src/reference/navbuilder/index-generated.html is managed by subversion.
# When you want to update the left-nav, tweak this script, navbuilder.rb,
@@ -8,8 +9,15 @@
# author: benjamin shine [EMAIL PROTECTED]
# created: 2007.08.29
# built on OSX 10.4 with ruby 1.8.6
-# Copyright 2007 Laszlo Systems. Use according to license terms.
+# Copyright 2007-2008 Laszlo Systems. Use according to license terms.
+################################################################
+# Note: it appears this script is no longer used, as navigation
+# is now driven by xml files produced by navxmlbuilder.rb .
+# TODO [2008-02-20 dda] remove this script, index-generated.html, etc. from svn
+################################################################
+$stderr.puts("Use navxmlbuilder.rb - navbuilder.rb is not needed");
+
def generate_index ( prefix, comment )
# generate a list of the lz stuff
puts "<div id=\"tags#{prefix}\">";
@@ -30,6 +38,48 @@
end
+# search for <title><tagname></title>,
+# if present, it's a tag that should appear in the index.
+# This works, though it's not elegant.
+def generate_index_tags ( prefix, comment )
+ # generate a list of the lz stuff
+ puts "<div id=\"tags#{prefix}\">";
+ puts "<h1>" + prefix + "</h1>";
+ puts "<p>" + comment + "</p>";
+ puts "<ul>";
+ file_filter = '../../../reference/*.html';
+
+ tags = Hash::new()
+ Dir.glob(file_filter).each{ |file|
+ open(file) {|f|
+ filebase = file.sub(/..\/..\/..\/reference\//, '');
+ f.each_line { |line|
+ line.chomp!
+ if (line =~ /<title>.*<\/title>/) then
+ if (line =~ /<title><.*><\/title>/) then
+ t = line.sub(/.*<title></, '').sub(/><\/title>.*/,
'');
+ tags[t] = filebase;
+ end
+ break;
+ end
+ }
+ }
+ }
+ # sort ignoring case
+ hash_sort_nocase(tags) { |tag,file|
+ puts "<li><a href=\"" + file + "\" target=\"content\">";
+ yield tag;
+ puts "</a></li>" ;
+ }
+ puts "</ul></div>"
+end
+
+def hash_sort_nocase (h)
+ lowerkey = Hash::new()
+ h.each_pair { |k,v| lowerkey[k.downcase] = k; }
+ lowerkey.sort.each { |low,key| yield key, h[key] }
+end
+
def generate_topic_index
puts "<div id=\"topics\">";
puts "<h1>Topics</h1>"
@@ -79,7 +129,7 @@
puts "<html><body>";
generate_top
-generate_index("lz", "lzx tags") { | elem | puts "<" + elem + ">" }
+generate_index_tags("lz", "lzx tags") { | elem | puts "<" + elem + ">" }
generate_class_index;
generate_topic_index;
generate_index("tag", "lzx xml language elements") { | elem | puts "<" +
elem + ">" }
Modified: openlaszlo/trunk/docs/src/reference/navbuilder/navxmlbuilder.rb
===================================================================
--- openlaszlo/trunk/docs/src/reference/navbuilder/navxmlbuilder.rb
2008-03-07 20:40:35 UTC (rev 8208)
+++ openlaszlo/trunk/docs/src/reference/navbuilder/navxmlbuilder.rb
2008-03-07 20:41:02 UTC (rev 8209)
@@ -1,73 +1,92 @@
-# Special-purpose ruby script to generate index-generated.html, a simple
left-nav
+# Special-purpose ruby script to generate xml data files for a simple left-nav
# for OL4 reference.
-# usage: ruby navbuilder.rb > index-generated.html
-# docs/src/reference/navbuilder/index-generated.html is managed by subversion.
-# When you want to update the left-nav, tweak this script, navbuilder.rb,
-# and rerun it, then check in index-generated.html. Builds will grab
-# the version-controlled index-generated.html when they build the doc.
+#
+# usage: ruby navxmlbuilder.rb
+#
+# docs/nav/classes.xml and docs/nav/tags.xml are managed by subversion.
+# When you want to update the left-nav, run this script from the directory
+# it is in, then mv classes.xml and tags.xml to ../../nav. Builds will grab
+# the version-controlled *.xml when they build the doc.
+#
# author: benjamin shine [EMAIL PROTECTED]
# created: 2007.08.29
# built on OSX 10.4 with ruby 1.8.6
-# Copyright 2007 Laszlo Systems. Use according to license terms.
+# Copyright 2007-2008 Laszlo Systems. Use according to license terms.
+require 'date'
+YEAR = Date::today().year.to_s
+DEBUGLEVEL = 0
-
-
-def generate_index ( prefix, outfilename, roottag="index" )
- f = File.new(outfilename, "w");
+def debug ( lev, str )
+ if (lev <= DEBUGLEVEL) then
+ $stdout.puts str + "\n"
+ end
+end
+# only appears if DEBUGLEVEL set to 1 or higher
+debug(1, "debug level is set to " + DEBUGLEVEL.to_s)
+
+def generate_index ( filepat, outfilename, roottag="index" )
+ debug(1, "generate " + outfilename + " using file pattern " + filepat);
+ f = File.new(outfilename, "w")
f.puts "<#{roottag}>"
- file_filter = '../../../reference/' + prefix + '*';
- name_filter = Regexp.new(prefix + ".") ;
+ f.puts " <!-- DO NOT EDIT: generated by navxmlbuilder.rb -->\n"
+ file_filter = '../../../reference/' + filepat
lz_topics = Dir.glob(file_filter).sort
- lz_topics = lz_topics.each{ |file| file.sub!(/..\/..\/..\/reference\//, '')};
- lz_topics.each { |file|
- lz_name = yield file
+ h = Hash::new();
+ lz_topics.each { |fullname|
+ ftype = File::ftype(fullname)
+ if (ftype != "directory") then
+ debug(2, "process " + fullname);
+ file = fullname.sub(/..\/..\/..\/reference\//, '')
+ lz_name = yield file, fullname
+ if (lz_name) then
+ h[lz_name] = file
+ end
+ end
+ }
+ hash_sort_ignorecase (h) { |lz_name,file|
f.puts " <item href=\"" + file + "\" title=\"#{lz_name}\" />\n"
}
+ f.puts " <!-- Copyright " + YEAR + " Laszlo Systems -->\n"
f.puts "</#{roottag}>"
f
end
-def generate_topic_index
- puts "<div id=\"topics\">";
- puts "<h1>Topics</h1>"
- puts "<ul>"
- prefix = "topic";
- file_filter = '../../../reference/' + prefix + '*';
- name_filter = Regexp.new(prefix + ".") ;
- lz_topics = Dir.glob(file_filter).sort
- lz_topics = lz_topics.each{ |file| file.sub!(/..\/..\/..\/reference\//, '')};
- lz_topics.each { |file|
- lz_name = file.sub(name_filter, '').sub(/.html/, '').gsub(/_/, '
').gsub(/\./, ': ');
- puts "<li><a href=\"" + file + "\" target=\"content\">" + lz_name +
"</a></li>" ;
- }
-
- puts "</ul></div>"
-
-end
+def hash_sort_ignorecase (h)
+ lowerkey = Hash::new()
+ h.each_pair { |k,v| lowerkey[k.downcase] = k; }
+ lowerkey.sort.each { |low,key| yield key, h[key] }
+end
-def generate_class_index
- puts "<div id=\"classes\">";
- puts "<h1>Classes</h1>"
- puts "<ul>"
- prefix = "Lz";
- file_filter = '../../../reference/' + prefix + '*';
- name_filter = Regexp.new(prefix);
- lz_topics = Dir.glob(file_filter).sort
- lz_topics = lz_topics.each{ |file| file.sub!(/..\/..\/..\/reference\//, '')};
- lz_topics.each { |file|
- lz_name = file.sub(/\.html/, '').gsub(/\+swf\d/, '').gsub(/\+dhtml/,'');
- puts "<li><a href=\"" + file + "\" target=\"content\">" + lz_name +
"</a></li>" ;
+def tagname_for(filename)
+ tag = nil;
+ open(filename) {|f|
+ f.each_line { |line|
+ line.chomp!
+ if (line =~ /<title>.*<\/title>/) then
+ if (line =~ /<title><.*><\/title>/) then
+ tag = line.sub(/.*<title></, '').sub(/><\/title>.*/,
'')
+ end
+ end
+ if (line =~ /<link.*\.Incubator\./) then
+ tag = nil
+ break
+ end
+ }
}
-
- puts "</ul></div>";
+ tag
end
+# Filenames are like lz.alert, LzAnimator.html, tag.attribute.html, tag-br.html
+# The file pattern for Lz/lz should work around any file case issues
+# on Windows vs. Unix/Linux.
+$stderr.puts "This version of navxmlbuilder has not resolved the issue of
pruning out things from incubator"
-generate_index("lz", "lz.xml", "index") { | file | file.sub(Regexp.new("lz."),
'').sub(/.html/, ''); }
-generate_index("tag", "tags.xml", "index") { | file |
file.sub(Regexp.new("lz."), '').sub(/.html/, ''); }
-generate_index("Lz", "classes.xml", "index") { | file |
- file.sub(/\.html/, '').gsub(/\+swf\d/, '').gsub(/\+dhtml/,'');
- }
-
+generate_index("{[Ll]z,tag}*.html", "tags.xml", "index") { | file,fullname |
+ tagname_for(fullname);
+ }
+generate_index("Lz*.html", "classes.xml", "index") { | file,ignored |
+ file.sub(/\.html/, '').sub(/([^+]*)\+(.*)/, '\1 (\2)').gsub(/\+/, ' ').
+ sub('swf7 swf8 swf9', 'swf');
+}
_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins