特殊タグ

通常、タグフラグメントを分類するために利用しますが、Piggydbならではのユニークな機能として「特殊タグ」があります。特殊タグフラグメントに付けることで、フラグメントに様々な機能を持たせることができるようになります。
特殊タグは、他のタグと区別するために、文字 '#' から始まる名前を採用しています。
特殊タグも通常のタグと同様、タグによって分類したり、また特殊タグの機能を継承する子供のタグを作ることができます。

特殊タグ: #user

新しいユーザーを作成するためには、「ユーザー名をタイトルとするフラグメントを作って、"#user"というタグを付ける」だけです。これをユーザーフラグメントと呼びます。ユーザーを作成できるのは、ownerユーザーのみです。
作成されたユーザーのパスワードは、デフォルトの状態でユーザー名と同じになります。例えば、"marubinotto"というタイトルのフラグメント#userタグを付けた場合は、ユーザー名は 「marubinotto」、パスワードは「marubinotto」でログインできるようになります。ログインしたらすぐにパスワードを変更するようにして下さい (メニュー「システム/パスワード変更」)。

特殊タグ: #trash

フラグメントを削除したい場合は、そのフラグメントゴミ箱タグ#trashを貼り付けます。
実際には、ゴミ箱タグを貼り付けても、そのフラグメントがデータベースから完全に削除されるわけではありません。一部のページから見えなくなるだけです。ゴミ箱タグのページに移動して、フラグメントからゴミ箱タグを取り除けば、そのフラグメントを復活させることができます。
ゴミ箱タグの追加は、フラグメント・ツールボタン(#120)からも行えます。

フラグメントを完全に削除するには

フラグメントをデータベースから完全に削除したい場合は、#trashタグのページに移動して、「ゴミ箱に入っている全てのフラグメントを完全に削除」ボタンをクリックします。

特殊タグ: #bookmark

#bookmarkタグを付加されたフラグメントは、サイドバーの「ブックマーク」一覧に追加されます。頻繁にアクセスするフラグメントや重要なフラグメント#bookmarkタグをつけておくと、いわゆるショートカットのように機能します。
ブックマークへの追加は、フラグメント・ツールボタン(#120)からも行えます。

特殊タグ: #home

#homeタグを付加されたフラグメントは、ホームフラグメントとしてホームページに表示されるようになります。ホームフラグメントはいくつでも設定することができます。
このサイトでは、フラグメント #1 がホームフラグメントになっています。
Piggydbを複数人のユーザーで利用している場合は、ホームフラグメントをユーザーみんなの共有情報として利用できます。
ホームフラグメントへの設定は、フラグメント・ツールボタン(#120)からも行えます。

特殊タグ: #public

#publicタグ、あるいはこのタグの下位に所属するタグが付いているフラグメントは外部に公開されます。つまりログインしていなくてもその内容を見ることができるようになります。ただし、公開されるのはフラグメントのドキュメント・ビューのみです。通常の編集画面は公開されません。
公開されたフラグメントへアクセスするためのURLは、通常のドキュメント・ビューのものと同様になります。以下のようなURLです。
 http://<host-name>:<port>/<war-name>/document-view.htm?id=6
公開されるのはあくまで#publicタグが付いたフラグメントだけです。関連するフラグメントや埋め込まれたフラグメントに#publicタグが付いていなければ、それらを外部から見ることはできません。

公開ホームフラグメント

タグ #public に加えて、#homeタグも付加されたフラグメントは「公開ホームフラグメント」となり、以下のようなURLからアクセスできるようになります。
 http://<host-name>:<port>/<war-name>/public/
 All-in-Oneパッケージをローカルマシンで利用している場合
 http://localhost:8080/public/
公開ホームフラグメントを設定すれば、外部ユーザー向けのポータルを提供することができます。
公開ホームフラグメントに設定できるのは一つのフラグメントのみです。このフラグメントを公開サイトのルート(出発点)として利用します。もし複数のフラグメントに #public と #home タグが付いている場合は、一番最後に更新されたフラグメントが公開ホームフラグメントとして選択されます。

特殊タグ: #pre

一つのフラグメントの中で整形済みのテキストを書く場合には、対応するWiki記法(#43)がサポートされています(行頭をスペースで始める)。しかし、フラグメント全体を整形済みテキストとして扱いたい場合は、#preタグが便利です。
#preタグを付加されたフラグメントの内容は、スペースや改行などを含めて、そのまま表示されるようになります(Wiki記法は全て無視されます)。

特殊タグ: #code → ...

#preタグに加えて、#codeタグを付加されたフラグメントは、その内容がプログラムコードだと認識されて、プログラムを読みやすくするためのハイライト表示が適用されます。

整形済みテキスト・フラグメントのサンプル

/** 
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
  public static void main(String[] args) {
    System.out.println("Hello World!"); // Display the string.
  }
}

特殊タグ: #code

#preタグに加えて、#codeタグを付加されたフラグメントは、その内容がプログラムコードだと認識されて、プログラムを読みやすくするためのハイライト表示が適用されます。

プログラミング言語の自動認識

このコードハイライトはgoogle-code-prettifyによって実現されているため、プログラミング言語の種類を特に指定しなくても自動的に解析してハイライト化してくれます。ただ情報管理の観点から言語の種類を明示的に指定しておきたい場合があると思います。その場合は、"#lang-<言語名>"というタグを追加すると、その言語で書かれているものとして認識されるようになります。サポートされている<言語名>については、google-code-prettifyのドキュメントを参照して下さい。

#pre と #code、両方のタグを追加するのが面倒な場合は、#pre → #code という親子関係を作る

#pre#code、両方のタグを追加するのが面倒な場合は、#pre#code という親子関係を作ることによって #code だけの指定で済むようになります。

#codeタグによるコードハイライトのサンプル

/** 
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
  public static void main(String[] args) {
    System.out.println("Hello World!"); // Display the string.
  }
}