<< ブログのC/C++ソースコードをかっちょよく表示する。ついでにブログデザイン変更。 | top | C++版拡張子変更プログラム >>

スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - |

ブログ用にC/C++コードをhtmlに変換するvimスクリプト

電気配線の異常が直ったのに今度は豆球しか点かない。
何でじゃ!と思ったら蛍光灯の寿命だった。
管理会社に電話しなくてよかった!

/////////////////////////
ブログ用にC/C++コードをhtmlに変換するvimスクリプトを作った。
vimのTOhtmlコマンドを使えばhtmlを生成できるのだが、ブログに貼り付けるにはTOhtmlを実行後、vimを閉じ、生成されたhtmlをgeditで開き、一部をコピーする、という手間がかかる。

これは面倒なので楽をするvimスクリプトを作った。
vimからは外部コマンドを呼べるので、まずhtmlの必要な部分を抽出して出力するプログラムを作った。
 
//_html2blog.out
#include <iostream>
#include <fstream>
#include <string>

int main(int argc , char **argv)
{
	std::ifstream ifs(argv[1]);
	std::string str;
	while(str!="<body>")//"<body>"まで読み捨て
	{
		std::getline(ifs , str);
	}

	while(1)
	{
		std::cout << str << std::endl;
		std::getline(ifs , str);
		if(str=="</body>")
		{
			std::cout << str;
			break;
		}
	}
	ifs.close();

	return 0;
}

次にデータをクリップボードに渡すためにxclipというコマンドをインストールした。
xclipにデータを渡すため次のようなシェルスクリプトを書いた。
 
#html2blog
#!/bin/bash
_html2blog.out $1 | xclip -in -sel clip

vimスクリプトではTOhtmlを実行し、上述のプログラムを呼び出す。
inoremap <F3> <C-R>=BlogF()<CR>

function! BlogF()
	TOhtml
	let fn_html = expand("%")
	write
	close
	call system('html2blog ' . fn_html)
	call system('rm ' . fn_html)
	return ''
endfunction

挿入モードでF3キーを押すだけでブログ貼り付け用htmlがクリップボードに格納できるようになった。
ジャジャガッチ | Linux | 22:58 | comments(0) | trackbacks(0) |

スポンサーサイト

スポンサードリンク | - | 22:58 | - | - |
Comment









Trackback
URL:

07
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--
PR
RECOMMEND
RECENT COMMENT
MOBILE
qrcode
OTHERS
Since 2013/09/17
LATEST ENTRY
CATEGORY
ARCHIVE
LINKS
PROFILE
SEARCH