「タイトルページ作成/修正ツール」の編集履歴(バックアップ)一覧に戻る
タイトルページ作成/修正ツール - (2010/12/07 (火) 22:27:40) のソース
#javascript(){{ <script language="JavaScript"><!-- str_version = "TDMTG ver1.05"; document.write(str_version); function Generate() { var fi = document.fTi; var fo = document.fTo; FixTitle(fi, fo); FixSource(fi, fo); FixTag(fi, fo); } function FixTitle(fi, fo) { fo.FixTitle.value = GetRBValue(fi.Hard, fi.Hard2.value) + " " + fi.GameTitle.value; } function FixSource(fi, fo) { var i=0; var str_fix = ""; var str = new Array(21); var str_a = "#include_by_search(tag=" + GetRBValue(fi.Hard, fi.Hard2.value) + ",tag=" + fi.GameTitle.value; var str_b = "#endregion"; var str_c = "----"; var t0 = "}|CENTER:BGCOLOR(#F0F8FF):"; var t1 = "|CENTER:BGCOLOR(#F0F8FF):"; var t2 = "|CENTER:&bold(){"; str[i] = t1 + "タイトル(コピペ用)" + t2 + fi.GameTitle.value + t0 + "ジャンル" + t2 + GetGenre(fi.Genre) + t0 + "&bold(){&link_edit(page=" + fo.FixTitle.value + ",text=このページを編集)}|"; i++; str[i] = t1 + "海外タイトル" + t2 + fi.fgTitle.value + t0 + "発売日" + t2 + FixHiduke(fi, 1) + "}|CENTER:BGCOLOR(lightblue):&sizex(5){[[動画を追加>動画ページ作成/修正ツール]]}|"; i++; str[i] = t1 + "シリーズ" + t2 + GetRBValue(fi.Series, "&space(20)") + t0 + "TASVideosForum|CENTER:" + fi.TASVideosForum.value + "|~|"; i++; str[i] = "*現行最速"; i++; str[i] = "#region(open,表示)"; i++; str[i] = str_a + ",tag=最速,limit=20)"; i++; str[i] = str_b; i++; str[i] = str_c; i++; str[i] = "*その他"; i++; str[i] = "#region(open,表示)"; i++; str[i] = str_a + ",tag=その他,limit=20)"; i++; str[i] = str_b; i++; str[i] = str_c; i++; str[i] = "*過去最速"; i++; str[i] = "#region(close,表示)"; i++; str[i] = str_a + ",tag=過去,limit=20)"; i++; str[i] = "//#list_by_tagsearch(" + GetRBValue(fi.Hard, fi.Hard2.value) + "," + fi.GameTitle.value + ",過去,100,sort=furigana)"; i++; str[i] = str_b; i++; str[i] = FixHiduke(fi); i++; str[i] = FixFurigana(fi); i++; str[i] = "// " + str_version; i++; for(i=0; i < str.length; i++) str_fix += str[i] + "\n"; fo.aSource.value = str_fix; } function FixTag(fi, fo) { var str_hard = GetRBValue(fi.Hard, fi.Hard2.value); var str_hard2 = str_hard; if(!GetRBValue(fi.Hard)) str_hard2 = "機種その他"; if(GetRBValue(fi.Hard) == "FDS") str_hard2 = "FC"; var str = str_hard + "," + fi.GameTitle.value + "," + str_hard2 + "タイトル" + GetRBValue(fi.Sort) + "," + GetRBValue(fi.Genre); if(GetRBValue(fi.Series)) str += "," + GetRBValue(fi.Series); var year = GetSValue(fi.ReleaseY); var month = GetSValue(fi.ReleaseM); var day = GetSValue(fi.ReleaseD); if(year && month && day) str += "," + year + "/"; fo.FixTag.value = str; fo.aSource.value += "// タグコピペ用:" + str; } function FixFurigana(fi) { var str_a = ""; var str_b = ""; if(!fi.Furigana.value) { str_a = "//"; str_b = "\n//↑有効なふりがなを記入したらコメントアウト「//」を外してください。"; } return str_a + "&furigana(" + fi.Furigana.value + ")" + str_b; } function FixHiduke(fi, type) { var year = GetSValue(fi.ReleaseY); var month = GetSValue(fi.ReleaseM); var day = GetSValue(fi.ReleaseD); var str = ""; var str_b = ""; if(!year || !month || !day) { str = "//"; str_b = "\n//↑有効な発売日を記入したらコメントアウト「//」を外してください。"; } if(eval(year) < 70) year = eval(year) + 2000; else if(year) year = eval(year) + 1900; if(!type) return str + "&hiduke(" + year + "/" + month + "/" + day + ")" + str_b; if(month < 10 && month) month = "0" + month; if(day < 10 && day) day = "0" + day; return year + "/" + month + "/" + day; } function GetGenre(radio) { for(var i=0; i < radio.length; i++) if(radio[i].checked) { if(radio[i].value == "ジャンルその他") return "その他"; return radio[i].value; } } 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 GetSValue(sel) { var i; for(i=0; i < sel.length; i++) if(sel[i].selected) return sel[i].value; } function Clear() { document.fTi.reset(); } function LoadSource() { var fi = document.fTi; var fo = document.fTo; fi.LSStatus.value = ""; error = 0; var str_part = SourceSplit(fi, fo); if(error) return false; LoadHiduke(str_part, fi); LoadFurigana(str_part, fi); LoadFTitle(str_part, fi); LoadInfo(str_part, fi); LoadTag(str_part, fi); LoadTVF(str_part, fi); fi.LSStatus.value = "読み込み完了"; } function LoadFTitle(str, fi) { for(var i=0; i < str.length; i++) if(str[i].indexOf("海外タイトル") >= 0) { var stpn = str[i].indexOf("海外タイトル"); var stpne = str[i].indexOf("}", stpn); fi.fgTitle.value = str[i].substring(stpn + 22, stpne); return; } } function LoadTVF(str, fi) { for(var i=0; i < str.length; i++) if(str[i].indexOf("TASVideosForum") >= 0) { var stpn = str[i].indexOf("TASVideosForum"); var stpne = str[i].indexOf("|", stpn + 16); fi.TASVideosForum.value = str[i].substring(stpn + 22, stpne); return; } } function LoadTag(str, fi) { var str_spl; var stpn, stpne; for(var i=0; i < str.length; i++) { str_spl = str[i].split(","); if(str_spl[0].length < 4 || str_spl[0].indexOf("タグコピペ用") > 0) { stpn = str_spl[0].indexOf("タグコピペ用"); if(stpn > 0) str_spl[0] = str_spl[0].substring(stpn + 7); SetRB(fi.Hard, str_spl[0], fi.Hard2); if(str_spl.length < 2) return; fi.GameTitle.value = str_spl[1]; if(str_spl.length < 3) return; stpn = str_spl[2].indexOf("タイトル"); SetRB(fi.Sort, str_spl[2].substring(stpn + 4)); if(str_spl.length < 4) return; if(str_spl[3].indexOf("シリーズ") == -1) SetRB(fi.Genre, str_spl[3]); for(var j=0; j < str_spl.length; j++) if(str_spl[j].indexOf("シリーズ") > 0) { SetRB(fi.Series, str_spl[j]); return; } fi.Series[0].checked = true; return; } } } function LoadInfo(str, fi) { for(var i=0; i < str.length; i++) if(str[i].indexOf("tag=最速") >= 0) { var stpn = str[i].indexOf("(tag="); var stpne = str[i].indexOf(",", stpn); SetRB(fi.Hard, str[i].substring(stpn + 5, stpne), fi.Hard2); stpn = str[i].indexOf("tag=", stpne); stpne = str[i].indexOf(",", stpn); fi.GameTitle.value = str[i].substring(stpn + 4, stpne); 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 LoadFurigana(str, fi) { for(var i=0; i < str.length; i++) if(str[i].indexOf("&furigana") >= 0) { var stpn = str[i].indexOf("&furigana"); var stpne = str[i].indexOf(")", stpn); fi.Furigana.value = str[i].substring(stpn + 10, stpne); return; } } function LoadHiduke(str, fi) { for(var i=0; i < str.length; i++) if(str[i].indexOf("&hiduke") >= 0) { var str_spl = str[i].split("/"); if(str_spl.length < 3) return; var stpn = str_spl[0].indexOf("&hiduke") + 8; var year = str_spl[0].substring(stpn); if(eval(year) < 2000) year = eval(year) - 1900; else year = eval(year) - 2000; var month = str_spl[1]; var stpne = str_spl[2].indexOf(")"); var day = str_spl[2].substring(0, stpne); SetYMD(fi.ReleaseY, year); SetYMD(fi.ReleaseM, month); SetYMD(fi.ReleaseD, day); return; } } function SetYMD(sel, str) { for(var i=0; i < sel.length; i++) if(eval(sel[i].value) == str) { sel[i].selected = true; return; } sel[0].selected = true; } function SourceSplit(fi, fo) { if(!fi.bSource.value.length) return Error("ソースエラー"); return fi.bSource.value.split("\n"); } function Error(msg) { document.fTi.LSStatus.value = msg; error = 1; } function CopyToClipboard(clip) { var str_ua = navigator.userAgent.toLowerCase(); if(str_ua.indexOf("msie") >= 0) window.clipboardData.setData("text" ,clip); } function MakeNewpage() { CopyToClipboard(document.fTo.aSource.value); if(!document.fTo.FixTitle.value.length) return false; var utf_8_pagename = encodeURIComponent(document.fTo.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="fTi"><table> <input type="hidden" name="TASVideosForum"> <tr><td style="background:#FFCCCC">ゲームタイトル ※必須</td> <td><input type="text" size="70" name="GameTitle"></td></tr> <tr><td style="background:#F0F8FF">ふりがな</td> <td><input type="text" size="70" name="Furigana"></td></tr> <tr><td style="background:#F0F8FF">海外タイトル</td> <td><input type="text" size="70" name="fgTitle"></td></tr> <tr><td style="background:#FFCCCC">50音 ※必須</td> <td><input type="radio" name="Sort" value="あ行" checked>あ行 <input type="radio" name="Sort" value="か行">か行 <input type="radio" name="Sort" value="さ行">さ行 <input type="radio" name="Sort" value="た行">た行 <input type="radio" name="Sort" value="な行">な行 <input type="radio" name="Sort" value="は行">は行 <input type="radio" name="Sort" value="ま行">ま行 <input type="radio" name="Sort" value="や行">や行 <input type="radio" name="Sort" value="ら行">ら行 <input type="radio" name="Sort" value="わ行">わ行</td></tr> <tr><td style="background:#FFCCCC">機種 ※必須</td> <td><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><input type="radio" name="Genre" value="ACT" checked>ACT <input type="radio" name="Genre" value="RPG">RPG <input type="radio" name="Genre" value="ARPG">ARPG <input type="radio" name="Genre" value="ジャンルその他">その他</td></tr> <tr><td style="background:#F0F8FF">シリーズ</td> <td><input type="radio" name="Series" value="" checked>なし <input type="radio" name="Series" value="マリオシリーズ">マリオ <input type="radio" name="Series" value="ロックマンシリーズ">ロックマン <input type="radio" name="Series" value="ドラキュラシリーズ">ドラキュラ <input type="radio" name="Series" value="メトロイドシリーズ">メトロイド<br> <input type="radio" name="Series" value="ゼルダシリーズ">ゼルダ <input type="radio" name="Series" value="ドラクエシリーズ">ドラクエ <input type="radio" name="Series" value="FFシリーズ">FF <input type="radio" name="Series" value="サガシリーズ">サガ <input type="radio" name="Series" value="ポケモンシリーズ">ポケモン <input type="radio" name="Series" value="カービィシリーズ">カービィ</td></tr> <tr><td style="background:#F0F8FF">発売日</td> <td> <select name="ReleaseY"> <option value="">年</option> <option value="11">2011年</option> <option value="10">2010年</option> <option value="09">2009年</option> <option value="08">2008年</option> <option value="07">2007年</option> <option value="06">2006年</option> <option value="05">2005年</option> <option value="04">2004年</option> <option value="03">2003年</option> <option value="02">2002年</option> <option value="01">2001年</option> <option value="00">2000年</option> <option value="99">1999年</option> <option value="98">1998年</option> <option value="97">1997年</option> <option value="96">1996年</option> <option value="95">1995年</option> <option value="94">1994年</option> <option value="93">1993年</option> <option value="92">1992年</option> <option value="91">1991年</option> <option value="90">1990年</option> <option value="89">1989年</option> <option value="88">1988年</option> <option value="87">1987年</option> <option value="86">1986年</option> <option value="85">1985年</option> <option value="84">1984年</option> <option value="83">1983年</option> <option value="82">1982年</option> <option value="81">1981年</option> <option value="80">1980年</option> <option value="79">1979年</option> <option value="78">1978年</option> <option value="77">1977年</option> <option value="76">1976年</option> <option value="75">1975年</option> <option value="74">1974年</option> <option value="73">1973年</option> <option value="72">1972年</option> <option value="71">1971年</option> <option value="70">1970年</option> </select> <select name="ReleaseM"> <option value="">月</option> <option value="1">1月</option> <option value="2">2月</option> <option value="3">3月</option> <option value="4">4月</option> <option value="5">5月</option> <option value="6">6月</option> <option value="7">7月</option> <option value="8">8月</option> <option value="9">9月</option> <option value="10">10月</option> <option value="11">11月</option> <option value="12">12月</option> </select> <select name="ReleaseD"> <option value="">日</option> <option value="1">1日</option> <option value="2">2日</option> <option value="3">3日</option> <option value="4">4日</option> <option value="5">5日</option> <option value="6">6日</option> <option value="7">7日</option> <option value="8">8日</option> <option value="9">9日</option> <option value="10">10日</option> <option value="11">11日</option> <option value="12">12日</option> <option value="13">13日</option> <option value="14">14日</option> <option value="15">15日</option> <option value="16">16日</option> <option value="17">17日</option> <option value="18">18日</option> <option value="19">19日</option> <option value="20">20日</option> <option value="21">21日</option> <option value="22">22日</option> <option value="23">23日</option> <option value="24">24日</option> <option value="25">25日</option> <option value="26">26日</option> <option value="27">27日</option> <option value="28">28日</option> <option value="29">29日</option> <option value="30">30日</option> <option value="31">31日</option> </select> </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()"> </form> <form name="fTo"> <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="23"></textarea></p> <p>タグ <input type="button" value="コピー(IE用)" onclick="CopyToClipboard(FixTag.value)"><br> <input type="text" size="80" name="FixTag"></p> </form> }} ---- **使い方 [[ニコニコ動画のタイトルページの作り方]]を参考に入力してください ふりがな欄はひらがな推奨(ナンバリングは半角数字で) 読み込み用ソースに既存ページのソースかタグをコピペして「ソース読込」を押すと 有効な情報は自動的に入力されます 古いページのソースからは50音、ジャンル、シリーズ等が取得出来ません その場合、タグを読み込む方が多くの情報を取得できます 「ソース作成」を押すと作成されたページ名、ソース、タグが出力されます 「新規ページ作成 / 編集ページへ」を押すと出力されたページタイトル入力済の新規ページ作成が開きます 既にページが存在している場合は編集ページとなります(IEのみソースが自動的にクリップボードにコピーされます) ソースとタグをコピペすれば完成です ***タグ編集について注意 タグを編集して保存せずにプレビューすると編集分は適用されず、編集前の状態に戻るようです とりあえず保存してしまうか、プレビュー後にタグ編集するようにしてください タグにスペースを付けると別のタグ扱いです 例:「FC」と「FC 」は別のタグ 最後の「,」を付けないタグでご注意ください