/// <summary>
        ///		Carga los archivos de un directorio
        /// </summary>
        private SitemapEntriesCollection Load(Pages.FileTargetModelCollection files)
        {
            SitemapEntriesCollection entries = new SitemapEntriesCollection();

            // Añade los archivos
            foreach (Pages.FileTargetModel file in files)
            {
                string extension = Path.GetExtension(file.FileNameTarget);

                if (extension.EqualsIgnoreCase(".htm") || extension.EqualsIgnoreCase(".html"))
                {
                    entries.Add(file.RelativeFullFileNameTarget, file.DateUpdate);
                }
            }
            // Devuelve la colección de entradas
            return(entries);
        }
示例#2
0
        /// <summary>
        ///		Compila los elementos de una categoría
        /// </summary>
        internal string CompileItemsCategory(Model.Documents.DocumentModel category, Pages.SectionSourceModel template,
                                             Pages.FileTargetModelCollection childs,
                                             Pages.FilesIndexComposition fileIndex)
        {
            VariablesCollection variables = new VariablesCollection();

            // Obtiene las variables de las páginas
            variables.AddRange(GetVariablesDocumentForCategory(childs));
            // Obtiene las varialbes de proyecto
            variables.AddRange(GetProjectVariables());
            variables.AddRange(GetSectionVariables(Model.Documents.DocumentModel.ScopeType.Web));
            variables.AddRange(GetSectionVariables(Model.Documents.DocumentModel.ScopeType.News));
            variables.AddRange(GetVariablesDocumentForCategory(childs));
            // Obtiene las variables del índice
            variables.AddRange(GetVariablesIndex(fileIndex));
            // Añade las variables de sección para la página
            variables.AddRange(GetVariablesSectionPerPage(variables));
            // Compila el archivo
            return(Compile(category.File.DocumentFileName, template.Source.Content, variables, 0));
        }
示例#3
0
        /// <summary>
        ///		Obtiene las variables de documentos para una categoría
        /// </summary>
        internal VariablesCollection GetVariablesDocumentForCategory(Pages.FileTargetModelCollection files)
        {
            List <Pages.DocumentTargetModel> documents = new List <Pages.DocumentTargetModel>();

            Application.Bussiness.Documents.DocumentBussiness bussiness = new Application.Bussiness.Documents.DocumentBussiness();

            // Carga los documentos
            foreach (Pages.FileTargetModel file in files)
            {
                Pages.DocumentTargetModel document = new Pages.DocumentTargetModel();

                // Asigna el archivo destino
                document.FileTarget = file;
                // Carga los datos
                document.Document = bussiness.Load(Processor.Project, file.GetFullFileNameCompiledShort(Processor));
                // Añade el documento a la colección
                documents.Add(document);
            }
            // Obtiene las variables
            return(GetVariablesDocumentForCategory(documents));
        }
示例#4
0
 internal CompilerData(Generator processor)
 {
     Files         = new Pages.FileTargetModelCollection(processor);
     Templates     = new Pages.SectionSourceModelCollection(processor);
     NhamlCompiler = new Compiler.NHamlCompilerWrapper(processor, this);
 }