何をするものか
テキストファイルからHTMLを吐きます。再発明もいいとこ。なかなかにValidなHTMLを吐きます。
タイムスタンプを見てリビルドとかできます。
ローカルで書いてミラーリングアップロードするのが正しい使い方です。
いろいろ未実装です。誰も知らないOgreWiki/CYBERREPORTの後継。
書式
タイトル
ソーステキストの先頭行はページのタイトルになります。
ブロック
一般形
-- FUNCTION
CONTENTS
--
-- FUNCTION : ARGUMENT...
CONTENTS
--
ブロックは、2個以上のハイフンではじめます。
同数のハイフンのみの行で閉じます。
= FUNCTION
= FUNCTION : ARGUMENT...
= FUNCTION ; CONTENTS
= FUNCTION : ARGUMENT... ; CONTENTS
中身が不要、または1行の場合は=も使用できます。
codeの短縮形
-- ! LANG
CODE
--
code:と書く代わりに!を使うことができます。
paragraphの短縮形
空行で区切られた地の文はそれぞれ段落になります。
listの短縮形
- A
-- B
- C
-- D
-で行を始めることでlistを明記せずに表を作ることができます。
sectionの短縮形
* TITLE
* LABEL : TITLE
次の*までが節になります。
* TITLE
-------
CONTENTS
-------
* LABEL : TITLE
---------------
CONTENTS
---------------
節を入れ子にしたいときはハイフンで範囲を明示します。
tableの短縮形
|A|B|C|
|D|E|F|
|で行を始めることでtableを明記せずに表を作ることができます。
インライン
一般形
[ FUNCTION ]
[ FUNCTION : ARGUMENT... ]
[ FUNCTION ; CONTENTS ]
[ FUNCTION : ARGUMENT... ; CONTENTS ]
インラインマークアップは、1個以上の[]で囲います。
最初は[で始める必要がありますが、(){}<>も使用できます。
[(plain;a[0])]
anchorの短縮形
[ ./PATH ; CONTENTS ]
相対パスの場合はa:を省略できます。
codeの短縮形
[ ! LANG ; CODE ]
code:と書く代わりに!を使うことができます。
エスケープ
\に続く記号はマークアップとして解釈しません。
文中の[]や、行頭に-、=、*、|を置きたいときはエスケープが必要です。
\自体は\\と表せます。
また、行末の\は次の改行コードを無視します。
plain等プレーンテキストの中ではエスケープは機能しません。
機能リスト
abbr
インライン。中身はインライン。
略語。
引数には正式名称を取ります。
<abbr>タグを生成。正式名称はtitle属性になります。
anchor
インライン。中身はインライン。
リンク。
URIまたはNightScreamのページやラベルを引数に取ります。NightScreamのページにリンクするときは拡張子.scream.txtを指定しないでください。
<a>タグを生成します。本文省略時アドレスまたはリンク先ページのタイトルが使われます。
author
ブロック。中身はインライン。
作者情報や連絡先など。
引数にはURIを取ります。
<address>タグを生成。引数がある場合は<a>タグも生成します。
big
ブロック/インライン。中身はインライン。
大きい文字。
<big>タグを生成します。
bold
ブロック/インライン。中身はインライン。
太文字。
<b>タグを生成します。
cite
ブロック/インライン。中身はインライン。
引用元のタイトル。
<cite>タグを生成します。
code
ブロック/インライン。中身はプレーンテキスト。
ソースコードを表します。
引数には言語名を指定。
<code class="code lang-言語名">タグを生成します。ブロックの時は<pre class="code lang-言語名">タグで囲います。
date
インライン。中身は無視されます。
引数にファイル名を取りそのタイムスタンプとなります。
<time>タグを生成します。
definition
ブロック/インライン。中身はインライン。
定義。
<dfn>タグを生成します。
delete
ブロック/インライン。中身はブロック/インライン。
取消線。
<del>タグを生成します。
emphasis
ブロック/インライン。中身はインライン。
強調。
<em>タグを生成します。
history
更新履歴。
フッター部分に<aside><p class="history">タグを生成します。
http
インライン。中身はインライン。
HTTPリンク。
URIを引数に取ります。機能名httpと合わせて、[http://abc.def/ghi/;jkl...]
のように記述します。
<a>タグを生成します。本文省略時URIが使われます。
https
httpに同じ。
include
ブロック/インライン。中身はプレーンテキスト。
他のページや画像へのパスを引数に取ります。
ページの場合はブロックのみ。NightScreamのページを埋め込むときは拡張子.scream.txtを指定しないでください。<section>タグを生成します。include自体の中身は無視されます。
画像の場合はブロック・インライン共に使用可能。<img>タグを生成し中身はalt要素になります。ブロックの時は<p>タグで囲います。
input
ブロック/インライン。中身はプレーンテキスト。
入力。
<kbd class="input">タグを生成。ブロックの時は<pre class="input">タグで囲います。
italic
ブロック/インライン。中身はインライン。
斜体。
<i>タグを生成します。
list
ブロック。中身はインライン。
リスト。行頭の"-"の数で深さを示します。空白で始まる行は前の行の継続と見なします。
引数にはnone, unordered, orderedの何れかを指定。省略時unordered。
<ul class="none">/<ul>/<ol>タグを生成します。
mailto
インライン。中身はインライン。
メールアドレスを引数に取りリンクを生成します。
<a>タグを生成します。href属性はonloadで設定します。
mark
ブロック/インライン。中身はインライン。
目印。
<mark>タグを生成します。
output
ブロック/インライン。中身はプレーンテキスト。
出力。
<samp class="output">タグを生成します。ブロックの時は<pre class="output">タグで囲います。
paragraph
ブロック。中身はインライン。
通常の段落。
<p>タグを生成します。改行は<br>になります。
plain
ブロック/インライン。中身はプレーンテキスト。
整形を行いません。
引数にはproportional, fixedの何れかを指定。デフォルトはproportional。
proportionalの時は<p class="plain">/<span class="plain">タグを生成します。
fixedの時は<pre class="plain fixed">/<span class="plain fixed">タグを生成します。
quote
ブロック/インライン。中身はブロック/インライン。
引用文。
<blockquote>/<q>タグを生成します。引数、またはブロックの中にauthorがある場合はauthorに指定されたURIをcite属性とします。
remark
インライン。中身はインライン。
脚注。
説明文を引数に取ります。説明文はページ末尾に一括で追加されます。
<a class="remark">タグを生成します。
またフッター部分に<aside><p class="remark">タグを生成します。
section
ブロック。中身はブロック。
節。
引数として見出し文字列を取ります。
<section>タグを生成します。見出しは<h1>..<h6>タグになります。
small
ブロック/インライン。中身はインライン。
小さい文字。
<small>タグを生成します。
strong
ブロック/インライン。中身はインライン。
強い強調。
<strong>タグを生成します。
sub
ブロック/インライン。中身はインライン。
下付き文字。
<sub>タグを生成します。
subject
インライン。中身はインライン。
主題。
引数としてleft, rightを取る。デフォルトはleft。
<span class="subject left">/<span class="subject right">タグを生成。
sup
ブロック/インライン。中身はインライン。
上付き文字。
<sup>タグを生成します。
table
ブロック。中身はインライン。
表。
区切り文字は"|"。
<table>タグを生成します。
variable
ブロック/インライン。中身はインライン。
変数。
<var>タグを生成します。
生成HTMLについて
HTML5のXML構文を出力します。
実行方法
拡張子.scream.txtを持つUTF-8のテキストファイルを作成して、そのディレクトリでnightscreamコマンドを実行すると.htmlができます。
サブディレクトリも再帰的に処理します。
index
同じディレクトリや親ディレクトリにindex.scream.txtがあればヘッダー部分にリンクを生成します。
スタイルシート
style.cssがあれば参照するようにlinkタグを出力します。
親ディレクトリにindex.scream.txtがあれば、遡ってstyle.cssを探します。
スタイルシートのクラス
code
codeが生成したタグに付きます。
fixed
plain:fixedが生成したタグに付きます。
history
historyが生成したタグに付きます。
h7, h8, h9...
sectionを深く入れ子にして、<h6>以上の見出しレベルが必要になった時に使用されます。
input
inputが生成したタグに付きます。
lang-言語名
codeに指定した言語名がpre/codeタグに付きます。
left
subject:leftが生成したタグに付きます。
none
list:noneが生成したタグに付きます。
output
outputが生成したタグに付きます。
plain
plainが生成したタグに付きます。
remark
remarkが生成したタグに付きます。
right
subject:rightが生成したタグに付きます。
subject
subjectが生成したタグに付きます。
.screamディレクトリ
NightScreamは隠しディレクトリ.screamを作成してバックアップや依存関係を格納します。