2014-05-19 2 views
1

주기적으로 ics에 내 일정 연도보기를 수동으로 내 보내고 Google 캘린더에서 가입 한 내 사이트에 업로드합니다. 그것은 작동합니다. 하지만 1 년보기를 그려서 ics로 내보내는 데는 충분한 시간이 필요합니다.이 스크립트는 bash 스크립트를 통해 자동으로 수행하고 싶습니다. 어떻게해야합니까? 다음과 같이 지금 내가 이맥스에서 수동으로 수행Emacs orgmode agenda : bashscript가 자동으로 연도를 ical로 내 보냅니다.

M-X 의제

VY

C-w cal.ics

다음 내 업로드 스크립트를 실행합니다.

+0

bash 스크립트를 작성하는 대신 Emacs *에서 작업 * 자동화를 고려할 수 있습니다. 두 가지 옵션이 있습니다 : 1. [키보드 매크로] (https://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macros.html)를 기록하고 키에 바인딩하십시오. (결국, "Emacs"는 "매크로 편집"의 약자입니다.) 2. 커스텀 커맨드 (즉, [대화식 함수] (https://www.gnu.org/software/emacs/manual/html_node/elisp/)를 정의하십시오. Defining-Commands.html)) 키를 바인딩합니다. // 이것은 전체 작업 흐름을 1로 줄입니다. Emacs에서 매크로/명령에 대한 키 바인딩을 누릅니다. 2. 업로드 스크립트를 실행하십시오. – itsjeyd

+0

좋은 제안; 감사. 그러나 그 경로를 따르지 않는 두 가지 이유가 있습니다. 첫째, 의제 명령에 프로세스가 많이 소요되고 별도의 emacs 인스턴스에서 실행하고 싶습니다 (수동 솔루션에 한 단계 더 추가). 미리 설정된 유휴 시간 동안 아마 Cron을 통해 실행되도록하고 싶습니다. – WorldsEndless

답변

5

당신은에서 iCalendar 파일을 만들거나 당신의 년의 의제를 작성하려고를? 년에 대한 iCalendar는 파일을 작성하려면 : 당신은 그냥 텍스트로 해 의제를 캡처 할 경우

emacs --batch --user $USER --eval "(progn (org-agenda-list nil nil 'year) (org-icalendar-combine-agenda-files))" 

가 ~/org.ics 에 넣어 것, 어떤 junaleon는 않습니다 기록합니다.

+0

좋은 캐치; JuanLeon의 대답으로 출력 형식을 알아 채지 못했습니다. 이것은 그것을한다. – WorldsEndless

3

의제 데이터를 기반으로 해의 ICAL 파일 생성이 쉘 명령을

emacs --batch --user $USER --eval "(progn (org-agenda-list nil nil 'year) (write-file \"cal.ics\"))"