当前位置: 首页>>代码示例>>Java>>正文


Java CSSReader.readFromString方法代码示例

本文整理汇总了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 );
}
 
开发者ID:ltearno,项目名称:hexa.tools,代码行数:17,代码来源:CssRewriter.java

示例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;
}
 
开发者ID:phax,项目名称:ph-css,代码行数:34,代码来源:CSSCompressor.java

示例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 ();
}
 
开发者ID:phax,项目名称:ph-css,代码行数:27,代码来源:MediaQueryTools.java

示例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));
}
 
开发者ID:phax,项目名称:ph-css,代码行数:26,代码来源:CSSWriterTest.java

示例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);
}
 
开发者ID:phax,项目名称:ph-css,代码行数:27,代码来源:WikiVisitSelectors.java

示例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;
}
 
开发者ID:finanzer,项目名称:epubfx,代码行数:16,代码来源:CSSResource.java

示例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;
}
 
开发者ID:phax,项目名称:ph-css,代码行数:12,代码来源:CSSUnknownRuleTest.java

示例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;
}
 
开发者ID:phax,项目名称:ph-css,代码行数:12,代码来源:CSSImportRuleTest.java

示例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));
}
 
开发者ID:phax,项目名称:ph-css,代码行数:41,代码来源:CSSWriterTest.java

示例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));
}
 
开发者ID:phax,项目名称:ph-css,代码行数:31,代码来源:CSSWriterTest.java

示例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));
}
 
开发者ID:phax,项目名称:ph-css,代码行数:35,代码来源:CSSWriterTest.java

示例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));
}
 
开发者ID:phax,项目名称:ph-css,代码行数:35,代码来源:CSSWriterTest.java

示例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;
}
 
开发者ID:phax,项目名称:ph-css,代码行数:12,代码来源:CSSNamespaceRuleTest.java

示例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 ());
    }
  });
}
 
开发者ID:phax,项目名称:ph-css,代码行数:37,代码来源:WikiVisitDataUrls.java

示例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);
}
 
开发者ID:phax,项目名称:ph-css,代码行数:15,代码来源:WikiCreateFontFaceRuleFuncTest.java


注:本文中的com.helger.css.reader.CSSReader.readFromString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。