たつをの ChangeLog

103 件 見つかりました。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [ 次へ ]

紆余曲折10年、やっとこさこのブログを UTF-8 にしました。

巨大な1ファイルのマスターテキスト(ChangeLogファイル)を chalow というツールで HTML に変換してサーバにアップするというのがこのブログのスタイル。
歴史的経緯から今までは ChangeLog ファイルの文字コードが EUC-JP でした。
それにあわせて chalow も EUC-JP 前提。
そこらへんをえいやっとガシガシやって、この週末になんとか完全 UTF8 化を実現しました。

ところどころおかしな部分があるかもしれません。
気づいたらばお知らせいただければ幸いです。
下記のメッセージ欄やツイッター(@yto)にて。
よろしくお願いします。

関連記事


いまさらですが、Wiki的(またはMarkdown的)なリスト記法を処理して HTML の ul, li に変換するスクリプトを書いてみました。たまには再帰するプログラム書かないと、というリハビリ的な感じです。車輪の再発明は気にしない。というか、そもそも、ブログツール chalow 用に書いたもの。現在テスト中。

仕様

  • 対応するリスト記法
    • ("[ ]" は半角スペースを表す)
    • 行頭の "-" の連続
      • サブアイテムは "--[ ]", "---[ ]" という順に深くなる。
        - a
        -- aa
        -- ab
        --- aba
        -- ac
        - b
        - c
        -- ca
        
    • 行頭の "-" とその前のスペース
      • サブアイテムは例えば "[ ][ ]-[ ]", "[ ][ ][ ][ ]-[ ]" という順に深くなる。
        - a
          - aa
          - ab
            - aba
          - ac
        - b
        - c
          - ca
        
  • リストの開始タグと終わりタグ
    • これらがないと、リストの終わりがわからなくなる。
      • リスト中の空行を禁止するなどの措置が必要になり、個人的に困る。
    • とりあえず、[ul][/ul]で囲む。
      [ul]
      - a
        - aa
          bbb
        - ac
      - b
      
      bbb
      - c
      [/ul]
      

プログラムと実行例


■コード (conv-ulli.pl)
#!/usr/bin/env perl
use strict;
use warnings;
my $str = join("", <>);
$str =~ s{\[ul\](.+?)\[/ul\]}{make_ul_list_html($1)}gmse;
print $str;
sub make_ul_list_html {
    my ($str) = @_;
    my $new_str = "";
   if ($str =~ m/^(-+|^ *-) /ms) {
        my $hd = $1;
        while ($str =~ m{^($hd .+?)(?=(^$hd |\z))}gms) {
           my $item_con = $1;
            $item_con =~ s{^$hd (.+?)(?=(^-+|^ *-|\z))}{}ms;
            my $item_str = $1;
            chomp $item_con;
            chomp $item_str;
	    # $item_str =~ s{^\s+}{}gm; # 字下げスペース削除
           $new_str .= "<li>$item_str"
                .make_ul_list_html($item_con)."</li>\n";
        }
   }
    return $new_str ? "\n<ul>\n$new_str</ul>\n" : $str;
}

■サンプルデータ (conv-ulli-test.txt)
hello
[ul]
- a
<pre>
abab
  ababa
    bababab
</pre>
- b
  - <img src="...jpg">
    - bbbbb
  - <img src="...jpg">
- c
[/ul]
bye-bye
[ul]
- a
-- b
-- ababa
   bbbb
--- bbbb
-- c
- fig.3
<table>
<tr><th>hello</th><th>world</th><tr>
<tr><td>100</td><td>2120</td><tr>
<tr><td>150</td><td>1505</td><tr>
</table>
[/ul]
the end

■実行例
% ./conv-ulli.pl < conv-ulli-test.txt
hello

<ul>
<li>a
<pre>
abab
  ababa
    bababab
</pre></li>
<li>b
<ul>
<li><img src="...jpg">
<ul>
<li>bbbbb</li>
</ul>
</li>
<li><img src="...jpg"></li>
</ul>
</li>
<li>c</li>
</ul>

bye-bye

<ul>
<li>a
<ul>
<li>b</li>
<li>ababa
   bbbb
<ul>
<li>bbbb</li>
</ul>
</li>
<li>c</li>
</ul>
</li>
<li>fig.3
<table>
<tr><th>hello</th><th>world</th><tr>
<tr><td>100</td><td>2120</td><tr>
<tr><td>150</td><td>1505</td><tr>
</table></li>
</ul>

the end
(Mac OS X)
% ./conv-ulli.pl < conv-ulli-test.txt > conv-ulli-test-res.html
% open conv-ulli-test-res.html
conv ul li test 2016-01-23

このブログ( chalow というツールを使用)の運用についての自分用メモ。

ブログ記事の月別一覧表示と日別一覧表示に今まで clsearch.cgi を使ってましたが、それぞれ別の CGI にしたうえ、 clsearch.cgi のウェブ検索インデックス化を拒否しました。個別ページが日別ページや他の検索結果ページと重複してて検索結果に出てこないことが多く、いろいろと支障があるため。

月別記事一覧ページ リニューアル

↑最新の月別記事一覧(左)。右は今までの。どちらも iPhone の Safari。

日別記事一覧ページに、別の年の同じ日へのリンク

↑日別一覧表示では「別な年の同じ日」へのリンクを追加。 meta タグで noindex を指定してるけど、ちゃんと効くといいなあ。

どちらもデザインをまたいじるかも。

これにともない、 robots.txt や .htaccess などもいじる。クロールされたくない(インデックスされたくない)ページを再確認。

なお、月別一覧、日別一覧へのリンクは各個別記事ページの下の方にあります。

今までPC用のCSSしかなかったのですが、スマホ用のCSSも用意し、デバイスによって切り替えるようにしました。

スマホに対応!

このブログで使っているツール「chalow」のページテンプレートとCSSをいじっただけです。レスポンシブWebデザイン!

スマホは iPhone 5/5s でしか確認していないので、アンドロイドなどでなにかレイアウトが変でしたらお知らせいただけるとありがたいです。
この記事に言及しているこのブログ内の記事

このブログの各記事に「この記事に言及しているこのブログ内の記事」の一覧を表示するようにしました。

こんな感じのリストが表示されます(デザインはこの先もうちょっといじるかも)。
Referrer Link

今までも「Referrer (Inside)」という形で表示していたのですが、下記のように記事ID(日付+その日のいくつめか)だけしか表示されていませんでした。
Referrer Link

記事タイトルも表示するようにしたというのが今回の変更点です。
よろしくお願いします。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [ 次へ ]

たつをの ChangeLog
Powered by chalow