public PageHandler(IPageRepository pageRepository, ICommunicationContext context, IUriResolver uriResolver, IMarkdown markdown) { this.pageRepository = pageRepository; this.context = context; this.uriResolver = uriResolver; this.markdown = markdown; }
public Link(string click, string url, IMarkdown markdown) { Click = click; Url = url; Markdown = markdown; }
/// <summary> /// Initializes the application object. /// </summary> /// <param name="api">The current api</param> private void Initialize(IApi api) { if (!_isInitialized) { lock (_mutex) { if (!_isInitialized) { // Configure object mapper var mapperConfig = new MapperConfiguration(cfg => { cfg.CreateMap <Data.Alias, Data.Alias>() .ForMember(a => a.Id, o => o.Ignore()) .ForMember(a => a.Created, o => o.Ignore()); cfg.CreateMap <Data.Category, Data.Category>() .ForMember(c => c.Id, o => o.Ignore()) .ForMember(c => c.Created, o => o.Ignore()); cfg.CreateMap <Data.MediaFolder, Data.MediaFolder>() .ForMember(f => f.Id, o => o.Ignore()) .ForMember(f => f.Created, o => o.Ignore()) .ForMember(f => f.Media, o => o.Ignore()); cfg.CreateMap <Data.MediaFolder, Models.MediaStructureItem>() .ForMember(f => f.Level, o => o.Ignore()) .ForMember(f => f.Items, o => o.Ignore()); cfg.CreateMap <Data.Page, Models.PageBase>() .ForMember(p => p.TypeId, o => o.MapFrom(m => m.PageTypeId)) .ForMember(p => p.Permalink, o => o.MapFrom(m => "/" + m.Slug)) .ForMember(p => p.Blocks, o => o.Ignore()); cfg.CreateMap <Models.PageBase, Data.Page>() .ForMember(p => p.PageTypeId, o => o.MapFrom(m => m.TypeId)) .ForMember(p => p.Blocks, o => o.Ignore()) .ForMember(p => p.Fields, o => o.Ignore()) .ForMember(p => p.Created, o => o.Ignore()) .ForMember(p => p.LastModified, o => o.Ignore()) .ForMember(p => p.PageType, o => o.Ignore()) .ForMember(p => p.Site, o => o.Ignore()) .ForMember(p => p.Parent, o => o.Ignore()); cfg.CreateMap <Data.Page, Models.SitemapItem>() .ForMember(p => p.MenuTitle, o => o.Ignore()) .ForMember(p => p.Level, o => o.Ignore()) .ForMember(p => p.Items, o => o.Ignore()) .ForMember(p => p.PageTypeName, o => o.Ignore()) .ForMember(p => p.Permalink, o => o.MapFrom(d => !d.ParentId.HasValue && d.SortOrder == 0 ? "/" : "/" + d.Slug)); cfg.CreateMap <Data.Param, Data.Param>() .ForMember(p => p.Id, o => o.Ignore()) .ForMember(p => p.Created, o => o.Ignore()); cfg.CreateMap <Data.Post, Models.PostBase>() .ForMember(p => p.TypeId, o => o.MapFrom(m => m.PostTypeId)) .ForMember(p => p.Permalink, o => o.MapFrom(m => "/" + m.Blog.Slug + "/" + m.Slug)) .ForMember(p => p.Blocks, o => o.Ignore()); cfg.CreateMap <Models.PostBase, Data.Post>() .ForMember(p => p.PostTypeId, o => o.MapFrom(m => m.TypeId)) .ForMember(p => p.CategoryId, o => o.MapFrom(m => m.Category.Id)) .ForMember(p => p.Blocks, o => o.Ignore()) .ForMember(p => p.Fields, o => o.Ignore()) .ForMember(p => p.Created, o => o.Ignore()) .ForMember(p => p.LastModified, o => o.Ignore()) .ForMember(p => p.PostType, o => o.Ignore()) .ForMember(p => p.Blog, o => o.Ignore()) .ForMember(p => p.Category, o => o.Ignore()) .ForMember(p => p.Tags, o => o.Ignore()); cfg.CreateMap <Data.Site, Data.Site>() .ForMember(s => s.Id, o => o.Ignore()) .ForMember(s => s.Created, o => o.Ignore()); cfg.CreateMap <Data.Site, Models.SiteContentBase>() .ForMember(s => s.TypeId, o => o.MapFrom(m => m.SiteTypeId)); cfg.CreateMap <Models.SiteContentBase, Data.Site>() .ForMember(s => s.SiteTypeId, o => o.Ignore()) .ForMember(s => s.InternalId, o => o.Ignore()) .ForMember(s => s.Description, o => o.Ignore()) .ForMember(s => s.Hostnames, o => o.Ignore()) .ForMember(s => s.IsDefault, o => o.Ignore()) .ForMember(s => s.Fields, o => o.Ignore()) .ForMember(s => s.Created, o => o.Ignore()) .ForMember(s => s.LastModified, o => o.Ignore()); cfg.CreateMap <Data.Tag, Data.Tag>() .ForMember(t => t.Id, o => o.Ignore()) .ForMember(t => t.Created, o => o.Ignore()); }); mapperConfig.AssertConfigurationIsValid(); _mapper = mapperConfig.CreateMapper(); // Setup media types _mediaTypes.Documents.Add(".pdf", "application/pdf"); _mediaTypes.Images.Add(".jpg", "image/jpeg"); _mediaTypes.Images.Add(".jpeg", "image/jpeg"); _mediaTypes.Images.Add(".png", "image/png"); _mediaTypes.Videos.Add(".mp4", "video/mp4"); // Compose content types _contentTypes.Register <Models.IPage>("Page", "Page"); _contentTypes.Register <Models.IBlogPage>("Blog", "Archive", true); // Compose field types _fields.Register <Extend.Fields.CheckBoxField>(); _fields.Register <Extend.Fields.DateField>(); _fields.Register <Extend.Fields.DocumentField>(); _fields.Register <Extend.Fields.HtmlField>(); _fields.Register <Extend.Fields.ImageField>(); _fields.Register <Extend.Fields.MarkdownField>(); _fields.Register <Extend.Fields.MediaField>(); _fields.Register <Extend.Fields.NumberField>(); _fields.Register <Extend.Fields.PageField>(); _fields.Register <Extend.Fields.PostField>(); _fields.Register <Extend.Fields.StringField>(); _fields.Register <Extend.Fields.TextField>(); _fields.Register <Extend.Fields.VideoField>(); // Compose block types _blocks.Register <Extend.Blocks.HtmlBlock>(); _blocks.Register <Extend.Blocks.HtmlColumnBlock>(); _blocks.Register <Extend.Blocks.ImageBlock>(); _blocks.Register <Extend.Blocks.QuoteBlock>(); _blocks.Register <Extend.Blocks.TextBlock>(); _blocks.Register <Extend.Blocks.SliderGroup>(); // Compose serializers _serializers.Register <Extend.Fields.CheckBoxField>(new CheckBoxFieldSerializer <Extend.Fields.CheckBoxField>()); _serializers.Register <Extend.Fields.DateField>(new DateFieldSerializer()); _serializers.Register <Extend.Fields.DocumentField>(new DocumentFieldSerializer()); _serializers.Register <Extend.Fields.HtmlField>(new StringFieldSerializer <Extend.Fields.HtmlField>()); _serializers.Register <Extend.Fields.MarkdownField>(new StringFieldSerializer <Extend.Fields.MarkdownField>()); _serializers.Register <Extend.Fields.MediaField>(new MediaFieldSerializer()); _serializers.Register <Extend.Fields.NumberField>(new IntegerFieldSerializer <Extend.Fields.NumberField>()); _serializers.Register <Extend.Fields.PageField>(new PageFieldSerializer()); _serializers.Register <Extend.Fields.PostField>(new PostFieldSerializer()); _serializers.Register <Extend.Fields.StringField>(new StringFieldSerializer <Extend.Fields.StringField>()); _serializers.Register <Extend.Fields.TextField>(new StringFieldSerializer <Extend.Fields.TextField>()); _serializers.Register <Extend.Fields.ImageField>(new ImageFieldSerializer()); _serializers.Register <Extend.Fields.VideoField>(new VideoFieldSerializer()); // Create markdown converter _markdown = new DefaultMarkdown(); // Register permissions _permissions["Core"].Add(new PermissionItem { Name = Permission.PagePreview, Title = "Page Preview" }); _permissions["Core"].Add(new PermissionItem { Name = Permission.PostPreview, Title = "Post Preview" }); // Initialize all modules foreach (var module in _modules) { module.Instance.Init(); } _isInitialized = true; } } } }
public static IMarkdown Add(this IMarkdown markdown, CultureInfo culture, string toAdd, params object[] arguments) { return(Markdown.Create(() => markdown.Render() + string.Format(culture, toAdd, arguments))); }
public void WriteLine(IMarkdown markdownItem) { _tw.WriteLine(markdownItem); }
public AnswerWriteController(ICommandExecuterMediator mediator, IMarkdown markdown) { _mediator = mediator; _markdown = markdown; }
/// <summary> /// Initializes the application object. /// </summary> /// <param name="api">The current api</param> private void Initialize(IApi api) { if (!isInitialized) { lock (mutex) { if (!isInitialized) { // Configure object mapper var mapperConfig = new MapperConfiguration(cfg => { cfg.CreateMap <Data.Alias, Data.Alias>() .ForMember(a => a.Id, o => o.Ignore()) .ForMember(a => a.Created, o => o.Ignore()); cfg.CreateMap <Data.Category, Data.Category>() .ForMember(c => c.Id, o => o.Ignore()) .ForMember(c => c.Created, o => o.Ignore()); cfg.CreateMap <Data.MediaFolder, Data.MediaFolder>() .ForMember(f => f.Id, o => o.Ignore()) .ForMember(f => f.Created, o => o.Ignore()) .ForMember(f => f.Media, o => o.Ignore()); cfg.CreateMap <Data.MediaFolder, Models.MediaStructureItem>() .ForMember(f => f.Level, o => o.Ignore()) .ForMember(f => f.Items, o => o.Ignore()); cfg.CreateMap <Data.Page, Models.PageBase>() .ForMember(p => p.TypeId, o => o.MapFrom(m => m.PageTypeId)) .ForMember(p => p.Permalink, o => o.MapFrom(m => m.Slug)); cfg.CreateMap <Models.PageBase, Data.Page>() .ForMember(p => p.PageTypeId, o => o.MapFrom(m => m.TypeId)) .ForMember(p => p.Fields, o => o.Ignore()) .ForMember(p => p.Created, o => o.Ignore()) .ForMember(p => p.LastModified, o => o.Ignore()) .ForMember(p => p.PageType, o => o.Ignore()) .ForMember(p => p.Site, o => o.Ignore()) .ForMember(p => p.Parent, o => o.Ignore()); cfg.CreateMap <Data.Page, Models.SitemapItem>() .ForMember(p => p.MenuTitle, o => o.Ignore()) .ForMember(p => p.Level, o => o.Ignore()) .ForMember(p => p.Items, o => o.Ignore()) .ForMember(p => p.Permalink, o => o.MapFrom(d => !d.ParentId.HasValue && d.SortOrder == 0 ? "/" : "/" + d.Slug)); cfg.CreateMap <Data.Param, Data.Param>() .ForMember(p => p.Id, o => o.Ignore()) .ForMember(p => p.Created, o => o.Ignore()); cfg.CreateMap <Data.Post, Models.PostBase>() .ForMember(p => p.TypeId, o => o.MapFrom(m => m.PostTypeId)) .ForMember(p => p.Permalink, o => o.MapFrom(m => m.Blog.Slug + "/" + m.Slug)); cfg.CreateMap <Models.PostBase, Data.Post>() .ForMember(p => p.PostTypeId, o => o.MapFrom(m => m.TypeId)) .ForMember(p => p.CategoryId, o => o.MapFrom(m => m.Category.Id)) .ForMember(p => p.Fields, o => o.Ignore()) .ForMember(p => p.Created, o => o.Ignore()) .ForMember(p => p.LastModified, o => o.Ignore()) .ForMember(p => p.PostType, o => o.Ignore()) .ForMember(p => p.Blog, o => o.Ignore()) .ForMember(p => p.Category, o => o.Ignore()) .ForMember(p => p.Tags, o => o.Ignore()); cfg.CreateMap <Data.Site, Data.Site>() .ForMember(s => s.Id, o => o.Ignore()) .ForMember(s => s.Created, o => o.Ignore()); cfg.CreateMap <Data.Tag, Data.Tag>() .ForMember(t => t.Id, o => o.Ignore()) .ForMember(t => t.Created, o => o.Ignore()); }); mapperConfig.AssertConfigurationIsValid(); mapper = mapperConfig.CreateMapper(); // Setup media types mediaTypes.Documents.Add(".pdf", "application/pdf"); mediaTypes.Images.Add(".jpg", "image/jpeg"); mediaTypes.Images.Add(".jpeg", "image/jpeg"); mediaTypes.Images.Add(".png", "image/png"); mediaTypes.Videos.Add(".mp4", "video/mp4"); // Compose content types contentTypes.Register <Models.IPage>("Page", "Page"); contentTypes.Register <Models.IBlogPage>("Blog", "Archive", true); // Compose field types fields.Register <Extend.Fields.DateField>(); fields.Register <Extend.Fields.DocumentField>(); fields.Register <Extend.Fields.HtmlField>(); fields.Register <Extend.Fields.ImageField>(); fields.Register <Extend.Fields.MarkdownField>(); fields.Register <Extend.Fields.MediaField>(); fields.Register <Extend.Fields.PageField>(); fields.Register <Extend.Fields.PostField>(); fields.Register <Extend.Fields.StringField>(); fields.Register <Extend.Fields.TextField>(); fields.Register <Extend.Fields.VideoField>(); // Compose serializers serializers.Register <Extend.Fields.DateField>(new DateFieldSerializer()); serializers.Register <Extend.Fields.DocumentField>(new DocumentFieldSerializer()); serializers.Register <Extend.Fields.HtmlField>(new StringFieldSerializer <Extend.Fields.HtmlField>()); serializers.Register <Extend.Fields.MarkdownField>(new StringFieldSerializer <Extend.Fields.MarkdownField>()); serializers.Register <Extend.Fields.MediaField>(new MediaFieldSerializer()); serializers.Register <Extend.Fields.PageField>(new PageFieldSerializer()); serializers.Register <Extend.Fields.PostField>(new PostFieldSerializer()); serializers.Register <Extend.Fields.StringField>(new StringFieldSerializer <Extend.Fields.StringField>()); serializers.Register <Extend.Fields.TextField>(new StringFieldSerializer <Extend.Fields.TextField>()); serializers.Register <Extend.Fields.ImageField>(new ImageFieldSerializer()); serializers.Register <Extend.Fields.VideoField>(new VideoFieldSerializer()); // Create markdown converter markdown = new DefaultMarkdown(); // Initialize all modules foreach (var module in modules) { module.Instance.Init(); } isInitialized = true; } } } }
public Italic(IMarkdown markdown) : base(markdown) { }
public static IMarkdown InlineCode(this IMarkdown markdown) { return(Markdown.Create(markdown, "`{0}`")); }
public static IMarkdown Italic(this IMarkdown markdown) { return(Markdown.Create(markdown, "*{0}*")); }
public static IMarkdown Bold(this IMarkdown markdown) { return(Markdown.Create(markdown, "**{0}**")); }
public static IMarkdown H3(this IMarkdown markdown) { return(Markdown.Create(markdown, "###{0}")); }
public static IMarkdown NewLine(this IMarkdown markdown) { return(Markdown.Create(() => markdown.Render() + " " + Environment.NewLine)); }
public static IMarkdown Add(this IMarkdown markdown, IMarkdown toAdd) { return(Markdown.Create(() => markdown.Render() + toAdd.Render())); }
public PageService(IWikiStorage storage, IHtmlWrapper wrapper, IMarkdown markdown) { _storage = storage; _wrapper = wrapper; _markdown = markdown; }
public static IMarkdown Create(IMarkdown markdown, string formatString) { return(new LazyMarkdown(() => new Markdown(string.Format(formatString, markdown.Render())))); }
public void AddElement(IMarkdown element) { _document.Append(element); _document.AppendLine(); }
public Italic(string content, IMarkdown markdown) : base(content, markdown) { }
public OrderedList(IMarkdown markdown) : base(markdown) { }
public SyntaxHighlighting(string code, string language, IMarkdown markdown) { Code = code; Language = language; Markdown = markdown; }
public OrderedList(IEnumerable <string> list, IMarkdown markdown) { List = list; Markdown = markdown; }
public static IMarkdown Add(this IMarkdown markdown, IMarkdown toAdd) { return Markdown.Create(() => markdown.Render() + toAdd.Render()); }
public FencedCode(IMarkdown markdown) : base(markdown) { }
public FencedCode(string content, IMarkdown markdown) : base(content, markdown) { }
public UrlOrEmail(string content, IMarkdown markdown) : base(content, markdown) { }