SQLの窓

2013年12月25日


Twitter 縦書き intent

使ってみると効果は一目瞭然ですが、そんなにいいものでもありません。句点で次の行とかにしたほうが、よさそうです。

※ Twitter は文字数に限りがあるので、右側サイドの空白除去処理を行っています。

いろいろやりながら、いくらかオプションが増えました。

(クリックしてもすぐに投稿されずに縦書きがセットされた投稿画面が開きます)
1行目は横書きにする
改行は自分で入れる
URL(省略可)
Web Intents なんで、ボタンをクリックすると正規の投稿ウインドウに移動します。そして、その際に縦書きとして文字がセットされています。


▼ ブラウザのフォントを固定ピッチにすると綺麗に縦書きになります( Chrome なら 2番目の Seirf )

Google Chrome の フォント設定の3番目の Sans Serif フォントを固定ピッチにすると綺麗に縦書きを見る事ができます。



関連する記事

簡易縦書き変換

選択文字列を Twitter の投稿画面に遷移させるブックマークレットの内容の解説

▼ JavaScript のみで書けるので、誰でも設置してカスタマイズできます
<script type="text/javascript">
function tweet_tate() {
	var enc = encodeURIComponent;
	var url = "https://twitter.com/intent/tweet?text=";
	var url2 = document.getElementById("url").value;
	var text = document.getElementById("tweet_tate").value;
	var top = 0;
	if ( document.getElementById("h1").checked ) {
		top = text.split("\n")[0];
		text = text.substr(top.length);
	}
	text = to_zen(text);
	text = text.replace(/ /g, " ");
	text = text.replace(/[”“]/g, "=");
	text = text.replace(/[W]/g, "=");
	text = text.replace(/[(【[{『《≪]/g, "▼");
	text = text.replace(/[)】]}』》≫]/g, "▲");
	text = text.replace(/「/g, "▼");
	text = text.replace(/」/g, "▲");
	text = text.replace(/…/g, ":");
	text = text.replace(/[ー〜−]/g, "|");
	if ( !document.getElementById("nocr").checked ) {
		text = cr_set(text,parseInt(document.getElementById("rnum").value));
	}
	text = tate(text);
	text = text.replace(/[ ]+\n/g, "\n");
	text = text.replace(/[ ]+$/g, "");
	if ( !document.getElementById("h1").checked ) {
		url += enc(text);
	}
	else {
		url += enc(top+"\n\n"+text);
	}

	var width = 550;
	var height = 420;
	var option = "scrollbars=yes,resizable=yes,toolbar=no,location=yes";
	var left = Math.round((screen.width / 2) - (width / 2));
	var top = Math.round((screen.height / 2) - (height / 2));
	option += ',width='+width+',height='+height+',left='+left+',top='+top;
	if ( url2 != '' ) {
		window.open(url+enc("\n\n")+'&url='+enc(url2),'intent',option);
	}
	else {
		window.open(url,'intent',option);
	}
}
function tate(text) {
	var i = 0;
	var j = 0;
	var wk = text;

	var bk = wk.split("\n");

	var len = 0;
	for( i = 0; i < bk.length; i++ ) {
		if ( bk[i].length > len ) {
			len = bk[i].length;
		}
	}

	var sp = "";
	for( i = 0; i < len; i++ ) {
		sp += " ";
	}

	for( i = 0; i < bk.length; i++ ) {
		bk[i] += sp;
		bk[i] = bk[i].substr(0, len);
	}

	var str = ""
	
	for( i = 0; i < len; i++ ) {
		if ( i != 0 ) {
			str += "\n";
		}
		for( j = bk.length-1; j >= 0; j-- ) {
			if ( j == 0 && bk[j].substr(i,1) == ' ' ) {
			}
			else {
				str += bk[j].substr(i,1);
			}
		}
	}
	return str;
}
function to_zen(str) {
	return str.replace(/[\!-\~]/g, function(s) {
		return String.fromCharCode(s.charCodeAt(0) + 0xFEE0);
	});
}
function cr_set(text,ccnt) {
	var str = text;
	str = str.replace(/[\n]/g,"");
	var num = str.length;
	var i,ch,work,cr_cnt;
	var cr_num = ccnt;

	if ( cr_num > 0 ) {
		work = "";
		cr_cnt = 0;
		for( i = 0; i < num; i++ ) {
			ch = str.substr(i,1);
			if ( ((cr_cnt+1) % cr_num) == 0 ) {
				work += ch + "\n";
				cr_cnt = 0;
			}
			else {
				work += ch;
				cr_cnt++;
			}
		}
		if ( work.substr( 0, 1 ) == "\n" ) {
			work = work.replace(/[\n]/,"");
		}
		return work;
	}
}
</script>
<textarea id="tweet_tate" style='width:500px;height:200px;'></textarea>
<br>
<input type="button" value="Twitter 縦書き発言" onclick='tweet_tate();'>(クリックしてもすぐに投稿されずに縦書きがセットされた投稿画面が開きます)
<br>
1行目は横書きにする <input type="checkbox" id="h1" checked>
<br>
一行の文字数 <input type="text" id="rnum" value="10" style='width:40px'>
<br>
改行は自分で入れる <input type="checkbox" id="nocr">
<br>
URL(省略可) <input type="text" id="url" style='width:420px;'>


