Confluenceのページを書くときによく使うWiki記法

概要

Confluenceのページを記述する際、自分がよく使う(であろう)Wiki記法 Confluence - チーム コラボレーション ソフトウェア | Atlassian

記法

目次

{toc}

引用

{quote}
引用
{quote}

コード

{code:css}
body {
    background: #FFF;
}
{code}

背景色をつける

{bgcolor:#336699}背景色を付ける{bgcolor}

info/tips/note/worning

{info}
彼はたかしです。
{info}
{tip}
たかしの愛読書は『やはり俺の青春ラブコメはまちがっている。』です。
{tip}
{note}
たかしは自分も「比企谷八幡のようになりたい」と思っています。
{note}
{warning}
しかし、それはオススメできません。
{warning}

参考

iwb.jp

Atlassian Confluence 5 Essentials

Atlassian Confluence 5 Essentials

link_toでハマった話

概要

erbファイルに<%= link_to %>タグを書いたときハマった話

問題

リストを使ってカードUI風に実装する際、<li>内を全部リンク範囲にしたいことはよくある。 以下のソースは一見正しい実装に見えるが、実際は正しく動作しない(<a>タグが変なところにできる)。

  <ul>
    <% @array.each do |object| %>
      <li>
        <%= link_to object.url do %>
          <p><%= link_to object.title, object.url %></p>
          <p><%= object.description %></p>
        <% end %>
      </li>
    <% end %>
  </ul>

原因

これは<%= link_to %>がネストしていることが原因のようだ。

解決方法

そもそもカード全体がリンクになってるんだからタイトルを<a>にする必要はないと判断し、以下のように修正した。

  <ul>
    <% @array.each do |object| %>
      <li>
        <%= link_to object.url do %>
          <p><%= object.title %></p>
          <p><%= object.description %></p>
        <% end %>
      </li>
    <% end %>
  </ul>

Effective Ruby

Effective Ruby

jQueryのアニメーションイベントが連続で発生しないようにする

概要

アコーディオンメニューなどで、同一オブジェクトを用いて開閉する場合、連打されて延々アニメーションが続くことがある。 $.fadeIn()など、キューにストックされるアニメーションイベントが実行され続けるのを防ぐ。

実装

var isAnimate = false;

$('#button').on('click', function () {
  if (isAnimate) {
    return;
  } else {
    isAnimate = true;
    $('.accordion').slideToggle(500, function(){
      // 処理
    }).promise().done(function(){
      isAnimate = false;
    });
  }
});

備考

.promise()は複数のアニメーションイベントが走っている場合、その全てが終了した際に発火する。