Submit Search
Upload
oEmbed と Text::Hatena
•
1 like
•
1,969 views
Yasuhiro Onishi
Follow
はてなブログでのoEmbed活用例など
Read less
Read more
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
Hatena blogdevelopmentflow
Hatena blogdevelopmentflow
Yasuhiro Onishi
HTML5 開発環境の紹介
HTML5 開発環境の紹介
tomo_masakura
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
Yuuki Nara
100% GPL
100% GPL
Yuriko IKEDA
HTML5 アプリ開発
HTML5 アプリ開発
tomo_masakura
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座
Shinichi Nishikawa
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
Tetsuya Tatsumi
Recommended
Hatena blogdevelopmentflow
Hatena blogdevelopmentflow
Yasuhiro Onishi
HTML5 開発環境の紹介
HTML5 開発環境の紹介
tomo_masakura
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
Yuuki Nara
100% GPL
100% GPL
Yuriko IKEDA
HTML5 アプリ開発
HTML5 アプリ開発
tomo_masakura
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座
Shinichi Nishikawa
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
Tetsuya Tatsumi
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
タカシ キタジマ
WP-CLI (WordBench Sendai 20140628)
WP-CLI (WordBench Sendai 20140628)
Kazue Igarashi
ソフトウェア開発が好きだ
ソフトウェア開発が好きだ
Koichi Ota
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
Yuki Okamoto
第3回WordPress Cafe プラグイン紹介
第3回WordPress Cafe プラグイン紹介
foom_in
SaCSS vol.56 こんなに素敵なBrackets!
SaCSS vol.56 こんなに素敵なBrackets!
Atsushi Handa
Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例
Koichi Ota
え?まだMAMPで消耗してんの?
え?まだMAMPで消耗してんの?
Takayuki Miyauchi
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
Takashi Uemura
gulp芸
gulp芸
Yuki Ishikawa
続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j
Toshiaki Maki
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
Application Bootstrap
Application Bootstrap
Takafumi ONAKA
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
yoshikawa_t
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
Launch a Web Service in 3 Days Using WordPress
Launch a Web Service in 3 Days Using WordPress
Kite Koga
WP REST API の活用事例と今後
WP REST API の活用事例と今後
Yuusuke Yoshida
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
Kazue Igarashi
明日から使えるコーディングツール
明日から使えるコーディングツール
Tomokazu Kiyohara
WordPress初心者テーマ作成勉強会
WordPress初心者テーマ作成勉強会
Tsuyoshi.
More Related Content
What's hot
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
タカシ キタジマ
WP-CLI (WordBench Sendai 20140628)
WP-CLI (WordBench Sendai 20140628)
Kazue Igarashi
ソフトウェア開発が好きだ
ソフトウェア開発が好きだ
Koichi Ota
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
Yuki Okamoto
第3回WordPress Cafe プラグイン紹介
第3回WordPress Cafe プラグイン紹介
foom_in
SaCSS vol.56 こんなに素敵なBrackets!
SaCSS vol.56 こんなに素敵なBrackets!
Atsushi Handa
Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例
Koichi Ota
え?まだMAMPで消耗してんの?
え?まだMAMPで消耗してんの?
Takayuki Miyauchi
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
Takashi Uemura
gulp芸
gulp芸
Yuki Ishikawa
続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j
Toshiaki Maki
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
Application Bootstrap
Application Bootstrap
Takafumi ONAKA
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
yoshikawa_t
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
Launch a Web Service in 3 Days Using WordPress
Launch a Web Service in 3 Days Using WordPress
Kite Koga
WP REST API の活用事例と今後
WP REST API の活用事例と今後
Yuusuke Yoshida
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
Kazue Igarashi
What's hot
(20)
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
WP-CLI (WordBench Sendai 20140628)
WP-CLI (WordBench Sendai 20140628)
ソフトウェア開発が好きだ
ソフトウェア開発が好きだ
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
第3回WordPress Cafe プラグイン紹介
第3回WordPress Cafe プラグイン紹介
SaCSS vol.56 こんなに素敵なBrackets!
SaCSS vol.56 こんなに素敵なBrackets!
Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例
え?まだMAMPで消耗してんの?
え?まだMAMPで消耗してんの?
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
gulp芸
gulp芸
続・Twitter bootstrap入門 #html5j
続・Twitter bootstrap入門 #html5j
とある Perl Monger の働き方
とある Perl Monger の働き方
Application Bootstrap
Application Bootstrap
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Launch a Web Service in 3 Days Using WordPress
Launch a Web Service in 3 Days Using WordPress
WP REST API の活用事例と今後
WP REST API の活用事例と今後
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
Similar to oEmbed と Text::Hatena
明日から使えるコーディングツール
明日から使えるコーディングツール
Tomokazu Kiyohara
WordPress初心者テーマ作成勉強会
WordPress初心者テーマ作成勉強会
Tsuyoshi.
Firefox5+HTML5×5
Firefox5+HTML5×5
dynamis
Polymerやってみた
Polymerやってみた
Yosuke Onoue
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
アシアル株式会社
沖縄Web+db勉強会 20121026
沖縄Web+db勉強会 20121026
Shusaku Fukumine
APIMeetup 20170329_ichimura
APIMeetup 20170329_ichimura
Tomohiro Ichimura
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Kengo Okitsu
URL短縮サービスを利用した文字列情報圧縮の新たな試み
URL短縮サービスを利用した文字列情報圧縮の新たな試み
Akira Niiyama
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話
Masayuki Morita
Chatterを使ったカスタムソーシャル
Chatterを使ったカスタムソーシャル
Salesforce Developers Japan
nameless ある沼にDeepDiveした人のポートフォリオ
nameless ある沼にDeepDiveした人のポートフォリオ
c-mitsuba
WordPressって何
WordPressって何
Kazue Igarashi
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
Tsuubito Ishii
Wp html5
Wp html5
regret raym
Rails and twitter #twtr_hack
Rails and twitter #twtr_hack
i7a
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks
Yuuki Namikawa
第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)
Hiroki Ishikawa
RESTとRailsスタイル
RESTとRailsスタイル
Toru Kawamura
Similar to oEmbed と Text::Hatena
(20)
明日から使えるコーディングツール
明日から使えるコーディングツール
WordPress初心者テーマ作成勉強会
WordPress初心者テーマ作成勉強会
Firefox5+HTML5×5
Firefox5+HTML5×5
Polymerやってみた
Polymerやってみた
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
沖縄Web+db勉強会 20121026
沖縄Web+db勉強会 20121026
APIMeetup 20170329_ichimura
APIMeetup 20170329_ichimura
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会
URL短縮サービスを利用した文字列情報圧縮の新たな試み
URL短縮サービスを利用した文字列情報圧縮の新たな試み
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話
Chatterを使ったカスタムソーシャル
Chatterを使ったカスタムソーシャル
nameless ある沼にDeepDiveした人のポートフォリオ
nameless ある沼にDeepDiveした人のポートフォリオ
WordPressって何
WordPressって何
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
Wp html5
Wp html5
Rails and twitter #twtr_hack
Rails and twitter #twtr_hack
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks
第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)
RESTとRailsスタイル
RESTとRailsスタイル
More from Yasuhiro Onishi
開発合宿!!!!
開発合宿!!!!
Yasuhiro Onishi
wget.pl
wget.pl
Yasuhiro Onishi
Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理
Yasuhiro Onishi
The new Text::Hatena
The new Text::Hatena
Yasuhiro Onishi
新はてなダイアリーの裏側
新はてなダイアリーの裏側
Yasuhiro Onishi
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
Yasuhiro Onishi
More from Yasuhiro Onishi
(6)
開発合宿!!!!
開発合宿!!!!
wget.pl
wget.pl
Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理
The new Text::Hatena
The new Text::Hatena
新はてなダイアリーの裏側
新はてなダイアリーの裏側
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
oEmbed と Text::Hatena
1.
oEmbed と Text::Hatena
2012/3/17 id:onishi 株式会社はてな 大西康裕
2.
自己紹介 • id:onishi /
大西康裕 • 株式会社はてな • チーフエンジニア • はてなダイアリー/ブログ ディレクター • Devel::KYTProf • Text::Hatena • 正規表現だけで何とかしようとしすぎる
3.
動画埋め込み
4.
埋め込みタグ
5.
はてな記法 [http://www.youtube.com/watch?v=XDB9-‐TUrzc0:movie]
6.
その実装 • 動画サービス毎に個別対応 • 正規表現もりだくさん •
サイトの変更に追従するのたいへん • :movie :image :sound ...
7.
oEmbed • URL 埋め込み仕様 •
写真や動画コンテンツをサードパー ティに埋め込むためのAPI • http://oembed.com/
8.
oEmbed - spec •
URL scheme: http://www.flickr.com/photos/* • API endpoint: http://www.flickr.com/services/oembed/
9.
oEmbed - request •
url • maxwidth (optional) • maxheight (optional) • format (optional) JSON or XML
10.
oEmbed - response {
"version": "1.0", "type": "photo", "width": 240, "height": 160, "title": "ZB8T0193", "url": "http://farm4.static.flickr.com/3123/2341623661_7c99f48bbf_m.jpg", "author_name": "Bees", "author_url": "http://www.flickr.com/photos/bees/", "provider_name": "Flickr", "provider_url": "http://www.flickr.com/" }
11.
Web::oEmbed https://metacpan.org/module/Web::oEmbed use Web::oEmbed; my
$consumer = Web::oEmbed-‐>new({ format => 'json' }); $consumer-‐>register_provider({ url => 'http://*.flickr.com/*', api => 'http://www.flickr.com/services/oembed/', }); my $response = $consumer-‐>embed("http:// www.flickr.com/..."); print $response-‐>render; #=> <img />
12.
oEmbed - provider
13.
oEmbed - discovery <link
rel="alternate" type="application/json+oembed" href="http://flickr.com/services/oembed?url=...&format=json" title="..." /> <link rel="alternate" type="text/xml+oembed" href="http://flickr.com/services/oembed?url=...&format=xml" title="..." />
14.
Text::Hatena::Embed [http://www.youtube.com/watch?v=XDB9-‐TUrzc0:embed]
15.
Text::Hatena::Embed • Web::oEmbedにプロバイダをプリセット • endpoint
Auto-Discover
16.
遅い
17.
リクエストしたくない <script src="https://gist.github.com/$GIST_ID.js"></script> <iframe width="420"
height="315" src="http://www.youtube.com/embed/$VIDEO_ID"></iframe>
18.
Text::Hatena::Embed • 定義済の変換を正規表現で行う • Web::oEmbedにプロバイダをプリセット •
endpoint Auto-Discover
19.
instagram貼れへんの?
20.
oEmbed非対応サイト • 写真共有サイトでもoEmbed対応サイ トは少ない •
oEmbedには対応していなくてもアレ に対応している!!
21.
22.
Text::Hatena::Embed • 定義済の変換を正規表現で行う • Web::oEmbedにプロバイダをプリセット •
endpoint Auto-Discover • og:image を取得して画像タグを出力
23.
Text::Hatena::Embed https://github.com/onishi/Text-Hatena-Embed my $embed
= Text::Hatena::Embed-‐>new; print $embed-‐>render($url);
24.
まとめ • oEmbed べんり •
べんりモジュール公開しましたー • Embed も含んだ Text::Hatena フルセット 最新版を今春リリース予定 • ついでにはてなブログも正式化
25.
ご清聴ありがとうございました
Download now