操作
QA #1037
未完了URL貼り付けだけでリンク先のタイトル・要約を表示する
説明
■現象/要望¶
RedmineでURLを貼り付けたとき、SNSやメッセンジャーアプリのように
カード形式のプレビュー表示ができると良い。
(タイトル付きでリンクを書くのが面倒くさい)
■解決策¶
「はてなブログカード」サービスを利用する。
https://help.hatenablog.com/entry/blogcards
はてなブログ以外での利用について、はてなさんに問い合わせたところ
「使用に特に制限はない。ただしサーバ負荷が著しく高いなどの場合、使用をお断りすることがある」とのこと。
一般的なHPレベルの規模であれば問題なさそうである。
(類似したものにembed.flyというサービスがあるが、こちらは有料)
■対応状況¶
ViewCustomizeプラグイン導入で実現可能。
URLリンクを探して、すぐ下にブログカードを挿入する。
表示のカスタマイズ実装例:
//----------------------------------------
// URLリンクのサムネイル表示(はてなブログカード).
// @pattern .*
//----------------------------------------
$(function () {
// Wikiエリア内のURLリンクを全て調査.
$('div.wiki a[href^=http]').each(function (index, element) {
// リンク先と文字列が同じ=URLリンクと判定.
if ($(element).text() == $(element).attr('href')) {
var url = $(element).attr('href');
var iframe = $('<iframe>')
.prop('class', 'hatenablogcard')
.prop('frameborder', '0')
.prop('scrolling', 'no')
.prop('src', 'https://hatenablog-parts.com/embed?url=' + url);
$(element).after(iframe);
$(element).after('<br>');
}
});
})
■補足¶
「はてなブログカード」は外部サービスであるため、
一般公開されていないサイト(認証が必要なRedmineの内部リンクも含む)のタイトル・要約の取得はできない。
ファイル
操作