<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website Full V2.4.0//EN" "http://docbook.sourceforge.net/release/website/2.4.0/schema/dtd/website-full.dtd">
<!--
      Este fichero es parte de la página web de AsturLiNUX. Las condiciones
      de utilización están sujetas a la misma licencia que la página web.
      Consulte la página web http://www.asturlinux.org/licencia.php para
      más detalles.
    -->
<!-- $Id: organizacion-svn.xml 857 2006-03-11 09:20:37Z wikier $ -->
<webpage lang="es" id="actividades.proyectos.web.organizacion-svn">
  <config param="rcsdate" value="$Date: 2006-03-11 10:20:37 +0100 (sÃ¡b, 11 mar 2006) $"/>

  <head>
    <title>Organización de los ficheros en el módulo SVN</title>
  </head>

    <para>
      Los ficheros necesarios para generar la página están albergados
      en un módulo de <literal>SVN</literal> llamado
      <filename>web-xml</filename> (próximamente se podrá acceder de
      forma anónima a este módulo).
    </para>

    <para>
      En el directorio raíz del módulo se pueden encontrar los
      siguientes ficheros:
    </para>

    <variablelist>

      <varlistentry>
	<term><filename>catalog.xml</filename></term>
	<listitem>
	  <para>
	    Fichero en <literal>XML</literal> que indica a los
	    procesadores de hojas de estilo y verificadores de
	    <literal>XML</literal> dónde encontrar los distintos
	    ficheros auxiliares que necesitan (como los
	    <literal>DTD</literal> o las hojas
	    <literal>XSL</literal>).
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>Makefile</filename></term>
	<listitem>
	  <para>
	    El fichero de reglas que indica a la herramienta
	    <command>make</command> cómo generar la página a partir de
	    los fuentes proporcionados.
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>Makefile.documentos</filename></term>
	<listitem>
	  <para>
	    Un fichero de reglas auxiliar (es incluido desde el
	    <filename>Makefile</filename> principal) que contiene las
	    instrucciones para generar los documentos.
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>layout.xml</filename></term>
	<listitem>
	  <para>
	    En este fichero, también en sintaxis
	    <literal>XML</literal>, se especifican las páginas que
	    forman parte de la web, así como su estructura lógica (en
	    forma de árbol).
	  </para>
	</listitem>
      </varlistentry>
    </variablelist>

    <para>
      También se pueden encontrar los siguientes subdirectorios:
    </para>

    <variablelist>

      <varlistentry>
	<term><filename>build</filename></term>
	<listitem>
	  <para>
	    Este directorio no existe en el <literal>SVN</literal>,
	    pero se crea durante la generación de la página mediante
	    la herramienta <command>make</command>. Aquí se colocan
	    los ficheros listos para instalar, es decir, los ficheros
	    generados. Dentro de <filename>build</filename> se pueden
	  encontrar otros cuatro subdirectorios:
	  <filename>pages</filename> contiene las páginas XHTML,
	  <filename>docs</filename> contiene los documentos en otros
	  formatos (PDF, texto, etc.), <filename>xml</filename>
	  contiene los documentos fuente XML después de transformarlos
	  para ofuscar las direcciones de correo, y
	  <filename>xsl-docbook-website</filename> contiene las hojas
	  de transformación de Norman Walsh después de adaptarlas.
	</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>css</filename></term>
	<listitem>
	  <para>
	    Contiene las hojas de estilo <literal>CSS</literal>.
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>merge</filename></term>
	<listitem>
	  <para>
	    Los contenidos de este directorio son directamente
	    copiados a <filename>build</filename> durante la
	    generación de las páginas. Por eso, este directorio es
	    ideal para colocar ficheros auxiliares, como
	    <filename>robots.txt</filename>.
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>php</filename></term>
	<listitem>
	  <para>
	    Los contenidos de este directorio son copiados al
	    subdirectorio <filename>php</filename> de
	    <filename>build</filename>, por tanto, es un buen lugar
	    para colocar ficheros en <literal>PHP</literal> que
	    contengan rutinas de utilidad.
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>xml</filename></term>
	<listitem>
	  <para>
	    Las páginas, descritas en <literal>XML</literal>. Están
	    contenidas en distintos subdirectorios, que no
	    coinciden necesariamente con la forma final de las
	    <literal>URLs</literal>, ya que el fichero
	    <filename>layout.xml</filename> podría especificar una
	    localización diferente.
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><filename>xsl</filename></term>
	<listitem>
	  <para>
	    Las distinas hojas de transformación. La hoja principal
	    para transformar las páginas a <literal>XHTML</literal> es
	    <filename>general.xsl</filename>, que a su vez incluye
	    plantillas contenidas en los ficheros
	    <filename>tablas.xsl</filename>,
	    <filename>util.xsl</filename> e
	    <filename>imagenes.xsl</filename>.
	  </para>
	  <para>
	    Las hojas <filename>website-a-html-plano.xsl</filename> y
	    <filename>website-a-latex.xsl</filename> se utilizan para
	    transformar los documentos, respectivamente, a
	    <literal>HTML</literal> y <literal>LaTeX</literal>.
	  </para>
	  <para>
	    Otras dos hojas de estilo se utilizan para generar la
	    información que complementa los
	    <filename>Makefiles</filename>. Son las hojas
	    <filename>custom-makefile-dep.xsl</filename> y
	    <filename>extrae-lista-documentos.xsl</filename>.
	  </para>
	  <para>
	    Por último, la hoja <filename>html2xhtml.xsl</filename>
	  fue creada por Norman Walsh, aunque se incorpora aquí
	  ligeramente retocada. Su objetivo es transformar las hojas
	  de Norman Walsh para que generen XHTML en lugar de HTML. De
	  este modo, no es necesario meter estas últimas en el SVN,
	  porque se pueden generar cada vez que sean necesarias.
	  </para>	  
	</listitem>
      </varlistentry>

    </variablelist>

  </webpage>
