/scalate-core/src/main/scala/org/fusesource/scalate/filter/CssFilter.scala
Scala | 69 lines | 21 code | 7 blank | 41 comment | 2 complexity | 69d64e53a686926935a7fce5aeb1ba50 MD5 | raw file
- /**
- * Copyright (C) 2009-2011 the original author or authors.
- * See the notice.md file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package org.fusesource.scalate.filter
- /**
- * Copyright (C) 2009-2010 the original author or authors.
- * See the notice.md file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- import org.fusesource.scalate._
- import org.fusesource.scalate.support.RenderHelper
- /**
- * Surrounds the filtered text with <style> and CDATA tags.
- *
- * <p>Useful for including inline CSS.</p>
- *
- * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
- */
- object CssFilter extends Filter {
- def filter(context: RenderContext, content: String) = {
- lazy val css = RenderHelper.indent(" ", content)
- if (useCData(context)) {
- """<style type='text/css'>
- | /* <![CDATA[ */
- | """.stripMargin + css + """
- | /* ]]> */
- |</style>""".stripMargin
- } else {
- """<style type='text/css'>
- | """.stripMargin + css + """
- |</style>""".stripMargin
- }
- }
- def useCData(context: RenderContext): Boolean =
- context.wrapCssInCData
- }