public CssRule CreatePage(CssToken current) { var token = _tokenizer.Get(); var rule = new CssPageRule(_parser); rule.Selector = CreateSelector(ref token); if (token.Type != CssTokenType.CurlyBracketOpen) { return(SkipDeclarations(token)); } FillDeclarations(rule.Style); return(rule); }
private CssPageRule CreatePage(CssPageRule rule, CssToken current) { current = NextToken(); rule.SelectorText = GetArgument(ref current); CollectTrivia(ref current); if (current.Type != CssTokenType.CurlyBracketOpen) { SkipDeclarations(current); return(null); } FillDeclarations(rule.Style, NextToken()); return(rule); }
public CssRule CreatePage(CssToken current) { var rule = new CssPageRule(_parser); var start = current.Position; var token = NextToken(); _nodes.Push(rule); CollectTrivia(ref token); rule.Selector = CreateSelector(ref token); CollectTrivia(ref token); if (token.Type == CssTokenType.CurlyBracketOpen) { var end = FillDeclarations(rule.Style); rule.SourceCode = CreateView(start, end); _nodes.Pop(); return(rule); } _nodes.Pop(); return(SkipDeclarations(token)); }
private ICssRule CreateAtRule(ICssStyleSheet sheet, CssToken token) { if (token.Data.Is(RuleNames.Media)) { var rule = new CssMediaRule(sheet); return(CreateMedia(rule, token)); } else if (token.Data.Is(RuleNames.FontFace)) { var rule = new CssFontFaceRule(sheet); return(CreateFontFace(rule, token)); } else if (token.Data.Is(RuleNames.Keyframes)) { var rule = new CssKeyframesRule(sheet); return(CreateKeyframes(rule, token)); } else if (token.Data.Is(RuleNames.Import)) { var rule = new CssImportRule(sheet); return(CreateImport(rule, token)); } else if (token.Data.Is(RuleNames.Charset)) { var rule = new CssCharsetRule(sheet); return(CreateCharset(rule, token)); } else if (token.Data.Is(RuleNames.Namespace)) { var rule = new CssNamespaceRule(sheet); return(CreateNamespace(rule, token)); } else if (token.Data.Is(RuleNames.Page)) { var rule = new CssPageRule(sheet); return(CreatePage(rule, token)); } else if (token.Data.Is(RuleNames.Supports)) { var rule = new CssSupportsRule(sheet); return(CreateSupports(rule, token)); } else if (token.Data.Is(RuleNames.ViewPort)) { var rule = new CssViewportRule(sheet); return(CreateViewport(rule, token)); } else if (token.Data.Is(RuleNames.Document)) { var rule = new CssDocumentRule(sheet); return(CreateDocument(rule, token)); } else if (_options.IsIncludingUnknownRules) { return(CreateUnknownAtRule(sheet, token)); } RaiseErrorOccurred(CssParseError.UnknownAtRule, token.Position); JumpToRuleEnd(ref token); return(null); }