Commit 3f36a228 authored by Ludovic Dubost's avatar Ludovic Dubost
Browse files

Added links and documentation to logos macro

Fixed css in row macro
parent 29fd4ab7
Loading
Loading
Loading
Loading
+571 −48
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
  <web>PublicWebSite.Code</web>
  <name>BlockLogosMacro</name>
  <language/>
  <defaultLanguage></defaultLanguage>
  <defaultLanguage>en</defaultLanguage>
  <translation>0</translation>
  <creator>xwiki:XWiki.Admin</creator>
  <creationDate>1514761200000</creationDate>
@@ -39,7 +39,38 @@
  <minorEdit>false</minorEdit>
  <syntaxId>xwiki/2.1</syntaxId>
  <hidden>false</hidden>
  <content/>
  <content>
This macro display logos which can link to pages and an optional button under the logos:

The following parameters are available:

|= Parameter |= Description |= Default Value
| name | Name of the macro block. This needs to be unique in each page | //empty//
| title | Title displayed | //empty//
| desc | Description displayed under the title | //empty//
| color | Background color of the block (unused if a background image is present) | //empty//
| image | Background image of the block | //empty//
| buttonText | Allows to add a button with the corresponding text | //empty//
| buttonUrl | Link or Page for the button | //empty//
| Macro content field | The content will contain the list of logos with parameters and a linked page or url| //empty//

{{code}}
{{blocklogos name="logos" title="With thousands of organizations using our software, XWiki is the leader of Open Source Knowledge Management Solutions." desc="Trusted by" }}
sncf.png||alt="SNCF Logo"
amazon.png|references.amazon|alt="Amazon Logo"
cnfpt.png|references.cnfpt|alt="CNFPT Logo"
scor.png||alt="SCOR Logo"
navalgroup.png|references.naval-group|alt="Naval Group Logo"
{{/blocklogos}}
{{/code}}

{{blocklogos name="logos" title="With thousands of organizations using our software, XWiki is the leader of Open Source Knowledge Management Solutions." desc="Trusted by" }}
sncf.png||alt="SNCF Logo"
amazon.png|references.amazon|alt="Amazon Logo"
cnfpt.png|references.cnfpt|alt="CNFPT Logo"
scor.png||alt="SCOR Logo"
navalgroup.png|references.naval-group|alt="Naval Group Logo"
{{/blocklogos}}</content>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>0</number>
@@ -169,7 +200,6 @@
    font-size: 16px;
    margin-bottom: 0;
  }
}

  .sect-header {
   font-size: 3.2rem;
@@ -182,9 +212,19 @@
    min-height: 150px;
  }

  @media (min-width: 480px) {
    .row-eq-height {
     display: -webkit-box;
     display: -webkit-flex;
     display: -ms-flexbox;
     display: flex;
    }
  }

  .blocklogos img {
    width: 70%;
  }

  .center-block {
    display: inline-block;
    margin-left: auto;
@@ -192,12 +232,8 @@
    vertical-align: middle;
  }

.row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

</code>
    </property>
    <property>
@@ -339,11 +375,14 @@
#set($blockName = $xcontext.macro.params.name)
#set($blockTitle = $xcontext.macro.params.title)
#set($blockDesc = $xcontext.macro.params.desc)
#set($buttonText = $xcontext.macro.params.buttonText)
#set($targetURL = $xcontext.macro.params.buttonUrl)
#set($image = $xcontext.macro.params.image)
#set($color = $xcontext.macro.params.color)
#set($height = $xcontext.macro.params.height)
#set($buttonText = $xcontext.macro.params.buttonText)
#set($buttonUrl = $xcontext.macro.params.buttonUrl)
#if(!$buttonUrl.startsWith("http"))
 #set($buttonUrl = $xwiki.getDocument($buttonUrl).getURL())
#end
#set($content = $xcontext.macro.content)
#set($style="")
#if($image&amp;&amp;$image!="")
@@ -368,34 +407,49 @@
     &lt;h4 class="text-center"&gt;${blockDesc}&lt;/h4&gt;
#end
     &lt;div class="row row-eq-height"&gt;
#set($images = $content.split("\r\n"))
#if($images.size()&lt;=1)
#set($logos = $content.split("\r\n"))
#if($logos.size()&lt;=1)
 #set($cols="col-xs-12 col-sm-12")
#elseif($images.size()&lt;=2)
#elseif($logos.size()&lt;=2)
 #set($cols="col-xs-6 col-sm-6")
