利用者:Nijcadminのソースを表示
←
利用者:Nijcadmin
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
= 2012年1月13日(金)= === FCKEditor で ref タグの中の他のタグもエスケープされてしまう === <pre> 使用前:<ref><pubmed>12345</pubmed><br></ref> 使用後:<ref><pubmed>12345</pubmed>&lt;br&gt;</ref> </pre> * pubmed タグは11日にエスケープ対象外の対策済みだが他のタグもエスケープしないようにしてしまえばよい. * extensions/FCKeditor/plugins/mediawiki/fckplugin.js を以下のように修正 <syntaxhighlight lang="php"> case 'fck_mw_ref' : var refName = htmlNode.getAttribute( 'name' ) ; stringBuilder.push( '<ref' ) ; if ( refName && refName.length > 0 ) stringBuilder.push( ' name="' + refName + '"' ) ; if ( htmlNode.innerHTML.length == 0 ) stringBuilder.push( ' />' ) ; else { stringBuilder.push( '>' ) ; // NIJC: stringBuilder.push( htmlNode.textContent || htmlNode.innerText ) ; stringBuilder.push( '</ref>' ) ; } return ; </syntaxhighlight> = 2012年1月12日(木)= === FCKEditor で syntaxhighlight タグが壊れる === * extensions/FCKeditor/plugins/mediawiki/fckplugin.js を以下のように修正 <syntaxhighlight lang="php"> case 'fck_mw_source' : var refLang = htmlNode.getAttribute( 'lang' ) ; // NIJC: var refTag = 'source'; var refSyntaxHighlight = htmlNode.getAttribute( 'syntaxhighlight' ) ; if ( refSyntaxHighlight && refSyntaxHighlight == 'true' ) refTag = 'syntaxhighlight'; //stringBuilder.push( '<source' ) ; stringBuilder.push( '<' + refTag ); stringBuilder.push( ' lang="' + refLang + '"' ) ; stringBuilder.push( '>' ) ; stringBuilder.push( FCKTools.HTMLDecode(htmlNode.innerHTML).replace(/fckLR/g,'\r\n') ) ; //stringBuilder.push( '</source>' ) ; stringBuilder.push( '</' + refTag + '>' ) ; return ; </syntaxhighlight> * extensions/FCKeditor/FCKeditorParser.body.php を以下のように修正 <syntaxhighlight lang="php"> // NIJC: case 'syntaxhighlight': $params['syntaxhighlight'] = 'true'; $output = $this->fck_wikiTag('source', $content, $params); break; case 'source': $output = $this->fck_wikiTag('source', $content, $params); break; </syntaxhighlight> = 2012年1月11日(水)= === FCKEditor で ref タグの中の pubmed タグがエスケープされてしまう === <pre> 使用前:<ref><pubmed>12345</pubmed></ref> 使用後:<ref>&lt;pubmed&gt;12345&lt;/pubmed&gt;</ref> </pre> * extensions/FCKeditor/plugins/mediawiki/fckplugin.js を以下のように修正 <syntaxhighlight lang="php"> case 'fck_mw_ref' : var refName = htmlNode.getAttribute( 'name' ) ; stringBuilder.push( '<ref' ) ; if ( refName && refName.length > 0 ) stringBuilder.push( ' name="' + refName + '"' ) ; if ( htmlNode.innerHTML.length == 0 ) stringBuilder.push( ' />' ) ; else { stringBuilder.push( '>' ) ; // NIJC: //stringBuilder.push( htmlNode.innerHTML ) ; var refInnerHTML = htmlNode.innerHTML.replace( /<pubmed>/g, '<pubmed>' ).replace( /<\/pubmed>/g, '</pubmed>' ) ; stringBuilder.push( refInnerHTML ) ; stringBuilder.push( '</ref>' ) ; } return ; </syntaxhighlight> = 2012年1月4日(水)= === SyntaxHighlight GeSHi の導入 === * http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi のインストール === Pubmed プラグイン利用時に表示が遅い === * キャッシュ機能はキーワードを元に pubmed に問い合わせて得られた結果の pmid をキャッシュしているため,表示毎に<nowiki><pubmed>...</pubmed></nowiki>の数だけ通信が発生する. * 対策として pubmed に問い合わせる前段階でキャッシュする機能を実装. * extensions/Pubmed/entrez.cl/entrez_eutil_nijc.class.php <syntaxhighlight lang="php"> <?php class entrez_eutils_nijc extends entrez_eutils_fcgi { // constructor function entrez_eutils_nijc() { parent::entrez_eutils_fcgi(); } // override search2 method function search2($db, $term, $off=0, $limit=500) { global $wgPubmedCacheExpire; if (empty($this->_cache)) return parent::search2($db, $term, $off, $limit); $cache = new Cache(); $cache->cachedir = $this->_cache; $filename = sprintf('esearch_%s', md5($term)); $now = time(); $expire = 604800; // 86400:1day, 604800:1 week if (isset($wgPubmedCacheExpire)) $expire = intval($wgPubmedCacheExpire); if ($cache->check($filename)) { $data = $cache->load($filename); if ($data['date'] + $expire >= $now) return $data['value']; } $data = array( 'date' => $now, 'value' => parent::search2($db, $term, $off, $limit), ); $cache->save($filename, $data); return $data['value']; } } </syntaxhighlight> * extension/Pubmed/Pubmed.php <syntaxhighlight lang="php"> require_once("entrez.cl/entrez_eutil.class.php"); // NIJC: require_once("entrez.cl/entrez_eutil_nijc.class.php"); include("layout.inc.php"); ... // NIJC: //$ncbi = new entrez_eutils_fcgi(); $ncbi = new entrez_eutils_nijc(); </syntaxhighlight> * LocalSettings.php <syntaxhighlight lang="php"> $wgPubmedCacheExpire = 604800; // 1week yo 12/1/4 </syntaxhighlight> === Pubmed 文献の参考文献の際,参照番号の右に著者を表示したい === * レイアウトテンプレートを修正 ** extension/Pubmed/layouts/layout_ext.def <pre> <b>##Authors##</b> <p style=" border:none; outset none; margin:0em; padding:0em; background-color:#fff;"> ##Title## <br> <i>##Journal##</i>: ##Year##, ##Volume##(##Issue##);##Pages## ##PMID## ##WORLDCAT## ##DOI## <br> </p> </pre> = 2011年12月15日(木)= === ページ毎に meta タグに入れるキーワードを設定したい === * 前日に作った拡張 AddKeywordsMetaTag に [http://www.mediawiki.org/wiki/Extension:MetaKeywordsTag この機能] をマージ <syntaxhighlight lang="php"> <?php $wgExtensionCredits['other'][] = array( 'name' => 'AddKeywordsMetaTag', 'status' => 'Experimental', 'author' => 'Yoshihiro OKUMURA', 'version' => '2.0', 'url' => 'http://www.neuroinf.jp/', 'description' => 'Add keywords into meta tag', ); $wgHooks['OutputPageBeforeHTML'][] = 'wfAddKeywordsMetaTag'; $wgExtensionFunctions[] = 'wfAddKeywordsMetaTagParserHooks'; function wfAddKeywordsMetaTagParserHooks() { global $wgParser, $wgMessageCache; $wgParser->setHook( 'keywords', 'wfAddKeywordsMetaTagRender' ); $wgMessageCache->addMessage( 'metakeywordstag-missing-content', 'Error: <keywords> tag must contain a "content" attribute.' ); } function wfAddKeywordsMetaTagRender($text, $params = array(), $parser) { // Short-circuit with error message if content is not specified. if (!isset($params['content'])) { return '<div class="errorbox">'. wfMsgForContent('metakeywordstag-missing-content'). '</div>'; } // Return encoded content return '<!-- META_KEYWORDS '.base64_encode($params['content']).' -->'; } function wfAddKeywordsMetaTag(&$out, &$text) { global $wgTitle, $wgParser, $wgRequest, $action; if ($action !== 'edit' && $action !== 'history' && $action !== 'delete' && $action !== 'watch') { // Mediawiki:Keywords $title = Title::MakeTitle(NS_MEDIAWIKI, 'Keywords'); $article = new Article($title); $keywords = array_map('trim', explode(',', $article->getRawText())); foreach ($keywords as $keyword) if (!empty($keyword)) $out->addKeyword($keyword); $namespaces = array(NS_MAIN, NS_USER, NS_PROJECT, NS_MEDIAWIKI); foreach ($namespaces as $namespace) { // Mediawiki::Keywords-$namespace if ($wgTitle->getNamespace() === $namespace) { $page = sprintf('Keywords-%u', $namespace); $title = Title::MakeTitle(NS_MEDIAWIKI, $page); $article = new Article($title); $keywords = array_map('trim', explode(',', $article->getRawText())); foreach ($keywords as $keyword) if (!empty($keyword)) $out->addKeyword($keyword); } } } // part of MetaKeywordsTag.php if (preg_match_all('/<!-- META_KEYWORDS ([0-9a-zA-Z\\+\\/]+=*) -->/m', $text, $matches)) { $data = $matches[1]; // Merge keyword data into OutputPage as meta tags foreach ($data aS $item) { $content = @base64_decode($item); $keywords = array_map('trim', explode(',', $content)); foreach ($keywords as $keyword) if (!empty($keyword)) $out->addKeyword($keyword); } } return true; } </syntaxhighlight> = 2011年12月14日(水)= === FCKEditor を使うと図のキャプションが消える.=== * [http://www.mediawiki.org/wiki/Extension_talk:FCKeditor_%28Official%29#disappearing_thumbnail_captions 参照] <pre> 使用前 [[Image:Differentialdisplay.jpg|thumb|テスト]] 使用後 [[Image:Differentialdisplay.jpg|thumb]] </pre> * extensions/FCKeditor/FCKeditorSkin.body.php を上記を参考に以下のように修正 <syntaxhighlight lang="php"> // NIJC: //if (isset($fp['alt']) && !empty($fp['alt']) && $fp['alt'] != "Image:" . $orginal) { // $ret .= "alt=\"".htmlspecialchars($fp['alt'])."\" "; if (isset($fp['caption']) && !empty($fp['caption']) && $fp['caption'] != "Image:" . $orginal) { $ret .= "alt=\"".htmlspecialchars($fp['caption'])."\" "; } </syntaxhighlight> === keywords meta タグを入れたい === * extension/AddKeywordsMetaTag.php を作ってみた. <syntaxhighlight lang="php"> <?php $wgExtensionCredits['other'][] = array( 'name' => 'AddKeywordsMetaTag', 'status' => 'Experimental', 'author' => 'Yoshihiro OKUMURA', 'version' => '1.0', 'url' => 'http://www.neuroinf.jp/', 'description' => 'Mediawiki:Keywords ページの内容を keywords meta タグとして出力します.', ); $wgHooks['OutputPageBeforeHTML'][] = 'wfAddKeywordsMetaTag'; function wfAddKeywordsMetaTag(&$out, &$text) { global $wgTitle, $wgParser, $wgRequest, $action; if ($action !== 'edit' && $action !== 'history' && $action !== 'delete' && $action !== 'watch') { // Mediawiki:Keywords $title = Title::MakeTitle(NS_MEDIAWIKI, 'Keywords'); $article = new Article($title); $keywords = array_map('trim', explode(',', $article->getRawText())); foreach ($keywords as $keyword) if (!empty($keyword)) $out->addKeyword($keyword); $namespaces = array(NS_MAIN, NS_USER, NS_PROJECT, NS_MEDIAWIKI); foreach ($namespaces as $namespace) { // Mediawiki::Keywords-$namespace if ($wgTitle->getNamespace() === $namespace) { $page = sprintf('Keywords-%u', $namespace); $title = Title::MakeTitle(NS_MEDIAWIKI, $page); $article = new Article($title); $keywords = array_map('trim', explode(',', $article->getRawText())); foreach ($keywords as $keyword) if (!empty($keyword)) $out->addKeyword($keyword); } } } return true; } </syntaxhighlight> = 2011年12月12日(月)= === FCKEditor を使うとwikipediaへのリンクが符号化される. === <pre> 使用前 [[wikipedia:jp:理化学研究所|理化学研究所]] 使用後 [[wikipedia:jp:%E7%90%86%E5%8C%96%E5%AD%A6%E7%A0%94%E7%A9%B6%E6%89%80|理化学研究所]] </pre> * extensions/FCKeditor/plugins/mediawiki/fckplugin.js を以下のように修正 <syntaxhighlight lang="javascript"> if (a.className == 'extiw') { a.href = a.title ; // NIJC: // a.setAttribute( '_fcksavedurl', a.href ) ; a.setAttribute( '_fcksavedurl', a.title ) ; } </syntaxhighlight> = 2011年12月7日(水)= === metaタグ index,follow の制御が効かない. === * 承認モジュール ApprovedRevs 由来の問題 [https://bugzilla.wikimedia.org/show_bug.cgi?id=29859 参考] * includes/Article.php を以下のように修正 <syntaxhighlight lang="php"> // NIJC: //if ( $this->getID() === 0 || $this->getOldID() ) { if ( $this->getID() === 0 || $this->getOldID() == intval( @$_GET['oldid'] ) ) { # Non-articles (special pages etc), and old revisions return array( 'index' => 'noindex', 'follow' => 'nofollow' ); } elseif ( $wgOut->isPrintable() ) { </syntaxhighlight> = 2011年6月15日 (水) = == 設定変更 == * URLが http://www.bsd.neuroinf.jp/ でも接続できるように * ドキュメントのライセンスを[http://creativecommons.org/licenses/by-nd/2.1/jp/ CC-BY-ND Japan]に変更 = 2011年6月7日 (火) = == サーバ準備 == * ホスト名: bsd.neuroinf.jp (仮) * OS: Linux CentOS 5.6 x86_64 == MediaWiki 導入 == * [http://www.mediawiki.org/wiki/MediaWiki MediaWiki] 1.16.5 インストール ** 言語は日本語(ja)を利用 ** ドキュメントのライセンスを無難なセンで[http://creativecommons.org/licenses/by-sa/2.1/jp/ CC-BY-SA Japan]に設定 (仮) * [http://www.mediawiki.org/wiki/Manual:Short_URL Short_URL] 設定 * ロゴ画像設置(仮) ** [http://www.iconfinder.com/icondetails/23662/128/accessories_dictionary_icon これ]をベースに文字を入れ替えたものに <syntaxhighlight lang="php"> $wgLogo = "$wgScriptPath/images/BSD-Logo.png"; </syntaxhighlight> * 画像アップロードの設定 <syntaxhighlight lang="php"> $wgEnableUploads = true; $wgUploadPath = "{$wgScriptPath}/images"; $wgUploadDirectory = "{$IP}/images"; $wgUseImageMagick = true; $wgImageMagickConvertCommand = "/usr/bin/convert"; </syntaxhighlight> * 数式への対応 ** [http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Fedora このあたり]を参考に <syntaxhighlight lang="php"> $wgUseTeX = true; $wgTexvc = "/usr/bin/texvc116"; $wgMathPath = "{$wgUploadPath}/math"; $wgMathDirectory = "{$wgUploadDirectory}/math"; $wgTmpDirectory = "{$wgUploadDirectory}/tmp"; </syntaxhighlight> * 匿名ユーザの「新規アカウント作成」と「ページの編集」はとりあえず無効に <syntaxhighlight lang="php"> $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; </syntaxhighlight> == UMIN の既存データの複製 == * https://center3.umin.ac.jp/umin-wiki/mw_bsd/index.php/メインページ のデータをこのサイトへ貼り付け == TODO == * Extensions の選定と設置 ** Youtube 等の動画貼り付け ** 査読 ** 等々
利用者:Nijcadmin
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
利用者ページ
日本語
表示
閲覧
履歴表示
その他
検索
案内
索引
脳科学辞典について
最近完成した項目
編集履歴
執筆にあたって
引用の仕方
著作権について
免責事項
問い合わせ
各学会編集のオンライン用語辞典
About us (in English)
Twitter (BrainScienceBot)
ツール
リンク元
関連ページの更新状況
利用者の投稿記録
記録
利用者グループの表示
特別ページ
ページ情報
他のプロジェクト