テーブル記法

基本

|*名前|*色|*形状|
|りんご|赤|球|
|ドーナッツ|茶|穴の開いた円|
名前形状
りんご
ドーナッツ穴の開いた円

なお、先頭からthに相当からなる行が続く限り「thead」の中に出力されますので、この例では1カラム目に、2カラム目以降はtbodyに入ります。

カラムの連結、クラス指定

|*メーカー | >        |*プリンタ |*個数  |
|_         | LBP-740e | EP-J     | 3     |
|Canon     | LBP-1420 | EP-65    | 0     |
|~         | LBP-470  |<         | 15    |
メーカープリンタ個数
CanonLBP-740eEP-J3
LBP-1420EP-650
LBP-47015

連結記号。

> : 右に結合
< : 左に結合
~ : 上に結合
_ : 下に結合

連結記号使用時はスペース(タブ含む)以外の余計な文字を含んではいけません

補足

テーブルbodyの各行には odd/even というクラスが出力されます。テーマによって行ごとに色分け表示されることがあります。左右や上下の連結は、どちらから連結するかによってoddやevenのクラスの違いがあります。

クラス指定

|*メーカー | >        |*プリンタ |*個数  |
|::tr-class
|::||||r|
|_         | LBP-740e | EP-J     | 3     |
|Canon     | LBP-1420 | EP-65    | 0     |
|~         | LBP-470  |<         | 15    |
メーカープリンタ個数
CanonLBP-740eEP-J3
LBP-1420EP-650
LBP-47015

クラス指定方法。

|::|第1カラムのクラス|第2カラムのクラス|……(後ろ省略可)
|::tr(ROW)に対するクラス指定

テーブル全体に対するクラス指定はクラス指定記法を参照してください。

captionの指定

|caption=表1 RAID0,RAID1の違い
|*RAID |*名称|*容量|*write速度|*read速度|*故障率|
|*RAID0|ストライピング|そのまま|倍      |倍|およそ倍|
|*RAID1|ミラーリング  |半分    |そのまま|倍|半分|

と入力すると次のようになります。

表1 RAID0,RAID1の違い
RAID名称容量write速度read速度故障率
RAID0ストライピングそのままおよそ倍
RAID1ミラーリング半分そのまま半分

同様に「summary=」もあったのですが、HTML5の仕様上扱いが難しいので廃止しました。*1

*1 : summary指定はコメント文として出力されます。

ブロック記法

ブロック要素に展開される記法です。

ブロック記法一覧

書式展開されるタグ< >[ ]行処理備考
>>~<<blockquote 
>>|~|<<blockquote× 
>>||~||<<blockquote××× 
>>del~<<del 
>>ins~<<ins 
>|~|<pre× 
>||~||<pre××× 
>||#~#||<pre×××#{~}や##{~}で強調コメント。((~))で注釈が書ける
>>>~<<<div 
>>>|~|<<<div× 
>>>[~]<<<div××HTMLタグは有効
>>><~><<<div××記法タグは有効
>>>||~||<<<div××× 
>|aa|~||<div××アスキーアート記法。class="ascii-art"
>|?|~||<pre××シンタックスハイライト記法。
class="syntax-highlight syntax-lang"
>|lang|~||<
```~```シンタックスハイライト。Ver3.21以降
>>http://~<<blockquote××引用元を示す引用記法。
>http://>~<<blockquote××(非推奨)引用元を示す引用記法。はてな互換。
>||comment~||<<!-- -->×××コメントブロック記法。通常の<!-- -->コメントはHTML出力しない*1
>||script~||<script×××スクリプト記法trust_mode以外では出力されない
>||script-defer~||<script×××Ver3.32以降。スクリプト記法。jQuery等が有効。
>>|figure~<<figure×Ver3.10以降
>>figure~<<figureVer3.10以降
```math~```div×××MathJaxブロック。Ver3.21以降

法則

  • > は pre
  • >> は blockquote
  • >>> は div
  • | は行処理なし
  • || は行処理とタグなし

*1 : はてな記法由来の仕様

引用記法とpre記法の例

