Пример #1
0
            public override object VisitHtmlAttribute([NotNull] HtmlParser.HtmlAttributeContext context)
            {
                var contextName = context.htmlAttributeName();
                var name        = contextName.GetText();

                bool isClass = string.Equals("class", name, StringComparison.OrdinalIgnoreCase);

                if (isClass)
                {
                    var    mangerAttr = new HtmlAttributeManager(context);
                    string text       = mangerAttr.Value;

                    StringBuilder sb = new StringBuilder();

                    foreach (var className in text.Split(' '))
                    {
                        if (classNamesMap.ContainsKey(className))
                        {
                            sb.Append(classNamesMap[className]);
                        }
                        else
                        {
                            sb.Append(className);
                        }
                        sb.Append(" ");
                    }
                    sb.Length--;

                    mangerAttr.Value = sb.ToString();
                }
                return(null);
            }
Пример #2
0
            public override object VisitHtmlAttribute([NotNull] HtmlParser.HtmlAttributeContext context)
            {
                var contextName = context.htmlAttributeName();
                var name        = contextName.GetText();

                bool isId = string.Equals("id", name, StringComparison.OrdinalIgnoreCase);

                if (isId)
                {
                    var mangerAttr = new HtmlAttributeManager(context);
                    freqList.Increment(mangerAttr.Value);
                }
                return(null);
            }
Пример #3
0
            public override object VisitHtmlAttribute([NotNull] HtmlParser.HtmlAttributeContext context)
            {
                var contextName = context.htmlAttributeName();
                var name        = contextName.GetText();

                bool isId = string.Equals("id", name, StringComparison.OrdinalIgnoreCase);

                if (isId)
                {
                    var    mangerAttr = new HtmlAttributeManager(context);
                    string id         = mangerAttr.Value;
                    if (idsMap.ContainsKey(id))
                    {
                        mangerAttr.Value = idsMap[id];
                    }
                }
                return(null);
            }
Пример #4
0
            public override object VisitHtmlAttribute([NotNull] HtmlParser.HtmlAttributeContext context)
            {
                var contextName = context.htmlAttributeName();
                var name        = contextName.GetText();

                bool isClass = string.Equals("class", name, StringComparison.OrdinalIgnoreCase);

                if (isClass)
                {
                    var mangerAttr = new HtmlAttributeManager(context);

                    foreach (var className in mangerAttr.Value.Split(' '))
                    {
                        freqList.Increment(className);
                    }
                }
                return(null);
            }
Пример #5
0
            public override object VisitScript([NotNull] HtmlParser.ScriptContext context)
            {
                foreach (var item in context.htmlAttribute())
                {
                    var name = item.htmlAttributeName().TAG_NAME().GetText();
                    if (name.ToUpper() != "SRC")
                    {
                        continue;
                    }
                    var           manager    = new HtmlAttributeManager(item);
                    var           path       = manager.Value;
                    Entities.File searchFile = valueProvider.GetFile(path);
                    if (searchFile != null)
                    {
                        if (searchFile.IsExternal)
                        {
                            manager.Value = searchFile.FileName;
                        }
                        return(null);
                    }
                    try {
                        HttpWebRequest req = WebRequest.CreateHttp(path);
                        req.Method = "GET";
                        var           result   = req.GetResponse();
                        var           fileName = Path.GetRandomFileName() + ".js";
                        Entities.File file     = new ParseFile().ToParse(fileName, result.GetResponseStream(), Entities.FileType.Js);
                        valueProvider.AddFile(file);

                        file = new Entities.File {
                            Type       = file.Type,
                            FileName   = file.FileName,
                            SearchName = path,
                            IsExternal = true,
                        };
                        valueProvider.AddFile(file);

                        manager.Value = fileName;
                    } catch {
                        return(null);
                    }
                }
                return(null);
            }