Dear fink developers,

As some of you know, we have a pretty slick system for generating our
web pages, using xml source which is processed into php files.

The same xml source can be processed into more "monolithic" html files,
which are distributed these days with the binary installer.  Also, some
parts of the source are processed into txt files, and become part of
fink's source distribution.

The latter two steps are not fully automated, and I'd like to propose a
reorganization of how we work with these files on CVS, in order to
automate things completely.

The first part of the new organization would be adding two lines to
CVSROOT/modules, namely:

website -a !web/xml web
xml web/xml &fink &website &scripts

This defines two new CVS modules that can be checked out, but without
actually making new directories within CVS: they are virtual modules.
The first one, "website", is the same as the current "web" module,
except that it leaves out the xml subdirectory of the web module.
(This would be used on the actual fink website in my scheme: we don't
actually need the xml files to be present on the web site.)

The second new module "xml" would contain all of the xml source, as 
well as three subdirectories "fink", "website", and "scripts" where
the processed source would be installed.  Now the beauty of these
virtual modules is that those three subdirectories are themselves cvs
modules, which could be checked out independently, so this strategy
deposits the output from the xml processing directly where it is
needed.

So, after adding these two new modules, I would need to change the Makefiles
(diffs below).  I couldn't find a way to make the Makefiles work in both
the old and the new setup, so if folks agree to this change, one implication
is that everyone who works on the documentation will have to abandon their
current checkout of "web", and instead do a new checkout of "xml" to
do their documentation work.

I also needed an addition to the .dtd, because there is one place where
the URL that we want to pass is different when you install the monolithic
html in "scripts", as compared with what you install in "website".  So
I created the "varlink" template which requires two URL's to be supplied,
one used for the html and one used for the website.

Max and I briefly discussed this idea a few months ago after the 0.5.2
release, and he suggested that I should bring it to the list, in detail,
before implementation.  Putting out the 0.5.3 release motivated me again
to work on this, so that in future releases we don't have to fix up the
documentation "by hand."

I would appreciate any comments or feedback about this.  Diffs attached
below (for Makefile.common, the .dtd, the .xsl's, and the one .xml which
requires the new "varlink" template.

  -- Dave

--- Makefile.common.orig        Sun Jun 22 20:22:59 2003
+++ Makefile.common     Sat Jun 28 18:56:02 2003
@@ -12,7 +12,7 @@
 
 PROCESS_WEBSITE = $(basedir)/postprocess.pl
 PROCESS_HTML = sed -e 's,$$Id,$$Fink,g'
-PROCESS_TEXT = $(basedir)/textify.pl
+PROCESS_TEXT = /usr/bin/perl $(basedir)/textify.pl
 
 # selectors
 
@@ -20,13 +20,18 @@
 install_files = $(TARGET)
 #install_files = $(filter %.php,$(TARGET))
 
+## NOTE: need to remove the .html files from the web installation, in CVS
+
 ifdef WANT_HTML
 all_targets += $(patsubst %.xml,%.html,$(SOURCE))
-install_files += $(patsubst %.xml,%.html,$(SOURCE))
+#install_files += $(patsubst %.xml,%.html,$(SOURCE))
+install_html = $(patsubst %.xml,%.html,$(SOURCE))
 endif
 
 ifdef WANT_TEXT
 all_targets += $(patsubst %.xml,%.txt,$(SOURCE))
+install_txt = $(patsubst %.xml,%.txt,$(SOURCE))
+install_txt += $(patsubst %.xml,%.html,$(SOURCE))
 endif
 
 # basics
@@ -73,9 +78,16 @@
 
 install: $(install_files)
 ifdef DESTDIR
-       cp $(install_files) $(basedir)/../$(DESTDIR)/
+       cp $(install_files) $(basedir)/web/$(DESTDIR)/
 else
        @echo "DESTDIR not defined, can't install"
 endif
+ifdef WANT_HTML
+       cp $(install_html) $(basedir)/scripts/installer/dmg/$(DESTDIR)/
+endif
+ifdef WANT_TEXT
+       cp $(install_txt) $(basedir)/fink/
+endif
+
 
 # eof
--- doc/doc.xml-orig    Sun Jun 22 20:23:00 2003
+++ doc/doc.xml Sat Jun 28 20:15:11 2003
@@ -20,12 +20,12 @@
 The current user documentation for Fink:
 </p>
 <ul>
-<li><link url="users-guide/index.php">Fink User's Guide</link> -
+<li><varlink url="users-guide/index.php" varurl="users-guide/uguide.html">Fink User's 
Guide</varlink> -
 this covers installing Fink itself, installing packages, and upgrading
 to a new Fink release. It contains instructions for both the source
 and the binary release.
 <em>Work in Progress!</em></li>
-<li><link url="x11/index.php">Running X11 on Darwin and Mac OS X</link> -
+<li><varlink url="x11/index.php" varurl="x11/x11.html">Running X11 on Darwin and Mac 
OS X</varlink> -
 covers concepts, installation and launching (also intended for Darwin
 and Mac OS X users in general)</li>
 </ul>
@@ -35,13 +35,13 @@
 no longer maintained:
 </p>
 <ul>
-<li><link url="bundled/install.php">Installation and Upgrading</link> - how
+<li><varlink url="bundled/install.php" varurl="bundled/install.html">Installation and 
Upgrading</varlink> - how
 to install Fink or upgrade to a new version</li>
-<li><link url="bundled/usage.php">Usage</link> - how to use Fink
+<li><varlink url="bundled/usage.php" varurl="bundled/usage.html">Usage</varlink> - 
how to use Fink
 and the installed software</li>
-<li><link url="bundled/readme.php">Fink ReadMe</link> - the ReadMe for the
+<li><varlink url="bundled/readme.php" varurl="bundled/readme.html">Fink 
ReadMe</varlink> - the ReadMe for the
 source distribution</li>
-<li><link url="cvsaccess/index.php">CVS Access</link> - how to access the
+<li><varlink url="cvsaccess/index.php" varurl="cvsaccess/cvs.html">CVS 
Access</varlink> - how to access the
 Fink CVS repository to get the latest source packages between
 releases</li>
 </ul>
@@ -56,9 +56,9 @@
 url="http://conferences.oreillynet.com/macosx2002/";
 >O'Reilly Mac OS X Conference</link> (also available as a
 <link 
url="http://conferences.oreillynet.com/presentations/macosx02/morrison_david.ppt";>PowerPoint
 file</link>) </li>
