2008年10月アーカイブ

InDesign - JavaScript小技 - 名もないテクノ手 [d.hatena.ne.jp]

OSとバージョンを得る
var my_fileSys = $.os;

うちの環境だと "Macintosh OS 10.5.5"と返ります。JSTG p.198

やってみた。


▲$.osをコンソールで入力してEnter

なるほど、$はHelper Objectといって、ビルトインなオブジェクトなんですね。

MacIE5のWebばっかりやっていたもので、$はスクリプトの最初で

function $(id){ return document.getElementById(id); }

をおまじないのごとく唱えるものと思い込んでいました。

あと、この手のことはJavaScript Tool Guideを参照すればいいのですね。

[PDF] JAVASCRIPT TOOLS GUIDE : p.199 [www.adobe.com]

せうぞーさん、ありがとうございました!

InDesignでSocketクラスの上位クラスを作りHTTPでアクセス - CLの日記 [d.hatena.ne.jp]

this.userAgent = 'InDesign/5.0.3 '
+'(Windows; U; Windows NT 6.0; ja;)';

[22171] platform/indesign/javascript: indesign用iCalendar利用カレンダー。ファーストリリース。 [coderepos.org]

function Lwp() { 
  // コンストラクタ。ここでUser-Agent名や
  // timeout値など準備しておくといいよね
  this.userAgent = "InDesign/" + app.version +" "
  +'(Windows; U; Windows NT 6.0; ja;)';
};

[22215] platform/indesign/javascript: ユーザエージェント文字列でInDesignというのを、app.nameで生成させることにした。 [coderepos.org]

function Lwp() {
  // コンストラクタ。ここでUser-Agent名や
  // timeout値など準備しておくといいよね
  this.userAgent = app.name + "/" + app.version + " "
  + "(Windows; U; Windows NT 6.0; ja;)";
};

ここまで来た。あとは、InDesignのJavaScriptでプラットフォーム名(WindowsとかMacintoshとか)が得られるといいのだけれども、どうやるんだろう?

Edyしかない

| コメント(0) | トラックバック(0)

きのう買い物してレジで金払おうと思ったら1000円しか無くて、なんでそんなに財布の中が空っぽになったかなーと思ったら、先週調子こいてEdyに10000円チャージしたあと夜の街に出たら会社の先輩がいてそのままずるずるお店回ってその分支払うことになって、あっという間に無くなっていってしまっていたのでした。

ここら辺でEdy使える店はサークルKかローソンしかないので、晩飯をローソンで買うことにしましたが、ローソンといえば僕にとって食べたあと吐き気を催すお弁当ばかり売っているという印象があるのですが、さすがに最近は変わっているだろうと思ってローソンで買って食ったら吐き気がしました。

給料日まではサークルKにします。

IllustratorのJavaScriptで面付けしろっていうミッション。おそらくどっか見たら複数のItemを一気に操作する方法ありそうだけれども(GoogleMapsですらGMarkerクラスのオブジェクトをまとめて扱うGMarkerManagerクラスがあった)、ここはJavaScriptだからItemをまとめて操作するクラスItemManagerクラスを自分で作るのがおもしろそうだと思って、やってみました。

Filename: multiplecopy.jsx

(function(){
  // ItemManagerクラス(まとめて操作する)
  function ItemManager() {
    // コンストラクタ
    this.items = [];
    this.length = 0;
  }
  // アイテム追加
  ItemManager.prototype.push = function(item) {
    this.items.push(item);
    this.length = this.items.length;
  }
  // アイテム複製
  ItemManager.prototype.duplicate = function() {
    var dupItems = new ItemManager;
    for (var i = 0; i < this.items.length; i++) {
      var dupItem = this.items[i].duplicate();
      dupItems.push(dupItem);
    }
    return dupItems;
  }
  // アイテムの移動
  ItemManager.prototype.translate = function(x, y) {
    for (var i = 0; i < this.items.length; i++) {
      this.items[i].translate(x, y);
    }
  }
  // アイテムの削除
  ItemManager.prototype.remove = function() {
    for (var i=0; i < this.items.length; i++) {
      this.items[i].remove();
    }
    this.items = [];
    this.length = 0;
  }
  // アイテムをまとめて登録
  ItemManager.prototype.addItems = function(objs) {
    for (var i = 0; i < objs.length; i++) {
      this.push(objs[i]);
    }
  }
  
  // main
  if (app.documents.length == 0) {
    alert("ドキュメントを開いてから実行してください。");
    return;
  }
  if (app.activeDocument.selection.length == 0) {
    alert("複製したいアイテムを1つ以上選択してから"
      + "実行してください。");
    return;
  }
  var impositionString
    = prompt("連続複製指示を、Δx,Δx,x方向ステップ数,"
    + "y方向ステップ数の順でコンマ区切りで入力"
    + "(移動単位はmm)","100,100,2,2");
  if (impositionString) {
    var param = impositionString.split(",");
    var imposition = {
      dx: param[0] * 72 / 25.4,
      dy: param[1] * 72 / 25.4,
      sx: param[2],
      sy: param[3]
    };
    var sourceItems = new ItemManager;
      // ItemManagerクラス(まとめて操作する)
    sourceItems.addItems(activeDocument.selection);
      // Illustrator GUI側で選択中のアイテムを登録
    
    for (var y = 0; y < imposition.sy; y++ ) {
      for (var x = 0; x < imposition.sx; x++ ) {
        if ( x != 0 || y != 0 ) {
          // 始点のアイテムを複製する必要はない
          var dupItems = sourceItems.duplicate();
            // 最初のアイテムを複製
          dupItems.translate(imposition.dx * x, imposition.dy * y);
            // 複製したアイテムを移動
        }
      } 
    }
  }
})();

どこがおもしろいか、っていうのを説明すると、隊長職(itemManagerクラス)の人に指令すれば部下(Itemども)が一気に動くように設計したということです。今回のスクリプトの前半は、隊長職の人は何をすればいいかという指示書を書いているわけですね。

InDesignの勉強部屋 InD-boardのRSSを都合3種類読んでいるのですが、どうやら、掲示板に備え付けのRSS Feed

http://www2.rocketbbs.com/11/rss/thats.rdf

が、全文配信になっているようです。

今までは、最初の1行だけしか読めなかったのでわけわかめだったりしました。

これで情報がより流通しやすくなったと思います。業界の力を維持するには、情報の流通は欠かせないものだけに、この変更は大きい意味を持つと思います。

最近のブラウザにはfeed購読機能がついていますが、オンラインRSSリーダーではまとめ読みが出来るようになっているものもあり、そちらの方の利用もいいかと思います。

(2008-10-27 19:28訂正)利用していたiCalendarファイルのURLが古いものでした。正しいものと差し替えましたので、既にダウンロードして使っている方は、もう一度ダウンロードし直してください。

来年11月12日を臨時休日へ 天皇即位20年で自民 [www.47news.jp]

 自民党は22日午前の内閣部会で、即位の礼から20年目となる来年11月12日を臨時の休日とする法案を了承した。天皇陛下在位20年を祝う目的。

そういうのは2年前から決めておいてほしい。カレンダー屋さん涙目。

んで、法案が決定してからカレンダー上の休日・祝日が確定するわけですけれども、日本国はそういう祝日データを配布していないくさくて電子政府とか笑わせてくれるぜ、と思いました。

それで、日本国がやってくれないことをGoogleがやってくれているので、GoogleカレンダーのJapanese HolidaysのiCalendarファイルを利用して、祝日を取得すればそのうちGoogleの中の人もiCalendarファイルを直してくれるだろうから、自動的に対応できることになりそうです。

というわけで、InDesignでiCalendarファイルをパースして、カレンダーとして組版してくれるJavaScriptを書いてみました。

今回長いので、CodeReposにおいておきます。

http://svn.coderepos.org/share/platform/indesign/javascript/icalcalendar/trunk/

このスクリプトを、

Windows Vistaであれば、C:\Users\ユーザ名\AppData\Roaming\Adobe\InDesign\Version 5.0-J\Scripts\Scripts Panelに入れまして、スクリプトパネルから実行します。

Icalcalendar01
▲いつのカレンダーを生成するかを問うダイアログ

そうすると、上の画面のようにいつのカレンダーを作るか聞いてくるのでお好きな月を入れてください。

Icalcalendar02
▲カレンダーが描画された。下は表スタイルを適用したあと

このようにカレンダーが組版されます。10月13日の「体育の日」の文字は、iCalendarファイルから取得されたものです。iCalendarファイル内では、「体育の日」は10月の第2月曜日と指定されているので、毎年計算し直して表示しています。

カレンダーの表示が素っ気ないと思ったので、表スタイルを作ってあるInDesignファイルも同じディレクトリにおいてあるので、使ってみてください。

これは何がよいの?

GoogleカレンダーのJapanese Holidaysというたくさんの人に使われているiCalendarファイルを使うことで、祝日情報が自動更新されます。

