WindowsLiveWriter

あなたのアイテムが公開されました」の記事に、JZ5様から、

SmartContentSourceではないバージョンもあると嬉しいです

というコメントをいただいたので、ちょっと試してみたんだが、うまくいかない。

Web Thumbnailはおっしゃるとおり、SmartContentSourceというクラスを使っている。これは、リンクを挿入したのち、右にGUIを表示して動的に編集するためのベースクラス。プラグインを作成するときは、このクラスから派生させて作成する。

これとは別に、特に右にGUIを表示する必要もなく、動的に編集する必要もなければ、SmartContentsSourceではなく、ContentSourceというクラスを使用しても、プラグインを作ることができる。

SmartContentSourceを使ってプラグインを作成した場合、動的に編集するために、HTMLの編集するポイントを示すために、生成したHTMLは、<div>タグでくくられる。

逆に、ContentSourceを使った場合は、動的に編集しないので、余分な<div>タグは生成されない。きれいなHTMLを生成するためには、ContentSourceを使用するのも一つの方法だ。

ということで、先のリクエストは、おそらく、きれいなHTMLを出力したいという要望が根底にあると思われる。

ということで、ContentSourceを使って書きなおすことを試みてみた。が、うまくいかない。

Web Thumbnailでは、サムネイル画像を生成して、Blogに張り込む必要がある。この張り込む方法として、ISupportingFilesを使用している。

SmartContentSourceクラスには、GeneratePublishHtml()関数がある。これは、HTML文字列を生成する必要があるときに、呼び出される関数である。この関数には、一つの記事の中に複数、挿入されたときに、どの挿入に対応するHTMLを生成すればよいのかを示すISmartContentが渡されてくる。

このISmartContentには、Filesと呼ばれるプロパティがあって、これがISupportingFilesである。イメージファイルを追加したり、そのファイルに対応したURLを生成したりというメソッドが実装されている。

が、

ContentSourceを使うと、動的にHTMLを生成しないので、GeneratePublishHtml()関数がない。すなわち、ISmartContentがない。ということは、生成したサムネイル画像が追加できない。。。

ありゃりゃ。困った。

トラックバック(0)

トラックバックURL: http://www.cagylogic.com/cgi-bin/MovableType/mt-tb.cgi/1264

コメント(2)

こんにちは。意外と難しそうなものだったのですね。
綺麗なHTMLというよりも画像として貼り付けられれば、画像のエフェクト(影付きなど)が使用できるかなと思ったのですが。

手動トラックバック。一応可能ではあるようです。

コメントする

ウェブページ

カテゴリ

アーカイブ

2010年7月

        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

このブログ記事について

このページは、が2007年12月18日 00:01に書いたブログ記事です。

ひとつ前のブログ記事は「M42」です。

次のブログ記事は「WLWでの折り返しにおける考察」です。

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