/// <summary> /// Creates a new markdown parser which handles the image and link parsing by the various different /// markdown format parsers. /// </summary> /// <returns>An <see cref="IMarkupParser"/> for Creole,Markdown or Media wiki formats.</returns> public MarkupConverter(ApplicationSettings settings, ISettingsRepository settingsRepository, IPageRepository pageRepository, IPluginFactory pluginFactory) { _externalLinkPrefixes = new List<string>() { "http://", "https://", "www.", "mailto:", "#", "tag:" }; _pluginFactory = pluginFactory; _settingsRepository = settingsRepository; _pageRepository = pageRepository; _applicationSettings = settings; // Create the UrlResolver for all wiki urls HttpContextBase httpContext = null; if (HttpContext.Current != null) httpContext = new HttpContextWrapper(HttpContext.Current); UrlResolver = new UrlResolver(httpContext); if (!_applicationSettings.Installed) { // Skip the chain of creation, as the markup converter isn't needed but is created by // StructureMap - this is required for installation return; } CreateParserForMarkupType(); }
/// <summary> /// Creates a new markdown parser which handles the image and link parsing by the various different /// markdown format parsers. /// </summary> /// <returns>An <see cref="IMarkupParser"/> for Creole,Markdown or Media wiki formats.</returns> public MarkupConverter(ApplicationSettings settings, IRepository repository, IPluginFactory pluginFactory) { _externalLinkPrefixes = new List<string>() { "http://", "https://", "www.", "mailto:", "#", "tag:" }; _pluginFactory = pluginFactory; _repository = repository; _applicationSettings = settings; // Create the UrlResolver for all wiki urls HttpContextBase httpContext = null; if (HttpContext.Current != null) httpContext = new HttpContextWrapper(HttpContext.Current); UrlResolver = new UrlResolver(httpContext); if (!_applicationSettings.Installed || _applicationSettings.UpgradeRequired) { string warnMessage = "Roadkill is not installed, or an upgrade is pending (ApplicationSettings.UpgradeRequired = false)." + "Skipping initialization of MarkupConverter (MarkupConverter.Parser will now be null)"; Log.Warn(warnMessage); // Skip the chain of creation, as the markup converter isn't needed return; } CreateParserForMarkupType(); }