本文整理汇总了Java中com.helger.css.reader.CSSReader.readFromString方法的典型用法代码示例。如果您正苦于以下问题:Java CSSReader.readFromString方法的具体用法?Java CSSReader.readFromString怎么用?Java CSSReader.readFromString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.helger.css.reader.CSSReader
的用法示例。
在下文中一共展示了CSSReader.readFromString方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: process
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
public String process( String input )
{
CascadingStyleSheet css = CSSReader.readFromString( input, CCharset.CHARSET_UTF_8_OBJ, ECSSVersion.CSS30 );
CascadingStyleSheet out = new CascadingStyleSheet();
for( ICSSTopLevelRule rule : css.getAllRules() )
{
ICSSTopLevelRule outRule = filterRule( rule );
if( outRule != null )
out.addRule( outRule );
}
CSSWriterSettings settings = new CSSWriterSettings( ECSSVersion.CSS30, true );
settings.setRemoveUnnecessaryCode( true );
return new CSSWriter( settings ).getCSSAsString( out );
}
示例2: getRewrittenCSS
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
/**
* Get the rewritten version of the passed CSS code. This is done by
* interpreting the CSS and than writing it again with the passed settings.
* This can e.g. be used to create a compressed version of a CSS.
*
* @param sOriginalCSS
* The original CSS code to be compressed.
* @param aSettings
* The CSS writer settings to use. The version is used to read the
* original CSS.
* @return If compression failed because the CSS is invalid or whatsoever, the
* original CSS is returned, else the rewritten version is returned.
*/
@Nonnull
public static String getRewrittenCSS (@Nonnull final String sOriginalCSS, @Nonnull final CSSWriterSettings aSettings)
{
ValueEnforcer.notNull (sOriginalCSS, "OriginalCSS");
ValueEnforcer.notNull (aSettings, "Settings");
final CascadingStyleSheet aCSS = CSSReader.readFromString (sOriginalCSS, aSettings.getVersion ());
if (aCSS != null)
{
try
{
return new CSSWriter (aSettings).getCSSAsString (aCSS);
}
catch (final Exception ex)
{
s_aLogger.warn ("Failed to write optimized CSS!", ex);
}
}
return sOriginalCSS;
}
示例3: parseToMediaQuery
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
/**
* Utility method to convert a media query string to a structured list of
* {@link CSSMediaQuery} objects.
*
* @param sMediaQuery
* The media query string to parse. May be <code>null</code>.
* @param eVersion
* The CSS version to use. May not be <code>null</code>.
* @return <code>null</code> if the passed media query is <code>null</code> or
* empty or not parsable.
*/
@Nullable
public static ICommonsList <CSSMediaQuery> parseToMediaQuery (@Nullable final String sMediaQuery,
@Nonnull final ECSSVersion eVersion)
{
if (StringHelper.hasNoText (sMediaQuery))
return null;
final String sCSS = "@media " + sMediaQuery + " {}";
final CascadingStyleSheet aCSS = CSSReader.readFromString (sCSS, eVersion);
if (aCSS == null)
return null;
final CSSMediaRule aMediaRule = aCSS.getAllMediaRules ().get (0);
return aMediaRule.getAllMediaQueries ();
}
示例4: testWriteCertainRules
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Test
public void testWriteCertainRules ()
{
final CSSWriterSettings aSettings = new CSSWriterSettings (ECSSVersion.CSS30, true);
aSettings.setWriteFontFaceRules (false);
aSettings.setWriteKeyframesRules (false);
aSettings.setWriteMediaRules (false);
aSettings.setWritePageRules (false);
final CSSWriter aWriter = new CSSWriter (aSettings).setWriteHeaderText (false);
// Some non-special rules
CascadingStyleSheet aCSS = CSSReader.readFromString (CSS3, ECSSVersion.CSS30);
assertNotNull (aCSS);
assertEquals ("h1{color:red;margin:1px}h2{color:rgb(1,2,3)}h3{}", aWriter.getCSSAsString (aCSS));
// Only @media rule
aCSS = CSSReader.readFromString (CSS4, ECSSVersion.CSS30);
assertNotNull (aCSS);
assertEquals ("", aWriter.getCSSAsString (aCSS));
// Nothing special
aCSS = CSSReader.readFromString (CSS5, ECSSVersion.CSS30);
assertNotNull (aCSS);
assertEquals ("h1{color:red;margin:1px}h2{color:red;margin:1px}", aWriter.getCSSAsString (aCSS));
}
示例5: readAllSelectors
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
public void readAllSelectors ()
{
final String sStyle = "blockquote p,\r\n" +
"blockquote ul,\r\n" +
"blockquote ol {\r\n" +
" line-height:normal;\r\n" +
" font-style:italic;\r\n" +
"}\r\n" +
"\r\n" +
"a { color:#FFEA6F; }\r\n" +
"\r\n" +
"a:hover { text-decoration:none; }\r\n" +
"\r\n" +
"img { border:none; }";
final CascadingStyleSheet aCSS = CSSReader.readFromString (sStyle, ECSSVersion.CSS30);
final ICommonsList <String> aAllSelectors = new CommonsArrayList <> ();
CSSVisitor.visitCSS (aCSS, new DefaultCSSVisitor ()
{
@Override
public void onStyleRuleSelector (@Nonnull final CSSSelector aSelector)
{
aAllSelectors.add (aSelector.getAsCSSString (new CSSWriterSettings (ECSSVersion.CSS30)));
}
});
System.out.println (aAllSelectors);
}
示例6: asNativeFormat
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Override
public CascadingStyleSheet asNativeFormat()
{
CascadingStyleSheet css = null;
try
{
String cssString = new String(getData(), getInputEncoding());
css = CSSReader.readFromString(cssString, ECSSVersion.CSS30);
}
catch (IOException e)
{
logger.error("", e);
}
return css;
}
示例7: _parse
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Nonnull
private static CSSUnknownRule _parse (@Nonnull final String sCSS)
{
final CascadingStyleSheet aCSS = CSSReader.readFromString (sCSS, ECSSVersion.CSS30);
assertNotNull (sCSS, aCSS);
assertTrue (aCSS.hasUnknownRules ());
assertEquals (1, aCSS.getUnknownRuleCount ());
final CSSUnknownRule ret = aCSS.getAllUnknownRules ().get (0);
assertNotNull (ret);
return ret;
}
示例8: _parse
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Nonnull
private static CSSImportRule _parse (@Nonnull final String sCSS)
{
final CascadingStyleSheet aCSS = CSSReader.readFromString (sCSS, ECSSVersion.CSS30);
assertNotNull (sCSS, aCSS);
assertTrue (aCSS.hasImportRules ());
assertEquals (1, aCSS.getImportRuleCount ());
final CSSImportRule ret = aCSS.getAllImportRules ().get (0);
assertNotNull (sCSS, ret);
return ret;
}
示例9: testRemoveUnnecessaryCode2
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Test
public void testRemoveUnnecessaryCode2 ()
{
final CascadingStyleSheet aCSS = CSSReader.readFromString (CSS4, ECSSVersion.CSS30);
assertNotNull (aCSS);
final CSSWriterSettings aSettings = new CSSWriterSettings (ECSSVersion.CSS30,
false).setRemoveUnnecessaryCode (true);
final CSSWriter aWriter = new CSSWriter (aSettings).setWriteHeaderText (false);
assertEquals ("@media print {\n" +
" h1 {\n" +
" color:red;\n" +
" margin:1px;\n" +
" }\n" +
"\n" +
" h2 { color:rgb(1,2,3); }\n" +
"\n" +
" @keyframes x {\n" +
" from {\n" +
" align:left;\n" +
" color:#123;\n" +
" }\n" +
" to { x:y; }\n" +
" }\n" +
"\n" +
" @page {\n" +
" margin:1in;\n" +
" marks:none;\n" +
" }\n" +
"\n" +
" @page :first { margin:2in; }\n" +
"\n" +
" @font-face {\n" +
" font-family:'Soho';\n" +
" src:url(Soho.eot);\n" +
" }\n" +
"\n" +
" @font-face { src:local('Soho Gothic Pro'); }\n" +
"}\n",
aWriter.getCSSAsString (aCSS));
}
示例10: testHeaderText
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Test
public void testHeaderText ()
{
final CascadingStyleSheet aCSS = CSSReader.readFromString (CSS5, ECSSVersion.CSS30);
assertNotNull (aCSS);
// Non-optimized version
CSSWriter aWriter = new CSSWriter (ECSSVersion.CSS30, false).setWriteHeaderText (true).setHeaderText ("Unit test");
assertEquals ("/*\n" +
" * Unit test\n" +
" */\n" +
"h1 {\n" +
" color:red;\n" +
" margin:1px;\n" +
"}\n" +
"\n" +
"h2 {\n" +
" color:red;\n" +
" margin:1px;\n" +
"}\n",
aWriter.getCSSAsString (aCSS));
// Optimized version
aWriter = new CSSWriter (ECSSVersion.CSS30, true).setWriteHeaderText (true).setHeaderText ("Unit test2");
assertEquals ("/*\n" +
" * Unit test2\n" +
" */\n" +
"h1{color:red;margin:1px}h2{color:red;margin:1px}",
aWriter.getCSSAsString (aCSS));
}
示例11: testNewLineModeWindows
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Test
public void testNewLineModeWindows ()
{
final CascadingStyleSheet aCSS = CSSReader.readFromString (CSS5, ECSSVersion.CSS30);
assertNotNull (aCSS);
// Non-optimized version
CSSWriter aWriter = new CSSWriter (new CSSWriterSettings (ECSSVersion.CSS30).setOptimizedOutput (false)
.setNewLineMode (ENewLineMode.WINDOWS)).setWriteHeaderText (true)
.setHeaderText ("Unit test");
assertEquals ("/*\r\n" +
" * Unit test\r\n" +
" */\r\n" +
"h1 {\r\n" +
" color:red;\r\n" +
" margin:1px;\r\n" +
"}\r\n" +
"\r\n" +
"h2 {\r\n" +
" color:red;\r\n" +
" margin:1px;\r\n" +
"}\r\n",
aWriter.getCSSAsString (aCSS));
// Optimized version
aWriter = new CSSWriter (new CSSWriterSettings (ECSSVersion.CSS30).setOptimizedOutput (true)
.setNewLineMode (ENewLineMode.WINDOWS)).setWriteHeaderText (true)
.setHeaderText ("Unit test2");
assertEquals ("/*\r\n" +
" * Unit test2\r\n" +
" */\r\n" +
"h1{color:red;margin:1px}h2{color:red;margin:1px}",
aWriter.getCSSAsString (aCSS));
}
示例12: testNewLineModeMac
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Test
public void testNewLineModeMac ()
{
final CascadingStyleSheet aCSS = CSSReader.readFromString (CSS5, ECSSVersion.CSS30);
assertNotNull (aCSS);
// Non-optimized version
CSSWriter aWriter = new CSSWriter (new CSSWriterSettings (ECSSVersion.CSS30).setOptimizedOutput (false)
.setNewLineMode (ENewLineMode.MAC)).setWriteHeaderText (true)
.setHeaderText ("Unit test");
assertEquals ("/*\r" +
" * Unit test\r" +
" */\r" +
"h1 {\r" +
" color:red;\r" +
" margin:1px;\r" +
"}\r" +
"\r" +
"h2 {\r" +
" color:red;\r" +
" margin:1px;\r" +
"}\r",
aWriter.getCSSAsString (aCSS));
// Optimized version
aWriter = new CSSWriter (new CSSWriterSettings (ECSSVersion.CSS30).setOptimizedOutput (true)
.setNewLineMode (ENewLineMode.MAC)).setWriteHeaderText (true)
.setHeaderText ("Unit test2");
assertEquals ("/*\r" +
" * Unit test2\r" +
" */\r" +
"h1{color:red;margin:1px}h2{color:red;margin:1px}",
aWriter.getCSSAsString (aCSS));
}
示例13: _parse
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Nonnull
private static CSSNamespaceRule _parse (@Nonnull final String sCSS)
{
final CascadingStyleSheet aCSS = CSSReader.readFromString (sCSS, ECSSVersion.CSS30);
assertNotNull (sCSS, aCSS);
assertTrue (aCSS.hasNamespaceRules ());
assertEquals (1, aCSS.getNamespaceRuleCount ());
final CSSNamespaceRule ret = aCSS.getAllNamespaceRules ().get (0);
assertNotNull (ret);
return ret;
}
示例14: readFromStyleAttributeWithAPI
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
public void readFromStyleAttributeWithAPI ()
{
final String sStyle = "@import '/folder/foobar.css';\n" +
"div{background:fixed url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9EFBAoYMhVvMQIAAAAtSURBVHicY/z//z8DHoBH+v///yy4FDEyMjIwMDDhM3lgpaEuh7gTEzDiDxYA9HEPDF90e5YAAAAASUVORK5CYII=) !important;}\n" +
"span { background-image:url('/my/folder/b.gif');}";
final CascadingStyleSheet aCSS = CSSReader.readFromString (sStyle, ECSSVersion.CSS30);
CSSVisitor.visitCSSUrl (aCSS, new DefaultCSSUrlVisitor ()
{
// Called for each import
@Override
public void onImport (@Nonnull final CSSImportRule aImportRule)
{
System.out.println ("Import: " + aImportRule.getLocationString ());
}
// Call for URLs outside of URLs
@Override
public void onUrlDeclaration (@Nullable final ICSSTopLevelRule aTopLevelRule,
@Nonnull final CSSDeclaration aDeclaration,
@Nonnull final CSSExpressionMemberTermURI aURITerm)
{
final CSSURI aURI = aURITerm.getURI ();
if (aURI.isDataURL ())
{
final CSSDataURL aDataURL = aURI.getAsDataURL ();
System.out.println (aDeclaration.getProperty () +
" - references data URL with " +
aDataURL.getContentLength () +
" bytes of content");
}
else
System.out.println (aDeclaration.getProperty () + " - references regular URL: " + aURI.getURI ());
}
});
}
示例15: test
import com.helger.css.reader.CSSReader; //导入方法依赖的package包/类
@Test
public void test ()
{
final CascadingStyleSheet aCSS = WikiCreateFontFaceRule.createFontFace ("Your \"typeface\"",
"local font name",
"folder/",
"myfont");
final String sCSS = new CSSWriter (ECSSVersion.CSS30).getCSSAsString (aCSS);
System.out.println (sCSS);
final CascadingStyleSheet aCSS2 = CSSReader.readFromString (sCSS, ECSSVersion.CSS30);
assertNotNull (aCSS2);
assertEquals (aCSS, aCSS2);
}