カテゴリ | その他 |
サマリ | rss の titleやdescription について |
バージョン | 共通 |
投稿者 | Tomose |
状態 | 質問 |
投稿日 | |
dev:BugTrack/721 にも関連。
ページのタイトル(ファイル名)と「期待されるタイトル」には差があるケースがあります。例えば「質問箱/5254」に期待されるタイトルは「div#bannerについて」とかではないか、という話です。
例えばページ内の h1要素:pukiwikiでの記載を正規表現風に書けば「^\*{1}([^\*.]+)」を拾うようなことはできないでしょうか?
同様に、description をページ内の固定xxx文字ではなく、例えば「最初のh要素直後」~「次のh要素の直前」にする、などです。
個人的ローカルに rssプラグインを書き換えかけていたのですが、(現状未実装の)Trackbackなどにも応用できる話だと思うので、lib の下にいれるとかできないかな、と考えています。
- 補足。例えば function get_page_description($page, $mode) というようなものを作りませんか?という話です。 -- Tomose
- こんにちは。どちらかというと改造相談ですね? 特化しすぎたライブラリ関数が追加されることは今後とも、私以外の人間が対応するとしてもまず起こらないでしょう。誰がやっても累積的に大変になりますから。ただ、想定されているニーズはとても自然で、重要なものだと思います。私の読み間違いでないのであれば、そのニーズ(所定のページから所定のフォーマットに沿って所定の部分を取り出す)をもう少し汎用化した処理がtrackerプラグインの中にあるはずです。trackerを参考にプラグインを作るのはいかがですか? -- henoheno
- trackerはフォーマットを固定することによってページからの内容取り出しを実現しているので、ページの内容が可変である場合には別の工夫が無ければ実現しないでしょう。 -- henoheno
- 素早い回答ありがとうございます。確かに改造相談、ですね。 -- Tomose
- 失礼、書き込んでしまいました。確かに「決まったフォーマットに基づいてtitle/descriptionを動的に作ろう」という話なので、tracker 的なものでできそうですね。もう少し考えてみます。 -- Tomose
- たしかPukiWiki Plus!にはページ名(URL)とは別にタイトルを設定する機能がありましたね。URLをシンプルにしつつ、タイトルは(日本語で)分かりやすいものにしたいという要求はよくわかります。一方でシンプルさ(使うときに余計なことを考えなくていいというユーザー視点も含む)とのトレードオフでもあるので、悩ましいところです。まぁでもこのぐらいの機能あってもいいかもしれませんね -- umorigu
- どうもです。rssを視野に入れているので、ある程度汎用的に考えざるを得なかったため、いろいろ考えた結果、ページ名の種類(例えばここだと「質問箱xxxx」)ごとにタイトル・概要を切り出すルールを正規表現で書けるようなプラグインを作りました。特殊なルールがなければ「ページ名をタイトルに」「本文先頭x文字を概要に」する方針です。ご意見ありがとうございました。 -- Tomose
- ページの内容が可変であっても一定のデータ抽出を行うための汎用的な方法は実現すると思うのですが、それ(情報とのその構造に関する操作)を扱いやすく提供するシステムが必要です。そうしたモノが実現していない現在は、ある意味過渡期ですね。 -- henoheno
- なるほど、確かに過渡期ゆえの問題の側面があると思います。例えば全ページを tracker的なもので「システム的に and 構造的に」記載できているなら機械的にできるでしょうし。とはいえ、すでに作成済・運営されている過去ページをそのために見直すのもアレですし。友瀬が作ったプラグインも、正規表現でやる==ある程度定型的にやっている、という前提がありますしね。 -- Tomose
- 無理矢理やってるとやっぱり苦しいところがありますね、という情報共有。概要作成のために全文をconvert_htmlしてるんですが、そうすると article などの「場所特定のために呼び出される回数を数える」仕組みを持つプラグインがそれを空カウントしてしまいます:概要作成だと convertした結果を捨ててしまうので。作った概要を画面表示しないrss/trackback などではこれでも問題ないのですが、画面表示しようとすると[ダメな感じ。「プラグイン部分を実行しないで削除するconvert」とかしないとならんかな、という感じでした。 -- Tomose