posted by lightbox at 2013-12-25 00:12 | JavaScript コンテンツ | このブログの読者になる | 更新情報をチェックする

2013年12月22日


JS : 外部ファイルを使った、ブックマークレットのスケルトン


ブックマークレット => ブックマークレットのテキスト表示
これは、ブラウザのブックマークレットのコードでは処理できない複雑で長い処理を外部に置いて、ブックマークレットはそれを呼び出して実行しています。

以下のテキストを取り出して、全ての NAME をユニークな英数字に変更して、URL を二つ目のソースコードの JavaScript のファイルの URL にします。この JavaScript は、.js にしてどこかのスペースに保存して上記 URLになるようにしておきます

※ JavaScript 内の NAME も前述の文字列と同じにして下さい

完成したら、どこかのページにアンカーごと全て貼って、お気に入りに登録して実行して alert が表示されたら成功です
<a href="javascript:var%20mylib=document.createElement('script');if(!window.NAME){mylib.setAttribute('src','URL');mylib.setAttribute('charset','shift_jis');document.body.appendChild(mylib);(function(){if(window.NAME){NAME.init();}else{setTimeout(arguments.callee);}})();}else{NAME.init();}void(mylib);"
onclick='
	alert("ブックマークバーにドロップか、IEでは右クリックでお気に入りに登録(お気に入りバー)が簡単です"); 
	if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) { 
		event.returnValue = false; 
	} 
	event.preventDefault(); 
	event.stopPropagation();
'
>ブックマークレットのテキスト表示</a>

if (!window.NAME) {
(
function() {
	window.NAME = 
	{
		// プロパティ
		version: 1.01
		,
		// メソッド
		init : function( ) {
			/* ここに処理を書きます */
			alert("この alert はテスト用です");
		}
	};
}
)();
}





posted by lightbox at 2013-12-22 03:01 | ブックマークレットコード | このブログの読者になる | 更新情報をチェックする

Twitter のタイムラインで特定ユーザを非表示にするブックマークレット


ブックマークレット => 入力した文字を含むユーザを非表示
タイムラインに表示後の作業となります。( 表示済みのユーザのみ )

prompt で入力した文字列が『@ユーザ』のユーザ部分に含まれるツイートを非表示にします。
<a  href="javascript:var%20u=prompt('','');var%20x=document.getElementsByTagName('div');var%20z=null;for(var%20i=0;i<x.length;i++){if(x[i].className=='content'){y=x[i].getElementsByTagName('b');z=false;for(var%20j=0;j<y.length;j++){if((y[j].innerHTML).indexOf(u)>-1){z=true;break;}}if(z){x[i].parentNode.style.display='none';}}}void(0);">入力した文字を含むユーザを非表示</a>
以下は、空白を除く前のコードです
var u = prompt('','');
var x = document.getElementsByTagName('div');
var z = null;
for(var i = 0;i<x.length;i++){
	if(x[i].className=='content'){
		y=x[i].getElementsByTagName('b');
		z=false;
		for(var j = 0;j<y.length;j++){
			if((y[j].innerHTML).indexOf(u)>-1){
				z=true;
				break;
			}
		}
		if(z){
			x[i].parentNode.style.display='none';
		}
	}
}
void(0);




posted by lightbox at 2013-12-22 02:14 | ブックマークレットコード | このブログの読者になる | 更新情報をチェックする

2013年12月20日


ファイル名リストをクリップボードへコピー

▼ 以下へ移動しました
http://logicalerror.seesaa.net/article/118290363.html



posted by lightbox at 2013-12-20 21:51 | 記録 | このブログの読者になる | 更新情報をチェックする

2013年12月16日


Word の表内のセルが右揃えの状態で Back space キーは使ってはいけません

▼ こんな事になってしまいます。


これは、右インデントが設定されてしまっているからで、これを解除するには以下のように段落の詳細設定ダイアログから元に戻す必要があります。



書式の設定をクリアしてから、右揃えに設定しなおす方法もありますが、どちらも手間はあまり変わりません。もし、他にも書式設定がされておれば、段落の詳細設定ダイアログから元に戻すほうがいいでしょう。


posted by lightbox at 2013-12-16 14:58 | Microsoft Office | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり