genshiでCDATA書いたら消えた

Python No Comments »

テンプレートファイルにCDATA書いたのに吐き出されたHTMLファイルでは消えてた。
index.tmpl

 
    <script type="text/javascript">
    < ![CDATA[
      swfobject.registerObject("swfobj", "9.0.0", "menu.swf");
    ]]>
    </script>
 


index.html

 
    <script type="text/javascript">
 
      swfobject.registerObject("swfobj", "9.0.0", "menu.swf");
 
    </script>
 

追記(2008/10/17 14:04)--
render("html")と書いてたのを
render("xhtml")にしたら消えなかった。
に変換されてたのも解消された。

PhotoshopでCSVから画像を一括生成

JavaScript No Comments »

CSVファイルを読んでPNG画像を作るJavaScript。要Photoshop。テキストファイルはこんな。
txt1,txt2,・・・は保存する時にファイル名やフォルダ名として使う。

txt1,てきすと1
txt2,てきすと2
txt3,てきすと3
 ・
 ・
 ・

csvtoimg.jsx

#target photoshop
 
/*
 * 画像形式:PNG
 * サイズ  :500*500
 * 背景    :透過
 * 文字色  :白(255,255,255)
 * フォント:BookAntiqua
 * 文字配置:中央
 */
 
function main() {
	// 単位の設定(定規:ピクセル, 文字:ポイント)
	app.preferences.rulerUnits = Units.PIXELS;
	app.preferences.typeUnits = TypeUnits.POINTS;
 
	var dataFile  = File.openDialog("テキストファイルを指定してください。");
	fileObj = new File(dataFile);
	flag = fileObj.open("r");
 
	if (flag){
		fileData = fileObj.read();
		Line = fileData.split("\n");
 
		// base file open
		var basefile = app.documents.add(500, 500, 72, "base", NewDocumentMode.RGB, DocumentFill.TRANSPARENT);
 
		// png save options
		var pngOpt = new ExportOptionsSaveForWeb();
		pngOpt.format = SaveDocumentType.PNG;
		pngOpt.PNG8 = false;
 
		var textColor = new SolidColor;
		textColor.rgb.red   = 255;
		textColor.rgb.green = 255;
		textColor.rgb.blue  = 255;
 
		for (i=0; i < Line.length-1; i++){
			var data = Line[i].split(",");
			var tmpfile  = app.documents.add(500, 500, 72, "tmp", NewDocumentMode.RGB);
			var newTextLayer = tmpfile.artLayers.add();
			newTextLayer.kind = LayerKind.TEXT;
			newTextLayer.textItem.font = "BookAntiqua";
			newTextLayer.textItem.fauxBold = true;
			newTextLayer.textItem.size = 24;
			newTextLayer.textItem.color = textColor;
			tmpfile.activeLayer.textItem.contents = data[1];
			tmpfile.selection.selectAll();
			tmpfile.selection.copy();
			tmpfile.close(SaveOptions.DONOTSAVECHANGES);
			basefile.artLayers.add();
			basefile.paste();
			// save
			var savefile = new File("\\\\path\\to\\outputdir\\" + data[0] + "\\txt.png");
			basefile.exportDocument(savefile, ExportType.SAVEFORWEB, pngOpt);
			basefile.activeLayer.remove();
		}
		basefile.close(SaveOptions.DONOTSAVECHANGES);
	}else{
		alert("データファイルが見つかりません");
	}
}
 
main();

jsxファイルをダブルクリック
or jsxファイルをPhotoshopにドラッグする
or Photoshopのメニューからファイル > スクリプト > 参照、jsxファイルを選択
で動かす。

つまったところ

中央配置

テキストを中央に配置するよい方法がわからなかったので"base"というドキュメントの他に"tmp"というドキュメントを作った。"tmp"にテキストレイヤーを作って文字列挿入、コピーして"base"へ張り付け。何も考えずペーストすると中央に置かれる。もっとよい方法ありそう。

