メモの日々


2019年02月25日(月) [長年日記]

[shell] パス名展開でドットファイルにもマッチさせる

シェルでパス名展開をするとき、通常はドットファイルが無視される。

$ touch a .a
$ echo *
a

ドットファイルも含んでほしい時はどうするか。

Bashの場合

dotglob というシェルのオプションを有効にするとドットファイルもマッチするようになる。

$ (shopt -s dotglob; echo *)
a .a

Zshの場合

GLOB_DOTSというオプションで同様のことができるが、Glob QualifiersのDを使う方がお手軽。

% (setopt glob_dots; echo *)
a .a
% echo *(D)
a .a

2019年02月27日(水) [長年日記]

[tdiary] tDiaryを5.0.11へバージョンアップ

tDiaryを5.0.11へバージョンアップした。前回のバージョンアップは4年前。いつものように色々メモ。

トップディレクトリ

  • 旧バージョンから次をコピーする。
    • .htaccess
    • index.rdf
    • mimetex.xcg
    • tdiary.common.conf
    • tdiary.conf
  • index.rbとupdate.rbをそれぞれindex.cgiとupdate.cgiという名前のファイルにコピーする。スレッドメモから参照されるので.rbの方も残しておく必要がある。
  • 次のファイルに実行権限を付与する。
    • index.cgi
    • update.cgi
    • mimetex.xcg

プラグイン

  • 旧バージョンの misc/plugin/ から次をコピーする。
    • jdate.rb
    • mimetex.rb
    • refedit2.rb
    • section_permalink.rb
    • section_permalink_anchor.rb
    • title_anchor.rb
  • プラグインの設定画面で、category.rb ではなく category-legacy.rb を使うようにする。(categoryプラグインは新しい実装に切り替わっていた。でも、新版は旧版と振る舞いが異なるので旧版を使う。)
  • category-legacy.rbに、新しい順表示にする修正を行う。修正内容は以前のメモを参照せよ。

2019年02月28日(木) [長年日記]

[web] HTMLにviewportを指定する

本サイトの日記以外の部分は、スマートフォンで表示すると文字が小さく見難かった。これを改善するためにHTMLのヘッダへ

<meta name="viewport" content="width=device-width,initial-scale=1">

というタグを追加した(日記についてはtDiaryがこのタグを出力しているので対処不要)。とはいえ、すべてのHTMLに追記するのは大変なので主なものだけ。

viewportはCSSでも指定でき、ならばその方が便利なのだけれど、試した範囲では指定が適用されているように見えなかった。

さて、上のmetaタグは何を意味しているのか。MDNのmeta要素のページに少し説明がある。

viewport は、ビューポートの初期サイズに関する助言を与えます。モバイル端末のみで使用されます。

この属性は標準化されていませんが、事実上優勢であるためほとんどのモバイルブラウザーで使用されています。

ということで、モバイル端末用の設定のようで、モバイル端末からアクセスされるウェブページにはもれなく記述すべきものに思える。

viewportのwidthには「ビューポートの幅をピクセル数で」を指定する。ビューポートとは何なのかがはっきりしないが、ブラウザがウェブページをレンダリングする際の仮想的な領域と考えればいいのかな。device-widthを指定するとブラウザの表示領域の幅のピクセル数と等しい値になる模様。

viewportのinitial-scaleには「デバイスの幅 (ポートレートモードでの device-width またはランドスケープモードでの device-height) とビューポートの寸法との比率」を指定する。widthを指定すれば計算できる値なのでwidthと同時に指定するのはおかしい気がするけど、同時に指定する例ばかり見る。

metaタグの指定なしのデフォルトで width=device-width であるべきだと思うのだけれど、それだと都合の悪いページが多いのだろうか。