DetekitePadってフリーソフトでメモ取り
DetekitePadは、ショートカットでサクっとメモできるソフト。Alt
+z
で出してサクっとメモ帳を出してメモできます。
保存ボタンを押すとDetekitePadの中のmemoディレクトリに**.txtの形で保存されます。
便利なんだけどそのままだとファイルがばらばらで見づらいので1つにしてEvernoteに送って管理しようという。
C:\Users\%username%\DetekitePad\memo
こんな感じで%username%ディレクトリの中にRakefileとDetekitePadを入れてやってます。
# coding: utf-8 require 'mail' class Memo @@memo = "" def self.get_memo @@memo end attr_reader :content, :ctime def initialize(name) @name = name @content = open(name, 'r') { |f| f.read.encode("UTF-8") } @ctime = File.ctime(name) end def add_memo_to_content @@memo << style(ctime.strftime("%H:%M"), content) end private def style(time, content) html = <<-EOH <div style="position:relative;"> <span style="color:rgba(0,0,0,.4);font-size:15px;position:absolute;top:-1.5em;right:2em;">#{time}</span> <div style="font-size:15px;background:#f8f8f8;padding:1em;border:1px solid #cfcfcf;margin:2.5em 0;border-radius:2px;word-wrap:break-word;"><pre>#{content}</pre></div> </div> EOH html end end namespace :auto do desc 'DetekitePadのメモをEvernoteに送信' task :send_memo do texts = Dir.glob("DetekitePad/memo/*.txt") if texts.length == 0 puts "メモがありませんでした" exit 1 end files = texts.map do |f| Memo.new(f) end files.sort!{|i, j| i.ctime <=> j.ctime} files.each do |f| f.add_memo_to_content end # 前やったとこ mail = Mail.new do from "hage@gmail.com" to "hage.hage@m.evernote.com" subject "#{Time.now.strftime("[%m月%d日]メモ")} @メモ" body "#{Memo.get_memo}" end mail.header['Content-type'] = 'text/html' mail.delivery_method :smtp, { address: 'smtp.gmail.com', port: 587, user_name: 'hage@gmail.com', password: 'Password', enable_ssl: true } mail.deliver! sh %Q{del /Q "DetekitePad\\memo\\*.txt"} puts "送信されました" endDete end
memoディレクトリに.txtファイルがあったら、あるだけ読み込んで日付が早い順にソートした後1つに。
あとはそれをメールの本文に入れて送信。
%username%ディレクトリでrake auto:send_memo
とするとEvernoteに送信されて、その後.txtファイルは全部削除。
するとこんな感じでEvernoteのメモノートブックに入ってる。
「コマンドプロンプトのSCHTASKSとか言うので自動化できるかなぁ」とか考えてたけどうまくいかないんだけど。
ちくしょぉぉぉおぉぉおおおおおおオオオぁ