>>
この部分は引用です。
<<
>||
この部分<strong>などのタグや、さつき記法のタグ[key:123]がそのまま出力されます。
||<

この部分は引用です。

この部分<strong>などのタグや、さつき記法のタグ[key:123]がそのまま出力されます。

ルール

  • ブロックは矛盾のない範囲で入れ子にすることができます。
  • 記法タグが無効な環境では、新たなブロック開始タグは無効になります。
  • 文字を含むブロック記法では一応大文字も使えますが、小文字表記を推奨します。

【例】埋め込みコードを書きたいとき

例えばtwitterの埋め込みコードの場合は次のようにします。

>>>|
<blockquote class="twitter-tweet" lang="ja"><p>adiary Ver3 β2 公開しました。<a href="http://t.co/Wh4jSYix7h">http://t.co/Wh4jSYix7h</a></p>
&mdash; nabe (@nabe_abk) <a href="https://twitter.com/nabe_abk/statuses/502450205652824066">2014, 8月 21</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
|<<<

こうすることで、ブロック中では段落処理が行われなくなりますので、余計なスペースなどが出ることがなくなります。*2*3

*2 : <script>タグがあるためtrust_mode以外では実行できません。

*3 : サンプルとして出しましたが、ツイート表示ならばフィルター記法を使用するほうが圧倒的に便利です。

【例】引用記法の引用元表示

>>https://adiary.org/:adiary公式ページより
adiary は導入が簡単で、Wiki のようにも活用でき、CMS的コンテンツとblogを一元的に管理することができます。
<<

adiary は導入が簡単で、Wiki のようにも活用でき、CMS的コンテンツとblogを一元的に管理することができます。

adiary公式ページより

※Ver3.20以前は [https://adiary.org/:adiary公式ページより] のように [ ] 付きで記述してください。

【例】シンタックハイライト / Markdown形式


```pl:test.pl
use strict;
print sqrt(30*30+40*40),"\n";
```

```
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
```
use strict;
print sqrt(30*30+40*40),"\n";
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">

【例】シンタックハイライト

>|perl|
#!/usr/bin/perl
use 5.8.1;
use strict;
use Satsuki::Base ();
#-------------------------------------------------------------------------------
# Satsuki system - Startup routine (for CGI)
#-------------------------------------------------------------------------------
{
	my $ROBJ = Satsuki::Base->new();	# ルートオブジェクト生成
	$ROBJ->{Timer} = $timer;		# タイマーの保存
	$ROBJ->start_up();
	$ROBJ->finish();
}
||<
#!/usr/bin/perl
use 5.8.1;
use strict;
use Satsuki::Base ();
#-------------------------------------------------------------------------------
# Satsuki system - Startup routine (for CGI)
#-------------------------------------------------------------------------------
{
	my $ROBJ = Satsuki::Base->new();	# ルートオブジェクト生成
	$ROBJ->{Timer} = $timer;		# タイマーの保存
	$ROBJ->start_up();
	$ROBJ->finish();
}

言語名を「>|perl|」のように書かなくても、「>|?|」だけでほとんどうまく行きます。

対応言語はjs/highlight.txtを確認してください。*4

*4 : プラグインを用意すれば別のシンタックスハライトツールを使用することもできます。仕組みはadiary.jsの「alt_SyntaxHighlight」を参照してください。

【例】HTMLのコメントを書きたい時

あいうえお
>||comment
この部分はHTMLコメント「<!-- -->」として出力されます。
||<
かきくけこ

あいうえお

かきくけこ

コメント中の「--」はすべて「==」に置換されます。*5

*5 : HTMLコメントの仕様が複雑でブラウザにより対応がまちまちのため、こうしておかないとコメント終了位置をブラウザが間違えることがあります。

【例】JavaScriptやコメントを書きたい時

>||script
alert("Execute!");
||<

この記法はtrust_modeでのみ有効です。jQueryを使って書くこともできます。*6

全体が<script>タグで囲まれる以外は、上のコメントブロック記法と一緒です。

「script-defer」記法では、jQuery等のライブラリロード後に実行されます。

*6 : 標準でロードされています。

【例】PCやスマホのみで出力したい(Ver3.02以降)

>>>for-pc
PCでのみ表示
<<<
>>>for-sp
スマホでのみ表示
<<<

div以外のブロックにも同様に指定できます。

figureブロック(Ver3.10以降)

画像の貼り付けなどに使われるfigureブロックです。キャプションを付けることが可能です。画像以外のあらゆるブロック要素に対してもキャプションを付けるために利用できます。

>>figure caption=ブロック一覧表
>>
-insブロック
-delブロック
-divブロック
-figureブロック
<<
<<

>>|figure center
[image:S::Aboo.png:Aboo.png]
|<<
  • insブロック
  • delブロック
  • divブロック
  • figureブロック
ブロック一覧表
Aboo.png

リスト記法

リスト記法 -~, +~

リストを作るための記法です。行頭の「-」または「+」を書きます。後者は番号で展開されます。

階層を深くする場合は2つ3つと重ねて書きます。

-ブログシステム
++adiary
++Wordpress
++MovableType
-開発言語
--Perl
--PHP
  • ブログシステム
    1. adiary
    2. Wordpress
    3. MovableType
  • 開発言語
    • Perl
    • PHP

定義済みリスト記法 :~:~

<dl>, <dt>, <dd>に展開されるリストを記述します。

:adiary:Perl
:Wordpress:PHP
:tDiary:Ruby
adiary
Perl
Wordpress
PHP
tDiary
Ruby

項目名(dt)と説明(dd)はn:mで複数記述することができます。

:Linux:オープンソース
::マルチユーザー
::sshによる管理
:Windows
::プロプライエタリ
::マルチユーザ
::Active Directoryドメイン
:Android
:iOS
::Unixライクシステム(Linux/FreeBSD)をベースにしている
Linux
オープンソース
マルチユーザー
sshによる管理
Windows
プロプライエタリ
マルチユーザ
Active Directoryドメイン
Android
iOS
Unixライクシステム(Linux/FreeBSD)をベースにしている

拡張リスト記法

最初に、空のリスト項目をひとつ書くことで、拡張リスト記法になります。

通常のリスト中に改行を入れたりブロックを展開することができませんが、拡張リスト記法ではそれが可能になります。

-
-変数x
xは未知変数である
-変数y
yはxについての2次関数。
>>
y=ax[sup:2]+bx+c
<<
  • 変数x
    xは未知変数である
  • 変数y
    yはxについての2次関数。

    y=ax2+bx+c

定義済リストも同じように拡張記法を使えます。

:
:りんご:Wikipediaによると
>>[w:リンゴ]
リンゴは、バラ科リンゴ属の落葉高木樹。またはその果実のこと。植物学上はセイヨウリンゴと呼ぶ。
<<
:ソース表示:リスト出力部分のコード
>|?|
if ($list_mark eq ':') {
	$self->parse_list_dl($ary, $list, $class);
}
if ($list_mark eq '-') {
	$self->parse_list_ulol($ary, $list, 1, $class);
}
||<
りんご
Wikipediaによると

リンゴは、バラ科リンゴ属の落葉高木樹。またはその果実のこと。植物学上はセイヨウリンゴと呼ぶ。

リンゴ
ソース表示
リスト出力部分のコード
if ($list_mark eq ':') {
	$self->parse_list_dl($ary, $list, $class);
}
if ($list_mark eq '-') {
	$self->parse_list_ulol($ary, $list, 1, $class);
}

拡張リスト記法のルール

  • 拡張リスト記法は空のリスト要素(「-」や「+」や「:」だけの行)から始める。
  • 空行を書くとリストブロックが終わる。
    • リスト項目中にブロックを記述した場合、そのブロック内の空行は構わない。
  • リストの各項目の間に、空行を1行書くことができる。この仕様は廃止しました(Ver3 RC2)。

さつき記法(標準記法)

adiary標準記法のさつき記法について解説します。さつき記法は、はてな記法を元に作られていますが、細かい部分で強力に拡張されています。

いきなりすべてを使いこなそうとすると挫折しますので、お勧めの記法をリンクしておきます。

Ver2で多量にあった不要な記法は整理しました。実装してほしい記法がありましたら連絡してください。