Gmailで短縮URLを使いたい

予定表とかにGmailに届いているメール文面へのリンクを貼り付けたいことがあるんだが、そのGmail側のURLは長すぎるのでURL短縮サービスを使いたい。で、URL短縮サービスもいろいろあるが、Googleには「Google URL Shortener」ってのがあるから、両者を連携させてGmailでの個別メールで短縮URLをその場で表示する(か、短縮サービスへのリンクを表示)できるといいんだが、こういう機能は提供されてないみたい。

Greasemonkeyあたりで、何か作れば対応できるかな。

bit.lyを使ったサービスはけっこう検索で出てくるようなのだが。

MediaWikiで推奨フォーマットの追加とページ目次の強制

自前サーバで動かしているMediaWikiに.docxファイルをアップロードしようとしたら、「”.docx” は推奨されているファイルフォーマットではありません。」と出てきやがる。

ブラウザ上からも推奨フォーマットの追加変更ができるのかもしれないが、Mediawikiのバージョンが古いせいか、設定がよくわからなかったので、LocalSettings.php の拡張子指定を以下に変更した。

--- LocalSettings.php~  2010-05-18 14:07:27.000000000 +0900
+++ LocalSettings.php   2012-08-20 17:56:54.000000000 +0900
@@ -123,7 +123,7 @@
 #$wgWhitelistEdit = true;
 $wgGroupPermissions['*']['edit'] = false;

-$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc', 'xls', 'ppt', 'pdf', 'txt' , 'odg');
+$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'txt' , 'odg');

 #Extensions
 require_once("extensions/inputbox.php");

MediaWiki LocalSettings.php wgFileExtentions」あたりをキーワードに検索すると次が見つかった。やっぱり、ファイル編集で対応するしかないのかな。

あと、Wikipediaのページで、上部に目次がついているものがあって、これを指定するタグがあるのだろうと思って探したが、整形のヘルプには「4つ以上の見出しを作成すると 目次が自動的に作成されます。」とあるだけ…。いや、見出し2つでも目次出したいんですが…。

さらに目次のヘルプをたどると、本文中にタグとして「__FORCETOC__」(上部の目次表示を強制)か「__TOC__」(指定箇所に目次を作成、複数の場合は1つめだけ)と指定ができるようだった。

WordPressとかに比べると、使っているバージョンのMediaWikiは自動セーブもないし、ファイルのアップロードもしにくい。新しいものだと改善しているのか…?

TeraTermの不具合?

新しいパソコンにTeraTermをインストールして使っていたら、Muleを立ち上げた際にCtrl-SPCやCtrl-@が効かず、set-markが使えなくて作業にならない。

別パソコンのキーボードをSynergy経由で使っているせいか、さらにそのキーボードがUSBワイヤレスだからか、などとも考えたが、Cygwinターミナル上で立ち上げたMuleだと上記のキーバインドの認識は問題ないし、また、Xyzzyなどを使った場合も問題がない。

で、TeraTermのバージョンを確認してみると、なぜか別パソコンにインストールしているものよりも古い2011年のVer.4.72ということだったので、検索して出てきたVer.4.74というのを入れてみた。それで、キー認識はきちんとできるようになったので、TeraTermのバージョンの問題だったのか、と思ってしばらく使っていたら、やはり同じようにキーを認識しなくなってしまった。TeraTermを再インストールしても同じ状況。

困った…。

[追記]
TeraTerm付属のkeycode.exeで認識状況を確認してみると、SPCが57、Ctrl-SPCが1081と別物として認識はされているようなのだが。SPC-@も同様。

[追記]
CCleanerで、不要ファイルとレジストリを整理してからパソコンを再起動したら、TeraTerm該当キーを認識するようになった。とりあえずはこれでいいんだが、なんかしっくりしないなー…。

ワード文書で選択できない

Word 2010で文書編集をしていて、気が付くとマウスでドラッグ選択ができなくなっている。

ようすを見ていると、どうもファイルを開いた直後はドラッグ選択もできるのだが、それを保存すると選択機能が働かなくなるようだ(この場合でもShift+カーソルキーでの選択は可能)。

作業途中で保存しちゃうと編集がしにくくなってしょうがない。

元文書をLibreOfficeで作ったせいか、インターネット(Gmail添付)から取得した文書だからか。

困った…。

ファイル一覧をjQueryで表示

画像ファイルの一覧をjQueryで表示させる。その対象ファイル名の取得自体はJavaScriptでは対応できないので、別途phpに下請けに出す形にする。

<!-- index.html -->
<html>
<head>
<title>Image List</title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<style type="text/css">
img {border: none;}
</style>
</head>

<body>
<div id="message"></div>
<div id="image_list"></div>
</body>

<script type="text/javascript">
$.getJSON("images_json.php", function(json) {
  for (var i=0; i<json.length; i++) {
    var fname=json[i].fname;
    $("#image_list").append("<img src="images/"+fname+"" alt=""+fname+"" title=""+fname+"" />");
  }
  $("#message").text(json.length+" images.");
});
</script>

上記にある「$.getJSON(“下請けphpスクリプト”, データ処理関数)」の形でデータ取得と表示。

で、ファイルリストを生成する下請け側のphpスクリプト(ファイル一覧を取得するディレクトリの指定は引数などにせず、とりあえずスクリプトへ埋め込み):

<?php
// images_json.php: 画像ファイル一覧を取得しJSON形式で渡す

if ($handle=opendir("/fullpath/images/")) {
    $files=array();
    while (($fname = readdir($handle))!==false) {
        if (!preg_match('/.(jpe?g|gif|png|bmp|tiff?)$/i', $fname)) continue;
        array_push($files, array('fname'=>$fname));
    }
    closedir($handle);

    print json_encode($files);
}
?>

JSON形式の生成は、「キー=>値」の形で連想配列にし、それを一つずつarray_pushで納めていって、その配列をjson_encode()に掛ければ次のようなデータとなる:

[
  {"fname":"CIMG2782.JPG"},
  {"fname":"CIMG2780.JPG"},
  {"fname":"CIMG2785.JPG"},
    ...
]

参考リンク: