内部変数と自由変数

内部変数

Satsuki.pm内のメンバ変数でパーサの動作を設定するものを内部変数といいます。

変数名機能
chain_linebool行連結記法を有効にする。
section_numberbool見出しに章番号を出力する。
section_startint見出し番号の初期値。デフォルトは1。
section_prefixstr見出し番号の手前に付加する文字列。
section_suffixstr見出し番号の後に付加する文字列。
timestamp_datestr時刻付き見出し記法で、UTCを指定した際の日付の書式。デフォルトは '%Y/%m/%d'
br_modebool\nを改行(br)に置換する。
p_modeint0:段落処理しない。1:一行を段落(p)として処理する。2:空行までを段落(p)として処理する。
p_classstr段落処理で出力するpタグのclassを指定します。
ls_modebool行間をbrに置換します。段落処理の場合は1行の行間は無視されます。
seemore_msgstr「続きを読む」のメッセージを変更します。
list_brboolリスト記法のアイテムが複数行に渡るとき、行ごとに<br>を付加する。
tex_modebool$~$ や $$~$$ 内にTeX数式を書けるモード。
  • str : 文字列
  • int : 数値
  • bool : 0(false) または 1(true)

この中の一部は、adiaryの「管理」→「基本設定」→「編集画面の設定」から変更できます。

内部変数の書き換え

本文から内部変数を一時的に書き換えることができます。

例えば、次のようにします。

::tex_mode=1
$ a^2 = b^2 + c^2 $

a^2 = b^2 + c^2

「=」の両側にはスペースを含むことができます。

自由変数

内部変数とは別に、ユーザーが自由に使える変数空間があります。

:::x=13
:::y=3
:::msg = xの[$y]乗は[calc:x^y]です。
変数x=[$x]です。
[$msg]

変数x=13です。

xの3乗は2197です。

こんな風に使えます。変数には文字列でも何でも代入できます。

  • 「=」の両側にスペースを含むことができます。
  • 【Ver3.10】記法タグ内で変数を展開できます。
  • 【Ver3.10】変数定義内の記法タグが展開されます。

自由変数の使い道として電卓記法も参照してください。

この自由変数は、記法タグの定義で使われる「変数展開」の変数領域と同一になっています。

定義済み自由変数

変数名内容
Basepathadiaryが置かれてるディレクトリまでのURL上のパス
pubdistBasepathから共通公開ディレクトリまでのパス(pub-dist/)
publicBasepathからそのブログ固有の公開ディレクトリまでのパス(pub/<uid>/)
imageBasepathからそのブログ固有の画像ディレクトリまでのパス(pub/<uid>/image/)
myself自分自身のブログトップまでのパス
myself2自分自身のブログトップまでのパス(path_info用)

フィルター記法

Ver3から実装された大変便利な記法です。&付きでURLを記述することで、対応する機能を自動的に埋め込むことができます。*1

細かく覚えなくても「URLの手前に&を付けて[ ]で囲む」と覚えておけばオーケーです。

サンプルで末尾に「:small」「:large」と付いているものはそれによって表示サイズを指定できます。

追加してほしいフィルターないしは、サイト側の仕様変更でうまく動作しないものがありましたらご連絡ください。

一般のURL(リンク名の自動取得)

タイトルを自動的に取得してリンクします。

