「動画ページ作成/修正ツール」の編集履歴(バックアップ)一覧はこちら
「動画ページ作成/修正ツール」(2010/11/25 (木) 20:58:22) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#javascript(){{
<script language="JavaScript"><!--
str_version = "TDMGenerator ver1.13";
document.write(str_version);
function Generate()
{
FixTitle();
FixSource();
FixTag();
}
function Clear()
{
document.formTDMGenerator.MovTitle.value = "";
document.formTDMGenerator.URL.value = "";
document.formTDMGenerator.GameTitle.value = "";
document.formTDMGenerator.Record.value = "";
document.formTDMGenerator.Count.value = "";
document.formTDMGenerator.Player.value = "";
document.formTDMGenerator.TASVideosURL.value = "";
document.formTDMGenerator.CopyURL.value = "";
document.formTDMGenerator.PartLinkURL.value = "";
document.formTDMGenerator.MylistURL.value = "";
document.formTDMGenerator.MovieURL.value = "";
document.formTDMGenerator.ExplanationURL.value = "";
document.formTDMGenerator.Remarks.value = "";
document.formTDMGenerator.bSource.value = "";
document.formTDMGenerator.LSStatus.value = "";
}
function FixTitle()
{
document.formTDMGenerator.FixTitle.value = document.formTDMGenerator.MovTitle.value.replace(/\)/g, ")");
}
function FixSource()
{
var str_a = "|CENTER:BGCOLOR(lightblue):&sizex(6){" + GetRBValue(document.formTDMGenerator.Region) + "}|>|CENTER:BGCOLOR(#F0F8FF):&bold(){&link_edit(page=" + document.formTDMGenerator.FixTitle.value + ",text=ここを編集)}|";
var str_b = FixMovFMT() + document.formTDMGenerator.Record.value + "}|";
var str_c = "|~|CENTER:BGCOLOR(#F0F8FF):追記回数|CENTER:&bold(){" + document.formTDMGenerator.Count.value + "}|";
var str_d = "|~|CENTER:BGCOLOR(#F0F8FF):Player|CENTER:&bold(){" + document.formTDMGenerator.Player.value + "}|";
var str_e = "|~|CENTER:BGCOLOR(#F0F8FF):TASVideosページ|CENTER:" + FixURL(document.formTDMGenerator.TASVideosURL.value) + "|";
var str_f = "|~|CENTER:BGCOLOR(#F0F8FF):TASVideosStatus|CENTER:&bold(){" + GetRBValue(document.formTDMGenerator.TASVideosStatus, "") + "}|";
var str_g = "|~|CENTER:BGCOLOR(#F0F8FF):転載元|CENTER:" + FixCopyURL(document.formTDMGenerator.CopyURL.value) + "|";
var str_h = "|~|CENTER:BGCOLOR(#F0F8FF):分割リンク|CENTER:" + FixPartLink() + "|";
var str_i = "|~|CENTER:BGCOLOR(#F0F8FF):マイリスト|CENTER:" + FixMylist() + "|";
var str_j = "|CENTER:BGCOLOR(#F0F8FF):備考|CENTER:BGCOLOR(#F0F8FF):Movieファイル|CENTER:" + FixURL(document.formTDMGenerator.MovieURL.value, "リンク") + "|";
var str_k = "|" + document.formTDMGenerator.Remarks.value + "|CENTER:BGCOLOR(#F0F8FF):解説|CENTER:" + FixURL(document.formTDMGenerator.ExplanationURL.value, "リンク" ) + "|";
document.formTDMGenerator.aSource.value = str_a + "\n" + str_b + "\n" + str_c + "\n" + str_d + "\n" + str_e + "\n" + str_f + "\n" + str_g + "\n" + str_h + "\n" + str_i + "\n" + str_j + "\n" + str_k + "\n" + "// " + str_version;
}
function FixTag()
{
document.formTDMGenerator.FixTag.value = GetRBValue(document.formTDMGenerator.Hard, document.formTDMGenerator.Hard2.value) + "," + document.formTDMGenerator.GameTitle.value + "," + GetRBValue(document.formTDMGenerator.Play);
if(GetRBValue(document.formTDMGenerator.TASVideosStatus, ""))
document.formTDMGenerator.FixTag.value += "," + GetRBValue(document.formTDMGenerator.TASVideosStatus, "");
if(FixURL(document.formTDMGenerator.MovieURL.value))
document.formTDMGenerator.FixTag.value += ",ムービー";
if(document.formTDMGenerator.Player.value.length)
document.formTDMGenerator.FixTag.value += ",製作" + document.formTDMGenerator.Player.value;
document.formTDMGenerator.aSource.value += "\n// タグコピペ用:" + document.formTDMGenerator.FixTag.value;
}
function FixCopyURL(str)
{
if(!str.length)
return "&tt(){&space(35)}";
if(str.indexOf("http") == -1)
return "&tt(){&space(35)}";
if(str.indexOf("youtube") >= 0)
return "[[YouTube>" + str + "]]";
return FixURL(str, "リンク");
}
function GetRBValue(radio, str)
{
var i;
for(i=0; i < radio.length; i++)
if(radio[i].checked)
{
if(!radio[i].value)
return str;
return radio[i].value;
}
}
function FixMovFMT()
{
if(document.formTDMGenerator.URL.value.indexOf("http") == -1)
return "||CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
if(document.formTDMGenerator.URL.value.indexOf("nicovideo") > 0)
return "|&nicovideo(" + document.formTDMGenerator.URL.value.substring(document.formTDMGenerator.URL.value.indexOf("sm")) + ")|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
if(document.formTDMGenerator.URL.value.indexOf("youtube") > 0)
return "|&youtube(" + document.formTDMGenerator.URL.value + "){342,230}|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
if(document.formTDMGenerator.URL.value.indexOf("google") > 0)
return "|&googlevideo(" + document.formTDMGenerator.URL.value + "){342,230}|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
return "|" + FixURL(document.formTDMGenerator.URL.value) + "|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
}
function FixPartLink()
{
var str = "";
if(document.formTDMGenerator.PartLinkURL.value.length)
{
var str_part = document.formTDMGenerator.PartLinkURL.value.split("\n");
var i, j=0;
for(i=0; i < str_part.length; i++)
{
if(str_part[i].indexOf("http") == -1)
continue;
if(j > 0)
str += ",";
str += "[[part" + (j+2) + ">" + DeleteLineFeed(str_part[i]) + "]]";
j++;
}
}
return str;
}
function FixMylist()
{
if(document.formTDMGenerator.MylistURL.value.indexOf("mylist") == -1)
return "";
var str = document.formTDMGenerator.MylistURL.value.substring(document.formTDMGenerator.MylistURL.value.indexOf("mylist"));
return "[[" + str + ">" + document.formTDMGenerator.MylistURL.value + "]]";
}
function FixURL(x, str)
{
if(!x.length)
return "";
if(x.indexOf("http") == -1)
return "";
if(str)
return "[[" + str + ">" + x + "]]";
return x;
}
function LoadSource()
{
document.formTDMGenerator.LSStatus.value = "";
error = 0;
SourceSplit();
if(error)
return false;
var i = DustIgnore();
LoadTitle(str_part[i]);
LoadRegion(str_part[i]);
i++;
LoadMovURL(str_part[i]);
LoadInfo(str_part[i], document.formTDMGenerator.Record, "記録|CENTER:&bold(){", "}", 18);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.Count, "追記回数|CENTER:&bold(){", "}", 20);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.Player, "Player|CENTER:&bold(){", "}", 22);
i++;
LoadTASVideosURL(str_part[i]);
i++;
LoadTASVideosStatus(str_part[i]);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.CopyURL, "転載元|CENTER:", "|", 11);
i++;
LoadPartLink(str_part[i]);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.MylistURL, "マイリスト|CENTER:", "|", 13);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.MovieURL, "Movieファイル|CENTER:", "|", 17);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.ExplanationURL, "解説|CENTER:", "|", 10);
LoadInfo(str_part[i], document.formTDMGenerator.Remarks, "|", "|", 1);
LoadTag(str_part);
document.formTDMGenerator.LSStatus.value = "読み込み完了";
}
function LoadTASVideosURL(str)
{
if(document.formTDMGenerator.TASVideosURL.value.length)
return false;
var stpn, stpne, str_b;
if(str.indexOf("TAS本家") >= 0)
stpn = str.indexOf("TAS本家") + 16;
if(str.indexOf("TASVideos") >= 0)
stpn = str.indexOf("TASVideos") + 20;
stpne = str.indexOf("|", stpn);
str_b = Duster(str.substring(stpn, stpne));
if(str_b.indexOf("&space") >= 0)
{
form.value = "";
return false;
}
if(str_b.indexOf("http") > 0)
{
stpn = str_b.indexOf("http");
stpne = str_b.indexOf("]", stpn);
str = str_b;
}
document.formTDMGenerator.TASVideosURL.value = Duster(str.substring(stpn, stpne));
}
function LoadTag(str)
{
var str_spl;
var stpn, stpne;
for(var i=0; i < str.length; i++)
{
str_spl = str[i].split(",");
if(str_spl.length > 3)
if(str_spl[0].length < 5 || str_spl[0].indexOf("タグコピペ用") > 0)
{
stpn = str_spl[0].indexOf("タグコピペ用");
if(stpn > 0)
str_spl[0] = str_spl[0].substring(stpn + 7);
SetRB(document.formTDMGenerator.Hard, str_spl[0], document.formTDMGenerator.Hard2);
document.formTDMGenerator.GameTitle.value = str_spl[1];
SetRB(document.formTDMGenerator.Play, str_spl[2]);
for(var j=3; j < str_spl.length; j++)
if(str_spl[j] == "published" || str_spl[j] == "rejected" || str_spl[j] == "cancelled" || str_spl[j] == "obsoleted")
{
SetRB(document.formTDMGenerator.TASVideosStatus, str_spl[j]);
return;
}
document.formTDMGenerator.TASVideosStatus[0].checked = true;
return;
}
}
}
function SetRB(rb, str, rb2)
{
if(!str)
return;
var i;
for(i=0; i < rb.length; i++)
if(rb[i].value == str)
{
rb[i].checked = true;
return;
}
rb[i-1].checked = true;
rb2.value = str;
}
function SourceSplit()
{
if(!document.formTDMGenerator.bSource.value.length)
return Error("ソースエラー");
str_part = document.formTDMGenerator.bSource.value.split("\n");
}
function DustIgnore()
{
var i;
for(i=0; i < str_part.length; i++)
{
if(str_part[i].length > 20)
break;
}
if(i >= str_part.length)
return Error("ソースエラー");
return i;
}
function LoadTitle(str)
{
if(document.formTDMGenerator.MovTitle.value.length)
return false;
var stpn, stpne;
stpn = str.indexOf("page=");
stpne = str.indexOf(",", stpn);
document.formTDMGenerator.MovTitle.value = str.substring(stpn + 5, stpne);
}
function LoadMovURL(str)
{
if(document.formTDMGenerator.URL.value.length)
return false;
if(str.indexOf("http") == -1)
if(str.indexOf("&nicovideo(sm") == -1)
return "";
var stpn, stpne, stpnex;
if(str.indexOf("&nicovideo") >= 0)
{
stpn = str.indexOf("&nicovideo");
stpnex = str.indexOf("sm", stpn);
stpne = str.indexOf(")", stpnex);
document.formTDMGenerator.URL.value = "http://www.nicovideo.jp/watch/" + str.substring(stpnex, stpne);
}
else if(str.indexOf("&youtube") >= 0)
{
stpn = str.indexOf("&youtube");
stpne = str.indexOf(")", stpn);
document.formTDMGenerator.URL.value = str.substring(stpn + 9, stpne);
}
else if(str.indexOf("&googlevideo") >=0)
{
stpn = str.indexOf("&googlevideo");
stpne = str.indexOf(")", stpn);
document.formTDMGenerator.URL.value = str.substring(stpn + 13, stpne);
}
else
return str;
}
function LoadRegion(str)
{
if(str.indexOf("{海外版}") > 0)
document.formTDMGenerator.Region[1].checked = true;
else if(str.indexOf("{国内版}") > 0)
document.formTDMGenerator.Region[0].checked = true;
else
document.formTDMGenerator.Region[2].checked = true;
}
function LoadTASVideosStatus(str)
{
if(str.indexOf("published") > 0)
document.formTDMGenerator.TASVideosStatus[1].checked = true;
else if(str.indexOf("rejected") > 0)
document.formTDMGenerator.TASVideosStatus[2].checked = true;
else if(str.indexOf("cancelled") > 0)
document.formTDMGenerator.TASVideosStatus[3].checked = true;
else if(str.indexOf("obsoleted") > 0)
document.formTDMGenerator.TASVideosStatus[4].checked = true;
else
document.formTDMGenerator.TASVideosStatus[0].checked = true;
}
function LoadPartLink(str)
{
if(document.formTDMGenerator.PartLinkURL.value.length)
return false;
var stpn, stpne = 0;
var str_pl = "";
while(str.indexOf("http", stpne) > 0)
{
stpn = str.indexOf("http", stpne);
stpne = str.indexOf("]", stpn);
str_pl += str.substring(stpn, stpne) + "\n";
}
document.formTDMGenerator.PartLinkURL.value = str_pl;
}
function LoadInfo(str, form, str_stpn, str_stpne, stpn_plus)
{
if(form.value.length)
return false;
var stpn, stpne, str_b;
stpn = str.indexOf(str_stpn) + stpn_plus;
stpne = str.indexOf(str_stpne, stpn);
str_b = Duster(str.substring(stpn, stpne));
if(str_b.indexOf("&space") >= 0)
{
form.value = "";
return false;
}
if(str_b.indexOf("http") > 0)
{
stpn = str_b.indexOf("http");
stpne = str_b.indexOf("]", stpn);
str = str_b;
}
form.value = Duster(str.substring(stpn, stpne));
}
function Duster(str)
{
if(str == "-")
return "";
return str;
}
function Error(msg)
{
document.formTDMGenerator.LSStatus.value = msg;
error = 1;
}
function DeleteLineFeed(myLen)
{
var newLen = '';
for(var i=0; i<myLen.length; i++)
{
text = escape(myLen.substring(i, i+1));
if(text != "%0D" && text != "%0A")
newLen += myLen.substring(i, i+1);
}
return(newLen);
}
function CopyToClipboard(clip)
{
var str_ua = navigator.userAgent.toLowerCase();
if(str_ua.indexOf("msie") >= 0)
window.clipboardData.setData("text" ,clip);
}
function MakeNewpage()
{
CopyToClipboard(document.formTDMGenerator.aSource.value);
if(!document.formTDMGenerator.FixTitle.value.length)
return false;
var utf_8_pagename = encodeURIComponent(document.formTDMGenerator.FixTitle.value);
var url_newpage = "http://www33.atwiki.jp/tasdouga/?page=" + utf_8_pagename + "&submit=%E6%96%B0%E8%A6%8F%E4%BD%9C%E6%88%90&cmd=edit";
window.open(url_newpage);
}
// --></script>
<form name="formTDMGenerator"><table>
<tr><td style="background:#FFCCCC">動画タイトル ※必須</td>
<td colspan="5"><input type="text" size="70" name="MovTitle"></td></tr>
<tr><td style="background:#FFCCCC">動画URL ※必須</td>
<td colspan="5"><input type="text" size="70" name="URL"></td></tr>
<tr><td style="background:#FFCCCC">ゲームタイトル ※必須</td>
<td colspan="5"><input type="text" size="70" name="GameTitle"></td></tr>
<tr><td style="background:#F0F8FF">リージョン</td>
<td colspan="5"><input type="radio" name="Region" value="国内版" checked>国内版
<input type="radio" name="Region" value="海外版">海外版
<input type="radio" name="Region" value="">不明</td></tr>
<tr><td style="background:#FFCCCC">機種 ※必須</td>
<td colspan="5"><input type="radio" name="Hard" value="FC" checked>FC
<input type="radio" name="Hard" value="FDS">FDS
<input type="radio" name="Hard" value="SFC">SFC
<input type="radio" name="Hard" value="N64">N64
<input type="radio" name="Hard" value="GB">GB
<input type="radio" name="Hard" value="GBA">GBA
<input type="radio" name="Hard" value="NDS">NDS<br>
<input type="radio" name="Hard" value="PS">PS
<input type="radio" name="Hard" value="MD">MD
<input type="radio" name="Hard" value="PCE">PCE
<input type="radio" name="Hard" value="">その他
<input type="text" name="Hard2" size="14"></td></tr>
<tr><td style="background:#FFCCCC">動画内容 ※必須</td>
<td colspan="5"><input type="radio" name="Play" value="最速" checked>最速
<input type="radio" name="Play" value="過去">過去最速
<input type="radio" name="Play" value="その他">その他</td></tr>
<tr><td style="background:#F0F8FF">記録</td>
<td><input type="text" size="14" name="Record"></td>
<td style="background:#F0F8FF">追記回数</td>
<td><input type="text" size="14" name="Count"></td>
<td style="background:#F0F8FF">Player</td>
<td><input type="text" size="14" name="Player"></td></tr>
<tr><td style="background:#F0F8FF">TASVideosページURL</td>
<td colspan="5"><input type="text" size="70" name="TASVideosURL"></td></tr>
<tr><td style="background:#F0F8FF">TASVideosStatus</td>
<td colspan="5">
<input type="radio" name="TASVideosStatus" value="" checked>なし
<input type="radio" name="TASVideosStatus" value="published">published
<input type="radio" name="TASVideosStatus" value="rejected">rejected
<input type="radio" name="TASVideosStatus" value="cancelled">cancelled
<input type="radio" name="TASVideosStatus" value="obsoleted">obsoleted</td></tr>
<tr><td style="background:#F0F8FF">転載元URL</td>
<td colspan="5"><input type="text" size="70" name="CopyURL"></td></tr>
<tr><td style="background:#F0F8FF">分割リンクURL</td>
<td colspan="5"><textarea name="PartLinkURL" cols="70" rows="3"></textarea></td></tr>
<tr><td style="background:#F0F8FF">マイリストURL</td>
<td colspan="5"><input type="text" size="70" name="MylistURL"></td></tr>
<tr><td style="background:#F0F8FF">MovieファイルURL</td>
<td colspan="5"><input type="text" size="70" name="MovieURL"></td></tr>
<tr><td style="background:#F0F8FF">解説URL</td>
<td colspan="5"><input type="text" size="70" name="ExplanationURL"></td></tr>
<tr><td style="background:#F0F8FF">備考</td>
<td colspan="5"><input type="text" size="70" name="Remarks"></td></tr>
</table>
<p>読み込み用ソース <input type="button" value="ソース読込" onclick="LoadSource()"> <input type="text" size="20" name="LSStatus" readonly><br>
<textarea name="bSource" cols="80" rows="3"></textarea></p>
<input type="button" value="ソース作成" onclick="Generate()">
<input type="button" value="クリア" onclick="Clear()"><br>
<input type="button" value="新規ページ作成 / 編集ページへ" onclick="MakeNewpage()">
<p>ページタイトル <input type="button" value="コピー(IE用)" onclick="CopyToClipboard(FixTitle.value)"><br>
<input type="text" size="80" name="FixTitle"></p>
<p>ソース <input type="button" value="コピー(IE用)" onclick="CopyToClipboard(aSource.value)"><br>
<textarea name="aSource" cols="80" rows="20"></textarea></p>
<p>タグ <input type="button" value="コピー(IE用)" onclick="CopyToClipboard(FixTag.value)"><br>
<input type="text" size="80" name="FixTag"></p>
</form>
}}
----
**使い方
[[ニコニコ動画の動画ページの作り方]]を参考に入力してください
分割リンクは1リンクごとに改行して入力してください
動画タイトルの半角「)」は全角「)」に変換されます
各URLは@wikiの文法にせず、そのまま入力してください
読み込み用ソースに既存ページのソースをコピペして「ソース読込」を押すと
有効な情報は自動的に入力されます
すでに入力している欄は無視されます(ラジオボタン除く)
古いページのソースからはゲームタイトル、機種、動画内容は入力されませんので手動で入力してください
尚、これらはタグの作成に使用されますが、ソース作成とは関係ない為、無入力でもソースは問題なく出力されます
「ソース作成」を押すと作成されたページ名、ソース、タグが出力されます
「新規ページ作成 / 編集ページへ」を押すと出力されたページタイトル入力済の新規ページ作成が開きます
既にページが存在している場合は編集ページとなります(IEのみソースが自動的にクリップボードにコピーされます)
ソースとタグをコピペすれば完成です
***タグ編集について注意
タグを編集して保存せずにプレビューすると編集分は適用されず、編集前の状態に戻るようです
とりあえず保存してしまうか、プレビュー後にタグ編集するようにしてください
タグにスペースを付けると別のタグ扱いです
例:「FC」と「FC 」は別のタグ
最後の「,」を付けないタグでご注意ください
***TASVideosに提出された物とムービファイルがある物はページ名の付け方が異なります
手動で「ゲームタイトル in 記録 by プレイヤー」と変更してください
よくわからない場合は弄らずにそのままで作成してください
#javascript(){{
<script language="JavaScript"><!--
str_version = "TDMGenerator ver1.13";
document.write(str_version);
function Generate()
{
FixTitle();
FixSource();
FixTag();
}
function Clear()
{
document.formTDMGenerator.MovTitle.value = "";
document.formTDMGenerator.URL.value = "";
document.formTDMGenerator.GameTitle.value = "";
document.formTDMGenerator.Record.value = "";
document.formTDMGenerator.Count.value = "";
document.formTDMGenerator.Player.value = "";
document.formTDMGenerator.TASVideosURL.value = "";
document.formTDMGenerator.CopyURL.value = "";
document.formTDMGenerator.PartLinkURL.value = "";
document.formTDMGenerator.MylistURL.value = "";
document.formTDMGenerator.MovieURL.value = "";
document.formTDMGenerator.ExplanationURL.value = "";
document.formTDMGenerator.Remarks.value = "";
document.formTDMGenerator.bSource.value = "";
document.formTDMGenerator.LSStatus.value = "";
}
function FixTitle()
{
document.formTDMGenerator.FixTitle.value = document.formTDMGenerator.MovTitle.value.replace(/\)/g, ")");
}
function FixSource()
{
var str_a = "|CENTER:BGCOLOR(lightblue):&sizex(6){" + GetRBValue(document.formTDMGenerator.Region) + "}|>|CENTER:BGCOLOR(#F0F8FF):&bold(){&link_edit(page=" + document.formTDMGenerator.FixTitle.value + ",text=ここを編集)}|";
var str_b = FixMovFMT() + document.formTDMGenerator.Record.value + "}|";
var str_c = "|~|CENTER:BGCOLOR(#F0F8FF):追記回数|CENTER:&bold(){" + document.formTDMGenerator.Count.value + "}|";
var str_d = "|~|CENTER:BGCOLOR(#F0F8FF):Player|CENTER:&bold(){" + document.formTDMGenerator.Player.value + "}|";
var str_e = "|~|CENTER:BGCOLOR(#F0F8FF):TASVideosページ|CENTER:" + FixURL(document.formTDMGenerator.TASVideosURL.value) + "|";
var str_f = "|~|CENTER:BGCOLOR(#F0F8FF):TASVideosStatus|CENTER:&bold(){" + GetRBValue(document.formTDMGenerator.TASVideosStatus, "") + "}|";
var str_g = "|~|CENTER:BGCOLOR(#F0F8FF):転載元|CENTER:" + FixCopyURL(document.formTDMGenerator.CopyURL.value) + "|";
var str_h = "|~|CENTER:BGCOLOR(#F0F8FF):分割リンク|CENTER:" + FixPartLink() + "|";
var str_i = "|~|CENTER:BGCOLOR(#F0F8FF):マイリスト|CENTER:" + FixMylist() + "|";
var str_j = "|CENTER:BGCOLOR(#F0F8FF):備考|CENTER:BGCOLOR(#F0F8FF):Movieファイル|CENTER:" + FixURL(document.formTDMGenerator.MovieURL.value, "リンク") + "|";
var str_k = "|" + document.formTDMGenerator.Remarks.value + "|CENTER:BGCOLOR(#F0F8FF):解説|CENTER:" + FixURL(document.formTDMGenerator.ExplanationURL.value, "リンク" ) + "|";
document.formTDMGenerator.aSource.value = str_a + "\n" + str_b + "\n" + str_c + "\n" + str_d + "\n" + str_e + "\n" + str_f + "\n" + str_g + "\n" + str_h + "\n" + str_i + "\n" + str_j + "\n" + str_k + "\n" + "// " + str_version;
}
function FixTag()
{
document.formTDMGenerator.FixTag.value = GetRBValue(document.formTDMGenerator.Hard, document.formTDMGenerator.Hard2.value) + "," + document.formTDMGenerator.GameTitle.value + "," + GetRBValue(document.formTDMGenerator.Play);
if(GetRBValue(document.formTDMGenerator.TASVideosStatus, ""))
document.formTDMGenerator.FixTag.value += "," + GetRBValue(document.formTDMGenerator.TASVideosStatus, "");
if(FixURL(document.formTDMGenerator.MovieURL.value))
document.formTDMGenerator.FixTag.value += ",ムービー";
if(document.formTDMGenerator.Player.value.length)
document.formTDMGenerator.FixTag.value += ",製作" + document.formTDMGenerator.Player.value;
document.formTDMGenerator.aSource.value += "\n// タグコピペ用:" + document.formTDMGenerator.FixTag.value;
}
function FixCopyURL(str)
{
if(!str.length)
return "&tt(){&space(35)}";
if(str.indexOf("http") == -1)
return "&tt(){&space(35)}";
if(str.indexOf("youtube") >= 0)
return "[[YouTube>" + str + "]]";
return FixURL(str, "リンク");
}
function GetRBValue(radio, str)
{
var i;
for(i=0; i < radio.length; i++)
if(radio[i].checked)
{
if(!radio[i].value)
return str;
return radio[i].value;
}
}
function FixMovFMT()
{
if(document.formTDMGenerator.URL.value.indexOf("http") == -1)
return "||CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
if(document.formTDMGenerator.URL.value.indexOf("nicovideo") > 0)
return "|&nicovideo(" + document.formTDMGenerator.URL.value.substring(document.formTDMGenerator.URL.value.indexOf("sm")) + ")|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
if(document.formTDMGenerator.URL.value.indexOf("youtube") > 0)
return "|&youtube(" + document.formTDMGenerator.URL.value + "){342,230}|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
if(document.formTDMGenerator.URL.value.indexOf("google") > 0)
return "|&googlevideo(" + document.formTDMGenerator.URL.value + "){342,230}|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
return "|" + FixURL(document.formTDMGenerator.URL.value) + "|CENTER:BGCOLOR(#F0F8FF):記録|CENTER:&bold(){";
}
function FixPartLink()
{
var str = "";
if(document.formTDMGenerator.PartLinkURL.value.length)
{
var str_part = document.formTDMGenerator.PartLinkURL.value.split("\n");
var i, j=0;
for(i=0; i < str_part.length; i++)
{
if(str_part[i].indexOf("http") == -1)
continue;
if(j > 0)
str += ",";
str += "[[part" + (j+2) + ">" + DeleteLineFeed(str_part[i]) + "]]";
j++;
}
}
return str;
}
function FixMylist()
{
if(document.formTDMGenerator.MylistURL.value.indexOf("mylist") == -1)
return "";
var str = document.formTDMGenerator.MylistURL.value.substring(document.formTDMGenerator.MylistURL.value.indexOf("mylist"));
return "[[" + str + ">" + document.formTDMGenerator.MylistURL.value + "]]";
}
function FixURL(x, str)
{
if(!x.length)
return "";
if(x.indexOf("http") == -1)
return "";
if(str)
return "[[" + str + ">" + x + "]]";
return x;
}
function LoadSource()
{
document.formTDMGenerator.LSStatus.value = "";
error = 0;
SourceSplit();
if(error)
return false;
var i = DustIgnore();
LoadTitle(str_part[i]);
LoadRegion(str_part[i]);
i++;
LoadMovURL(str_part[i]);
LoadInfo(str_part[i], document.formTDMGenerator.Record, "記録|CENTER:&bold(){", "}", 18);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.Count, "追記回数|CENTER:&bold(){", "}", 20);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.Player, "Player|CENTER:&bold(){", "}", 22);
i++;
LoadTASVideosURL(str_part[i]);
i++;
LoadTASVideosStatus(str_part[i]);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.CopyURL, "転載元|CENTER:", "|", 11);
i++;
LoadPartLink(str_part[i]);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.MylistURL, "マイリスト|CENTER:", "|", 13);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.MovieURL, "Movieファイル|CENTER:", "|", 17);
i++;
LoadInfo(str_part[i], document.formTDMGenerator.ExplanationURL, "解説|CENTER:", "|", 10);
LoadInfo(str_part[i], document.formTDMGenerator.Remarks, "|", "|", 1);
LoadTag(str_part);
document.formTDMGenerator.LSStatus.value = "読み込み完了";
}
function LoadTASVideosURL(str)
{
if(document.formTDMGenerator.TASVideosURL.value.length)
return false;
var stpn, stpne, str_b;
if(str.indexOf("TAS本家") >= 0)
stpn = str.indexOf("TAS本家") + 16;
if(str.indexOf("TASVideos") >= 0)
stpn = str.indexOf("TASVideos") + 20;
stpne = str.indexOf("|", stpn);
str_b = Duster(str.substring(stpn, stpne));
if(str_b.indexOf("&space") >= 0)
{
form.value = "";
return false;
}
if(str_b.indexOf("http") > 0)
{
stpn = str_b.indexOf("http");
stpne = str_b.indexOf("]", stpn);
str = str_b;
}
document.formTDMGenerator.TASVideosURL.value = Duster(str.substring(stpn, stpne));
}
function LoadTag(str)
{
var str_spl;
var stpn, stpne;
for(var i=0; i < str.length; i++)
{
str_spl = str[i].split(",");
if(str_spl.length > 3)
if(str_spl[0].length < 5 || str_spl[0].indexOf("タグコピペ用") > 0)
{
stpn = str_spl[0].indexOf("タグコピペ用");
if(stpn > 0)
str_spl[0] = str_spl[0].substring(stpn + 7);
SetRB(document.formTDMGenerator.Hard, str_spl[0], document.formTDMGenerator.Hard2);
document.formTDMGenerator.GameTitle.value = str_spl[1];
SetRB(document.formTDMGenerator.Play, str_spl[2]);
for(var j=3; j < str_spl.length; j++)
if(str_spl[j] == "published" || str_spl[j] == "rejected" || str_spl[j] == "cancelled" || str_spl[j] == "obsoleted")
{
SetRB(document.formTDMGenerator.TASVideosStatus, str_spl[j]);
return;
}
document.formTDMGenerator.TASVideosStatus[0].checked = true;
return;
}
}
}
function SetRB(rb, str, rb2)
{
if(!str)
return;
var i;
for(i=0; i < rb.length; i++)
if(rb[i].value == str)
{
rb[i].checked = true;
return;
}
rb[i-1].checked = true;
rb2.value = str;
}
function SourceSplit()
{
if(!document.formTDMGenerator.bSource.value.length)
return Error("ソースエラー");
str_part = document.formTDMGenerator.bSource.value.split("\n");
}
function DustIgnore()
{
var i;
for(i=0; i < str_part.length; i++)
{
if(str_part[i].length > 20)
break;
}
if(i >= str_part.length)
return Error("ソースエラー");
return i;
}
function LoadTitle(str)
{
if(document.formTDMGenerator.MovTitle.value.length)
return false;
var stpn, stpne;
stpn = str.indexOf("page=");
stpne = str.indexOf(",", stpn);
document.formTDMGenerator.MovTitle.value = str.substring(stpn + 5, stpne);
}
function LoadMovURL(str)
{
if(document.formTDMGenerator.URL.value.length)
return false;
if(str.indexOf("http") == -1)
if(str.indexOf("&nicovideo(sm") == -1)
return "";
var stpn, stpne, stpnex;
if(str.indexOf("&nicovideo") >= 0)
{
stpn = str.indexOf("&nicovideo");
stpnex = str.indexOf("sm", stpn);
stpne = str.indexOf(")", stpnex);
document.formTDMGenerator.URL.value = "http://www.nicovideo.jp/watch/" + str.substring(stpnex, stpne);
}
else if(str.indexOf("&youtube") >= 0)
{
stpn = str.indexOf("&youtube");
stpne = str.indexOf(")", stpn);
document.formTDMGenerator.URL.value = str.substring(stpn + 9, stpne);
}
else if(str.indexOf("&googlevideo") >=0)
{
stpn = str.indexOf("&googlevideo");
stpne = str.indexOf(")", stpn);
document.formTDMGenerator.URL.value = str.substring(stpn + 13, stpne);
}
else
return str;
}
function LoadRegion(str)
{
if(str.indexOf("{海外版}") > 0)
document.formTDMGenerator.Region[1].checked = true;
else if(str.indexOf("{国内版}") > 0)
document.formTDMGenerator.Region[0].checked = true;
else
document.formTDMGenerator.Region[2].checked = true;
}
function LoadTASVideosStatus(str)
{
if(str.indexOf("published") > 0)
document.formTDMGenerator.TASVideosStatus[1].checked = true;
else if(str.indexOf("rejected") > 0)
document.formTDMGenerator.TASVideosStatus[2].checked = true;
else if(str.indexOf("cancelled") > 0)
document.formTDMGenerator.TASVideosStatus[3].checked = true;
else if(str.indexOf("obsoleted") > 0)
document.formTDMGenerator.TASVideosStatus[4].checked = true;
else
document.formTDMGenerator.TASVideosStatus[0].checked = true;
}
function LoadPartLink(str)
{
if(document.formTDMGenerator.PartLinkURL.value.length)
return false;
var stpn, stpne = 0;
var str_pl = "";
while(str.indexOf("http", stpne) > 0)
{
stpn = str.indexOf("http", stpne);
stpne = str.indexOf("]", stpn);
str_pl += str.substring(stpn, stpne) + "\n";
}
document.formTDMGenerator.PartLinkURL.value = str_pl;
}
function LoadInfo(str, form, str_stpn, str_stpne, stpn_plus)
{
if(form.value.length)
return false;
var stpn, stpne, str_b;
stpn = str.indexOf(str_stpn) + stpn_plus;
stpne = str.indexOf(str_stpne, stpn);
str_b = Duster(str.substring(stpn, stpne));
if(str_b.indexOf("&space") >= 0)
{
form.value = "";
return false;
}
if(str_b.indexOf("http") > 0)
{
stpn = str_b.indexOf("http");
stpne = str_b.indexOf("]", stpn);
str = str_b;
}
form.value = Duster(str.substring(stpn, stpne));
}
function Duster(str)
{
if(str == "-")
return "";
return str;
}
function Error(msg)
{
document.formTDMGenerator.LSStatus.value = msg;
error = 1;
}
function DeleteLineFeed(myLen)
{
var newLen = '';
for(var i=0; i<myLen.length; i++)
{
text = escape(myLen.substring(i, i+1));
if(text != "%0D" && text != "%0A")
newLen += myLen.substring(i, i+1);
}
return(newLen);
}
function CopyToClipboard(clip)
{
var str_ua = navigator.userAgent.toLowerCase();
if(str_ua.indexOf("msie") >= 0)
window.clipboardData.setData("text" ,clip);
}
function MakeNewpage()
{
CopyToClipboard(document.formTDMGenerator.aSource.value);
if(!document.formTDMGenerator.FixTitle.value.length)
return false;
var utf_8_pagename = encodeURIComponent(document.formTDMGenerator.FixTitle.value);
var url_newpage = "http://www33.atwiki.jp/tasdouga/?page=" + utf_8_pagename + "&submit=%E6%96%B0%E8%A6%8F%E4%BD%9C%E6%88%90&cmd=edit";
window.open(url_newpage);
}
// --></script>
<form name="formTDMGenerator"><table>
<tr><td style="background:#FFCCCC">動画タイトル ※必須</td>
<td colspan="5"><input type="text" size="70" name="MovTitle"></td></tr>
<tr><td style="background:#FFCCCC">動画URL ※必須</td>
<td colspan="5"><input type="text" size="70" name="URL"></td></tr>
<tr><td style="background:#FFCCCC">ゲームタイトル ※必須</td>
<td colspan="5"><input type="text" size="70" name="GameTitle"></td></tr>
<tr><td style="background:#F0F8FF">リージョン</td>
<td colspan="5"><input type="radio" name="Region" value="国内版" checked>国内版
<input type="radio" name="Region" value="海外版">海外版
<input type="radio" name="Region" value="不明">不明</td></tr>
<tr><td style="background:#FFCCCC">機種 ※必須</td>
<td colspan="5"><input type="radio" name="Hard" value="FC" checked>FC
<input type="radio" name="Hard" value="FDS">FDS
<input type="radio" name="Hard" value="SFC">SFC
<input type="radio" name="Hard" value="N64">N64
<input type="radio" name="Hard" value="GB">GB
<input type="radio" name="Hard" value="GBA">GBA
<input type="radio" name="Hard" value="NDS">NDS<br>
<input type="radio" name="Hard" value="PS">PS
<input type="radio" name="Hard" value="MD">MD
<input type="radio" name="Hard" value="PCE">PCE
<input type="radio" name="Hard" value="">その他
<input type="text" name="Hard2" size="14"></td></tr>
<tr><td style="background:#FFCCCC">動画内容 ※必須</td>
<td colspan="5"><input type="radio" name="Play" value="最速" checked>最速
<input type="radio" name="Play" value="過去">過去最速
<input type="radio" name="Play" value="その他">その他</td></tr>
<tr><td style="background:#F0F8FF">記録</td>
<td><input type="text" size="14" name="Record"></td>
<td style="background:#F0F8FF">追記回数</td>
<td><input type="text" size="14" name="Count"></td>
<td style="background:#F0F8FF">Player</td>
<td><input type="text" size="14" name="Player"></td></tr>
<tr><td style="background:#F0F8FF">TASVideosページURL</td>
<td colspan="5"><input type="text" size="70" name="TASVideosURL"></td></tr>
<tr><td style="background:#F0F8FF">TASVideosStatus</td>
<td colspan="5">
<input type="radio" name="TASVideosStatus" value="" checked>なし
<input type="radio" name="TASVideosStatus" value="published">published
<input type="radio" name="TASVideosStatus" value="rejected">rejected
<input type="radio" name="TASVideosStatus" value="cancelled">cancelled
<input type="radio" name="TASVideosStatus" value="obsoleted">obsoleted</td></tr>
<tr><td style="background:#F0F8FF">転載元URL</td>
<td colspan="5"><input type="text" size="70" name="CopyURL"></td></tr>
<tr><td style="background:#F0F8FF">分割リンクURL</td>
<td colspan="5"><textarea name="PartLinkURL" cols="70" rows="3"></textarea></td></tr>
<tr><td style="background:#F0F8FF">マイリストURL</td>
<td colspan="5"><input type="text" size="70" name="MylistURL"></td></tr>
<tr><td style="background:#F0F8FF">MovieファイルURL</td>
<td colspan="5"><input type="text" size="70" name="MovieURL"></td></tr>
<tr><td style="background:#F0F8FF">解説URL</td>
<td colspan="5"><input type="text" size="70" name="ExplanationURL"></td></tr>
<tr><td style="background:#F0F8FF">備考</td>
<td colspan="5"><input type="text" size="70" name="Remarks"></td></tr>
</table>
<p>読み込み用ソース <input type="button" value="ソース読込" onclick="LoadSource()"> <input type="text" size="20" name="LSStatus" readonly><br>
<textarea name="bSource" cols="80" rows="3"></textarea></p>
<input type="button" value="ソース作成" onclick="Generate()">
<input type="button" value="クリア" onclick="Clear()"><br>
<input type="button" value="新規ページ作成 / 編集ページへ" onclick="MakeNewpage()">
<p>ページタイトル <input type="button" value="コピー(IE用)" onclick="CopyToClipboard(FixTitle.value)"><br>
<input type="text" size="80" name="FixTitle"></p>
<p>ソース <input type="button" value="コピー(IE用)" onclick="CopyToClipboard(aSource.value)"><br>
<textarea name="aSource" cols="80" rows="20"></textarea></p>
<p>タグ <input type="button" value="コピー(IE用)" onclick="CopyToClipboard(FixTag.value)"><br>
<input type="text" size="80" name="FixTag"></p>
</form>
}}
----
**使い方
[[ニコニコ動画の動画ページの作り方]]を参考に入力してください
分割リンクは1リンクごとに改行して入力してください
動画タイトルの半角「)」は全角「)」に変換されます
各URLは@wikiの文法にせず、そのまま入力してください
読み込み用ソースに既存ページのソースをコピペして「ソース読込」を押すと
有効な情報は自動的に入力されます
すでに入力している欄は無視されます(ラジオボタン除く)
古いページのソースからはゲームタイトル、機種、動画内容は入力されませんので手動で入力してください
尚、これらはタグの作成に使用されますが、ソース作成とは関係ない為、無入力でもソースは問題なく出力されます
「ソース作成」を押すと作成されたページ名、ソース、タグが出力されます
「新規ページ作成 / 編集ページへ」を押すと出力されたページタイトル入力済の新規ページ作成が開きます
既にページが存在している場合は編集ページとなります(IEのみソースが自動的にクリップボードにコピーされます)
ソースとタグをコピペすれば完成です
***タグ編集について注意
タグを編集して保存せずにプレビューすると編集分は適用されず、編集前の状態に戻るようです
とりあえず保存してしまうか、プレビュー後にタグ編集するようにしてください
タグにスペースを付けると別のタグ扱いです
例:「FC」と「FC 」は別のタグ
最後の「,」を付けないタグでご注意ください
***TASVideosに提出された物とムービファイルがある物はページ名の付け方が異なります
手動で「ゲームタイトル in 記録 by プレイヤー」と変更してください
よくわからない場合は弄らずにそのままで作成してください
表示オプション
横に並べて表示:
変化行の前後のみ表示: