www/60517: [patch] xml'ify frontpage navigation bar

Josef El-Rayes josef at daemon.li
Mon Dec 22 15:42:40 PST 2003


>Number:         60517
>Category:       www
>Synopsis:       [patch] xml'ify frontpage navigation bar
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-www
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 22 15:40:16 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Josef El-Rayes
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
>Environment:
System: FreeBSD jenny.daemon.li 4.9-STABLE FreeBSD 4.9-STABLE #5: Sun Nov 16 23:10:01 CET 2003 josef at jenny.daemon.li:/usr/obj/usr/src/sys/JENNY i386


	
>Description:
  This patch converts the html navigation bar in a xml
  powered navigation bar, which makes maintaining the
  links much easier and more powerful.
	
>How-To-Repeat:
	
>Fix:

	

--- Makefile.diff begins here ---
--- Makefile.orig	Mon Dec 22 23:58:47 2003
+++ Makefile	Mon Dec 22 23:52:26 2003
@@ -105,13 +105,14 @@
 
 index.html: index.xsl ${XML_INCLUDES}\
 		${XML_NEWS_INCLUDES} ${XML_NEWS_NEWS} ${XML_NEWS_PRESS}\
-		${XML_MIRRORS} ${XML_ADVISORIES}
+		${XML_MIRRORS} ${XML_ADVISORIES} ${XML_NAVIGATION}
 	${XSLTPROC} ${XSLTPROCOPTS} \
 		-o $@ \
 		--param mirrors.xml "'${XML_MIRRORS}'" \
 		--param advisories.xml "'${XML_ADVISORIES}'" \
 		--param news.press.xml "'${XML_NEWS_PRESS}'" \
 		--param news.project.xml "'${XML_NEWS_NEWS}'" \
+		--param index.xml "'${XML_NAVIGATION}'" \
 		${.CURDIR}/index.xsl ${XML_NEWS_NEWS}
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
--- Makefile.diff ends here ---

--- includes.misc.xsl.diff begins here ---
--- includes.misc.xsl.orig	Mon Dec 22 23:57:04 2003
+++ includes.misc.xsl	Mon Dec 22 23:51:50 2003
@@ -99,6 +99,43 @@
     <xsl:value-of select="document($news.press.xml)/descendant::year[position() = 1]/name"/>
   </xsl:template>
 
+  <!-- template: "html-index-navigation-link-list"
+       generates navigation bar in index.html -->
+
+  <xsl:template name="html-index-navigation-link-list">
+    <xsl:param name="index.xml" select="''" />
+    <xsl:for-each select="document($index.xml)/navigation/category">
+      <p>
+	<xsl:if test="@src != ''">
+	<a>
+	    <xsl:attribute name="href">
+	      <xsl:value-of select="@src"/>
+	    </xsl:attribute>
+	    <font size="+1" color="#990000"><b><xsl:value-of select="@name"/></b></font>
+	</a>
+	</xsl:if>
+
+	<xsl:if test="not(@src != '')">
+	  <font size="+1" color="#990000"><b><xsl:value-of select="@name"/></b></font>
+	</xsl:if>
+	<br/>
+	<small>
+	  <xsl:apply-templates select="link"/>
+	</small>
+      </p>
+    </xsl:for-each>
+  </xsl:template>
+
+  <!-- template: "link" generates links inside of category -->
+  <xsl:template match="link">
+    &#183;
+    <a>
+      <xsl:attribute name="href">
+	<xsl:value-of select="@src"/>
+      </xsl:attribute>
+      <xsl:value-of select="@name"/></a><br/>
+  </xsl:template>
+
   <!-- template: "html-index-mirrors-options-list"
        generates mirror sites list in index.html -->
 
--- includes.misc.xsl.diff ends here ---

--- index.xml begins here ---
<?xml version="1.0"?>
<navigation>
  <cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
    <cvs:keyword name="freebsd">
      $FreeBSD$
    </cvs:keyword>
  </cvs:keywords>

  <category src="platforms/index.html" name="Platforms">
    <link src="smp/index.html" name="i386"/>
    <link src="platforms/alpha.html" name="Alpha"/>
    <link src="platforms/ia64/index.html" name="IA-64"/>
    <link src="platforms/amd64.html" name="AMD64"/>
    <link src="platforms/sparc.html" name="Sparc64"/>
    <link src="platforms/index.html" name="More?"/>
  </category>

  <category src="" name="Software">
    <link src="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors.html" name="Getting FreeBSD"/>
    <link src="releases/index.html" name="Release Information"/>
    <link src="ports/index.html" name="Ported Applications"/>
  </category>

  <category src="docs.html" name="Documentation">
    <link src="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html" name="FAQ"/>
    <link src="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/index.html" name="Handbook"/>
    <link src="http://www.FreeBSD.org/cgi/man.cgi" name="Manual pages"/>
    <link src="projects/newbies.html" name="For Newbies"/>
    <link src="docproj/index.html" name="Doc. Project"/>
  </category>

  <category src="support.html" name="Support">
    <link src="support.html#mailing-list" name="Mailing lists"/>
    <link src="support.html#newsgroups" name="Newsgroups"/>
    <link src="support.html#user" name="User Groups"/>
    <link src="support.html#web" name="Web Resources"/>
    <link src="security/index.html" name="Security"/>
  </category>

  <category src="support.html#gnats" name="Bug Reports">
    <link src="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query" name="Search"/>
    <link src="http://www.FreeBSD.org/cgi/query-pr.cgi" name="View one bug report"/>
    <link src="http://www.FreeBSD.org/cgi/query-pr-summary.cgi" name="View all bug reports"/>
    <link src="send-pr.html" name="Send a bug report"/>
    <link src="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/problem-reports/article.html" name="Writing Bug Reports"/> 
  </category>

  <category src="projects/index.html" name="Development">
    <link src="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook" name="Developer's Handbook"/>
    <link src="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook" name="Porter's Handbook"/>
    <link src="support.html#cvs" name="CVS Repository"/>
    <link src="releng/index.html" name="Release Engineering"/>
    <link src="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/index.html" name="Contributing to FreeBSD"/>
  </category>

  <category src="" name="Vendors">
    <link src="commercial/software_bycat.html" name="Software"/>
    <link src="commercial/hardware.html" name="Hardware"/>
    <link src="commercial/consulting_bycat.html" name="Consulting"/>
    <link src="commercial/misc.html" name="Misc"/>
  </category>

  <category src="" name="Donations">
    <link src="donations/index.html" name="Donations Liaison"/>
    <link src="donations/donors.html" name="Current Donations"/>
    <link src="donations/wantlist.html" name="List of needs"/>
  </category>

  <category src="" name="This Site">
    <link src="search/search.html#web" name="Search Website"/>
    <link src="search/search.html#mailinglists" name="Search Mailing Lists"/>
    <link src="search/search.html" name="Search All"/>
  </category>  

  <category src="mailto.html" name="Contacting FreeBSD"/>
  <category src="copyright/index.html" name="The BSD Copyright"/>
</navigation>
--- index.xml ends here ---

--- index.xsl.diff begins here ---
--- index.xsl.orig	Mon Dec 22 23:58:25 2003
+++ index.xsl	Tue Dec 23 00:04:08 2003
@@ -101,105 +101,9 @@
 			   bgcolor="#ffcc66" width="100%">
 		      <tr>
 			<td>
-			  <p>
-			    <a href="platforms/index.html">
-			      <font size="+1" color="#990000"><b>Platforms</b></font>
-			    </a><small><br/>
-			      &#183; <a href="smp/index.html">i386</a><br/>
-			      &#183; <a href="platforms/alpha.html">Alpha</a><br/>
-			      &#183; <a href="platforms/ia64/index.html">IA-64</a><br/>
-			      &#183; <a href="platforms/amd64.html">AMD64</a><br/>
-			      &#183; <a href="platforms/sparc.html">Sparc64</a><br/>
-			      &#183; <a href="platforms/index.html">More?</a><br/>
-			    </small></p>
-
-			  <p><font size="+1" color="#990000"><b>Software</b></font>
-			    <small><br/>
-			      &#183; <a href="{$base}/doc/en_US.ISO8859-1/books/handbook/mirrors.html">Getting FreeBSD</a><br/>
-			      &#183; <a href="releases/index.html">Release Information</a><br/>
-			      &#183; <a href="{$base}/ports/index.html">Ported Applications</a><br/>
-			    </small></p>
-	    
-			  <p>
-			    <a href="docs.html">
-			      <font size="+1" color="#990000"><b>Documentation</b></font>
-			    </a><small><br/>
-			      &#183; <a href="{$base}/doc/en_US.ISO8859-1/books/faq/index.html">FAQ</a><br/>
-			      &#183; <a href="{$base}/doc/en_US.ISO8859-1/books/handbook/index.html">Handbook</a><br/>
-			      &#183; <a href="http://www.FreeBSD.org/cgi/man.cgi">Manual pages</a><br/>
-			      &#183; <a href="projects/newbies.html">For Newbies</a><br/>
-			      &#183; <a href="{$base}/docproj/index.html">Doc. Project</a><br/>
-			    </small></p>
-			  
-			  <p>
-			    <a href="support.html">
-			      <font size="+1" color="#990000"><b>Support</b></font>
-			    </a><small><br/>
-			      &#183; <a href="{$base}/support.html#mailing-list">Mailing lists</a><br/>
-			      &#183; <a href="{$base}/support.html#newsgroups">Newsgroups</a><br/>
-			      &#183; <a href="{$base}/support.html#user">User Groups</a><br/>
-			      &#183; <a href="{$base}/support.html#web">Web Resources</a><br/>
-			      &#183; <a href="security/index.html">Security</a><br/>
-			    </small></p>
-
-			  <p>
-			    <a href="{$base}/support.html#gnats">
-			      <font size="+1" color="#990000"><b>Bug Reports</b></font>
-			    </a><small><br/>
-			      &#183; <a href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">Search</a><br/>
-			      &#183; <a href="http://www.FreeBSD.org/cgi/query-pr.cgi">View one bug report</a><br/>
-			      &#183; <a href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi">View all bug reports</a><br/>
-			      &#183; <a href="send-pr.html">Send a bug report</a><br/>
-			      &#183; <a href="doc/en_US.ISO8859-1/articles/problem-reports/article.html">Writing Bug Reports</a><br/>
-			    </small></p>
-
-	      
-			  <p>
-			    <a href="projects/index.html">
-			      <font size="+1" color="#990000"><b>Development</b></font>
-			    </a><small><br/>
-			      &#183; <a href="{$base}/doc/en_US.ISO8859-1/books/developers-handbook">Developer's Handbook</a><br/>
-			      &#183; <a href="{$base}/doc/en_US.ISO8859-1/books/porters-handbook">Porter's Handbook</a><br/>
-			      &#183; <a href="{$base}/support.html#cvs">CVS Repository</a><br/>
-			      &#183; <a href="releng/index.html">Release Engineering</a><br/>
-			      &#183; <a href="{$base}/doc/en_US.ISO8859-1/articles/contributing/index.html">Contributing to FreeBSD</a><br/>
-			    </small></p>
-	      
-			  <p><font size="+1" color="#990000"><b>Vendors</b></font>
-			    <small><br/>
-			      &#183; <a href="{$base}/commercial/software_bycat.html">Software</a><br/>
-			      &#183; <a href="{$base}/commercial/hardware.html">Hardware</a><br/>
-			      &#183; <a href="{$base}/commercial/consulting_bycat.html">Consulting</a><br/>
-			      &#183; <a href="{$base}/commercial/misc.html">Misc</a><br/>
-			    </small></p>
-
-			  <p><font size="+1" color="#990000"><b>Donations</b></font>
-			    <small><br/>
-			      &#183; <a href="{$base}/donations/index.html">Donations Liaison</a><br/>
-			      &#183; <a href="{$base}/donations/donors.html">Current Donations</a><br/>
-			      &#183; <a href="{$base}/donations/wantlist.html">List of needs</a><br/>
-			    </small></p>
-
-			  <p>
-			    <a href="{$base}/search/index-site.html">
-			      <font size="+1" color="#990000"><b>This Site</b></font>
-			    </a><small><br/>
-			      &#183; <a href="{$base}/search/search.html#web">Search Website</a><br/>
-			      &#183; <a href="{$base}/search/search.html#mailinglists">Search Mailing Lists</a><br/>
-			      &#183; <a href="{$base}/search/search.html">Search All</a><br/>
-			    </small></p>
-
-			  <p>
-			    <a href="mailto.html">
-			      <font size="+1" color="#990000"><b>Contacting FreeBSD</b></font>
-			    </a>
-			  </p>
-
-			  <p>
-			    <a href="copyright/index.html">
-			      <font size="+1" color="#990000"><b>The BSD Copyright</b></font>
-			    </a>
-			  </p>
+			  <xsl:call-template name="html-index-navigation-link-list">
+			    <xsl:with-param name="index.xml" select="$index.xml"/>
+			  </xsl:call-template>
 
 			  <form action="http://www.FreeBSD.org/cgi/search.cgi" method="get">
 			    <small>Search for:<br/>
--- index.xsl.diff ends here ---

--- web.site.mk.diff begins here ---
--- web.site.mk.orig	Mon Dec 22 23:57:41 2003
+++ web.site.mk	Mon Dec 22 23:52:08 2003
@@ -90,6 +90,8 @@
 XML_NEWS_INCLUDES_MASTER=	${WEB_PREFIX}/en/news/includes.xsl
 XML_NEWS_INCLUDES=		${WEB_PREFIX}/${WWW_LANGCODE}/news/includes.xsl
 
+XML_NAVIGATION=			${WEB_PREFIX}/en/index.xml
+
 XML_INCLUDES=	${WEB_PREFIX}/${WWW_LANGCODE}/includes.xsl
 XML_INCLUDES+=	${WEB_PREFIX}/share/sgml/includes.header.xsl
 XML_INCLUDES+=	${WEB_PREFIX}/share/sgml/includes.misc.xsl
--- web.site.mk.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-www mailing list