応用例として、月刊誌編集などでイベントカレンダーの組版をこれを改造して使うことで、編集部員がオンラインのカレンダーソフト上でイベントを入力しておけば、自動的に最新のイベントカレンダーができあがります。

問題点

iCalendarのパースには、ijp [code.google.com] というライブラリを使いましたが、そのほかに、RRULEという、繰り返し予定されるものの繰り返しルールをパースする部分は自分で作らなければなりませんでした。その部分のパースは、とりあえず処理できる程度になっていまして、複雑なルールには対応できないことが予想されます。

CodeReposにおいてあるので、誰でも更新できますので、直していただけるとありがたいです。

スクリプトの見所

InDesignのJavaScriptでも他のプラットフォーム用JavaScriptライブラリを使えるはずだと思いやってみました。

Dateクラスを拡張して、Dateクラスでymd()メソッドとparseYmd()メソッドていうのが使えるようになっています。スクリプトを参考にされる方はその点を念頭において、ほかのプログラムで使って「うごかんー」とか悩まないようにしてください。

拡張するコード:

  Date.prototype.ymd = function() {
    return this.getFullYear()
      +("0"+(this.getMonth()+1)).slice(-2)
      +("0"+(this.getDate())).slice(-2);
  }
  Date.prototype.parseYmd = function(dateString) {
    this.setFullYear( parseFloat(dateString.slice(0,4)) );
    this.setMonth(parseFloat(dateString.slice(4,6)) -1 );
    this.setDate(parseFloat(dateString.slice(-2)) );
    return;
  }

免責

モノがカレンダーなので、間違えるととんでもない印刷事故になります。このスクリプトで生成されたカレンダーは、絶対正しいとは保証しませんので、利用者の判断でお使いください。

参考

新JavaScript入門 13 Date [homepage3.nifty.com]
JavaScriptのDateクラス。InDesignのJavaScriptでも同じ(コアクラスなので)。良く忘れるのでここ見て思い出しました。
ひとりぶろぐ: Adobe InDesign CS / CS2用JavaScript「表組基本設定(履歴付き)」ver.1.0.4(2006.11.30版) [moyashi.air-nifty.com]
ダイアログボックスを作るところをぱくりました。
表を作成する [www.openspc2.org]
表を作るサンプルを参考にしました(そのまんま)。
itok's Lab : iCalとiCalendar [110k.net]
iCalendarの読み方を参考にしました。
InDesign Object Model - Table [www15.ocn.ne.jp]
InDesign上のTableオブジェクト操作で参考にしました。
InDesignでSocketクラスの上位クラスを作りHTTPでアクセス - CLの日記 [d.hatena.ne.jp]
最初はiCalendarファイルを埋め込んでいたのですが、Webから取得するために、上記エントリで作ったクラスを使いました。

Illustrator 10~CS3のJavaScriptで、選択しているテキストパスに、現在のドキュメント名を入力します。ただし、Illustrator CS1では全く役に立ちませんw

用途として、Illustratorで手動面付けしている事業所さんなんかで、トンボ外にドキュメント名を表示することで、出力したものを取り違えないようにするのに使えます。

機能の割に長いのは、Illustrator 10~CS3対応するため、Illustrator 10においてCS以降のアクセス方法が使えるようなappオブジェクトを拡張しているからです。無駄だよね……

Filename: input_filename.jsx (Illustrator 10の場合は拡張子jsの方がいいのかな)

/*
  input_filename.jsx : 選択したテキストにファイル名を入力します
*/
(function(){
  // 機能拡張:AI10の場合、appオブジェクトを拡張
  if (typeof app == "undefined") {
    // Illustrator10の場合
    app = {};
    app.documents = documents;
    if (app.documents.length != 0) { 
      // activeDocumentが存在していないとアクセスすらできない
      app.activeDocument = activeDocument;
    }
  }
  // main
  if (app.documents.length != 0) { 
    // ドキュメントを1つ以上開いている
    var objDoc  = app.activeDocument;
    var selObjs = objDoc.selection;
    switch ( selObjs.length ) {
      case 0: // 選択無し
        alert("テキストパスを1つだけ選択してください。");
        break;
      case 1: // 1つだけ選択
        if ( (selObjs[0].typename == "TextFrame") // AICS以降
          || (selObjs[0].typename == "TextArtItem") ) {
          // TextFrameだった
          selObjs[0].contents = objDoc.name;
        }
        else { // TextFrame以外だった
          alert("テキストパスを選択してください。");
        }
        break;
      default: // 2つ以上選択
        alert("複数選択しています。"
            + "テキストパスを1つだけ選択しなおしてください。");
    }
  }
  else { // ドキュメントを開いていない
    alert("Illustratorで書類を開いてから実行してください。");
  }
})();

