emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: John Sturdy <jcg.sturdy@gmail.com>
To: Mikhail Skorzhinskii <mskorzhinskiy@eml.cc>
Cc: emacs-orgmode@gnu.org
Subject: Re: Exporting agendas as org-mode files?
Date: Mon, 18 Nov 2019 12:11:58 +0000	[thread overview]
Message-ID: <CAFJf9KPBzOrpiQ+BDFmzyYz5imYohrmFCo3Uiy1gAyQZL4Mppg@mail.gmail.com> (raw)
In-Reply-To: <87a790uj9m.fsf@eml.cc>

[-- Attachment #1: Type: text/plain, Size: 2507 bytes --]

Thanks, I'll try switching to org-ql for my main queries, and then build on
that.

__John

On Wed, Nov 13, 2019 at 11:07 AM Mikhail Skorzhinskii <mskorzhinskiy@eml.cc>
wrote:

> Adam Porter <adam@alphapapa.net> writes:
>
>  > org-ql would make this pretty easy, I think.  Use an org-ql query to
>  > select entries, and for the :action function, use a simple function that
>  > copies the entry or subtree and yanks it into a buffer.  Then save that
>  > buffer to a file.
>
> Yes, it is.
>
> Although just picking some entries from huge org-mode base and write
> them into separate file is a base feature of org-mode itself. org-ql
> package just making the process of finding entries of interest much
> easier and faster.
>
> John Sturdy <jcg.sturdy@gmail.com> writes:
>
>   > I'd like to be able to export agendas as org-mode files
>
> If you're looking into the pure org-mode approach, then what you're
> looking for ~org-agenda-write~ function or custom agenda view written
> with exporting in mind. In order to export to org all you need to do is
> to specify .org extension.
>
>   https://orgmode.org/manual/Exporting-agenda-views.html
>
> I was using this small snippet to export some of my agenda seacrhes:
>
> #+begin_src emacs-lisp
>   (org-agenda nil "a")
>   (org-agenda-write "~/example.org" nil t "*Org Agenda*")
> #+end_src
>
> Be aware that this will regenerate your *Org Agenda* buffer, so either
> use sticky agendas or export agendas in separate emacs process.
>
>
> But I would highly recommend using org-ql for these purpouses. Besides
> pretty solid and easy-to-use interface it is noticably faster.
>
> Here is the snippet I am currently using to export all subtress directly
> tagged with :info: to the separate file. (Sorry for the lack of proper
> parametrisation).
>
> #+begin_src emacs-lisp
> (defun org-user/store-info ()
>   (let ((file "~/org/cals/info.org")
>         (heading (org-format-outline-path (org-get-outline-path t))))
>     (save-excursion
>       (org-copy-subtree)
>       (find-file file)
>       (end-of-buffer)
>       (org-paste-subtree)
>       (org-edit-headline heading))))
>
> (defun org-user/export-info ()
>   "Export all information entries into one file."
>   (find-file "~/org/cals/info.org")
>   (erase-buffer)
>   (insert "#+TITLE: Information")
>   (org-ql-select
>     (org-agenda-files)
>     '(tags-local "info")
>     :action #'org-user/store-info)
>   (save-buffer))
> #+end_src
>
> You need to invoke (org-user/export-info), obviosuly.
>

[-- Attachment #2: Type: text/html, Size: 3582 bytes --]

      parent reply	other threads:[~2019-11-18 12:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-12 15:46 John Sturdy
2019-11-13  2:50 ` Adam Porter
2019-11-13 11:07   ` Mikhail Skorzhinskii
2019-11-14 12:03     ` Adam Porter
2019-11-18 12:11     ` John Sturdy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFJf9KPBzOrpiQ+BDFmzyYz5imYohrmFCo3Uiy1gAyQZL4Mppg@mail.gmail.com \
    --to=jcg.sturdy@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=mskorzhinskiy@eml.cc \
    --subject='Re: Exporting agendas as org-mode files?' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).