-<li><link url="porting/index.php">Porting Tips</link> - notes for porting
+<li><varlink url="porting/index.php" varurl="porting/porting.html">Porting 
Tips</varlink> - notes for porting
 Unix applications to Darwin</li>
-<li><link url="packaging/index.php">Packaging Manual</link> - how to create and
+<li><varlink url="packaging/index.php" varurl="packaging/packaging.html">Packaging 
Manual</varlink> - how to create and
 maintain Fink packages</li>
 </ul>
 
--- finkdoc.dtd-orig    Sun Jun 22 20:22:59 2003
+++ finkdoc.dtd Sat Jun 28 20:04:14 2003
@@ -1,5 +1,5 @@
 <!ENTITY % block "codeblock | ol | p | ul" >
-<!ENTITY % inline "#PCDATA | code | em | filename | link | tt | quote | xref" >
+<!ENTITY % inline "#PCDATA | code | em | filename | link | varlink | tt | quote | 
xref" >
 
 <!ENTITY fink_version "0.5.2" >
 
@@ -41,6 +41,12 @@
 <!-- Links -->
 <!ELEMENT link ( #PCDATA ) >
 <!ATTLIST link url CDATA #REQUIRED >
+
+<!-- VarLinks -->
+<!ELEMENT varlink ( #PCDATA ) >
+<!ATTLIST varlink url CDATA #REQUIRED >
+<!ATTLIST varlink varurl CDATA #REQUIRED >
+
 
 <!ELEMENT xref ( #PCDATA ) >
 <!ATTLIST xref chapter IDREF #IMPLIED >
--- finkdoc-html.xsl-orig       Sun Jun 22 20:22:59 2003
+++ finkdoc-html.xsl    Sat Jun 28 20:05:30 2003
@@ -193,6 +193,10 @@
 <a href="[EMAIL PROTECTED]"><xsl:apply-templates/></a>
 </xsl:template>
 
+<xsl:template match="varlink">
+<a href="[EMAIL PROTECTED]"><xsl:apply-templates/></a>
+</xsl:template>
+
 <xsl:template match="xref">
 <a><xsl:attribute name="href">#<xsl:choose><xsl:when 
test="boolean(@chapter)"><xsl:value-of select="@chapter" 
/></xsl:when><xsl:otherwise><xsl:for-each select="ancestor::chapter | 
ancestor::article"><xsl:value-of 
select="@filename"/></xsl:for-each></xsl:otherwise></xsl:choose><xsl:if 
test="boolean(@section)">.<xsl:value-of select="@section" /></xsl:if></xsl:attribute>
 <xsl:apply-templates/></a>
--- finkdoc-text.xsl-orig       Sun Jun 22 20:22:59 2003
+++ finkdoc-text.xsl    Sat Jun 28 20:06:42 2003
@@ -130,6 +130,11 @@
 <xsl:text> [</xsl:text><xsl:value-of select="@url"/><xsl:text>]</xsl:text>
 </xsl:template>
 
+<xsl:template match="varlink">
+<xsl:apply-templates/>
+<xsl:text> [</xsl:text><xsl:value-of select="@varurl"/><xsl:text>]</xsl:text>
+</xsl:template>
+
 <!-- xref -->
 
 
--- finkdoc-website.xsl-orig    Sun Jun 22 20:22:59 2003
+++ finkdoc-website.xsl Sat Jun 28 20:08:06 2003
@@ -266,6 +266,10 @@
 <a href="[EMAIL PROTECTED]"><xsl:apply-templates/></a>
 </xsl:template>
 
+<xsl:template match="varlink">
+<a href="[EMAIL PROTECTED]"><xsl:apply-templates/></a>
+</xsl:template>
+
 <xsl:template match="xref">
 <a><xsl:attribute name="href">
 <xsl:if test="boolean(@chapter)"><xsl:value-of select="@chapter" />.php</xsl:if>


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to