#elseif($images.size()&lt;=3)
#elseif($logos.size()&lt;=3)
 #set($cols="col-xs-4 col-sm-4")
#elseif($images.size()&lt;=4)
#elseif($logos.size()&lt;=4)
 #set($cols="col-xs-4 col-sm-3")
#else
 #set($cols="col-xs-4 col-sm-2")
#end
#foreach($image in $images)
#foreach($item in $logos)
 #set($itemData = $item.split("[|]"))
 #set($itemLogo = $listtool.get($itemData, 0))
 #set($itemLogoUrl = $doc.getAttachmentURL($itemLogo))
 #set($itemTargetPage = $listtool.get($itemData, 1))
 #set($itemLogoParams = $listtool.get($itemData, 2))
      &lt;div class="${cols} v-center-item"&gt;
#set($imageParams = "")
#set($pos = $image.indexOf("||"))
#if($pos!=-1)
 #set($pos2 = $pos + 2)
 #set($imageParams = $image.substring($pos2))
 #set($image = $image.substring(0, $pos))
 #if($itemTargetPage &amp;&amp; $itemTargetPage!="")
        #if($itemTargetPage.startsWith("http"))
          #set($itemTargetUrl = $itemTargetPage)
        #else
          #set($itemTargetUrl = $xwiki.getDocument($itemTargetPage).getURL())
        #end
        &lt;a href="$itemTargetUrl" class="center-block"&gt;
 #end
         &lt;img class="img-responsive center-block" src="${itemLogoUrl}" $!{itemLogoParams} &gt;
 #if($itemTargetPage &amp;&amp; $itemTargetPage!="")
        &lt;/a&gt;
 #end
#set($imageURL = $doc.getAttachmentURL($image))
&lt;img class="img-responsive center-block" src="${imageURL}" $!{imageParams} &gt;
      &lt;/div&gt;
#end
     &lt;/div&gt;
    &lt;/div&gt;
   &lt;/div&gt;
#if($buttonUrl&amp;&amp;$buttonUrl!="")
   &lt;div class="row"&gt;
    &lt;div class="col-xs-12 text-center"&gt;
     &lt;a href="${buttonUrl}" class="btn btn-primary btn-blue-o"&gt;${buttonText}&lt;/a&gt;
    &lt;/div&gt;
   &lt;/div&gt;
#end
  &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
@@ -403,7 +457,14 @@
{{/velocity}}</code>
    </property>
    <property>
      <contentDescription/>
      <contentDescription>List the logos, parameters and links to display. Sample content is:

sncf.png||alt="SNCF Logo"
sfr.png||alt="SFR Logo"
amazon.png|references.amazon|alt="Amazon Logo"
cnfpt.png|references.cnfpt|alt="CNFPT Logo"
scor.png||alt="SCOR Logo"
dcns.png|references.naval-group|alt="Naval Group Logo"</contentDescription>
    </property>
    <property>
      <contentType>Optional</contentType>
@@ -484,13 +545,475 @@
      <defaultValue/>
    </property>
    <property>
      <description>Block Header Macro</description>
      <description>Name of the block (it should be unique in the page)</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>name</name>
    </property>
  </object>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>1</number>
    <className>XWiki.WikiMacroParameterClass</className>
    <guid>1fed636f-8c84-4861-ad69-048a5509f5aa</guid>
    <class>
      <name>XWiki.WikiMacroParameterClass</name>
      <customClass/>
      <customMapping/>
      <defaultViewSheet/>
      <defaultEditSheet/>
      <defaultWeb/>
      <nameField/>
      <validationScript/>
      <defaultValue>
        <disabled>0</disabled>
        <name>defaultValue</name>
        <number>4</number>
        <prettyName>Parameter default value</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </defaultValue>
      <description>
        <disabled>0</disabled>
        <name>description</name>
        <number>2</number>
        <prettyName>Parameter description</prettyName>
        <rows>5</rows>
        <size>40</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
      </description>
      <mandatory>
        <disabled>0</disabled>
        <displayFormType>select</displayFormType>
        <displayType>yesno</displayType>
        <name>mandatory</name>
        <number>3</number>
        <prettyName>Parameter mandatory</prettyName>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
      </mandatory>
      <name>
        <disabled>0</disabled>
        <name>name</name>
        <number>1</number>
        <prettyName>Parameter name</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </name>
    </class>
    <property>
      <defaultValue/>
    </property>
    <property>
      <description>Title of the block</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>title</name>
    </property>
  </object>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>2</number>
    <className>XWiki.WikiMacroParameterClass</className>
    <guid>f0186ad9-888c-4a84-8b48-d07f40d50715</guid>
    <class>
      <name>XWiki.WikiMacroParameterClass</name>
      <customClass/>
      <customMapping/>
      <defaultViewSheet/>
      <defaultEditSheet/>
      <defaultWeb/>
      <nameField/>
      <validationScript/>
      <defaultValue>
        <disabled>0</disabled>
        <name>defaultValue</name>
        <number>4</number>
        <prettyName>Parameter default value</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </defaultValue>
      <description>
        <disabled>0</disabled>
        <name>description</name>
        <number>2</number>
        <prettyName>Parameter description</prettyName>
        <rows>5</rows>
        <size>40</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
      </description>
      <mandatory>
        <disabled>0</disabled>
        <displayFormType>select</displayFormType>
        <displayType>yesno</displayType>
        <name>mandatory</name>
        <number>3</number>
        <prettyName>Parameter mandatory</prettyName>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
      </mandatory>
      <name>
        <disabled>0</disabled>
        <name>name</name>
        <number>1</number>
        <prettyName>Parameter name</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </name>
    </class>
    <property>
      <defaultValue/>
    </property>
    <property>
      <description>Description of the block (displayed under the title)</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>desc</name>
    </property>
  </object>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>3</number>
    <className>XWiki.WikiMacroParameterClass</className>
    <guid>044c0746-38dc-465c-8d34-4b3c83a3deaa</guid>
    <class>
      <name>XWiki.WikiMacroParameterClass</name>
      <customClass/>
      <customMapping/>
      <defaultViewSheet/>
      <defaultEditSheet/>
      <defaultWeb/>
      <nameField/>
      <validationScript/>
      <defaultValue>
        <disabled>0</disabled>
        <name>defaultValue</name>
        <number>4</number>
        <prettyName>Parameter default value</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </defaultValue>
      <description>
        <disabled>0</disabled>
        <name>description</name>
        <number>2</number>
        <prettyName>Parameter description</prettyName>
        <rows>5</rows>
        <size>40</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
      </description>
      <mandatory>
        <disabled>0</disabled>
        <displayFormType>select</displayFormType>
        <displayType>yesno</displayType>
        <name>mandatory</name>
        <number>3</number>
        <prettyName>Parameter mandatory</prettyName>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
      </mandatory>
      <name>
        <disabled>0</disabled>
        <name>name</name>
        <number>1</number>
        <prettyName>Parameter name</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </name>
    </class>
    <property>
      <defaultValue/>
    </property>
    <property>
      <description>Background color of the Block</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>color</name>
    </property>
  </object>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>4</number>
    <className>XWiki.WikiMacroParameterClass</className>
    <guid>b1e351ea-2a08-4fbc-ae82-663f9ba089ef</guid>
    <class>
      <name>XWiki.WikiMacroParameterClass</name>
      <customClass/>
      <customMapping/>
      <defaultViewSheet/>
      <defaultEditSheet/>
      <defaultWeb/>
      <nameField/>
      <validationScript/>
      <defaultValue>
        <disabled>0</disabled>
        <name>defaultValue</name>
        <number>4</number>
        <prettyName>Parameter default value</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </defaultValue>
      <description>
        <disabled>0</disabled>
        <name>description</name>
        <number>2</number>
        <prettyName>Parameter description</prettyName>
        <rows>5</rows>
        <size>40</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
      </description>
      <mandatory>
        <disabled>0</disabled>
        <displayFormType>select</displayFormType>
        <displayType>yesno</displayType>
        <name>mandatory</name>
        <number>3</number>
        <prettyName>Parameter mandatory</prettyName>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
      </mandatory>
      <name>
        <disabled>0</disabled>
        <name>name</name>
        <number>1</number>
        <prettyName>Parameter name</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </name>
    </class>
    <property>
      <defaultValue/>
    </property>
    <property>
      <description>Background image of the block</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>image</name>
    </property>
  </object>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>5</number>
    <className>XWiki.WikiMacroParameterClass</className>
    <guid>63dcba77-f2b3-4de9-b914-9ee70ff7038a</guid>
    <class>
      <name>XWiki.WikiMacroParameterClass</name>
      <customClass/>
      <customMapping/>
      <defaultViewSheet/>
      <defaultEditSheet/>
      <defaultWeb/>
      <nameField/>
      <validationScript/>
      <defaultValue>
        <disabled>0</disabled>
        <name>defaultValue</name>
        <number>4</number>
        <prettyName>Parameter default value</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </defaultValue>
      <description>
        <disabled>0</disabled>
        <name>description</name>
        <number>2</number>
        <prettyName>Parameter description</prettyName>
        <rows>5</rows>
        <size>40</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
      </description>
      <mandatory>
        <disabled>0</disabled>
        <displayFormType>select</displayFormType>
        <displayType>yesno</displayType>
        <name>mandatory</name>
        <number>3</number>
        <prettyName>Parameter mandatory</prettyName>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
      </mandatory>
      <name>
        <disabled>0</disabled>
        <name>name</name>
        <number>1</number>
        <prettyName>Parameter name</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </name>
    </class>
    <property>
      <defaultValue/>
    </property>
    <property>
      <description>Force height of the block</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>height</name>
    </property>
  </object>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>6</number>
    <className>XWiki.WikiMacroParameterClass</className>
    <guid>7a5cc6ed-8a7c-4c2b-a270-dd28349863a8</guid>
    <class>
      <name>XWiki.WikiMacroParameterClass</name>
      <customClass/>
      <customMapping/>
      <defaultViewSheet/>
      <defaultEditSheet/>
      <defaultWeb/>
      <nameField/>
      <validationScript/>
      <defaultValue>
        <disabled>0</disabled>
        <name>defaultValue</name>
        <number>4</number>
        <prettyName>Parameter default value</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </defaultValue>
      <description>
        <disabled>0</disabled>
        <name>description</name>
        <number>2</number>
        <prettyName>Parameter description</prettyName>
        <rows>5</rows>
        <size>40</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
      </description>
      <mandatory>
        <disabled>0</disabled>
        <displayFormType>select</displayFormType>
        <displayType>yesno</displayType>
        <name>mandatory</name>
        <number>3</number>
        <prettyName>Parameter mandatory</prettyName>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
      </mandatory>
      <name>
        <disabled>0</disabled>
        <name>name</name>
        <number>1</number>
        <prettyName>Parameter name</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </name>
    </class>
    <property>
      <defaultValue/>
    </property>
    <property>
      <description>Optional button text below the logos</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>buttonText</name>
    </property>
  </object>
  <object>
    <name>PublicWebSite.Code.BlockLogosMacro</name>
    <number>7</number>
    <className>XWiki.WikiMacroParameterClass</className>
    <guid>d7cfe130-62d9-4990-804d-067e3b3408a5</guid>
    <class>
      <name>XWiki.WikiMacroParameterClass</name>
      <customClass/>
      <customMapping/>
      <defaultViewSheet/>
      <defaultEditSheet/>
      <defaultWeb/>
      <nameField/>
      <validationScript/>
      <defaultValue>
        <disabled>0</disabled>
        <name>defaultValue</name>
        <number>4</number>
        <prettyName>Parameter default value</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </defaultValue>
      <description>
        <disabled>0</disabled>
        <name>description</name>
        <number>2</number>
        <prettyName>Parameter description</prettyName>
        <rows>5</rows>
        <size>40</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
      </description>
      <mandatory>
        <disabled>0</disabled>
        <displayFormType>select</displayFormType>
        <displayType>yesno</displayType>
        <name>mandatory</name>
        <number>3</number>
        <prettyName>Parameter mandatory</prettyName>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.BooleanClass</classType>
      </mandatory>
      <name>
        <disabled>0</disabled>
        <name>name</name>
        <number>1</number>
        <prettyName>Parameter name</prettyName>
        <size>30</size>
        <unmodifiable>0</unmodifiable>
        <classType>com.xpn.xwiki.objects.classes.StringClass</classType>
      </name>
    </class>
    <property>
      <defaultValue/>
    </property>
    <property>
      <description>URL to use for the optional button below the logos</description>
    </property>
    <property>
      <mandatory>0</mandatory>
    </property>
    <property>
      <name>blockheader</name>
      <name>buttonUrl</name>
    </property>
  </object>
</xwikidoc>
+7 −2
Original line number Diff line number Diff line
@@ -262,10 +262,15 @@ Lorem ipso sum. Lorem ipso sum. Lorem ipso sum. Lorem ipso sum. Lorem ipso sum.
  .blockrow-line {
    padding-top: 5rem;
    padding-bottom: 5rem;
    display: flex;
    align-items: center;
  }

  @media (min-width: 992px) {
   .blockrow-line {
     display: flex;
   }
  }

  .blockrow-text {
    padding-left: 5rem;
    padding-right: 5rem;