No Coding Necessary: Building Confluence User Macros Cheat Sheet - Atlassian Summit 2010
Upcoming SlideShare
Loading in...5
×
 

No Coding Necessary: Building Confluence User Macros Cheat Sheet - Atlassian Summit 2010

on

  • 11,566 views

 

Statistics

Views

Total Views
11,566
Views on SlideShare
11,447
Embed Views
119

Actions

Likes
5
Downloads
304
Comments
0

6 Embeds 119

http://www.atlassian.com 95
http://internalwiki.acs.tech 18
http://wiki.tst.acs.tech 3
http://www.slideshare.net 1
http://localhost:8080 1
http://wiki.kvmv.de 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

No Coding Necessary: Building Confluence User Macros Cheat Sheet - Atlassian Summit 2010 No Coding Necessary: Building Confluence User Macros Cheat Sheet - Atlassian Summit 2010 Document Transcript

  • Macro Definition Referencing Confluence Objects Macro has a body Anything the user types within $body The body of the macro the body of the macro will be $param0-n The parameters passed to your available in the macro in the macro (as available) $body variable. $param<name> Named parameters passed to your Use unprocessed The body of the macro will be macro (as available) macro body output exactly as entered, $config The BootstrapManager object, including any HTML markup. useful for retrieving Confluence For example if the macro body is properties '<b>body</b>', it will be $content The current ContentEntity object displayed as 'body' in the page. that this macro is a included in (if Escape HTML in The body of the macro will be available) macro body output with HTML markup $space The Space object that this content escaped. So if the macro body is object is located in (if relevant) '<b>body</b>', it will be $generalUtil A GeneralUtil object, with useful displayed as '<b>body</b>' in utility methods for URL encoding the page. etc Convert macro body The body of the macro will be $action A blank ConfluenceActionSupport wiki markup to HTML converted from wiki text to object, useful for retrieving i18n HTML markup. So if the macro text if needed body is '*body*', it will be $webwork A VelocityWebWorkUtil object, for displayed as 'body' in the page. its htmlEncode() method Output - Macro Choose this if you want to write $req The current HttpServletRequest generates HTML markup your macro with HTML object (if the page is rendered as a elements. result of an HTTP request) Output - Macro Choose this if you want to write $res The corresponding generates wiki markup your macro with wiki markup. HttpServletResponse object (not Velocity Markup recommended to be played with) $userAccessor For retrieving users, groups and ## Some text A comment checking membership #var1 A variable $permissionHelper For determining user rights #set($var1=”abc”) Setting a variable Examples #if ($var1 == “abc”) Simple if-else statement … ${content.id} Page id of current page #else [$762573668] Markup to create link to … page with that id #end $action.getHelper() Referencing another user <a Embedding a variable within .renderConfluenceMacro macro href="viewpage.action? wiki markup ("{anothermacro}") pageId=$pageid">$linkb ody</a> Recent Confluence versions & dependencies #set($page = "$ Using formal references to refer Confluence jQuery Velocity {prefix}ref$pageid") to a variable within a string 2.8 1.2.3 1.5 2.9 1.2.3 1.5 jQuery tips 2.10 1.2.3 1.5 Must access as jQuery not $ 3.0 1.2.6 1.6.1 3.1 1.3.2 1.6.1 <script type="text/javascript"> jQuery(document).ready(function() 3.2 1.3.2 1.6.1 { jQuery calls here }); </script> References Confluence manual: Working with macros http://confluence.atlassian.com/x/eyAC Confluence development: User macros http://confluence.atlassian.com/x/hRE Confluence Shared user macro library http://confluence.atlassian.com/x/KoCjAg Confluence objects accessible from Velocity http://confluence.atlassian.com/x/EBQD Atlassian Confluence forum http://forums.atlassian.com/forum.jspa?forumID=96 jQuery http://jquery.com/ Firebug http://getfirebug.com/ Adaptavist jQuery versions article https://www.adaptavist.com/display/jQuery/Versions
  • Macro 1: Response time Example usage: {response-time} Please see this page for full listing: http://confluence.atlassian.com/display/DISC/Response+Time Macro 2: color-table (final version) Example usage: {color-table:A2C1D5|BFEBEF} ## Macro name: color-table ## Macro has a body: N ## Body format: n/a ## Output: HTML ## ## Developed by: Charles Hall ## Developed for: All users ## Date created: 23/02/2010 ## Installed by: Charles Hall ## Apply coloring to alternate rows of any tables with the class of confluenceTable. #set($oddcolor= $param0) #set($evencolor= $param1) ## Check for valid odd color, otherwise use default #if (!$oddcolor) #set ($oddcolor="ffffff") #end ## Check for valid even color, otherwise use default #if (!$evencolor) #set ($evencolor="ededed") #end <script type="text/javascript" defer="defer"> jQuery(document).ready(function() { //colour code odd and even table rows jQuery("table.confluenceTable tr:nth-child(odd)").css("background-color", "#$oddcolor"); jQuery("table.confluenceTable tr:nth-child(even)").css("background-color", "#$evencolor"); }); </script> Macro 3: watermark (final version) Example usage: {watermark: logo.gif|no-repeat|1000}
  • ## Macro name: astrium-watermark ## Macro has a body: N ## Body format: n/a ## Output: HTML ## ## Developed by: Charles Hall ## Developed for: Astrium wiki ## Date created: 31/03/2010 ## Installed by: Charles Hall ## define a watermark image for the current page #set($image= $param0) #set($repeat = $param1) #set($minheight= $param2 + 'px') <script type="text/javascript" defer="defer"> jQuery(document).ready(function() { /*Default theme*/ if (jQuery("#header-menu-bar").length) { jQuery('#content').css('background-image', 'url($config.getBaseUrl() $content.getAttachmentNamed("$image").getDownloadPath())'); ## Add the specified repeat behaviour #if ($repeat) jQuery('#content').css('background-repeat', '$repeat'); #end ## Check for a specified minimum height #if ($minheight) jQuery('#content').css('height', '$minheight'); #end jQuery('#content').css('vertical-align', 'top'); } /*Left nav theme*/ if (jQuery(".sidebar div.leftnav").length) { jQuery('#mainViewPane').css('background-image', 'url($config.getBaseUrl() $content.getAttachmentNamed("$image").getDownloadPath())'); ## Add the specified repeat behaviour #if ($repeat) jQuery('#mainViewPane').css('background-repeat', '$repeat'); #end ## Check for a specified minimum height #if ($minheight) jQuery('#mainViewPane').css('height', '$minheight'); #end jQuery('#mainViewPane').css('vertical-align', 'top'); } /*Clickr theme*/ if (jQuery("#MegaFooter").length) {
  • jQuery('#main').css('background-image', 'url($config.getBaseUrl() $content.getAttachmentNamed("$image").getDownloadPath())'); ## Add the specified repeat behaviour #if ($repeat) jQuery('#main').css('background-repeat', '$repeat'); #end ## Check for a specified minimum height #if ($minheight) jQuery('#main').css('height', '$minheight'); #end jQuery('#main').css('vertical-align', 'top'); } }); </script> Macro 4: draft-watermark Example usage: {draft-watermark} ## Macro name: draft-watermark ## Macro has a body: N ## Body format: n/a ## Output: HTML ## ## Developed by: Charles Hall ## Developed for: All users ## Date created: 19/04/2010 ## Installed by: Charles Hall ## inserts a Draft watermark image for the current page ## N.B. Calls the watermark user macro ## draft.gif must reside in "company" space #set($url="http://globalcorp.com/confluence/download/attachments/74416134/draft.gif") $action.getHelper().renderConfluenceMacro("{watermark:$url|no-repeat|1000}")