你能在Confluence的表加宏中使用特定于单元格的背景颜色吗?

时间:2009-10-27 12:51:16

标签: confluence

我在Confluence使用这个表加宏:

http://confluence.atlassian.com/display/CONFEXT/Table-plus+macro

我可以进行单元格级格式化吗?我只看到列级格式化。

3 个答案:

答案 0 :(得分:5)

如何做到这一切取决于您获得并启用的plugins。内置的表格单元格语法虽然简洁,却无处可定。您可能希望查看Adaptavist的Content Formatting Macros插件,尤其是table macro - 您可以毫无问题地在单元格上抛出bgcolor属性。

当然,在一点之后,它开始看起来很像html,在这种情况下你可能只想启用Confluence附带的HTML plugin,但你应该首先意识到安全性的影响。这样做;它可能不适合您的环境。

答案 1 :(得分:5)

您可以使用{html}或用户定义的宏将样式应用于表格,表格行或表格单元格。

以下是三个用于设置表格单元格,表格行或整个表格的背景颜色的宏。

表格单元格背景颜色宏

    ## Macro Title: tblcellbg
    ## Macro Description: Set background colour for a single table cell
    ## Macro has a body: N
    ## Categories: Formatting
    ## Body Processing: No body
    ## Output Format: HTML
    ## Output: JavaScript. Sets table cell background color via CSS 
    ## Developed By: Underverse (http://stackoverflow.com/users/2093966/underverse)
    ## License: BY-NC-SA
    ## @param bgcolour:title=Background Color|type=string|required=true|desc=HTML colour or a HTML numeric #value
    ##
    ## Check for a blank first parameter
    ##

    #if ($parambgcolour && $parambgcolour.length() > 0)  ## If a parm name was used 
       #set ($bgcolor = $parambgcolour)                           ## then set the value locally
    #elseif ($param0 && $param0.length() > 0)                 ## if no parm name
       #set ($bgcolor = $param0)                                     ## then use the first value
    #else
       #set ($bgcolor = "#DDFADE")                                 ## no value so set a default
    #end

    #if ($bgcolor.contains('#'))                                     ## For HTML colours #etc 
    #set ($bgcolorclass = $bgcolor.replaceAll('#', 'A'))   ## Substritute any other char
    #else
    #set ($bgcolorclass = $bgcolor)                            ## or use the colourname itself
    #end

    <script type="text/javascript" class="$bgcolorclass$bgcolorclass">
    AJS.$(document).ready(function() {
        AJS.$(".$bgcolorclass$bgcolorclass").closest("td").css({"background-color": "$bgcolor"});
    });
    </script>

