まだ重たいCMSをお使いですか?
毎秒 723リクエスト を捌く超高速CMS「adiary

2018/12/27(木)adiary Version3.20 リリース情報

ダウンロードはこちらから

Ver3.20の主な変更点

  • スタンドアローンHTTPサーバ機能を持った adiary.httpd.pl が開発されました。
  • Windows用実行ファイル adiary.exe が開発されました。
  • IE9, IE10のサポートを終了しました(対策コードを削除しました)。
  • 数字のみのコンテンツkeyを許可しました。
  • 各種高速化対策を行いました。

大きめの変更が多くなっています。

追加修正

  • 【28日00時】webpushプラグインに致命的なバグがあったためファイルを差し替えました。
  • 【28日23時】Windows版の adiary.exe を差し替えました。adiary.conf.cgi自動生成付き。

Ver3.20の変更点(詳細)

  • 数字のみのコンテンツkeyを許可しました。
    • 数字のみのコンテンツkeyを指定できるよう[link:XXX]記法を作成しました(詳細)。
    • 日付指定を path_info からqueryに変更しました。
    • 時刻による記事指定の仕様を変更し、[tm:XXX]記法を作成しました。
  • 高速化対策を行いました。(Google PageSpeed Insights
    • <script defer>を使用し、ページのロードを高速化しました。
    • 一部のCSSを遅延読み込みするよう変更しました。
    • CGI動作以外でのライブラリの自動更新チェックを1秒1回だけ実施するよう変更しました。
    • ブログ表示時に不要なjQuery UIをロードしなくなりました。
  • 【記法】「空行で段落処理(改行処理なし)」の時、行末スペース2つ以上を改行に置換するよう変更。
  • 【記法】Amazon紹介リンク作成機能(asinタグ、or URLフィルター機能)のリンク先を変更。
  • 【記法】URLの自動リンク機能を削除。*1
  • 【Markdown】リスト中のブランク行の後に先頭スペースを含む行があったとき、リストが続いているとみなすように変更。(本家準拠)
  • 【Markdown】途中空行を挟むリストがあった場合、リスト記号が異なれば違うリストと扱うように変更。*2
  • 【Markdown】リストの入れ子処理を変更し、本家の動作に近づけました。
  • 【アルバム】delキーでファイルやフォルダを削除できるようになりました。
  • 【plugin】webpushプラグインをRFC準拠で更新しました。EdgeHTML 17以降に対応しました。
  • 【plugin】twitterモジュールを更新しました。
  • 【plugin】360度写真用ビューアプラグインを更新しました。
  • 【fix】AmaoznのアフィリエイトIDに「.(ドット)」を含む場合、正しく保存されない。
  • 【fix】同時編集ロック機能での誤検出がまだ発生していた。
  • 【fix】ブログのコピーを作成した際、設定を保存しないとブログタイトルなどがブログ一覧に反映されない。
  • 【fix】検索プラグインのradioボタンが文字で選べない。
  • 【fix】DirectoryIndexに設定されたときの検出に失敗する。
  • 【fix】サブドメインモードかつ https の時、Canonical URL等がおかしい。
  • 【fix】アルバムで、101個以上のファイルを一度にアップロードできない。
  • 【fix】blogid に"te-st"のように不正文字が含まれても正しく表示されてしまう。
  • 【fix】画像がセンタリングや右揃えされない。(Thanks to あさリがいっぱい
  • 【fix】システムinfoモジュールの時間表示が不正確。
  • 【fix/入力記法】calc記法の変数領域が、CGIキャッシュ環境において分離されてしまう。(Thanks to nomura
  • 【fix/Markdown】リストブロックの処理に問題があった。(Thanks to epg
  • 【fix/Markdown】<p>で段落ブロックを切り出す際、余計なブランク行を挿入していた。
  • 【fix/Markdown】フィルター記法などのさつきタグが、正しく動作しない。(Thanks to nomura
  • 【fix/mod_perl】adiary.mod.cgi が起動できない。
  • 【fix/アルバム】フォルダを3個連続で作ると動作がおかしくなる。
  • 【fix/TagEscpae.pm】すべての属性で「xxx:」といった文字列が書けなくなっていた。*3
  • 他多数

*1 : ほぼ使われてないようですし、実装にややこしい問題があるので削除しました。

*2 : 本家非準拠の動作ですが、この方が使いやすいと思うので影響の少ない範囲で変更しました。問題がある場合は skel/parser/markdown.html を skel.local/parser/markdown.html にコピーして編集してください。

*3 : これによりstyle属性にCSSを書くことが困難になっていた。

2018/12/26(水)Twitterウイジェットの仕様と構造メモ (2018/12)

はてブ数

Twitter-widgetの仕様がまた変わっていたのでメモ。

変わったこと

  • widget-idが不要になりました。
  • https://publish.twitter.com/ にTwitter URLを入れると埋め込みコードを取得できます。

タイムライン埋め込みコードの例

<a class="twitter-timeline" href="https://twitter.com/nabe_abk">Tweets by nabe_abk</a>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

シンプルになりました。

aタグのオプション(公式)

  • data-width="600" 表示の横幅
  • data-height="600" 表示の縦幅
  • data-theme="dark" ダークテーマ(デフォルトは light)
  • data-link-color="#000080" リンク色
  • data-dnt="true" Do not track

aタグのオプション(非公式)

従来との互換性のために残されているようです。aタグのdata-chrome属性に以下の文字列を指定することで有効になります。

  • noheader ヘッダ非表示
  • nofooter フッタ非表示
  • noborders 境界線非表示
  • noscrollbar スクロールバー非表示
  • transparent 背景透過

展開されるHTML

iframeに展開されます。

<iframe id="twitter-widget-0"
	scrolling="no" allowtransparency="true" allowfullscreen="true"
	class="twitter-timeline twitter-timeline-rendered"
	style="position: static; visibility: visible; display: inline-block; width: 100%; height: 600px; padding: 0px; border: medium none; min-width: 180px; max-width: 100%; margin-top: 0px; margin-bottom: 0px; min-height: 200px;"
	data-widget-id="profile:nabe_abk" title="Twitterタイムライン"
	frameborder="0"></iframe>

iframeの中身

<div class="timeline-Widget" data-iframe-title="Twitterタイムライン" lang="ja">

<div class="timeline-Header timeline-InformationCircle-widgetParent">
	<div class="timeline-InformationCircle">
		<a href="" class="Icon Icon--informationCircleWhite js-inViewportScribingTarget"
			<span class="u-hiddenVisually">Twitter広告の情報とプライバシー</span>
		</a>
	</div>
	<h1 class="timeline-Header-title u-inlineBlock">
		<span><a href="">‎@nabe_abk</a>さんの</span>ツイート
	</h1>
</div>

<div class="timeline-Body customisable-border">
	<div class="timeline-Body-notification timeline-NewTweetsNotification new-tweets-bar">
		<button class="timeline-ShowMoreButton">新しいツイートを読み込む</button>
	</div>

	<div class="timeline-Viewport">
		<ol class="timeline-TweetList">
		<li class="timeline-TweetList-tweet customisable-border">
			※1つのツイート(以下)
		</li></ol>

		<div class="timeline-LoadMore">
			<button class="timeline-LoadMore-prompt timeline-ShowMoreButton customisable">
				ツイートをさらに表示
			</button>
			<p class="timeline-LoadMore-endOfTimelineMessage no-more-pane">
				このタイムラインのツイートは以上です。
			</p>
		</div>
	</div>
</div>

<footer class="timeline-Footer u-cf">
	<a class="u-floatLeft"  href="">埋め込む</a>
	<a class="u-floatRight" href="">Twitterで表示</a>
</footer>

</div>

1つのツイート詳細。

<div class="timeline-Tweet  u-cf js-tweetIdInfo js-clickToOpenTarget">
	<div class="timeline-Tweet-brand u-floatRight">
		<div class="Icon Icon--twitter " title="Twitterで表示">
	</div>

	<!-- リツイート時のみ -->
	<div class="timeline-Tweet-retweetCredit">
		<div class="timeline-Tweet-retweetCreditIcon">
			<div class="Icon Icon--retweetBadge "></div>
		</div>
		XXXXさんがリツイートしました
	</div>

	<div class="timeline-Tweet-author js-inViewportScribingTarget">
		<a class="TweetAuthor-avatar Identity-avatar u-linkBlend" href="">
			<img class="Avatar" src="***.jpg">
		</a>
		<div class="TweetAuthor js-inViewportScribingTarget">
			<a class="TweetAuthor-link Identity u-linkBlend" href="">
			  <div class="TweetAuthor-nameScreenNameContainer">
			    <span class="TweetAuthor-decoratedName">
			        <span class="TweetAuthor-name Identity-name customisable-highlight">nabe@abk</span>
			    </span>
			    <span class="TweetAuthor-screenName Identity-screenName">@nabe_abk</span>
			  </div>
			</a>
		</div>
	</div>

	<p class="timeline-Tweet-text" lang="ja">(ツイート内容)</p>

	<div class="timeline-Tweet-metadata">
		<a href="" class="timeline-Tweet-timestamp">
			<time datetime="2018-12-22T00:00:00+0000">
				2018年12月22日
			</time>
		</a>
	</div>

	<ul class="timeline-Tweet-actions" aria-label="ツイートアクション">
		略
	</ul>
</div>

2018/08/24(金)[RFC]WebPush実装まとめ(Chrome/Firefox/Android/Edge)

2018/08/11(土)adiary Version3.16 リリース情報

ダウンロードはこちらから

Ver3.16の変更点

  • 画像アルバムモードを追加(詳細設定)。
  • adiary.conf.cgi.sample のパーサー設定の説明と順番を変更。
  • 更新通知Ping送信先から http://blogsearch.google.co.jp/ping/RPC2 を削除。
  • プライベートブログでは更新通知を送らないように変更。
  • irisテーマを再録。
  • 印刷用テーマ _sagiri を収録。
  • 「<input><label></label>」を「<label><input></label>」に書き換え。
  • 印刷用テーマで、ユーザーCSS(カスタムデザインを含む)を無効化。
  • 【plugin】サイドタグモジュールで、表示階層などを選択できるように変更。複数配置に対応。(Thanks to nomura
  • 【plugin】カレンダーモジュールで、山の日、2020年の祝日移動に対応しました。
  • 【plugin】基本情報モジュールで、印刷用テーマを選択できるようにしました。*1
  • 【fix】https:// 接続時に生成されるリンクが一部 http:// になっていた。
  • 【fix】Edgeのバグ対応のため、dateのmaxを "2914-12-31" に変更。(Thanks to epg
  • 【fix】同時編集検出に、アンロックがうまくいかない不具合があった。
  • 【fix/Markdown】引用などブロックの入れ子が起こると、目次記法(*toc)が出力されない。(Thanks to Kaede)

なお、Ver3.15はC94 Special Editionとしての配布のみとなり、一般リリースVersionとしては欠番です。

*1 : 複数存在する場合のみ

OK キャンセル 確認 その他