[&http://adiary.org]

超高速CMS - ブログ/Wiki/Markdown/RST/reST/Linux/Windows/AMP - adiary official website

YouTube

[&https://www.youtube.com/watch?v=vHh_cZbYajc]
[&https://www.youtube.com/watch?v=vHh_cZbYajc:small]
[&https://www.youtube.com/watch?v=vHh_cZbYajc:large]

ニコニコ動画

[&http://www.nicovideo.jp/watch/smXXXXXX]
[&http://www.nicovideo.jp/mylist/XXXXXX]
[&http://www.nicovideo.jp/user/XXXXXX]
[&http://com.nicovideo.jp/community/coXXXXXX]

Twitterのツイート

[&https://twitter.com/nabe_abk/status/352734493670510593]

githubのコードソース貼り付け

[&https://gist.github.com/ttsuki/7294594]
[&https://github.com/nabe-abk/adiary/blob/master/adiary.cgi]

Amazonの商品

[&https://www.amazon.co.jp/dp/4873113903/ref=XXXXXX]
[&https://www.amazon.co.jp/dp/4873113903/ref=XXXXXX:DNS & BIND]
[&https://www.amazon.co.jp/Kindle Papar White/gp/product/B007OZNYMU/ref=XXXXX?]

[&https://www.amazon.co.jp/dp/4873113903/ref=XXXXXX:text] テキストリンク
[&https://www.amazon.co.jp/dp/4873113903/ref=XXXXXX:large] 大きい画像 
[&https://www.amazon.co.jp/dp/4873113903/ref=XXXXXX:small] 小さい画像 

内部的にasin記法に置き換えて処理されます。

リンク中にアフィリエイトIDが設定されていても無視されます。アフィリエイトIDはブログの基本設定にて指定してください。

slideshare

[&http://www.slideshare.net/infinite_loop/1-10128499]
[&http://www.slideshare.net/infinite_loop/1-10128499:small]
[&http://www.slideshare.net/tokibito/xenserver?from_search=9:large]

スライドURLにスライドID(番号)がないものは、http接続してスライドIDを取得しに行きます。

Google map

マップ表示している状態のURL(リンク用URL)からマップを表示できます。

[&https://www.google.com/maps/@35.6712566,139.6968225,17z?hl=ja]
[&https://www.google.com/maps/place/%E9%B6%B4%E5%B2%A1%E5%85%AB%E5%B9%A1%E5%AE%AE/@35.3248574,139.5538813,17z/data=!3m1!4b1!4m5!3m4!1s0x601845b87890aa89:0xa867ad10105036b5!8m2!3d35.3248574!4d139.55607?hl=ja:large]

※Ver3.30にて仕様変更しました。Googleの仕様変更でうまく動作しないことがあります。その際はご連絡ください。

画像/音声/動画

[&/pub/adiary/image/img/banner.jpg]
[&https://adiary.org/pub/adiary/image/img/banner2.png]
[&/pub/adiary/image/Vivaldi-The-Four-Seasons-Spring-1st-2012-2.mp3]
[&http://example.com/data/test.mp4]

*2

拡張子で判別しています。

確実に判別させたいときはメディア記法を使用してください。

画像とメディア

画像/ファイル記法

画像管理(アルバム)からの貼付けで自動的にタグに展開されるので、普段は気にする必要はありません。

[file:拡張子:ディレクトリ:ファイル名]
[file:拡張子:ディレクトリ:ファイル名:リンク名]
[image:L:ディレクトリ:ファイル名] …… 画像貼り付け
[image:S:ディレクトリ:ファイル名] …… サムネイル貼り付け

Ver2互換性のための記法(非推奨)
[image:ブログID:ディレクトリ:ファイル名]
[image:ブログID:ディレクトリ:ファイル名:small]

単純に画像をはりつける

[img:/pub/adiary/image/img/banner.jpg]
[img:http://adiary.org/pub/adiary/image/img/banner2.png]


画像でリンクする

[https://adiary.org:[img:/pub/adiary/image/img/banner.jpg]]
[https://adiary.org:[image:L::banner2.png:banner2.png]]

banner2.png

サイズを指定する(Ver3.10~)

[img:/pub/adiary/image/img/banner.jpg:h10:ALT string]
[img:/pub/adiary/image/img/banner.jpg:ALT string:w100]
[img:http://adiary.org/pub/adiary/image/img/banner2.png:h30]
ALT string

ALT string


w100やh50のように、幅や高さを指定するオプションを付けてください。

写真のExif情報を貼り付ける

[exif:444/:exif3.jpg:%271 %272 / %37386mm F%33437 %33434sec ISO%34855]

Canon Dxxxx / 35mm F4.0 1/40sec ISO1600

  • アルバム内の画像に対してのみ使用できます。
  • %(数値)はExifタグ番号に対応しています。詳細は検索してください
  • すべてのExifタグを取得しているわけではありません。*1

*1 : 現状IFD0とExif IFDのみ取り出しています。また写真によって入ってるデータと入っていないデータがあります。

audio/videoタグ

HTML5でサポートされた、オーディオやビデオを再生する「audio/video」タグのための記法です。

[audio:pub/test.mp3]
[video:http://~~~/movie/test.mp4]
[audio:pub/test1.mp3:pub/test2.m4a:http://~~~/music/test4.ogg]

拡張子からMIMEタイプを自動判別してくれます。

3行目のように複数のデータソースを指定することもできますが、ブラウザの実装として最初の1つしか有効ではないようです。

videoのサイズ指定(Ver3.10~)

AMP表示等で必須なvideoタグのサイズ指定を、記法で書くことができます。

[video:http://~~~/movie/test.mp4:w640:h480]
[file:mp4:2017/:test2.mp4:test2.mp4:w720:h480]

HTMLタグ置換

HTMLタグや特定のHTMLクラスに置換される記法です。

文字を修飾するものが多くあります。

基本

記法置換タグクラス
emem
bfstrong
warnstrongwarning
itspanitalic
deldel
insins
uspanunderline
hspanhidden
hiddenspanhidden
prespanpre
subsub
supsup
warnstrongwarning
clearbrclear
wbrwbr
codecode
quoteq

やや高度な置換

記法置換形式
comment:xxx<!--xxx-->
class:xxx:yyy<span class="xxx">yyy</span>
color:xxx:yyy<span style="color:xxx;">yyy</span>
ruby:xxx:yyy<ruby>xxx<rp>(</rp><rt>yyy</rt><rp>)</rp></ruby>

文字サイズ系

TeXっぽいHugeやtiny等は廃止しました。

記法置換タグクラス
xx-largespanxx-large
x-largespanx-large
largespanlarge
midiumspanmidium
smallspansmall
x-smallspanx-small
xx-smallspanxx-small

条件表示(Ver3.10~)

記法置換タグクラス効果
pcspanfor-pcPCのみ表示
spspanfor-spスマホ画面のみ表示(AMP含む)
ampspanfor-ampAMP画面のみ表示