スキップしてメイン コンテンツに移動

投稿

rubyでblogspotに投稿する

概要   htmlファイルをblogspotに投稿するrubyスクリプトを紹介する.コマンドラインから投稿できるため,ローカルマシンでの投稿記事の一元管理,投稿の自動化,emacsからの投稿など,様々な応用が効く.   blogspotへの投稿には,blogger.comでサポートされているATOM-APIを用いる. ATOMとは   ATOMとは,XMLのフォーマットや,Web上でコンテンツを通信する際に使用するプロトコルなどの総称である.サービスの利用者は,ATOM-APIを使用して,コンテンツ配信などを実現することができる. 前準備   以下のサイトから,rubygemsのライブラリgdata-ruby-utilをダウンロードし,インストールする.これは,Google Data APIを使用するために利用する. http://code.google.com/p/gdata-ruby-util/ コード   以下に,rubyのコードを示す. #!/usr/bin/env ruby $LOAD_PATH.delete(".") # $LOAD_PATH.push('/path/to/BloggerAPI/gdata/gdata-1.0.0/lib') require 'rubygems' require "rexml/document" require 'time' require 'gdata' class MyBlogger def initialize(ary) @ary = ary @client = GData::Client::Blogger.new end def base(account, pass, url) doc = txt_to_xml # get token @client.clientlogin(account, pass) @client.prepare_headers @client.post(url, doc) end def txt_to_xml title = @ary[0].chomp # content = @ary[2..@ar...

Emacsのキーバインドを調べる

  キーボードのキーバインドを調べたいときがある.この際には,次のコマンドを利用できる. M-x describe-key   これを入力した後,調べたいキーを入力する.これにより,次の内容が表示される. バインドされている関数名 関数が定義されているファイル名 動作説明

emacsの設定: ファイル構成

  私のemacsの設定ファイルのファイル構成を以下に示す. base.el: 基本的なemacsの設定をおこなう. ime.el: OSや環境によって,適当なIMEの設定をおこなう. anthy.el: anthy-elの設定をおこなう. atokx.el: atokx for linuxの設定をおこなう. canna.el: japanese-cannaの設定をおこなう. msime.el: windows imeの設定をおこなう. faces.el: 配色などの表示関連の設定をおこなう. packages.el: site-lispの読み込みをおこなう. key-assign: キーボード入力に対する処理方法をいくつか定義する. mouse.el: マウス入力の設定をおこなう. server.el: emacsserverを立ち上げる. hook.el: プログラムフックの設定をおこなう.   ディレクトリ構成は以下のようにしている. ~/ lib/ conf/ emacs/ dot.emacs.el anthy.el atokx.el base.el canna.el faces.el hook.el ime.el key-assign.el mouse.el msime.el package.el server.el

emacsの設定: atokx.el

  ~/lib/conf/emacs/atokx.el (progn (require 'un-define) (setq coding-category-utf-8 'utf-8) (setq iiimcf-server-control-hostlist '("localhost")) (setq iiimcf-server-control-default-language "ja") (setq default-input-method 'iiim-server-control) (require 'iiimcf-sc) ;; 変換トグルの設定 (define-key global-map "\C-\\" 'toggle-input-method) ;; Shift-Space または 半角/全角 でも起動 (global-set-key [?\S-\ ] 'toggle-input-method) (global-set-key [zenkaku-hankaku] 'toggle-input-method) ;;モードライン表示をすっきりと ;;(setcar default-mode-line-format "") ) >> emacsの設定

emacsの設定: dot.emacs.el

  ~/lib/conf/emacs/dot.emacs.el (load "~/lib/conf/emacs/base.el") (load "~/lib/conf/emacs/ime.el") (load "~/lib/conf/emacs/server.el") (load "~/lib/conf/emacs/faces.el") (load "~/lib/conf/emacs/mouse.el") (load "~/lib/conf/emacs/hook.el") (load "~/lib/conf/emacs/key-assign.el") (load "~/lib/conf/emacs/package.el") >> emacsの設定

emacsの設定: canna.el

  ~/lib/conf/emacs/canna.el (progn (if (and (or (and (boundp 'CANNA) CANNA) ( (not (equal emacs-ime "canna-tamago"))) (progn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; emacs-dl-canna/emcws の場合 (load-library "canna") ;; color-mate を使わないで、漢字変換に色を付けたい時に ;(setq canna-use-color t) ;; フェンスモードでなくアンダーラインを使う ;;(setq canna-with-fences nil) ;;(setq canna-underline t) ;; Canna サーバの指定 (if (null (getenv "CANNA_SERVER")) (setq canna-server "unix") (setq canna-server (getenv "CANNA_SERVER"))) (canna) ;; Canna を Ctrl-\ で起動します。コメントアウトすれば、 ;; Ctrl-\ で skk が立ち上がります。 (global-set-key "\C-\\" 'canna-toggle-japanese-mode) (global-set-key "\C-o" 'canna-toggle-japanese-mode) ;; Shift-Space または 半角/全角 でも起動 (global-set-key [?\S-\ ] 'canna-toggle-japanese-mode) (global-set-key [zenkaku-hankaku] 'canna-toggle-jap...

emacsの設定: base.el

  ~/lib/conf/emacs/base.el ;;; 言語環境の指定 (set-language-environment "Japanese") ;;; 漢字コードの設定 (if (equal (getenv "LANG") "ja_JP.UTF-8") (progn (cond (( (require 'un-define))) (set-default-coding-systems 'utf-8) (set-buffer-file-coding-system 'utf-8-unix) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8)) ;;; 日本語メニューバー (UTF-8のメニューバーを用意?) ;(cond ; (and (>= emacs-major-version 21) ; (equal (substring (concat (getenv "LANG") "__") 0 2) "ja") ; (load "menu-tree-utf8"))) (progn (set-default-coding-systems 'euc-jp) (set-buffer-file-coding-system 'euc-jp-unix) (set-terminal-coding-system 'euc-jp) (set-keyboard-coding-system 'euc-jp) ;;; 日本語メニューバー ;(cond ;((and (>= emacs-major-version 21) ;(equal (substring (concat (getenv "LANG") "__") 0 2) ...