예제 #1
0
        public static TemplateManagerProvider Initialize(TemplateManagerProvider provider)
        {
            Filter[] filters =
            {
                new Filter("add", new NDjango.FiltersCS.AddFilter()),
                new Filter("get_digit", new NDjango.FiltersCS.GetDigit()),
                new Filter("default", new NDjango.FiltersCS.DefaultFilter()),
                new Filter("divisibleby", new NDjango.FiltersCS.DivisibleByFilter()),
                new Filter("addslashes", new NDjango.FiltersCS.AddSlashesFilter()),
                new Filter("capfirst", new NDjango.FiltersCS.CapFirstFilter()),
                new Filter("escapejs", new NDjango.FiltersCS.EscapeJSFilter()),
                new Filter("fix_ampersands", new NDjango.FiltersCS.FixAmpersandsFilter()),
                new Filter("floatformat", new NDjango.FiltersCS.FloatFormatFilter()),
                new Filter("linenumbers", new NDjango.FiltersCS.LineNumbersFilter()),
                new Filter("lower", new NDjango.FiltersCS.LowerFilter()),
                new Filter("upper", new NDjango.FiltersCS.UpperFilter()),
                new Filter("make_list", new NDjango.FiltersCS.MakeListFilter()),
                new Filter("wordcount", new NDjango.FiltersCS.WordCountFilter()),
                new Filter("ljust", new NDjango.FiltersCS.LJustFilter()),
                new Filter("rjust", new NDjango.FiltersCS.RJustFilter()),
                new Filter("center", new NDjango.FiltersCS.CenterFilter()),
                new Filter("cut", new NDjango.FiltersCS.CutFilter()),
                new Filter("title", new NDjango.FiltersCS.TitleFilter()),
                new Filter("removetags", new NDjango.FiltersCS.RemoveTagsFilter()),
                new Filter("first", new NDjango.FiltersCS.FirstFilter()),
                new Filter("last", new NDjango.FiltersCS.LastFilter()),
                new Filter("length", new NDjango.FiltersCS.LengthFilter()),
                new Filter("length_is", new NDjango.FiltersCS.LengthIsFilter()),
                new Filter("random", new NDjango.FiltersCS.RandomFilter()),
                new Filter("slice", new NDjango.FiltersCS.SliceFilter())
            };

            return provider
                .WithFilters(filters);
        }
예제 #2
0
        private string RenderTemplate(string templateName, Dictionary<string, object> context)
        {
            var provider = new TemplateManagerProvider().WithLoader(new FileSystemTemplateLoader());
            provider = provider.WithFilters(NDjango.FiltersCS.FilterManager.GetFilters()).WithFilter("highlight", new HighlightFilter());
            var manager = provider.GetNewManager();

            System.IO.TextReader reader = manager.RenderTemplate(templateName, context);
            return reader.ReadToEnd();
        }