CodeReposにIllustratorのディレクトリ掘っていいかなー
http://svn.coderepos.org/share/platform/illustrator
あたりかな。

昨日のAdobeのソフトでオブジェクトの種類(クラス名)がわかるための方法が3つあるよ、というので、

(function(){
  var objDoc  = app.activeDocument;
  var selObjs = objDoc.selection;
  
  alert(selObjs[0].constructor.name); // ①JavaScript実装
  alert(selObjs[0].typename);         // ②PICTRIX風
  alert(selObjs[0].toString() );      // ③古籏一浩風
  
})();

これをIllustrator CS3で、テキストを選んで実行させると、

AI CS3:

① TextFrame
② TextFrame
③ [TextFrame ]

と得られるので、どれがいい? ていう話なんですけれども、大本命の①はIllustrator 10では動かないことが判明!

AI 10:

① ×(エラー)
② TextArtItem
③ [TextArtItem ]

よって、

  • Illustrator 10対応を考えたときは②
  • Illustrator 10対応をしないときは①または②、JavaScript的には①
  • という感じがしました。②の方法は、Adobeのオブジェクトだけ出来るのかな?

    一応、比較のために、自作のクラスで試すため下記コードをIllustrator 10/Illustrator CS3で実行したところ、

    function Hoge() {};
    var x = new Hoge; 
    alert(x.constructor.name); // ①JavaScript実装
    alert(x.typename);         // ②PICTRIX風
    alert(x.toString());       // ③古籏一浩風

    AI 10:

    ① undefined
    ② undefined
    ③ [object Object]

    AI CS3:

    ① Hoge
    ② undefined
    ③ [object Object]

    となりました。これから言えるのは、typenameというプロパティは自作のオブジェクトじゃ使えないこと、AI 10が微妙、ていうことです。ちなみにコアオブジェクトにもtypenameプロパティはない。あったら怖い。

    参考:
    任意のオブジェクトのクラス名をどうやって得るの? - 理系学生日記 [d.hatena.ne.jp]

    InDesignやIllustratorのJavaScriptで、選んでいるアイテムがなんであるか調べたいっていうことがあります。ブラウザのJavaScriptでいえば、DOMをdocument.getElementsByTagNameで絞ったあと、アイテムを1点ずつclassNameを見て照合するみたいなイメージになるでしょうか。

    そんで、選んだオブジェクトが何であるか、というのを調べるコード、いろんなのが流通しているみたい。

    (function(){
      var objDoc  = app.activeDocument;
      var selObjs = objDoc.selection;
      
      alert(selObjs[0].constructor.name); // JavaScript実装
      
      alert(selObjs[0].typename);         // PICTRIX風
      
      alert(selObjs[0].toString() );      // 古籏一浩風
      
    })();

    さてこれのうちどれを使うのがいいのかな。

    5963
    ▲今月の電気代は5963円です

    Mac miniが結構いい電気食っているんだよなー

    あと、これを払う金がない。

    なんでこんなことに……

    昨日の会社帰りにコメリホームセンターに行ったんです。コメリと言ったらうちの実家の方のホームセンターヤマキがいつの間にかコメリホームセンターになっていて結構ですねコメリ、ってかんじです。うちの親父がコメリカード作っていて「めちゃくちゃやすい」とかいってた。

    そんなコメリに行って、乾電池を買いに行ったのですが、店内の電池コーナーがすべてパナソニックの電池で埋まっていました。エネループ買いに行ったのにエボルタ充電池はいらん。

    そんでさんざん探してやっとエネループを見つけました。パナソ9:三洋1の割合。他の電池メーカーどうなったんやろう。ラジオの製作でメーカー別乾電池特集していたのが懐かしくて涙が出ちゃう。

    iMacが苦手

    | コメント(0) | トラックバック(0)

    2年間Mac触っていないで今日久しぶりにMac触ることになったよ。CS2の作業用はG5、CS3はパンダiMacとわけておるみたい。

    ほんで、バックアップDVDからサーバに戻すって言う業務をやったんだけれども、あのパンダのやつ、光ディスクがどっち向けて入れればよいかわからんし、ディスクを入れる分量が多すぎるし、最悪や。

    たしか、G4 Cubeのときは、光ディスクの半分入れれば吸い込まれたような記憶があるけど、Mac miniではかなり差し込まんと食べてくれんかったような。いまそこに魂(Mac OS X)を抜いたMac miniがあるのでディスク入れてみたがやっぱりかなり差し込まんとローディングされなかった。こういう慣れを要求するインターフェースって禿的に有りなのかな。

    選挙行け

    | コメント(0) | トラックバック(0)

    今日は弁当の配達。お昼から配達していました。

    今日はものすごい秋晴れ。配達中、道路脇に目をやると、柿の実を通販で購入できる高枝はさみキャッチ付きでとろうとしているおねーさんがいました。選挙行け。

    配達中橋の上を走っていると、河原でバーベQしている団体がいました。選挙行け。

    そんなことをを言いながら、選挙会場にお弁当を届けましたが、僕が選挙行け状態だって事に気がつきました。今から行きます。

    僕のメインブラウザはOperaなんですけれども、このたびVista機にOperaをアップグレードインストールしたんです。そして、インストール後、インストーラの画面でOperaを起動するにチェックボックスを付けておくと、Operaが起動しますが、このOperaは、UACで権限昇格したままの状態でうごいとるよな。ちょっと気になる。

    ~あらすじ~

    CLが作っていたアップローダは無事完成し、会社のWebに設置されて、もう何10Gも転送をこなしている。一方、ち(♀)は学校に通い始め、休み時間Webをだらだら見ているようだ。

    その2)(その1

    ち の発言:
     休憩時間暇だから
    ち の発言:
     むりくり見て過ごしてたんだけど
    CL の発言:
     ムリ栗見てたんだ?
    ち の発言:
     うん
    ち の発言:
     プログレスバーの記事見てまた思いついた
    CL の発言:
     w
    CL の発言:
     毛が生えるやつw
    ち の手書きメッセージ:
    Newprogressbar
    CL の発言:
     この時点で充分いやな予感だ、、、
    ち の発言:
     この先は書かない
    ち の発言:
     100%になったら・・・
    CL の発言:
     この先は書かんと言うから君にも最後の良心がとおもったが
    ち の発言:
     やるなら
    ち の発言:
     引きちぎれるのはあんまりだから
    CL の発言:
     やっぱひきちぎる事考えていたか、、、
    ち の発言:
     伸びて真ん中らへんが完了って文字になればいいんじゃないだろうか
    CL の発言:
     伸びるキン消しだったって事でこれで円満解決、じゃねーよ

    彼女の意見を参考にしないで、本当に良かった!

    プリンターズサークルBlog - 印刷を楽しむ [page.jagat.or.jp]

    こうしたことからも、印刷物の作り手の価値観と、使う人の価値観はすれ違っているところがあるのではないかと思う。プリンターズサークル誌は2009年4月からプリバリ印という雑誌に変わる予定だが、そこでは使う人視点で印刷を捉えなおそうと考えている。

    「プリバリ印」とは、なんだかおいしそうな名前ですね。

    パリブレ [mognavi.jp]

    プリバリとは print value を約めたもので、雑誌の企画段階でprint value を繰り返して呼んでいるうちに、プリバリそのままでいいのではないか、ということになった。その後の「印」は微妙で、印刷ぽさを残そうという考えや、プリバリじるし、がいいんではないかとか、EPみたいだとか、墨書で印と表紙デザインするとカッコいいのではないか、いろいろな想いがあって、やってみようということになった。

    新語を創るのは大変です。「ふたりはプリキュア」でさえも、初代放映時の歌詞に、「ぷりてぃーで、きゅーあきゅーあ」とあり、歌詞で説明してしまう工夫がされていたんです。

    プリバリ印は、どんな努力をするのでしょうか。

    つか雑誌の名前じゃねえと思う。

    ぶっちゃけありえない。こんなの書いても先方には、むちゃトラバできんし。

    日本国内でサービスする事を前提に考えていたサービスで、住所をもとに自動的にGoogleマップに表示するように作っていたやつがあって、登録箇所をマーカーとして表示させるんだけれども、マーカーが見切れても困るということで、Googleマップで自動的に全部のマーカーが入るよう、最適な中心位置と拡大率になるようにする方法があるので、それと使って表示していて、ちゃんと動いていました。

    今回登録があったのが住所がどう見ても北京で、Googleマップの表示も国際的になってしまいました。しょうがないよね、これは。

    P.032 第1特集「作業効率が格段に上がるIllustratorテクニック」内「バージョン別フォント対応表」

    OCFフォントの行、摘要の桁で「Illustrator 10およびMac OS X以降では使用できない」というのは、ダウト。

    →Illustrator 10では、OCFフォントは保証外ですが、使用できますが。Illustratorは、Mac OS 9上でも動くことを忘れてはなりません。このことがあるので、Illustrator 10をMac OS Xに入れるか、Mac OS 9に入れるかで意見が分かれるわけです。その下のCIDの欄の「遺体字」とかいう誤植でごまかせたと思ったら大間違いです! OTFのところもATMがどーたらびみょーだし、フォントまわりを扱わなくてはいけなくなったライターさんがかわいそうです。

    p.034 第一特集内「透明効果編」

    ねないこだれだトレースした疑惑

    pp.086~100 第2特集「得するOS X移行術」

    こういう記事を見ると、僕は

    印刷産業の不振、それはIT技術とのギャップ(6) - 文明化重視から文化再生へ、日本の文化の根源を支える、生業(なりわい)。その再構築にIT技術の導入を [blog.goo.ne.jp]

    というカウンタエントリーを浴びせて反応を見たくなる悪い趣味があります。

    2ちゃんねるを見て知ったのだけれども、

    【ヨーロッパ】DTPエキスパート実技対策【旅行】 [namidame.2ch.net]

    336 :氏名トルツメ:2008/10/10(金) 20:15:27
    ジャガツのトップページが新しくなったね。

    337 :氏名トルツメ:2008/10/10(金) 20:41:57
    ほんとだ。知らなかった。しかしRSS飛ばさないんだね。
    発表は10月下旬か。

    338 :氏名トルツメ:2008/10/10(金) 20:42:54
    あ、ごめ。RSSあったわ。

    ということで、JAGATのページがリニューアルしたとのことです。

    旧アドレス:
    http://www.jagat.or.jp/

    新アドレス:
    http://www.jagat.jp/

    そんで、2ちゃんねるの337がRSSの存在を見落としたのは、おそらく、JAGATの新ページが、RSS auto-discoveryに対応していないからだと思います。

    RSS auto-discoveryとは?

    RSS auto-discoveryとは、HTMLにRSSがあることを示すタグを入れておき、対応したソフトがRSS feedを発見(discover)できるようにしておける仕組みのことです。

    もっともポピュラーな応用例としては、ブラウザのアドレス欄にfeedアイコンが自動表示されて、このサイトの最新情報を購読できるということを示すサインになる、というものです。

    Jagatrss00
    ▲RSS auto-discovery対応のブラウザで対応ページを見るとfeedアイコンが表示される

    JAGATのページでは、RSS auto-discoveryが設定されていないので、下図のように、最近のブラウザではURL欄に表示されるfeedアイコンが表示されなくなっています。

    Jagatrss01s
    ▲アドレス欄に表示されていない様子

    RSS auto-discoveryネタが流行ったのは、4年ぐらい前(2004年)です。その後、blogシステムが爆発的に流行ってしまい、それらではRSS auto-discoveryが標準実装だったため、あまり意識されることは無かったと思いますが、これはサイト設置者側でしっかり実装しないと利用してもらえませんので、改めて紹介します。

    RSS auto-discoveryは、HTMLのhead要素の中にlink要素で次のように記述します。

    JAGATのページを例題にすると:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>JAGAT Japan Association of Graphic arts Technology - ホーム</title>
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <meta name="Generator" content="Joomla! - Copyright (C) 2005 - 2007 Open Source Matters. All rights reserved." />
    <meta name="robots" content="index, follow" />
    <base href="http://www.jagat.jp/" />
    	<link rel="shortcut icon" href="http://www.jagat.jp/images/favicon.ico" />
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link href="http://www.jagat.jp/templates/jagat_01/common/css/cssfilter.css" rel="stylesheet" type="text/css" />
    <link rel="alternate" type="application/rss+xml" title="JAGAT 最新記事" href="http://www.jagat.jp/index2.php?option=ds-syndicate&version=1&feed_id=1" />
    <script src="http://www.jagat.jp/templates/jagat_01/common/js/DropDownMenu.js" type="text/javascript"></script>
    </head>
    <body id="jagatTop"><a name="top" id="top"></a>
    ~
    <body>
    <html>

    この作業を、JAGAT側で行うことで、最近のブラウザでは自動的にアドレス欄の横に、feedのオレンジアイコンが表示されるようになります。

    JAGATは印刷業界ではまれな一日60000アクセスを稼ぐ人気サイトも擁しており、印刷業界の「顔」となっている側面もあります。こういう対応についてはしっかりしてもらい、模範となるサイト構築をしていただければと思っています。

    ~~

    feedのオレンジアイコンの形が統一されるまでの動きは、2006年前半のホットトピックだったので、興味がある方は読まれてみられるといいかもしれません。Googleで、「feed アイコン 統一」などのキーワードで検索してみてください。


    (2008-10-14 9:29追記)

    トラックバックでいただいた情報ですが、JAGATのRSSは、全文配信ではなく概要になっています。全文配信のfeed(RSS)が、下記にて公開されています。

    新生JAGAT(日本印刷技術協会)の全文配信RSS作った - DTP+印刷営業メモ [d.hatena.ne.jp]

    おとといは地元の蔵元さんのお酒をがっつり飲んだのですけれども、今日は地元の人たちでいろんな酒をがっつり飲む会です。一応芋煮会ということになっている。東北でないから芋煮会がないらしく、「なは東北だっけ秋なれば芋煮会あったろ?」とか言われてやることになりましたw

    だけど、そもそもうちらの方は芋煮会とは言わないので、何に該当するかって考えたら、いわゆる「なべっこ」だって事が判明。そういや秋になったらなべっこ遠足やったような記憶があるわー

    そんで、その会用に、高清水瑞兆を持ってきてくんなせ、と言われたので、田舎の方にお願いして買ってもらいました。

    これのおかげで飲み会費すげえ飛び上がっているんだけど……!

    ちなみに飲んだことがなかったので(持って行くばっかりだった)、値段なりの味であることを期待しています。

    (まずかったらリンチかもシレン……)

    死亡罫

    | コメント(2) | トラックバック(0)

    昨晩、地元の蔵元の日本酒を飲む会っていうのに参加することになって行ってきました。

    そしたら、挨拶に市長が登壇してお話をされていたのですけれども。

    この市長がまだ市長になっていなかったときの印刷物の顔写真に死亡罫をつけたのは僕なので、

    市長のお顔を拝見するたびに自動的に死亡罫がついて見えてしまうのです。

    そんな悪い過去を忘れようと思って日本酒たくさん飲んで大変なことになりましたとさ。

    マウスが無線式のマウスなんで、乾電池はeneloopを使っているのですけれども、大体切れるのが終業の3時間前ぐらいだったりして、充電済みのeneloopに変えて、カラのeneloopをUSB充電器で充電すると、3時間では満充電にならなくて、なんだかタイミング悪いです。継ぎ足し充電できるんですけれども、なんか一気に充電したいですよね。

    eneloop結構いいですよー

    Adobe : EDGE Now! ウェブの今、更新中。 [edgenow.jp]

    というサイトに登録していまして、ここに登録しますと、EDGE Now!のロボットがやってきまして(UserAgent名乗らない疑惑あり)、エントリに書いたURLを集計して、何らかのアルゴリズムで、ランキングがつけられまして、月ごとに順位が確定します。

    そんで、今回僕は9月度で50位以内に入ったので、アドビからメールが来ました。

    こういうマーケティング用だったのね。

    ちなみにいろいろ禁止事項が書いているのだけれども、このメールが来たことを書くこと自体は禁止されていないと読めるので書く。

    アドビに少しでも深くかかわるとなんだか不自由っぽいことだけは垣間見ました。

    2年間ぐらいDTPから離れていたんだけれども最近やりそうになったので、2年前から止まっている知識をアップデートしようと思って、Mac環境の解凍ソフトを調べてみたら、今時はThe Unarchiverを使う例が多くでてきたのですけれども、紹介しているWebページを見ても、リソースフォークに関する説明がないのです。

    もうリソースフォーク気にしないのが一般的なMac環境なんだろうなあと思いました。

    最近時間がむっちゃ無いがうちのサーバにMTOS入れてみるテストをしたのだけれども、Plaggerとか入れたおかげで依存モジュールを追加でインストールする必要なく入っちまって拍子抜けしました。

    いつもはTypePadで構築しているのですが、こっちもいいかなーと思ったり思わなかったり。

    mod_perlで動くのかな。

    会社でやっているサイトのアクセスログをとろうと思って、AccessAnalyzer.comにアクセス&ログイン、9月1日~9月30日に絞ってアクセス数を表示させようと思ったらエラー! 10月1日から今日6日までずうっと同じ事試してもエラー!

    9月26までならとれるとか言われても……

    つうわけで、Google Analyticsにしようにも、Google Analyticsは、Mac IE 5だとエラー表示になるんです。

    しょうがないので、SSIでUserAgentを見て、MacIE5の時はAccessAnalyzer.com、それ以外の時はGoogle Analyticsを実行するように。

    なんだかめんどくさい。

    DTP-Sブログ-ひねもすデジタルビヘイビア: DTPや印刷のニュースリリースをお寄せ下さい [dtp-s2.seesaa.net]

     ブログという本来、双方向コミュニケーションの形態です。しかしこのブログはご承知のとおり、コメントもトラックバックも少なく、実質的に私、上高地仁のブロードキャストと化しております。内容的に日記ではなく、無料ブログを利用したWebサイトとなんら変わりはありません。

     上高地仁としては、せっかくのブログの機能を生かして、できれば双方向でコミュニケーションの手段として活用できればと思っておりましたが、生来新しい取り組みの始動に時間がかかるという怠惰な性格のため、双方向コミニュケーションの方法がありながら、手つかずのままでありました。

     そこで遅まきながらではありますが、シーサーブログの機能を利用して、ブログをご覧いただいているあなたにも、情報を発信するツールとしてご利用頂けるような仕組みを構築することにしました。

    印刷/DTP関連のプレスリリースを出したことがある人ならわかると思いますが、どこに出していいかわからない、掲載率が低い、取材にこない、などの微妙な状況であったりして、大変だったりするので、このようなニュースリリース公開手段を提供してくださるのはとてもありがたいことだと思います。

    コンビニであんまんと冷たい飲み物を買うと、セブンイレブンの店員さんは(最初セブンイレブンがあるだけで感激していたなあ)、「袋をわけましょうか」、と聞いてくるところをすかさず「たがいていくのでいいです」と言うのですけれども、レジ袋いらない運動とか言わずに「たがいて行く運動」と言い換えることで何となく親しみを持った運動が展開できないかと思ったけれども濁点が入る時点でかわいくないので運動が尻すぼみになりそうだ。ともかく自分だけでもやっていくことにします。

    それにしても、「歩いていく」っつーのを「えんでこ」って言うと、ラジオで言うていたので、早速覚えて地元の人が集う飲み屋さんで使ったら全く通じなかったぞ。方言難しいよねー

    衣替え失敗

    | コメント(0) | トラックバック(0)

    毎年そうだけれども、10月1日から衣がえっつーの困る罠ー

    しかし春の衣替えの時にクリーニングに出して戻ってきたスーツクルマに積んだままなんで折り目ついている罠

    くまった。

    Googleのキャンペーンで2001年のGoogleで検索できるというのがあるんです。

    http://www.google.com/search2001.html
    2001年にググったら? 創立10周年の米グーグルが特設サイトを開設:ニュース

    そんで、うちの会社を調べてみたら、データ入稿のところにFTP入稿と宅ふぁいる便の2択になっていてワラタ。FTPサーバは僕が建てた。

    この後、宅ふぁいる便の速度が壊滅的に遅くなって、しょうがなく自社サイトにファイル送信を作ったんだっけかな。

    長らく勘違いしていたんですけれども、僕は、Mozilla ThunderbirdのRSSリーダ機能を使っていまして、これが、ちゃんとしたRSSであれば、ツリー構造で表示してくれるのが便利であって、これが、RSS 1.0のAnntationにより実現されていると勘違いしていました。

    なぜ勘違いしていたかというと、自分で生成した野良RSSは、Annotationを入れていたんですけれども、それをThunderbirdに読ませたら、見事ツリー構造になったからです。

    そして最近又野良RSSを作ることになったんですけれども、Annotationを入れるようにしっかり作ったのにツリー表示にならないのです。

    よーく見てみたら、title要素によってその違いが出ていました。

    いい例:

    ほげほげ
    Re[001]:ほげほげ
    Re[002]:ほげほげ

    悪い例:

    ほげほげ
    re[1]: ほげほげ
    re[2]: ほげほげ

    悪い例の方は、よーく見ると、re[1]:の後ろに半角スペースが入っているので、Thunderbirdがスレッドとして見なしてくれず、ツリー表示されなかったというわけ。

    あちこちに、ThunderbirdはRSS1.0のAnnotation対応していると書いちゃったので、訂正しないと……

    月別 アーカイブ

    ウェブページ

    OpenID対応しています OpenIDについて
    Powered by Movable Type 5.2.13

    このアーカイブについて

    このページには、2008年10月に書かれたブログ記事が新しい順に公開されています。

    前のアーカイブは2008年9月です。

    次のアーカイブは2008年11月です。

    最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。