公開ソフト一覧

Chatwork MyStar

チャットワークに独自のスター機能を追加するChromeエクステンションです。 この拡張機能は **非公式** 機能です。チャットワークにスター機能が公式実装されるまでの繋ぎとして使ってください。

Chatwork MyStarは各メッセージの右上(日時の右側あたり)に「☆」ボタンを追加します。 また、チャットグループ名の右側に「☆スター付き」ボタンを追加します。

この(非公式)スター機能を使うと、Gmail等のように☆スター付けしたメッセージだけの表示が可能になります。 長く伸びたタイムラインでも重要な投稿が読みやすくなるのでとても便利です。 このエクステンションをChromeに組み込んでchatwork.comを利用してみてください。

最新版のダウンロードはGitHubから「Clone or download」→「Download ZIP」を選択してください。


Async CSS loader snippet inspired by github.com/filamentgroup/loadCSS/

外部CSSファイルを非同期で読み込むためのJavaScriptです。 このコードはfilamentgroup/loadCSSをさらに削りました。 minifyして<head>タグ内に埋め込んで使用してください。

non-critical CSSの読み込みに「非同期読み込み」の方法を使うと、ほとんどのモダンブラウザではレンダリングブロックが発生しなくなります。 これにより、HTMLページのファーストビュー部分(Above the fold)の表示速度が早くなり、閲覧者の利便性が向上します。

ファーストビュー(Above the fold)の表示は1秒以内、というハイパフォーマンスサイトの目安に従う場合、 非クリティカルなスタイルシートは非同期読み込みを使い、 クリティカルなスタイルは<head>タグの<style>にminifyして埋め込むことが多いようです。


PHP Parsedownエクステンション: noi/parsedown-newline

Parsedown/ParsedownExtra用のExtensionです。 Parsedown派生クラスのHTML変換処理に、全角文字に隣接した改行の処理を追加するクラスです。 composer対応

このエクステンションは、Markdownを日本語(全角文字)で書いたときに改行が意図しない空白になる問題を解決します。


PHP Parsedownエクステンション: noi/parsedown-rubytext

Parsedown/ParsedownExtra用のExtensionです。 Parsedown派生クラスにルビ定義用のMarkdown拡張記法を追加するクラスです。 composer対応

このエクステンションを組み込むと、Markdownでルビ指定ルビ定義が可能になります。 青空文庫ルビ形式Pixivルビ形式に対応したエクステンションも同梱しています。


Apache httpd-2.4.10 mod_proxy_fcgi 用 flush()対応化パッチ

Apacheの「mod_proxy_fcgi」モジュールでFCGIを実行すると、 何故かPerlでもPHP-FPMでもflush()が効かなくなってしまったので、 それを解決するパッチを作りました。
このパッチを当てるとCGIで flush した時と同じように、mod_proxy_fcgi経由のFCGIでも即座にブラウザに出力してくれるようになります。

※ただし、ネット上を探しても「mod_proxy_fcgiを使うとflush()されない!」という情報がほとんど出てこなかったので、 単に私のApache設定がおかしいだけでそれを直せばパッチは必要ないというオチがあるかもしれません。 とりあえず緊急でAjax用に対策しなければならなかったため、Apacheモジュール自体を修正して無理やり動作させました。

「flush()しても全くブラウザに反映されない」「何故か8KB程度ずつバッファリングされる」そんな場合はこのパッチを試してみてください。


PHP QueryPath 用エクステンション: FormatExtension

FormatExtension が提供する拡張メソッド format() と formatAttr() は、 選択したノードのテキストまたは属性値を指定コールバックで変換します。 composer対応:noi/querypath-format

これらの拡張メソッドを利用することで、 「DOMに値を埋め込むフェーズ」と「DOMの値を書式化するフェーズ」を分けることが可能になります。 コード全体の見通しを向上させたい場合に使用してください。


PHP QueryPath 用エクステンション: RepeatExtension

QueryPath 用 Extension です。 RepeatExtension を登録すると、選択中のノードを複製する拡張メソッド repeat() と repeatInner() が使用可能になります。 composer対応:noi/querypath-repeat


PHP用ライブラリ: ImapIdleClient

PHP 用 IMAP4 クライアントクラス。 PEAR/Net_IMAP クラスをベースに「IMAP IDLE」コマンドにも対応させたクラスです。 composer対応:noi/imap-idle


PHP用ライブラリ: ArrayWalker

array_walk() と array_map() のオブジェクト指向ラッパー。 配列内の要素を一括処理できるクラスです。 composer対応:noi/array-walker


php_sennaのページはこちら(古)