未解明領域記録

前記: このページは、長きにわたりSCP財団が発見している低脅威かつ異常なロケーションの文書に充てられています。この必要とされる確保及び隠蔽対策に関する文書に記載されている全ての領域が、いずれも根本的な異常の原因にあまり密接に関連していないか、完全な特別封じ込め手順文書を要する高い研究の優先順位や十分な封じ込めが必要であるとは見做されていません。将来これらのロケーションの知識が役に立つまたは必要になる時、このリストは情報源として活用される可能性があります。
- サイト-██、収容担当主任██████ █████博士

新しいエントリを加えるには、こちらをクリックして下さい: エントリを加える

ソート方法: 高評価順, 低評価順, 古い順, 新しい順, ランダム


未解明領域 UE-537968 (編集)
概要: 人や電子機器から発せられたあらゆる雑音を、感知してから正確に2秒後に完全にコピーした状態で反響させる街路。反響音自体は反響効果の対象に含まれない。
収容日: ████-██-██
場所: インド、スーラト市の██████ ██
セキュリティプロトコル: 街路を閉鎖し、地図上から削除しました。

翻訳記事の追加方法

新たにEN版未解明領域記録を翻訳しこのリストに追加する場合は、このページへの追記ではなくページの作成を行っていただきます。作成方法として、次のカラムにリスト番号(原文ページのロケーション番号が書かれたリンクをクリックした際、ブラウザのURL欄に表示されるURLの末尾の#以下の数字)を入力して「リストに追加する」のボタンを押してください。

ページ作成にジャンプすると、通常のページ作成時とは異なり複数の入力欄が存在しているので、タイトルの部分を「未解明領域」に書き換えた後、各入力欄の指示に従って翻訳文を入力してください。


作業用

テンプレートの編集: http://05command-ja.wikidot.com/log-of-unexplained-locations:_template

システム解説

この文章は、保守を目的としたシステム理解のためのものです。ある程度のHtml, css及びWikidot構文知識を前提として執筆しています。

概要

EN版におけるLog of Unexplained Locationsのページは、他の短編合作であるLog Of Anomalous ItemsやLog of Extranormal Eventsと異なり、評価システムを取り入れた合作となっています。他の合作のようにワンページで手軽に複数作品を閲覧しつつ、同時に評価によって剪定無しでクオリティを維持できるという画期的なシステムではありますが、この実現のためにはWikidot FormシステムとList Pagesモジュールを組み合わせた運用が不可欠です。特にWikidot Formシステムについては、Wikidotの標準のページ作成手順に併せる形でフォーマットが発展してきたSCP Wikiにおいては技術の蓄積がなく、日本語で解説する文章はこれが初めてである可能性が高いです。よって本稿では、Wikidot Formシステムの簡単な解説の後、 Log of Unexplained Locationsがどのようにしてそのシステムを利用し、評価モジュールを組み込んでいるかを説明します。

Wikidot Formシステム

テンプレートページ

Wikidot Formシステムは、ページ作成フォームを好きなスタイルに設定するためのテンプレートページの編集と、そこで設定したページの持つコンテンツをテンプレート・ListPagesモジュールを利用して表示するレイアウト構築で成り立っています。Wikidotのページ構造は、カテゴリの下にページがぶら下がる形になっていることは既にご存知だと思いますが、このカテゴリにはそれぞれテンプレートページという特殊なページをひとつだけ設定することが出来ます。ページ作成の際は、

http://wikiname.kwikidot.com/categoryname:_template

という形で固定ページ名_templateで設定することで自動的にテンプレートページとして割り当てられます。このテンプレートページは、そのカテゴリのページ全体に表示したい文章を設定したり、評価やコメント数などのページパラメータを自動表示させるためにも利用できますが、ここでは必要以上の解説は行いません。

さてこのテンプレートには、ページセクション構文

====

の後ろに[[form]][[/form]]で囲まれたData Form構文を入れることで、そのカテゴリの(テンプレートページ以外の)ページの編集方法を通常とは異なる方式に変える事ができる機能があります。

Data Form構文

Data Form構文の書き方は、htmlのformタグをpythonみたいなインデント式のブロック構造で書いているといえば分かる人が居るかも知れません。例として、「概要:」というWikidot構文を入力するためのフォームを作成するための文を以下に示します。

====
[[form]]
fields:
desc:
label: "概要:"
type: wiki
hint: "'ここに文章を入れます。"
height: 6
width: 50
[[/form]]

[[form]][[/form]]で囲まれた中に最初に現れるfields:というのがフォームの構文のスタートを示しており、必ず書く必要があります。これ以下の構文はこのfields:というブロックにぶら下がっているのですが、このぶら下がりのネスト構造を示すのがインデント(スペースによる文字の右寄せ)です。つまり半角スペース2つ分のdesc:の階層はfields:というフォーム全体を示すブロックのひとつ下の階層で、入力するコンテンツを個別に指定します(ブロック名はコンテンツのラベルとして使用されます)。半角スペース4つ分のその下の階層は、コロンの右に情報を書き込むことでそのコンテンツの入力方式やレイアウトなどの情報を設定する部分になります。入力方式によっては更にその下の階層も存在しますが、ここでは扱わないためData Formの使い方のページ(英語)で個別に参照して下さい。ここからさらに他のコンテンツを設定する場合は、HtmlやWikidot構文のようなエンドブロックは必要とせず、次節の未解明領域の例のようにdesc:と指定したコンテンツの階層と同じインデント幅でコンテンツ名とコロンを記入して下さい。

未解明領域のフォームの解説

未解明領域の日本語訳ページでは、以下のData Formを設定しています。

[[form]]
fields:
desc:
label: "概要:"
type: wiki
hint: "'Location Description:'以下の文章をここに入力してください。wikidot構文もここに入力する必要があるため、http://www.scp-wiki.net/log-of-unexplained-locations:██/norender/true(██の部分にページ作成のために利用したリスト番号)を開いて原文の構文を確認してください。"
height: 6
date:
label: "収容日:"
type: text
hint: "'Date of Containment:'以下の日付を入力してください。"
loc:
label: "場所:"
type: text
hint: "'Location:'以下に書かれている場所を入力してください。"
sec:
label: "セキュリティプロトコル:"
type: wiki
hint: "'Security Protocol:'以下の文章をここに貼り付けてください。"
height: 6
note:
label: "ノート:"
type: text
hint: "'note:'が存在しない場合は空欄のままにしてください。"
redirect-b:
type: hidden
value: '[[module Redirect destination="http://05command-ja.wikidot.com/log-of-unexplained-locations'
redirect-e:
type: hidden
value: '"]]'
[[/form]]

label: には、""で囲んだテキストを入力カラムの左に表示します。基本的に必要な情報は「概要」「収容日」「場所」「セキュリティプロトコル」ですが、ユーザーが自由に設定できる部分として「ノート」が設けられています1

type:には基本的に2種類のものが使われておりますが、「wiki」と「text」同じで、テキストボックス式の入力カラムを生成するものです。「hidden」は非表示項目であり、このフォームでは後述するあるシステムのために利用しています。

hint:では、未入力時にカラムの後ろに表示されるヒント文章を設定できます。翻訳ページなので、翻訳向けの注釈になっています。

height:では入力カラムの高さが設定できます。基本的には行数指定で、このパラメータ自体が存在しなければ1です。

value:は本来更にその下にネストしてプルダウンやラジオボタン式の選択項目を設定するためのブロックなのですが、ここでは強制的に変数を代入するために利用しています。

フォームデータの利用方法

フォームで設定したデータは、ページの持つパラメータとしてテンプレートやListPagesモジュールで呼び出すことが可能です。呼び出す際は、Data Form構文でコンテンツの階層で指定したブロック名labelname:に対して、

%%form_label{labelname}%%
%%form_raw{labelname}%%

と書いて下さい。labelではパラメータは文字列として解釈され、rawではWikidot構文として解釈されます。

前述のhidden指定されたパラメータについては、このrawを悪用活用したリダイレクトに利用されています。未解明領域の_templateページは、本文部分のテンプレートとして

%%form_raw{redirect-b}%%#%%name%%%%form_raw{redirect-e}%%

という構文が置かれています。ここにredirect-bとredirect-eで指定されたvalueの文字列とページ名(数字)を指定すると

[[module Redirect destination="http://05command-ja.wikidot.com/log-of-unexplained-locations#1"]]

となりリダイレクト構文が完成し、このページにアクセスしてもハブページに飛ばされるようになっています2

ハブページ

ハブページは、未解明領域記録という記事種の本体であり、各作者が作成したコンテンツを一つのページ上で気軽に閲覧することができるシステムです。ListPagesモジュールを基幹として作成されているため、各ページの評価値はもとより作成日時、更新日時によってページを並べ替えることが可能になっています。ここでは、以下に示すListPages内の表示項目について説明していきます。

[[# %%name%%]]
[[div style="float:right; height:16px;"]]
[[iframe http://05command-ja.wikidot.com/%%fullname%%/noredirect/true?theme_url=http://05command-ja.wikidot.com/local--code/log-of-unexplained-locations/1 scrolling="no" style="width:230px; height:26px;overflow:hidden;" frameborder="0"]]
[[/div]]
**[[[/log-of-unexplained-locations/p/[[#expr ((%%index%%-1)/10 % %%total%%)+1]]#%%name%% |未解明領域 UE-[[#expr (496579*%%name%%)%900000 + (41389*%%name%%)%100000]] ]]]** ([[[*/%%fullname%%/norender/true#_editpage |編集]]])
**%%form_label{desc}%%** %%form_raw{desc}%%
**%%form_label{date}%%** %%form_raw{date}%%
**%%form_label{loc}%%** %%form_raw{loc}%%
**%%form_label{sec}%%** %%form_raw{sec}%%
[[#if %%form_raw{note}%% | **%%form_label{note}%%** %%form_raw{note}%%]]

ただし、その前に前提としてこのListに表示するページのpagenameの定義方法について触れておく必要があります。

pagenameの設定について

EN版におけるLog of Unexplained Locationsでは、ページのURLであるpagenameをWikidotの機能であるオートナンバリングによって自動生成しています。これはサイト管理者のみが弄れる設定であり、特定のカテゴリのページを生成順に1, 2, 3…というような連番のpagenameに指定することが出来ます。ヘッダやフッダをつけることも出来ますが、そのままの数字でナンバリングしていけばListPagesなどで%%name%%からページの生成番号を数値として取得できるため、非常に使い勝手が良いシステムになっています。ただし、連番の途中のページが削除されてもその分の番号の繰り下げなどは無く、また欠番への自動埋め合わせなどもされません。

この前提を元に、前述の表示項目の説明を行います。

アンカーとPollシステム

上記の構文の

[[# %%name%%]]
[[div style="float:right; height:16px;"]]
[[iframe http://05command-ja.wikidot.com/%%fullname%%/noredirect/true?theme_url=http://05command-ja.wikidot.com/local--code/log-of-unexplained-locations/1 scrolling="no" style="width:230px; height:26px;overflow:hidden;" frameborder="0"]]
[[/div]]

の部分についてです。最初の[[# %%name%%]]の部分は、そのページのpagenameを用いたアンカーになっています。リンクとしては便利ではあるのですが、システムの都合上ポータルにリンクした際にそのリスト上に該当のページが表示されていない場合があるため、あまり役立たないことが多い部分です。

その次のdiv文で囲まれたiframeが、この未解明領域記録を象徴する評価システムの要となる部分です。この部分は、ページ内に未解明領域記録の個別ページをフレームとして呼び出し3、そのページのCSSを操作する4事で評価モジュールだけがページ上に表示されるようにしています。これにより、高さ26px、横幅230pxのフレームに収まる評価モジュールだけがリスト上に表示され、あたかも1ページで複数コンテンツの評価を行えるページのように振る舞うことができるようになっています。

表示シリアル番号とページ名、編集ボタン

**[[[/log-of-unexplained-locations/p/[[#expr ((%%index%%-1)/10 % %%total%%)+1]]#%%name%% |未解明領域 UE-[[#expr (496579*%%name%%)%900000 + (41389*%%name%%)%100000]] ]]]** ([[[*/%%fullname%%/norender/true#_editpage |編集]]])

この部分の前半は、pabenameに割り振られた番号を元に、「UE-537968」といった記録のシリアル番号を生成するための構文になっています。前半のリンク構文は現在表示中のコンテンツへのリンクですが、ListPagesを使って表示する都合上リスト自体のページを合わせる必要があるため、pパラメータの数字をコンテンツのインデックスNoの1の位を除いた数値にしています。この計算には数式構文を利用しており、%が剰余(mod)演算を表しています。
後半部分のコンテンツ名のシリアル番号については、ページ名に指定されている数値を元に簡単な疑似乱数5を生成しています。これも数式構文を利用しており、2つの剰余演算の和になっています。
編集ボタンは、前述のようにコンテンツページがリダイレクトページになっているので/norender/trueでリダイレクト阻止を行い、更に#_editpageハッシュで編集画面を直接開くようになっています。

コンテンツ表示部

**%%form_label{desc}%%** %%form_raw{desc}%%
**%%form_label{date}%%** %%form_raw{date}%%
**%%form_label{loc}%%** %%form_raw{loc}%%
**%%form_label{sec}%%** %%form_raw{sec}%%
[[#if %%form_raw{note}%% | **%%form_label{note}%%** %%form_raw{note}%%]]

これらの部分はフォームで設定したページの各コンテンツを表示するためのものであり、form_labelでそのコンテンツのラベル、form_rawで執筆者がが編集したコンテンツを表示します。最後の数式構文では、noteコンテンツに何かしらの文字が書き込まれた場合のみ表示されるようになっています。

特に明記しない限り、このページのコンテンツは次のライセンスの下にあります: Creative Commons Attribution-ShareAlike 3.0 License