Beispiel #1
0
        public void Setup()
        {
            _articles = new List <Article>();
            _articles.AddRange(new Article[]
            {
                new Article()
                {
                    Title       = "Article One",
                    Slug        = "2019/01/article-one",
                    PublishDate = new DateTime(2019, 1, 10, 12, 34, 56),
                    Content     = "This is article one, published on January 10, 2019 at 12:34pm UTC"
                },

                new Article()
                {
                    Title       = "Article Three",
                    Slug        = "2019/07/article-three",
                    PublishDate = new DateTime(2019, 7, 6, 18, 34, 56),
                    Content     = "This is article three, published on July 6, 2019 at 6:34pm UTC"
                },

                new Article()
                {
                    Title       = "Article Two",
                    Slug        = "2019/01/article-two",
                    PublishDate = new DateTime(2019, 1, 10, 14, 57, 32),
                    Content     = "This is article two, published on January 10, 2019 at 2:57pm UTC"
                },

                new Article()
                {
                    Title       = "Older Article",
                    Slug        = "2018/07/older-article",
                    PublishDate = new DateTime(2018, 7, 30, 10, 2, 0),
                    Content     = "This is an older article from the previous year (2018)"
                }
            });

            _articleStore = new InMemoryArticleStore();
            foreach (var article in _articles)
            {
                _articleStore.SafeAddArticle(article);
            }

            WebSiteOptions options = new WebSiteOptions()
            {
                WebSiteTitle = SITE_NAME
            };

            var userManager = ConfigurationHelper
                              .CreateServiceProvider()
                              .GetService <Microsoft.AspNetCore.Identity.UserManager <ApplicationUser> >();

            _controller = new Controllers.homeController(_articleStore, options, userManager);
        }
 protected string ToAbsoluteUrl(string url)
 {
     if (Url.IsLocalUrl(url))
     {
         return(new Uri(new Uri(WebSiteOptions.GetSiteUrlFallbackToContext(HttpContext)), Url.Content(url)).ToString());
     }
     else
     {
         return(url);
     }
 }
Beispiel #3
0
        /// <summary>
        /// 添加站点监控
        /// </summary>
        /// <param name="monitors">监控集合</param>
        /// <param name="alias">站点名称</param>
        /// <param name="uri">站点地址</param>
        /// <param name="options">配置选项</param>
        /// <exception cref="ArgumentNullException"></exception>
        /// <returns></returns>
        public static MonitorCollection AddWebSiteMonitor(this MonitorCollection monitors, string alias, Uri uri, Action <WebSiteOptions> options)
        {
            var opt = new WebSiteOptions();

            options?.Invoke(opt);

            var service = new WebSiteMonitor(opt, alias, uri);

            monitors.Add(service);
            return(monitors);
        }
Beispiel #4
0
 public adminController(
     IEmailService emailService,
     IArticleStore articleStore,
     IMarkdownHtmlRenderer markdownHtmlRenderer,
     UserManager <ApplicationUser> userManager,
     WebSiteOptions webSiteOptions) : base(webSiteOptions)
 {
     _emailService         = emailService;
     _articleStore         = articleStore;
     _markdownHtmlRenderer = markdownHtmlRenderer;
     _userManager          = userManager;
 }
Beispiel #5
0
 public accountController
 (
     ApplicationSignInManager <ApplicationUser> signInManager,
     ILogger <accountController> logger,
     IEmailGenerator emailGenerator,
     WebSiteOptions webSiteOptions
 ) : base(webSiteOptions)
 {
     _signInManager  = signInManager;
     _logger         = logger;
     _emailGenerator = emailGenerator;
     _userManager    = _signInManager.UserManager;
 }
Beispiel #6
0
        public void ImagesWithBaseUrl()
        {
            var altText   = "This is alt text";
            var imgSrc    = "image.png";
            var imageBase = "/base";
            var markdown  = $"![{altText}]({imgSrc})";

            var webSiteOptions = new WebSiteOptions
            {
                ImageBasePath = imageBase
            };
            var renderer = new WebsiteMarkupRenderer(webSiteOptions, null);

            AssertEquivalentHtml($"<p><img src=\"{imageBase}/{imgSrc}\" class=\"img-fluid\" alt=\"{altText}\"/>", renderer.RenderHtml(markdown));
        }
Beispiel #7
0
        public void ExternalLinkWithBaseUrl()
        {
            var linkhref = "http://127.0.0.1/abc/page1.htm";
            var baseUrl  = "http://localhost";
            var text     = "Some link";
            var markdown = $"[{text}]({linkhref})";

            var webSiteOptions = new WebSiteOptions
            {
                ImageBasePath = "somethingElse",
                SiteUrl       = baseUrl
            };
            var renderer = new WebsiteMarkupRenderer(webSiteOptions, null);

            AssertEquivalentHtml($"<p><a href=\"{linkhref}\" rel=\"nofollow\">{text}</a></p>", renderer.RenderHtml(markdown));
        }
        private static Credentials GetCredentials(WebSiteOptions webSiteOptions)
        {
            if (webSiteOptions.IsHttpsAuthentication)
            {
                if (webSiteOptions.Certificate == null)
                {
                    throw new IdentityServerException(
                              ErrorCodes.InternalError,
                              ErrorDescriptions.TheCertificateIsMissing);
                }

                return(new CertificateCredentials(webSiteOptions.Certificate));
            }

            if (string.IsNullOrWhiteSpace(webSiteOptions.UserName) ||
                string.IsNullOrWhiteSpace(webSiteOptions.Password))
            {
                throw new IdentityServerException(
                          ErrorCodes.InternalError,
                          ErrorDescriptions.TheUserCredentialsAreMissing);
            }

            return(new BasicAuthCredentials(webSiteOptions.UserName, webSiteOptions.Password));
        }
 public DockerClientFactory(WebSiteOptions webSiteOptions)
 {
     _webSiteOptions = webSiteOptions;
 }
 public JqmControllerBase(WebSiteOptions webSiteOptions)
 {
     WebSiteOptions = webSiteOptions;
 }
Beispiel #11
0
 public WebsiteMarkupRenderer(WebSiteOptions webSiteOptions, IHttpContextAccessor httpContextAccessor)
 {
     _webSiteOptions      = webSiteOptions;
     _httpContextAccessor = httpContextAccessor;
 }
 public BasicEmailGenerator(IEmailService emailService, WebSiteOptions webSiteOptions)
 {
     _emailService   = emailService;
     _webSiteOptions = webSiteOptions;
 }
 public profileController(WebSiteOptions webSiteOptions, UserManager <ApplicationUser> userManager) : base(webSiteOptions)
 {
     _userManager = userManager;
 }
 public contactController(IArticleStore articleStore, WebSiteOptions webSiteOptions) : base(webSiteOptions)
 {
     _articleStore = articleStore;
 }
Beispiel #15
0
 public blogController(IArticleStore iarticleStore, IMarkdownHtmlRenderer markdownHtmlRenderer, WebSiteOptions webSiteOptions) : base(webSiteOptions)
 {
     articleStore          = iarticleStore;
     _markdownHtmlRenderer = markdownHtmlRenderer;
     _articleManager       = new ArticleManager(articleStore);
 }
 public homeController(IArticleStore iarticleStore, WebSiteOptions webSiteOptions, UserManager <ApplicationUser> userMgr) : base(webSiteOptions)
 {
     articleStore = iarticleStore;
     userManager  = userMgr;
 }