個人ニュースサイトをGmailでまとめて読もう(Plagger使わない編)
最初に言っておきますがこれPlaggerでできます。
Plaggerでやりたい!という方は
個人ニュースサイトをPlaggerで見よう&Plagger役立ちリンク集: 304 Not Modified
個人ニュースサイトをGmailでまとめて読もう 導入編 - なつみかん@はてな
このあたりを参考にすればいいんじゃないかな。
Plagger自分でも試してみましたが面白いですね。でもまだまだ使いこなせてないわけで。
自分の読みやすいフォーマットにしたいなーとか思った時点で頓挫です。
こうなったら自分の得意分野に引き込んでみようということで
秀丸エディタを使ってニュースサイト(カトゆー家断絶)をGmailで読めるようにしてみます。
秀丸エディタ(笑)得意分野(笑)
材料
秀丸エディタ
Hidemarnet Explorer(秀丸がブラウザぽくなる素敵ソフト)
SMAIL(送信専用コマンドラインメールソフト)
設定で気をつけること
- Hidemarnet Explorerの設定「HTTPを開くときWebブラウズモードで開く」をOFFに
(秀丸エディタのメニュー「ファイル⇒Web⇒詳細」から設定。HTMLソースを直接表示するため)
- 秀丸エディタの設定「折り返し文字数」を可能な限り大きく
(整形マクロを動作させるときに自動折り返しが利いてるとうまく動かないかも)
- SMAILでGmailに送る設定がちょっと面倒。SMAIL同梱のtechnical.txtをみればいい。
実行用のバッチファイルを作る
C: cd C:\Program Files\Hidemaru hidemaru.exe /h /xD:\tool\smail-v4\pick_katoyuu.MAC http://www6.ocn.ne.jp/~katoyuu/ D: cd D:\tool\smail-v4 smail.exe -hsmtp.gmail.com -fxxxxxfrom@gmail.com -sカトゆー家断絶更新情報 -FD:\tool\smail-v4\data\katoyuu.txt xxxxxto@gmail.com ・「C:\Program Files\Hidemaru」は秀丸のインストールフォルダ ・「D:\tool\smail-v4\pick_katoyuu.MAC」は整形用マクロのパス&ファイル名 ・「D:\tool\smail-v4」はsmail.exeのある場所。 ・「D:\tool\smail-v4\data\katoyuu.txt」は中間ファイルのパス&ファイル名 ・「-sカトゆー家断絶更新情報」はメールのsubjectの指定 ・「-fxxxxxfrom@gmail.com」は送信元の指定、「xxxxxto@gmail.com」は送信先アドレスの指定
適当ですわ><
- カトゆー家断絶のアドレスで秀丸エディタ(表示しないモード)を開く
- HTMLが読み終えたらマクロ「pick_katoyuu.MAC」が動作する。後述するこのマクロでkatoyuu.txtを生成するので
- それをsmail.exeで送信
って感じです。
pick_katoyuu.MACはこんな感じ
相変わらず適当。
もう説明書くの面倒なんでコメント見て(殴
Aタグ引っ張ってきてるだけですわ
// pick_katoyuu.MAC // 秀丸エディタでHTMLコンテンツが読み込まれた直後にコールされるマクロ // 一回保存して開きなおさないとファイルが編集許可にならないようだ saveas "D:\\tool\\smail-v4\\data\\katoyuu.txt"; loadfile "D:\\tool\\smail-v4\\data\\katoyuu.txt"; // 第一段階:コンテンツ中のAタグのみ抽出 // カトゆーさんとこのコンテンツは // <!--テンプレ-->〜<!--テンプレ-->までが本文なので // まずはそこだけ抜き出しておく。 // 1つ目の<!--テンプレ-->以前をdel beginsel; gofiletop; searchdown "<!--テンプレ-->"; delete; deleteline; // 次の<!--テンプレ-->以降をdel searchdown "<!--テンプレ-->"; beginsel; gofileend; delete; // Aタグ抜き出し // ファイルの最後にマークつけとく。 // 抽出したAタグはこのマーク以降に移動される。 gofileend; insert "<***mark***>\n"; gofiletop; // Aタグ探してはカット→ペースト while(1) { gofiletop; searchdown "<A href=\".*\">.*</A>",regular; // 秀丸正規表現でリンク探してる。ちょっと怪しい // Aタグ無かったらおわり if(result == false) break; // Aタグで囲まれた部分だけカット→ファイル末尾にペースト searchdown ">"; right; beginsel; searchdown "</A>"; cut; gofileend; insert "■"; paste; insertreturn; // Aタグの中のURLをカット→ファイル末尾にペースト gofiletop; searchdown "<A href=\".*\">.*</A>",regular; // 秀丸正規表現でリンク探してる。ちょっと怪しい right; insert "*"; // 次検索してもヒットしないようにゴミ入れとく left 2; right strlen("<*A href=\""); beginsel; searchdown "\""; cut; gofileend; paste; insertreturn; insertreturn; } // もうAタグ無いのでマーク以前を消してしまう gofiletop; searchdown "<***mark***>"; deleteline; beginsel; gofiletop; delete; saveexit;