private (string, string, string) GetRouteMatchedTagParser(SiteArticleDefinition definition, string routeToMatch) { if (definition is null) { Log.Debug("SiteDefinition is null. Falling back to adaptive parser."); return("adaptive-parser", "", ""); } if (definition.RouteTemplates?.Length > 0) { var matcher = new RouteMatcher(); foreach (var articleRoute in definition.RouteTemplates) { if (matcher.Match(articleRoute.Template, "/" + routeToMatch) != null) { Log.Information("Matched route {routeName} on template {template}", articleRoute.Name, articleRoute.Template); return(articleRoute.Parser, articleRoute.ArticleSelector, articleRoute.ParagraphSelector); } } // Might have forgotten to create a **catch-all template, fall back to adaptive parser Log.Warning("Missing **catch-all template. Falling back to adaptive parser."); return("adaptive-parser", "", ""); } else { // No route templates defined, fall back to older style definition or adpative parser Log.Debug("No route templates defined. falling back to {@parser}", definition); return(string.IsNullOrEmpty(definition.Parser) ? "adaptive-parser" : definition.Parser, definition.ArticleSelector, definition.ParagraphSelector); } }
public string ParseTagsBySelector(SiteArticleDefinition options) { return(ParseTagsBySelector("", "p")); }
public string ParseTagsBySelector(SiteArticleDefinition options) { return(ParseTagsBySelector(options.ArticleSelector, options.ParagraphSelector)); }