GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Diary-iCalendar-Export.html ・ emacs-doc.conao3.com

33.10.7.3 日記エントリのiCalendarへのエクスポート

以下のコマンドで、日記のエントリをiCalendar形式でエクスポートできます。

diary-icalendar-export-file

日記ファイルをiCalendar形式でエクスポートします。

diary-icalendar-export-region

日記テキストの範囲をiCalendar形式にエクスポートします。

iCalendarエクスポートは、diary-icalendar-exportカスタマイズグループに含まれる、ユーザーがカスタマイズ可能な複数の変数に依存しています。これらの変数はM-x customize-groupで確認およびカスタマイズできます。カスタマイズグループを参照してください。

日記のエントリをiCalendarにエクスポートするには、iCalendarプロパティを解析できるよう、日記内で特定の規約に従う必要があります。

デフォルトでは、エクスポーターはエントリの1行目(日時の後)をiCalendarのサマリーとして、残りの部分をiCalendarの説明として使用します。また、他のiCalendarプロパティも、次のようにエントリ内の別行にエンコードできます。

2025/11/11 Bender's birthday bash
  Location: Robot House
  Attendees:
    Fry <philip.fry@mars.edu>
    Günter <guenter@mars.edu>

この形式は、デフォルトのインポート関数によって生成される形式と一致します。

インポート形式をカスタマイズする場合や、日記エントリを別の形式でエクスポートしたい場合は、日記エントリの形式を判別できるようエクスポート変数をカスタマイズする必要があります。最も一般的なiCalendarプロパティは、正規表現を用いて日記エントリから解析されます。これらのプロパティの解析方法を変更するには、diary-icalendar-exportカスタマイズグループ内のdiary-icalendar-*-regexpという名前の変数を参照してください。

その他のiCalendarプロパティをエクスポートする必要がある場合や、より複雑なパースを行う場合は、そのための関数を定義して変数 diary-icalendar-other-properties-parser の値として設定できます。詳細はそのドキュメント文字列を参照してください。

デフォルトでは、エクスポーターは各日記エントリが単一のiCalendarイベントを表すものと想定します。1日1エントリの形式で日記を付け、同一エントリ内の継続行に異なるイベントを記載したい場合でも、そのようなエントリを個別のiCalendarイベントとしてエクスポートすることが可能です。これを行うには、変数 diary-icalendar-export-linewise にnil以外の値を設定してください。

例えば、この変数を設定した後、次のような記述:

2025-05-03
  9AM Lab meeting
    Günter to present on new assay
  Start experiment A
  12:30-1:30PM Lunch with Phil
  16:00 Experiment A finishes; move to freezer

4つのイベントとしてエクスポートされます。それぞれ同日ですが、開始時刻は異なります(ただし、開始時刻のない2番目のイベント「Start experiment A」は除きます)。詳細については、diary-icalendar-export-linewise のドキュメント文字列を参照してください。