1

次のコードを使用して、Gmail Atom フィードを組織ファイルに正常にプルしました

(setq org-feed-alist
          '(("Mail Entries"
              "http://mail.google.com/mail/feed/atom"
              "~/org/feeds.org" "Mail Entries"
              :parse-entry org-feed-parse-atom-entry
              :parse-feed org-feed-parse-atom-feed
              :item-full-text
              :template "* TODO %title\n %summary\n"
)))

一般的な Gmail Atom フィードは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<title>Gmail - Inbox for mail@gmail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>1</fullcount>
<link rel="alternate" href="http://mail.google.com/mail" type="text/html" />
<modified>2011-02-22T06:38:03Z</modified>
<entry>
<title>RE: URGENT URGENT</title>
<summary>Do this now or the world will end</summary>
<link rel="alternate" href="http://mail.google.com/mail?account_id=mail@gmail.com&amp;message_id=654646578943541&amp;view=conv&amp;extsrc=atom" type="text/html" />
<modified>2011-02-21T21:30:18Z</modified>
<issued>2011-02-21T21:30:18Z</issued>
<id>tag:gmail.google.com,2003:104521846321321</id>
<author>
<name>me</name>
<email>mail@gmail.com</email>
</author>
</entry>

Cc Cx g を押して資格情報を入力すると、.org ファイルにこれが表示されます

** TODO RE: URGENT URGENT
  %summary

Atom フィードからの実際の要約ではなく、「今これを行うか、世界が終わる」と表示されます。

org-feed.el のドキュメントを読みましたが、この行から、テンプレートに%summary.

フィード アイテムの任意のフィールドは、などを %name使用してテンプレートに挿入できます 。%title%description%pubDate

私は間違っていますか?概要をテンプレートに挿入する方法はありますか (できれば org-feed.el を変更せずに)

どんな助っ人も感謝と虹のシャワーを浴びます

4

1 に答える 1

5

問題は org-feed-parse-atom-entry にあります。すべての xml 要素へのアクセスを提供するわけではありません。

このちょっとしたアドバイスで要約を有効にすることに成功しました。

(defadvice org-feed-parse-atom-entry (after org-feed-parse-atom-entry-summary activate)
  ;; Add <summary/> as :summary.
  (let* ((entry (ad-get-arg 0))
         (xml (car (read-from-string (plist-get entry :item-full-text)))))
    (setq entry (plist-put entry :summary
                           (xml-substitute-special
                            (car (xml-node-children
                                  (car (xml-get-children xml 'summary)))))))
    entry))

また、:item-full-text は org-feed-alist の適切なキーワードではありません。さまざまな関数に渡されるエントリ p-list で使用されるキーです。

于 2011-02-22T23:13:49.147 に答える