ついでに、何もないレイヤーにペーストすると、新しいレイヤーが作られない。レイヤーが1個しかない状況でactiveLayer.remove()できないので、なんか無駄に basefile.artLayers.add(); とかしてる。selectAll()してから消去とかもできたのかな。

ドキュメントのフォーカス

"tmp"でコピーした後は"base"を前面に出してペースト。"tmp"を背面に押しやる方法がわからなかったのでドキュメントを閉じてる。CSVの行の分だけ、open,closeを繰り返してる。

Gitでブランチの削除

git No Comments »

ブランチの削除はこうやる。

% git branch -D <branch>

違う書き方してる人もいたので、バージョンやOSによって違いがあるのか?@Ubuntu8.04

% git --version
git version 1.5.4.3

JavaScript on Photoshop で謎のエラー

JavaScript No Comments »

Error 1233: 既存のファイル / フォルダへの参照が必要
とか言われる。for文でいくつかJPGファイルを開こうとしてて、5枚目まではすんなり開けるんだけど 6枚目を開こうとすると上記のエラーが出る。うーむ。。

開くファイルの順番を変えてみても、やっぱり途中でエラーが出た。今度は6枚目まで開けた。

わかった、ファイルのリストに存在しないファイル名書いてた。。ファイルのリスト作った後に似通った画像消したんだった。

VimからWordpressに投稿

vim, wordpress No Comments »

KYOKUTYO NO BLOG. » Blog Archive » 配列の最大要素で各要素を割るあたりからVimPress使ってみてる。

Vimpress - Manage wordpress blog posts from Vim : vim online

下書き保存とかってあるのかな。あとStrIDって自分で連番ふらなきゃダメなのかな。
勝手に振ってくれるみたいだ。カテゴリの作成はできない模様。

なんか昨日から動きが超にぶくなった。なんでだろ。

Djangoのテンプレートでつまづき中

Python No Comments »

Djangoのテンプレートでfor文中で3回に1度だけ文字列を出力したい。

 
{% for item in items %}
  {{ item.name }},
  {# 3つ出力して改行入れたい #}
{% endfor %}
 
 
{% for item in items %}
  {{ item.name }},
  {% ifequal forloop.counter%3 0 %}{% endifequal %}
{% endfor %}
 

こんなんじゃダメなのかな。動いてない気がする。@GAE。
↑preタグ内の<br />が消えてる。。

Pukiwikiでスライドショー

PHP, bookmarklet, cms No Comments »

Pukiwikiでほげほげ書いて、ブックマークレットぽちっとやると、そのページに書いてあるものがスライドショー形式になってプレゼンとかで使えるとうれしい。

配列の最大要素で各要素を割る

PHP No Comments »

PHPで下記のような配列があったとして、

 
$list = array(160, 180, 200, 150);
 

↓最大値を1に変換して、他の値は160/200など割り算したい。

 
$list = array(0.8, 0.9, 1, 0.75);
 

どうすんだろ。forとか使わない方がスマートかな。
array_mapとかarray_reduceとか使うといいんだろうか。

PHP: array_map - Manual
PHP: array_reduce - Manual

開発環境(Ubuntu)にSmarty

PHP, ubuntu No Comments »

パッケージ配布先追加

% sudo pear channel-discover pearified.com

インストール

% sudo pear install pearified/Smarty

php.iniを編集

% sudo vi /etc/php5/apache2/php.ini
; UNIX: "/path1:/path2"
;include_path = ".:/usr/share/php"

↓このようにコメントを外してパスを足した

; UNIX: "/path1:/path2"
include_path = ".:/usr/share/php:/usr/share/php/smarty"

apache再起動

% sudo /etc/init.d/apache2 restart

pearコマンドでSmartyやphpMyAdminをインストール:phpspot開発日誌
を見てやった。

続 screen on zsh でBackspaceが効かない

screen, zsh No Comments »

別のマシンに入ったらBackspace効かなくなった。
.zshrcが読み込んでる.zshrc.mineにこれ書いて解決できた。

alias screen='TERM=screen screen'

ここを参考にした。
blog.timc3.com » Fixing the screen backspace and delete key

Powered by WordPress | WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in