|
|
El Archivo de definición de proyecto se usa para administrar toda la información relacionada con un proyecto específico. Es conceptualmente similar al "archivo make" usado por muchos lenguajes de programación. Además de enlitar todos los documentos HTML de un proyecto, el Archivo de definición de proyecto también describe la jerarquía de herencia de los Archivos de contenido y los Macros.
El formato del Archivo de definición de proyecto es como sigue:
Globals=GlobalContentFile1,GlobalContentFile2,...,GlobalContentFileN!
[Folder1]
Globals=Folder1ContentFile1,Folder1ContentFile2,...,Folder1ContentFileN!
DocumentFile1,TemplateFile1,ContentFile11,ContentFile12,...,ContentFile1N!
DocumentFile2,TemplateFile2,ContentFile21,ContentFile22,...,ContentFile2N!
...
DocumentFileN,TemplateFileN,ContentFileN1,ContentFileN2,...,ContentFileNN!
[Folder2]
Globals=Folder2ContentFile1,Folder2ContentFile2,...,Folder2ContentFileN!
DocumentFile1,TemplateFile1,ContentFile11,ContentFile12,...,ContentFile1N!
DocumentFile2,TemplateFile2,ContentFile21,ContentFile22,...,ContentFile2N!
...
DocumentFileN,TemplateFileN,ContentFileN1,ContentFileN2,...,ContentFileNN!
...
[FolderN]
Globals=FolderNContentFile1,FolderNContentFile2,...,FolderNContentFileN!
DocumentFile1,TemplateFile1,ContentFile11,ContentFile12,...,ContentFile1N!
DocumentFile2,TemplateFile2,ContentFile21,ContentFile22,...,ContentFile2N!
...
DocumentFileN,TemplateFileN,ContentFileN1,ContentFileN2,...,ContentFileNN!
!
La descripción de arriba es una plantilla genérica para el Archivo de definición de proyecto. Dado que muchos archivos de esta plantilla son opcionales. un Archivo de definición de proyecto real será mucho más conciuso. He aquí un ejemplo de un Archivo de definición de proyecto para un proyecto sencillo hecho en Webgenz:
# Este es un comentario
Globals=userguide.par!
[Index]
index.html,index.tpl,index.par!
[Chapters]
Globals=doc.par!
overview.html,doc.tpl,overview.par!
projects.html,doc.tpl,projects.par!
templates.html,doc.tpl,templates.par!
content.html,doc.tpl,content.par!
!
Notas:
- Los Archivos de contenido global se definen poniendo "Globals=" al inicio de una línea al inicio del archivo. Los macros de estos Archivos de contenido son de alcance global y pueden ser llamados desde cualquier plantilla o archivo de contenido del proyecto.
- Las carpetas se definen colocando el nombre de una carpeta entre paréntesis rectangulares (por ejemplo [NombreCarpeta]) en su propia línea. En el ejemplo de arriba se definen las carpetas "Index" y "Chapters". (Nota: las carpetas de Webgenz no tienen una relación directa con las carpetas de Windows. Sin embargo, usted puede decidirse a organizar su proyecto de modo que sí la tengan. Las carpetas de Webgenz son simplemente un mecanismo que le permite dividir lógicamente un proyecto en secciones).
- Los archivos de contenido de carpetas se definen poniendo "Globals=" al inicio de una línea justo después de una definición de carpeta. Los macros definidos en los archivos de contenido de carpetas tienen un alcance que se limita a la carpeta en la cual están definidos. En otras palabras, los macros de los archivos de contenido de carpetas pueden ser llamados por cualesquiera plantillas o archivos de contenido definidos dentro de la carpeta.
- Los documentos listados dentro de una carpeta se definen como sigue:
DocumentFile,TemplateFile,ContentFile1,ContentFile2,...,ContentFileN!
donde TemplateFile, ContentFile1 y ContentFile2 a ContentFileN son opcionales.
Puede listar tantos archivos de contenido como desee para cada documento. Los macros definidos en estos archivos de contenido son específicos del documento definido en la misma línea. Los macros de estos archivos son de alcance "local".
- Jerarquía de heredabilidad - La funcionalidad básica de Webgenz consiste en generar documentos a partir de plantillas y archivos de contenido. Durante este proceso de generación de documentos Webgenz reemplaza las referencias a macros con las definiciones de dichos macros. Conforme Webgenz busca la definición de un macro, examinará los archivos de contenido en un orden específico. El orden en el que Webgenz examina los archivos de contenido está definido por la jerarquía de heredabilidad. La jerarquía de heredabilidad de los archivos de contenido es como sigue:
Más específica
Más general
|
ContentFile1
...
ContentFileN
--
FolderContentFile1
...
FolderContentFileN
--
GlobalContentFile1
...
GlobalContentFileN
|
Cuando Webgenz busca la definición de un macro, empieza a buscar en los archivos de contenido más específicos y luego sigua buscando en los archivos de contenido más generales hasta que halla la definición del macro. Tan pronto Webgenz encuentra la definición del macro, suspende la búsqueda.
Notas adicionales sobre el formato del Archivo de definición de proyecto:
- Las líneas en blanco que tenga un archivo son ignoradas.
- Los espacios antes o después de un nombre de archivo son ignorados.
- Cada línea del documento termina con el carácter "!".
- Se agregan comentarios al archivo incluyendo "#" al comienzo de una línea.
- El final de un proyecto se puede especificar incluyendo "!" al principio de una línea.
- Los archivos usados en un proyecto no pueden contener el carácter "!" en sus nombres.
- La convención general es que las plantillas usan la extensión ".tpl" y los archivos de contenido usan la extensión ".par". Sin embargo, puede usar cualquier convención de nomenclatura que desee.
He aquí otro ejemplo de un Archivo de definición de proyecto:
|