テスト
2007年12月アーカイブ
前の記事でフィードバックしたら返信があった。
返ってくるとは思っていなかったので、驚いたともに高感度もアップ。
でも、ちょっとフィードバックの文章をかなり短く書いたせいか上手く伝わらなかったらしい。
アーカイブマッピングが「entry-basename.html」になってるのは知ってる。
旧バージョンから移行したので過去のだけ「_」で作りたいのだ。
で、アーカイブマッピングを「entry_basename.html」にしてもメインページの「index.html」のリンクが「-」のままなのは何故?
もしかしてデフォの「-」から変えた場合、いちいち指定しないといけないとか。
MTCategoryArchiveLinkも何か変だし。
バグだらけ。
Movable Type4.0でスペースを「_」から「-」に置き換えるようになったらしいが何か動きがおかしい。
今書いているこの記事で出力ファイル名が「movable_type」となっている。しかし再構築するとファイル名が「movable-type.html」になる。どうやら出力ファイル名の「_」を勝手に「-」に置換して構築するらしい。こっちで指定したものを置き換える意味がわからん。
特に面倒なのが、Movable Type4.0以前のスペースが「_」の古い記事。これに追記して再構築すると、出力ファイルに「_」で指定しても勝手に「-」の記事を作りやがる。
さて如何したものか。
何やらスパムコメントが大量にきてる。
そんな訳で標準で選べるようなのでCaptcha入れてみた。
読みづらい。
あとで調べて自前のに変えておこう。
組み込みの関係でC(C++)でCGIを作る羽目に。
で、getenvで環境変数をとるのはいいとして、存在する環境変数一覧て出せないものかと。
CGI Program in Language Cで見つけた。
#include <stdio.h>
#include <ctype.h>
int main(int argc, char **argv, char **envv)
{
char **env, *cptr;
/* httpヘッダ */
fputs("Pragma: no-cache\r\n"
"Content-Type: text/html; charset=us-ascii\r\n\r\n",
stdout);
fputs("<!DOCTYPE html\n"
"PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\n"
"\"http://www.w3.org/TR/html4/loose.dtd\">\n"
"<html>\n"
"<head><title>Env Checker</title></head>\n"
"<body>\n"
"<ul>\n",
stdout);
for( env = envv; *env != NULL; env++ ){
fputs("\t<li>", stdout);
for( cptr = *env; *cptr != '\0'; cptr++ ){
if( *cptr == '"' ){
/* 置換 " → " */
fputs(""", stdout);
} else if ( *cptr == '<' ) {
/* 置換 < → < */
fputs("<", stdout);
} else if ( *cptr == '>' ) {
/* 置換 > → > */
fputs(">", stdout);
} else if ( *cptr == '&' ) {
/* 置換 & → & */
fputs("&", stdout);
} else if ( !( !isgraph(*cptr) && (*cptr != ' ') ) ) {
/* 表示可能文字ならそのまま出力 */
fputc( *cptr, stdout );
} else {
/* その他はコード */
fprintf( stdout, "<code>[<var>%02X</var>]</code>", *cptr );
}
}
fputs("</li>\n", stdout);
}
fputs("</ul>\n"
"</body>\n"
"</html>\n",
stdout);
return (0);
}