Index: /lang/vim/misc/mixi.vim
===================================================================
--- /lang/vim/misc/mixi.vim (revision 12348)
+++ /lang/vim/misc/mixi.vim (revision 12692)
@@ -19,5 +19,5 @@
   end
 
-  def post(title, body)
+  def post(title, body, images)
     page = @agent.get 'http://mixi.jp/home.pl'
     form = page.forms[0]
@@ -31,4 +31,7 @@
     form.diary_title = title
     form.diary_body = self.class.magic_body(body)
+    images[0, 3].each_with_index do |img, i|
+      eval "form.file_uploads[#{i}].file_name = '#{img}'"
+    end
     page = @agent.submit form
     page = @agent.submit page.forms[0]
@@ -37,6 +40,6 @@
   def get_latest
     page = @agent.get 'http://mixi.jp/list_diary.pl'
-    ["http://mixi.jp/" << page.links[35].uri.to_s.toutf8,
-     page.links[35].text.toutf8]
+    ["http://mixi.jp/" << page.links[37].uri.to_s.toutf8,
+    page.links[37].text.toutf8]
   end
 
@@ -51,10 +54,13 @@
   endline = VIM.evaluate %[line("$")]
   title   = VIM.evaluate %[getline(1)]
-  body    = VIM.evaluate %[join(getline(2, #{endline}), "\n")]
+  body = VIM.evaluate(%[join(getline(2, #{endline}), "\n")]).split "\n"
+
+  images = body.reverse.inject([]) {|r, l| r.unshift l[4..-1] if l =~ /^img:/; r }
+  body = body[0..-(images.length + 1)].join "\n"
 
   m = Mixi.new 'YOUR_EMAIL', 'YOUR_PASSWORD'
   # if you are mixi premium member:
   # m = Mixi.new 'YOUR_EMAIL', 'YOUR_PASSWORD', true
-  m.post title.toeuc, body.toeuc
+  m.post title.toeuc, body.toeuc, images
   m.get_latest.each do |line|
     VIM.evaluate %[append(#{endline}, \"#{line.chomp}\")]
