User Tools

Site Tools


dokuwiki_add_caption

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dokuwiki_add_caption [2021/06/07 23:35] – ↷ draft:dokuwiki_add_caption から dokuwiki_add_caption へページを移動しました。 admindokuwiki_add_caption [2021/06/16 11:01] (current) sasabe
Line 4: Line 4:
   * This is a small piece of Javascript code to add a caption to a table.   * This is a small piece of Javascript code to add a caption to a table.
   * Works with DokuWiki's default template.   * Works with DokuWiki's default template.
-  * Works with WRAP plugin.+  * Needs WRAP plugin.
   * Just add a line of ''%%<WRAP caption>Caption text</WRAP>%%'' before the table.   * Just add a line of ''%%<WRAP caption>Caption text</WRAP>%%'' before the table.
  
Line 12: Line 12:
  
 <code javascript add_caption.js> <code javascript add_caption.js>
-jQuery('.page div.table>table').each(function (index) {+jQuery('.page div.table>table').each(function () {
   let $table = jQuery(this);   let $table = jQuery(this);
   let $prevDiv = $table.parent().prev();   let $prevDiv = $table.parent().prev();
   if ($prevDiv.hasClass('wrap_caption') || $prevDiv.hasClass('caption')) {   if ($prevDiv.hasClass('wrap_caption') || $prevDiv.hasClass('caption')) {
-    let captionHtml = '<caption>$prevDiv.text().trim() + '</caption>'; +    if ($prevDiv.children('p').length > 0) { 
-    $table.prepend(captionHtml); +      let captionText = $prevDiv.children('p').html()
-    $prevDiv.remove();+      $table.prepend('<caption>' + captionText + '</caption>')
 +      $prevDiv.remove(); 
 +      if (location.hash
 +        location.href = location.hash; 
 +      } 
 +    }
   }   }
 }); });
Line 87: Line 92:
 | 3   | Scelerisque vestibulum metus risus |25 | | 3   | Scelerisque vestibulum metus risus |25 |
 | 4   | Nunc a commodo nullam | 200 | | 4   | Nunc a commodo nullam | 200 |
 +
 +===== Mechanism =====
 +
 +The original HTML text is:
 +
 +<code html>
 +<div class="wrap_caption">
 +  <p> Caption text</p>
 +</div>
 +<div class="table">
 +  <table>
 +     ...
 +  </table>
 +</div>
 +</code> 
 +
 +This is transformed to:
 +
 +<code html>
 +<div class="table">
 +  <table>
 +    <caption>Caption text</caption>
 +    ...
 +  </table>
 +</div>
 +
 +</code>
 +
 +Since this transformation is made **after** the rendering by DokuWiki, the normal formatting syntax (such as ''%%//italic//%%'', ''%%__underline__%%'', etc.) can be used in the caption text.
 +
  
dokuwiki_add_caption.1623076512.txt.gz · Last modified: 2021/06/07 23:35 by admin