public void Initialize()
        {
            Guid dataTypeKey = new Guid("ec17fffe-3a33-4a08-a61a-3a6b7008e20f");

            CreateExampleBlock("exampleBlock", dataTypeKey);

            var specialCategoryId = new Guid("AAC6EE6A-EA54-4E90-A33B-049E39786BF5");

            _categoryRepository.Add(new ContentBlockCategory
            {
                Id   = specialCategoryId,
                Name = "Specials",
                Icon = "/App_Plugins/Perplex.ContentBlocks/assets/icons.svg#icon-cat-special"
            });

            // Block
            var block = new ContentBlockDefinition
            {
                Name        = "Example Block",
                Id          = new Guid("11111111-1111-1111-1111-111111111111"),
                DataTypeKey = dataTypeKey,
                // PreviewImage will usually be a path to some image,
                // for this demo we use a base64-encoded PNG of 3x2 pixels
                PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYzzDwPCfAQqYGJAAACokAc/b6i7NAAAAAElFTkSuQmCC",
                Description  = "Example Block",

                Layouts = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("22222222-2222-2222-2222-222222222222"),
                        Name         = "Red",
                        Description  = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae interdum dolor, sit amet luctus odio.",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYzzDwPCfAQqYGJAAACokAc/b6i7NAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleBlock/Red.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("33333333-3333-3333-3333-333333333333"),
                        Name         = "Green",
                        Description  = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae interdum dolor, sit amet luctus odio. Nam laoreet at odio eu faucibus. Vivamus non rhoncus erat, sit amet efficitur ipsum.",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYyy+JPafAQqYGJAAADcdAl5UlCmyAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleBlock/Green.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("44444444-4444-4444-4444-444444444444"),
                        Name         = "Blue",
                        Description  = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae interdum dolor, sit amet luctus odio. Nam laoreet at odio eu faucibus. Vivamus non rhoncus erat, sit amet efficitur ipsum. Pellentesque tempus tellus eu posuere varius. Nulla elementum lacus lacus. Curabitur elementum faucibus velit sed mollis.",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYzRJXfKfAQqYGJAAADOAAkAWXApqAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleBlock/Blue.cshtml",
                    },
                },

                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content,
                    specialCategoryId,
                }
            };

            // Header
            var header = new ContentBlockDefinition
            {
                Name         = "Example Header",
                Id           = new Guid("55555555-5555-5555-5555-555555555555"),
                DataTypeKey  = dataTypeKey,
                PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZY/zz0v8/AxQwMSABAEvFAzckGfK1AAAAAElFTkSuQmCC",
                Description  = "Example Block",

                Layouts = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("66666666-6666-6666-6666-666666666666"),
                        Name         = "Yellow",
                        Description  = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae interdum dolor, sit amet luctus odio.",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZY/zz0v8/AxQwMSABAEvFAzckGfK1AAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleHeader/Yellow.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("77777777-7777-7777-7777-777777777777"),
                        Name         = "Magenta",
                        Description  = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae interdum dolor, sit amet luctus odio. Nam laoreet at odio eu faucibus. Vivamus non rhoncus erat, sit amet efficitur ipsum.",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZY/zP8P8/AxQwMSABAEYIAwEl5g6iAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleHeader/Magenta.cshtml"
                    },
                },

                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Headers,
                }
            };

            _definitions.Add(block);
            _definitions.Add(header);

            var all = _definitions.GetAll().ToList();

            for (int i = 0; i < all.Count; i++)
            {
                var def = all[i];

                for (int j = 0; j < 8; j++)
                {
                    var newDef = new ContentBlockDefinition
                    {
                        CategoryIds = def.CategoryIds.ToList(),
                        DataTypeId  = def.DataTypeId,
                        DataTypeKey = def.DataTypeKey,
                        Description = def.Description,
                        Id          = new Guid($"{i}{j}{def.Id.ToString().Substring(2)}"),
                        Layouts     = def.Layouts.Select(l => new ContentBlockLayout
                        {
                            Description  = l.Description,
                            Id           = new Guid($"{i}{j}{l.Id.ToString().Substring(2)}"),
                            Name         = l.Name,
                            PreviewImage = l.PreviewImage,
                            ViewPath     = l.ViewPath,
                        }).ToList(),
                        Name         = def.Name + $" - copy #{j + 1}",
                        PreviewImage = def.PreviewImage,
                    };

                    _definitions.Add(newDef);
                }
            }
        }
        public void Initialize()
        {
            Guid dataTypeKey = new Guid("ec17fffe-3a33-4a08-a61a-3a6b7008e20f");

            CreateExampleBlock("exampleBlock", dataTypeKey);

            // Block
            var block = new ContentBlockDefinition
            {
                Name        = "Example Block",
                Id          = new Guid("11111111-1111-1111-1111-111111111111"),
                DataTypeKey = dataTypeKey,
                // PreviewImage will usually be a path to some image,
                // for this demo we use a base64-encoded PNG of 3x2 pixels
                PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYzzDwPCfAQqYGJAAACokAc/b6i7NAAAAAElFTkSuQmCC",
                Description  = "Example Block",

                Layouts = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("22222222-2222-2222-2222-222222222222"),
                        Name         = "Red",
                        Description  = "",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYzzDwPCfAQqYGJAAACokAc/b6i7NAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleBlock/Red.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("33333333-3333-3333-3333-333333333333"),
                        Name         = "Green",
                        Description  = "",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYyy+JPafAQqYGJAAADcdAl5UlCmyAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleBlock/Green.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("44444444-4444-4444-4444-444444444444"),
                        Name         = "Blue",
                        Description  = "",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZYzRJXfKfAQqYGJAAADOAAkAWXApqAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleBlock/Blue.cshtml",
                    },
                },

                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content,
                }
            };

            // Header
            var header = new ContentBlockDefinition
            {
                Name         = "Example Header",
                Id           = new Guid("55555555-5555-5555-5555-555555555555"),
                DataTypeKey  = dataTypeKey,
                PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZY/zz0v8/AxQwMSABAEvFAzckGfK1AAAAAElFTkSuQmCC",
                Description  = "Example Block",

                Layouts = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("66666666-6666-6666-6666-666666666666"),
                        Name         = "Yellow",
                        Description  = "",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZY/zz0v8/AxQwMSABAEvFAzckGfK1AAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleHeader/Yellow.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("77777777-7777-7777-7777-777777777777"),
                        Name         = "Magenta",
                        Description  = "",
                        PreviewImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATSURBVAiZY/zP8P8/AxQwMSABAEYIAwEl5g6iAAAAAElFTkSuQmCC",
                        ViewPath     = "~/Views/Partials/ExampleHeader/Magenta.cshtml"
                    },
                },

                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Headers,
                }
            };

            _definitions.Add(block);
            _definitions.Add(header);

            var all = _definitions.GetAll().ToList();

            for (int i = 0; i < all.Count; i++)
            {
                var def = all[i];

                for (int j = 0; j < 8; j++)
                {
                    var newDef = new ContentBlockDefinition
                    {
                        CategoryIds = def.CategoryIds.ToList(),
                        DataTypeId  = def.DataTypeId,
                        DataTypeKey = def.DataTypeKey,
                        Description = def.Description,
                        Id          = new Guid($"{i}{j}{def.Id.ToString().Substring(2)}"),
                        Layouts     = def.Layouts.Select(l => new ContentBlockLayout
                        {
                            Description  = l.Description,
                            Id           = new Guid($"{i}{j}{l.Id.ToString().Substring(2)}"),
                            Name         = l.Name,
                            PreviewImage = l.PreviewImage,
                            ViewPath     = l.ViewPath,
                        }).ToList(),
                        Name         = def.Name + $" - copy #{j + 1}",
                        PreviewImage = def.PreviewImage,
                    };

                    _definitions.Add(newDef);
                }
            }
        }
        public void Initialize()
        {
            var heroBlock = new ContentBlockDefinition
            {
                Name         = "Hero Content Block",                               //name of the block
                Id           = Guid.Parse("b1f44c8a-8f66-475e-bdd3-21b3a48c157e"), //unique id, create your own guid
                DataTypeKey  = Guid.Parse("b9f44c8a-8f66-475e-bdd3-21b3a48c157e"), //datatype key for nested content data type created for the block
                PreviewImage = "/assets/img/hero.png",                             // Image that shows in the UI as a preview of this block. Relative path from the root of your site to an image.
                Description  = "Hero Content Block",                               //Description of this Content Block
                CategoryIds  = new[]                                               //List of ids of the categories this Content Block should appear in. This references the id of a IContentBlockCategory
                {
                    Perplex.ContentBlocks.Constants.Categories.Headers,
                    Perplex.ContentBlocks.Constants.Categories.Content,
                    _demoContentBlockCategory.Id
                },

                Layouts = new IContentBlockLayout[] //List of all layouts of this Content Block
                {
                    new ContentBlockLayout
                    {
                        Id           = Guid.Parse("b2f44c8a-8f66-475e-bdd3-21b3a48c157e"),         //unique id, create your own guid
                        Name         = "Layout 1",                                                 //name for layout
                        Description  = "Centre Aligned Text",                                      //description
                        PreviewImage = "/assets/img/hero.png",                                     //preview image for backoffice
                        ViewPath     = "~/Views/Partials/PerplexContentBlocks/Hero/Layout1.cshtml" //view for website rendering
                    },
                    new ContentBlockLayout
                    {
                        Id           = Guid.Parse("b3f44c8a-8f66-475e-bdd3-21b3a48c157e"),
                        Name         = "Layout 2",
                        Description  = "",
                        PreviewImage = "/assets/img/layout2.png",
                        ViewPath     = "~/Views/Partials/PerplexContentBlocks/Hero/Layout2.cshtml"
                    },
                }
            };

            _definitions.Add(heroBlock);

            var podsBlock = new ContentBlockDefinition
            {
                Name         = "Pods Block",                                       //name of the block
                Id           = Guid.Parse("b4f44c8a-8f66-475e-bdd3-21b3a48c157e"), //unique id
                DataTypeKey  = Guid.Parse("d0bf8fe5-7cef-42e8-a8d6-a1af88569679"), //datatype key for nested content data type created for the block
                PreviewImage = "/assets/img/pods.png",                             // Image that shows in the UI as a preview of this block. Relative path from the root of your site to an image.
                Description  = "Pods Content Block",                               //Description of this Content Block
                CategoryIds  = new[]                                               //List of ids of the categories this Content Block should appear in. This references the id of a IContentBlockCategory. See Content Block Categories for more details on categories.
                {
                    Perplex.ContentBlocks.Constants.Categories.Content,
                    _demoContentBlockCategory.Id
                },

                Layouts = new IContentBlockLayout[] //List of all layouts of this Content Block
                {
                    new ContentBlockLayout
                    {
                        Id           = Guid.Parse("b5f44c8a-8f66-475e-bdd3-21b3a48c157e"),
                        Name         = "Pods",
                        Description  = "",
                        PreviewImage = "/assets/img/hero.png",
                        ViewPath     = "~/Views/Partials/PerplexContentBlocks/Pods/Pods.cshtml"
                    }
                }
            };

            _definitions.Add(podsBlock);

            var stepsBlock = new ContentBlockDefinition
            {
                Name         = "Configuration Steps Block",                        //name of the block
                Id           = Guid.Parse("b6f44c8a-8f66-475e-bdd3-21b3a48c157e"), //unique id
                DataTypeKey  = Guid.Parse("7d242d00-e42c-467f-a5d5-dd1d8b75e356"), //datatype key for nested content data type created for the block
                PreviewImage = "/assets/img/steps.png",                            // Image that shows in the UI as a preview of this block. Relative path from the root of your site to an image.
                Description  = "Configuration Steps Content Block",                //Description of this Content Block
                CategoryIds  = new[]                                               //List of ids of the categories this Content Block should appear in. This references the id of a IContentBlockCategory. See Content Block Categories for more details on categories.
                {
                    Perplex.ContentBlocks.Constants.Categories.Content,
                    _demoContentBlockCategory.Id
                },

                Layouts = new IContentBlockLayout[] //List of all layouts of this Content Block
                {
                    new ContentBlockLayout
                    {
                        Id           = Guid.Parse("b7f44c8a-8f66-475e-bdd3-21b3a48c157e"),
                        Name         = "Steps",
                        Description  = "",
                        PreviewImage = "/assets/img/hero.png",
                        ViewPath     = "~/Views/Partials/PerplexContentBlocks/Steps/Steps.cshtml"
                    }
                }
            };

            _definitions.Add(stepsBlock);
        }
        public void Initialize()
        {
            var MediaCategory = new ContentBlockCategory
            {
                Name = "Media",
                Id   = new Guid("10000000-0000-0000-0000-000000000000"),
                Icon = $"{AssetsFolder}/icons.svg#icon-cat-media",
                IsEnabledForHeaders = false,
                IsDisabledForBlocks = false,
            };

            _categories.Add(MediaCategory);
            var ChartsCategory = new ContentBlockCategory
            {
                Name = "Charts",
                Id   = new Guid("20000000-0000-0000-0000-000000000000"),
                Icon = $"{AssetsFolder}/icons.svg#icon-cat-charts",
                IsEnabledForHeaders = false,
                IsDisabledForBlocks = false,
            };

            _categories.Add(ChartsCategory);

            var HeadingBlock = new ContentBlockDefinition
            {
                Name         = "Heading",
                Id           = new Guid("00000000-0000-0000-0000-000000000010"),
                DataTypeKey  = new Guid("a4b08b27-8336-4828-9873-0d25fa38ce53"),
                PreviewImage = $"{AssetsFolder}/previews/content/heading/default.svg",
                Description  = "Use this for adding a heading to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000011"),
                        Name         = "Default",
                        Description  = "The default heading layout",
                        PreviewImage = "/img/heading/default.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Heading/Default.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content
                },
            };

            _definitions.Add(HeadingBlock);

            var TextBlock = new ContentBlockDefinition
            {
                Name         = "Text",
                Id           = new Guid("00000000-0000-0000-0000-000000000020"),
                DataTypeKey  = new Guid("d215ea0a-c083-46a4-9579-89f286c966be"),
                PreviewImage = $"{AssetsFolder}/previews/content/text/default.svg",
                Description  = "Use this for adding a block of text to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000021"),
                        Name         = "Default",
                        Description  = "The default text layout",
                        PreviewImage = $"{AssetsFolder}/previews/content/text/default.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Text/Default.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000022"),
                        Name         = "Highlighted",
                        Description  = "Layout that visually distinguishes the text from the rest of the content",
                        PreviewImage = $"{AssetsFolder}/previews/content/text/highlighted.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Text/Highlighted.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content
                },
            };

            _definitions.Add(TextBlock);
            var ListBlock = new ContentBlockDefinition
            {
                Name         = "List",
                Id           = new Guid("00000000-0000-0000-0000-000000000030"),
                DataTypeKey  = new Guid("ea52828c-9525-4646-bd4b-b1a62be280cd"),
                PreviewImage = $"{AssetsFolder}/previews/content/list/default.svg",
                Description  = "Use this for adding a list to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000031"),
                        Name         = "Default",
                        Description  = "The default list layout",
                        PreviewImage = $"{AssetsFolder}/previews/content/list/default.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/List/Default.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000032"),
                        Name         = "Positive",
                        Description  = "Layout which visually denotes each list item as being a positive or must have",
                        PreviewImage = $"{AssetsFolder}/previews/content/list/positive.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/List/Positive.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000033"),
                        Name         = "Negative",
                        Description  = "Layout which visually denotes each list item as being a negative or must not have",
                        PreviewImage = $"{AssetsFolder}/previews/content/list/negative.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/List/Negative.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000034"),
                        Name         = "Alpha",
                        Description  = "Layout which uses a, b, c etc. as the list pointers as opposed to the default",
                        PreviewImage = $"{AssetsFolder}/previews/content/list/alpha.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/List/Alpha.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000035"),
                        Name         = "Numeric",
                        Description  = "Layout which uses 1, 2, 3 etc. as the list pointers as opposed to the default",
                        PreviewImage = $"{AssetsFolder}/previews/content/list/numeric.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/List/Numeric.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content
                },
            };

            _definitions.Add(ListBlock);

            var TableBlock = new ContentBlockDefinition
            {
                Name         = "Table",
                Id           = new Guid("00000000-0000-0000-0000-000000000040"),
                DataTypeKey  = new Guid("41b6c15b-2a48-48da-bba5-03b2a6ff3900"),
                PreviewImage = $"{AssetsFolder}/previews/content/table/default.svg",
                Description  = "Use this for adding a table to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000041"),
                        Name         = "Default",
                        Description  = "The default table layout",
                        PreviewImage = "/img/textblock.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Table/Default.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content
                },
            };

            _definitions.Add(TableBlock);
            var AlertBlock = new ContentBlockDefinition
            {
                Name         = "Alert",
                Id           = new Guid("00000000-0000-0000-0000-000000000050"),
                DataTypeKey  = new Guid("0164aa45-9dc0-4aaa-be21-d02e0c640315"),
                PreviewImage = $"{AssetsFolder}/previews/content/alert/default.svg",
                Description  = "Use this for adding an alert to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000051"),
                        Name         = "Default",
                        Description  = "The default alert layout",
                        PreviewImage = $"{AssetsFolder}/previews/content/alert/default.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Alert/Default.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000052"),
                        Name         = "Success",
                        Description  = "Layout for a positive or successful alert",
                        PreviewImage = $"{AssetsFolder}/previews/content/alert/positive.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Alert/Positive.cshtml"
                    },
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000053"),
                        Name         = "Negative",
                        Description  = "Layout for a negative or unsuccessful alert",
                        PreviewImage = $"{AssetsFolder}/previews/content/alert/negative.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Alert/Negative.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content
                },
            };

            _definitions.Add(AlertBlock);

            var QuoteBlock = new ContentBlockDefinition
            {
                Name         = "Quote",
                Id           = new Guid("00000000-0000-0000-0000-000000000060"),
                DataTypeKey  = new Guid("2460f4af-26e2-4133-bfda-f586b3009aae"),
                PreviewImage = $"{AssetsFolder}/previews/content/quote/default.svg",
                Description  = "Use this for adding a quote to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000061"),
                        Name         = "Default",
                        Description  = "The default quote layout",
                        PreviewImage = $"{AssetsFolder}/previews/content/quote/default.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Quote/Default.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content
                },
            };

            _definitions.Add(QuoteBlock);

            var StatisticBlock = new ContentBlockDefinition
            {
                Name         = "Statistic",
                Id           = new Guid("00000000-0000-0000-0000-000000000070"),
                DataTypeKey  = new Guid("cdaac30e-b726-4c29-b3cc-c6c77ce44c79"),
                PreviewImage = $"{AssetsFolder}/previews/content/statistic/default.svg",
                Description  = "Use this for adding a statistic to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-000000000071"),
                        Name         = "Default",
                        Description  = "The default quote layout",
                        PreviewImage = $"{AssetsFolder}/previews/content/statistic/default.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks/Content/Statistic/Default.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    Perplex.ContentBlocks.Constants.Categories.Content
                },
            };

            _definitions.Add(StatisticBlock);

            var SingleImage = new ContentBlockDefinition
            {
                Name         = "Single image",
                Id           = new Guid("00000000-0000-0000-0000-100000000010"),
                DataTypeKey  = new Guid("ac92d846-16ae-47a0-8221-292b911c6ad4"),
                PreviewImage = $"{AssetsFolder}/previews/media/singleimage/default.svg",
                Description  = "Use this for adding a single image to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-100000000011"),
                        Name         = "Default",
                        Description  = "The default single image layout",
                        PreviewImage = "/img/singleimage.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks//Media/SingleImage/Default.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    MediaCategory.Id
                },
            };

            _definitions.Add(SingleImage);

            var MultipleImages = new ContentBlockDefinition
            {
                Name         = "Multiple images",
                Id           = new Guid("00000000-0000-0000-0000-100000000020"),
                DataTypeKey  = new Guid("328243ee-3096-44a0-8996-6531b19385ef"),
                PreviewImage = $"{AssetsFolder}/previews/media/singleimage/default.svg",
                Description  = "Use this for adding a single image to a page",
                Layouts      = new IContentBlockLayout[]
                {
                    new ContentBlockLayout
                    {
                        Id           = new Guid("00000000-0000-0000-0000-100000000021"),
                        Name         = "Default",
                        Description  = "The default single image layout",
                        PreviewImage = "/img/singleimage.svg",
                        ViewPath     = "~/Views/Partials/ContentBlocks//Media/SingleImage/Default.cshtml"
                    }
                },
                CategoryIds = new[]
                {
                    MediaCategory.Id
                },
            };

            _definitions.Add(MultipleImages);
        }