然后,您可以在wiki标记表,wiki宏表或wiki编辑器中使用此宏来设置表格单元格的背景颜色。

    || Heading 1|| Heading 2 || Heading 3 | 
    |  {tblcellbg:lightgreen} Apple | {tblcellbg:#FFFF33} Banana |  Pear | 

表格行背景颜色宏

    ## Macro Title: tblrowbg
    ## Macro Description: Set background colour for a table row
    ## Macro has a body: N
    ## Categories: Formatting
    ## Body Processing: No body
    ## Output Format: HTML
    ## Output: JavaScript. Sets table row background color via CSS 
    ## Developed By: Underverse (http://stackoverflow.com/users/2093966/underverse)
    ## License: BY-NC-SA
    ## @param bgcolour:title=Background Color|type=string|required=true|desc=HTML colour or a HTML numeric #value
    ##
    ##
    ## Check for a blank first parameter
    ##

    #if ($parambgcolour && $parambgcolour.length() > 0)  ## If a parm name was used 
       #set ($bgcolor = $parambgcolour)                           ## then set the value locally
    #elseif ($param0 && $param0.length() > 0)                 ## if no parm name
    #set ($bgcolor = $param0)                                     ## then use the first value
    #else
       #set ($bgcolor = "#DDFADE")                                 ## no value so set a default
    #end

    #if ($bgcolor.contains('#'))                                     ## For HTML colours #etc 
    #set ($bgcolorclass = $bgcolor.replaceAll('#', 'A'))   ## Substritute any other char
    #else
    #set ($bgcolorclass = $bgcolor)                            ## or use the colourname itself
    #end

    <script type="text/javascript" class="$bgcolorclass$bgcolorclass">
    AJS.$(document).ready(function() {
        AJS.$(".$bgcolorclass$bgcolorclass").closest("tr").css({"background-color": "$bgcolor"});
    });
    </script>

将宏放在要设置的行中的一个单元格中。

    || Heading 1|| Heading 2 || Heading 3 | 
    |  {tblrowbg:lightblue} Apple | Banana |  Pear | 

将此宏与{tblcellbg}配合使用,可以更好地控制单元格颜色。

    || Heading 1|| Heading 2 || Heading 3 | 
    |  {tblrowbg:lightblue} Apple | {tblcellbg:#FFFF33} Banana |  Pear | 

表格背景颜色宏

    ## Macro Title: tblbg
    ## Macro Description: Set background colour for a table
    ## Macro has a body: N
    ## Categories: Formatting
    ## Body Processing: No body
    ## Output Format: HTML
    ## Output: JavaScript. Sets table background color via CSS 
    ## Developed By: Underverse (http://stackoverflow.com/users/2093966/underverse)
    ## License: BY-NC-SA
    ## @param bgcolour:title=Background Color|type=string|required=true|desc=HTML colour or a HTML numeric #value
    ##
    ##
    ## Check for a blank first parameter
    ##

    #if ($parambgcolour && $parambgcolour.length() > 0)  ## If a parm name was used 
       #set ($bgcolor = $parambgcolour)                           ## then set the value locally
    #elseif ($param0 && $param0.length() > 0)                 ## if no parm name
       #set ($bgcolor = $param0)                                     ## then use the first value
    #else
       #set ($bgcolor = "#DDFADE")                                 ## no value so set a default
    #end

    #if ($bgcolor.contains('#'))                                     ## For HTML colours #etc 
    #set ($bgcolorclass = $bgcolor.replaceAll('#', 'A'))   ## Substritute any other char
    #else
    #set ($bgcolorclass = $bgcolor)                            ## or use the colourname itself
    #end

    <script type="text/javascript" class="$bgcolorclass$bgcolorclass">
    AJS.$(document).ready(function() {
        AJS.$(".$bgcolorclass$bgcolorclass").closest("table").css({"background-color": "$bgcolor"});
    });
    </script>

将宏放在表格中的一个单元格中。

    || {tblbg:lightblue} Heading 1|| Heading 2 || Heading 3 | 
    |   Apple | Banana |  Pear | 

可与{tblrowbg}和{tblcellbg}一起使用。

的JavaScript

或者,包装设置单元格/行/表背景颜色{html}的javascript并将其作为代码放入表中。

JS Table Cell BG Color

    || Heading 1|| Heading 2 || Heading 3 | 
    |   Apple |{html}<SCRIPT class=AFFFF33AFFFF33 type=text/javascript>
    AJS.$(document).ready(function() {
        AJS.$(".AFFFF33AFFFF33").closest("td").css({"background-color": "#FFFF33"});
    });        </SCRIPT> {html} Banana  |  Pear | 

JS表行BG颜色

    ||  Heading 1|| Heading 2 || Heading 3 | 
    |  {html}<SCRIPT class=lightbluelightblue type=text/javascript>
    AJS.$(document).ready(function() {
        AJS.$(".lightbluelightblue").closest("tr").css({"background-color": "lightblue"});
    });
    </SCRIPT>{html} Apple | Banana |  Pear | 

JS表BG颜色

    || {html}<SCRIPT class=pinkpink type=text/javascript>
    AJS.$(document).ready(function() {
        AJS.$(".pinkpink").closest("table").css({"background-color": "pink"});
    });
    </SCRIPT>{html} Heading 1|| Heading 2 || Heading 3 | 
    |   Apple | Banana |  Pear | 

答案 2 :(得分:2)

使用{table-plus}宏无法执行此操作。但是,您可以使用更高级的表格格式插件在Confluence中执行described by Zac