« 2007年05月13日 | メイン | 2007年05月15日 »

2007年05月14日 の投稿

2007年05月14日

ぐーぐるさんめっちゃ俊足

サイトマップ見たらもう12日時点での記事がインデックスされてた。
これは早いな。

出来てからまだ3日目のドメインなのに佐井祐里奈でググると13件目にあって吹いた。
ものすごいスキマ情報でアクセス稼いでるw

どうせだからまた宣伝しておこう。

ギャオーディション ファイナリストNo.7 佐井祐里奈 - プロフィールとか紹介動画&投票
裏ギャオーディション - 佐井祐里奈のトークがみれます。

気に入ったら投票ボタンを押してあげて。

Sleipnirで便利にMovableTypeへ投稿するスクリプト

昨日書いたMovableTypeのクイック投稿で投稿先ブログを指定出来ないって話だが、いろいろ試して見て解決策がわかった。
クイック投稿専用の小窓では無くダイレクトに標準の投稿画面に行けば投稿先のブログは当然URIから指定できる。
そしてエントリー投稿画面にはデフォルトでbody欄に入れるテキストデータを渡すことも出来た。

両方の問題が解決するならばわざわざ使いにくいクイック投稿の小窓なんか使わずに標準の投稿画面を使って投稿するスクリプトを作ればいい。

ブックマークレット的使用をするのだから当然多くの場合には、どこかのサイトへの引用・言及が主な使い方となる。

この場合に考えられる利用パターンといえば、
  • タイトルとアドレスだけコピー
  • タイトル・アドレスに引用文つき
  • さらに引用元・言及先のサムネイル付き

こんなもんか。

って事で、選択された文章のあるなしをチェックして引用タグをつけるか判断する機能、さらにサムネイルも埋め込む機能がついたSleipnir2UserActionスクリプトを作成した。
作成中に知った事なのだがIEでは入力可能なURI文字数が2083文字までという制限があった。
引用文の量が多いと当然URI文字数がオーバーする可能性がある。
そこで、URIの文字数が2083文字をオーバーした場合にはURI渡しは行わずにクリップボードに全文を入れてアラートを出すようにした。

Sleipnir2の右クリックメニューにExtendedMenuプラグインを使用して「ブログに投稿」というコマンドを追加しテストブログで試しているがとりあえず今のところ問題なく動いている。
もちろん、まだなんかエラーがある可能性はあるけど。

/////////////////////////////////////////////////////////////////////////////
//  PostToMovableType.js  ver 1.01 20070516
//  現在開いているページに言及したエントリーをMovableTypeに投稿する
//  author : S.Kazuya
/////////////////////////////////////////////////////////////////////////////


//  初期設定

  //  投稿CGIのURI
  //    mt.cgiがある場所を指定してください。
  //    例:  MT_URI = 'http://foo.bar/mt/mt.cgi';
  
    MT_URI = 'http://foo.bar/mt/mt.cgi';  

  //  サムネイル取得
  //    SimpleAPIの機能を使って引用元のスクリーンショットを埋め込みます。
  //    この機能をオンにするならtrue、使用しないならfalse
  
    SCREEN_SHOT = true;

  //  ブログID
  //    ひとつのMovable Typeを使って複数のブログを運営している場合に変更してください。
  //    Movable Typeの投稿画面のアドレスに含まれているblog_id=?という数字です。
  
    BLOG_ID = 1;


/////////////////////////////////////////////////////////////////////////////


//  プログラム本体

var objectSleipnirApi = new ActiveXObject("Sleipnir.API");
var activeDocumentIndex = objectSleipnirApi.GetDocumentID(objectSleipnirApi.ActiveIndex);
var _document = objectSleipnirApi.GetDocumentObject(activeDocumentIndex);
var _window = objectSleipnirApi.GetWindowObject(activeDocumentIndex);


// 新規エントリー画面のURI
var PostUri = MT_URI + '?__mode=view&_type=entry&blog_id=' + BLOG_ID; 


function html_entities(str){
  return str.replace(/([<>&])/g, function(m0,m1){ return { '<':'&lt;', '>':'&gt;', '&':'&amp;' }[m1] });
}

if (_document == null)
{
  objectSleipnirApi.MessageBox("documentオブジェクトを作成できません");
}
else
{

  // 引用元文書のタイトル、アドレス、選択テキストを取得
  var quoteTitle = html_entities(_document.title);
  var quoteUri = _window.location.href;
  var quoteText = html_entities(_document.selection.createRange().text);

  var entryText = '';
  
  // スクリーンショット機能がオンならSimpleAPIからサムネイル取得
  if(SCREEN_SHOT){
    entryText += '<img class="thumbnail" src="http://img.simpleapi.net/small/' + quoteUri + '" alt="' + quoteTitle + '" style="float:left&#059; margin:1em&#059;" /><br />\n';
  } 
  
  // 引用元のタイトルとアンカー
  entryText += '<div class="quotetitle"><a href="' + quoteUri + '" target="_blank">' + quoteTitle + '</a></div>\n';

  // 引用元でテキスト選択状態になっていれば引用タグで囲んで追加する
  if (quoteText != ''){
    entryText += '<blockquote>\n\n' + quoteText + '\n\n</blockquote><br style="clear:both&#059;" />';
  }
  

   // 投稿画面URIにエントリー本文を追加したURI
  var Uri = PostUri + '&text=' + encodeURIComponent(entryText);

  // IEのURI文字数制限2083文字を超えているか確認
  if(Uri.length > 2083){
    // 制限オーバーの場合
    
    // 本文無しで新規投稿画面をそのまま開く
    _window.open(PostUri, "_self");

     // エントリー本文をクリップボードに格納
    _window.clipboardData.setData("text",entryText);
    
    // 本文をクリップボードに格納したことを告知するメッセージ
    objectSleipnirApi.MessageBox("URIに格納可能な文字数をオーバーしたのでクリップボードに格納しました。\n貼り付けてお使いください。");
  }
  else{
    // 制限内に納まっている場合、生成されたURIにそのままジャンプする
    _window.open(Uri, "_self");
  } 
  
  //あとかたづけ
  _document = null;
}

//あとかたづけその2
objectSleipnirApi = null;

さっきテストブログで実験中に間違ってこっちのブログに投稿してpingまで飛ばしてしまったのは内緒だ。

2007年5月14日 - ver1.00 公開
2007年5月16日 - ver1.01 実体参照化を忘れてたバグを直した。

かいてるひと

かずや (HN:こじろー)
1978年3月2日生まれ 魚座 O型
北海道・道東の方に在住
へっぽこ日曜プログラマー

MyMiniCity
ameba マイルーム
Yahoo!Days マイページ
edita マイページ
アバウトミープロフィール
かずやのLive Space
かずやのクリップ
コトノハ コトリスト
Haru.fm かずやのつぶやき
Timelog かずやのページ

ミクシィ のプロフィール iddy プロフィール マイフォト Flickr Last.fm ミュージックプロフィール

2007年05月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

カテゴリー

参加コミュニティ

Sleipnirユーザーです MovableTypeでブログを作ってます パソコンテレビGyaO視聴者です Twitterユーザーです Wiiユーザーです ミクシィもやってます 北海道に住んでます 北海道日本ハムファイターズのファンです ひだりききです あわせて読みたい

モバイル

このブログはケータイ対応です。

GlassleafのQRコード

Valid XHTML 1.0 Transitional なかのひと track feed
Powered by
Movable Type 3.35
ブログで報酬稼ぐなら!buzzmo(バズモ)