#author("2020-04-28T12:00:06+09:00","","")
#author("2020-04-28T18:26:56+09:00","","")
** amptwitter.inc.php [#q7605c11]
|RIGHT:100|LEFT:360|c
|~サマリ|AMP-Twitterに対応するプラグイン|
|~リビジョン|0.9|
|~リビジョン|1.1|
|~対応バージョン|1.4.7|
|~投稿者|[[m0370]]|
|~投稿日|&new{2020-04-28 (火) 07:51:28};|
PukiwikiをAMP化するとtweet_inc.inc.phpを使うとAMPエラーが出るので、AMP-twitterスクリプトに対応するツイート引用プラグインを作成しました。

これを使うにはヘッダーでAMP-twitterのスクリプトをインクルードしておくことが必要です(pukiwiki.skin.phpのHTMLコードに直打ちが必要)。

AMP公式のAMP-twitterスクリプトの仕様自体が未完成でlayoutやサイズ指定が効かないので、現時点ではresponsive表示にしか対応していません。
* 記載方法 [#ib313ab9]

 <?php
 
 // 'amptwitter' plugin for PukiWiki ver.0.9
 // author: m0370
 // Twitter: @m0370
 
 // ver1.0 (2019.9.10)
 // ひとまずAMP-twitterのタグを出力する機能を実装しました。
 
  function plugin_amptwitter_convert()
 {
  $amptw = func_get_args();
  $tweetid = $amptw[0];
  $layoutarray = array('fill','fixed','fixed-height','flex-item','nodisplay');
  $amptwl = in_array($apmtw[1], $layoutarray);
  if ($amptwl){
     $layout = $amptw[1]; 
 } else{
     $layout = "responsive";
 }
  return <<<EOD
  <amp-twitter
 	data-tweetid="$tweetid"
 	width="800"
 	height="600"
 	layout="$layout">
  </amp-twitter>
  EOD;
 }
 ?>
> #amptwitter(1254597997008060416,responsive,400,400)

ツイートを引用したい場合は第1引数をツイートIDにします。第2引数にレイアウトを選択できるようにする予定ですが、AMP公式のAMP-twitterスクリプトの仕様自体が未完成でサイズ指定が効かないので、現時点ではサイズ設定には対応していません。(これはこのプラグインの問題というよりは、本家のAMP-Twitterスクリプトの問題です)

- 第1引数(必須):ツイートID
- 第2引数:レイアウト(fill fixed fixed-height flex-item intrinsic nodisplay responsiveのいずれか。省略可、省略時のデフォルトはresponosive)
- 第3引数:width(整数。省略可、省略時のデフォルトは400)
- 第4引数:height(整数。省略可、省略時のデフォルトは400)

**ver1.1 [#ne68e39e]
layout, width, heightの設定に対応しました。

*スクリプト [#p53013ac]
下記のスクリプトをテキストファイルに貼りつけて、ファイル名をamptwitter.inc.phpとしてpluginのフォルダにアップロードします。

> <?php
> 
> // 'amptwitter' plugin for PukiWiki ver.1.1
> // author: m0370
> // Twitter: @m0370
> 
> // ver1.0 (2020.4.27)
> // ひとまずAMP-twitterのタグを出力する機能を実装しました。
> // ver1.1 (2020.4.28)
> // layout, width, heightの設定に対応しました。
> 
> function plugin_amptwitter_convert()
> {
> $amptw = func_get_args();
> $tweetid = $amptw[0];
> 
> if ($amptw[1] == 'fill' || $amptw[1] == 'fixed' || $amptw[1] == 'fixed-height' || $amptw[1] == 'flex-item' || $amptw[1] == 'nodisplay') {
> 	$layout = $amptw[1];
> } else {
> 	$layout = 'responsive';
> }
> 
> if(is_numeric($amptw[2])) {
> 	$width = $amptw[2];
> } else {
> 	$width = 400;
> }
> 
> if(is_numeric($amptw[3])) {
> 	$height = $amptw[3];
> } else {
> 	$height = 400;
> }
> 
> return <<<EOD
> <amp-twitter
> 	data-tweetid="$tweetid"
> 	width="$width"
> 	height="$height"
> 	layout="$layout">
> </amp-twitter>
> EOD;
> }
> ?>



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.055 sec.

OSDN