Re: [Orgmode] [ANN] Org to Atom, revisited
Hi Scott, Scott Jaderholm wrote: >Unfortunately I haven't been able to get the sitemap/index feed >feature in this or an older version to work for me. Can you add more >details in Section 4.2? >It mentions org-atom-publish-org-as-atom-index but it's not in >http://github.com/dmj/dmj-org-mode/raw/org-atom/lisp/org-atom.el. Yes, sorry. I am behind with revising the documentation and as it turned out, the sitemap function was completely broken. I've pushed a fix for the sitemap function yesterday[1] and my current (not yet published) section about the sitemap function reads like this: , | Org's Atom exporter provides a sitemap function to publish a single | combined feed for all files in the publishing project. To use this | function you have to provide the mandatory feed meta data by setting | the property =:publishing-url= to the base URL of the published | project. The sitemap functions assumes, that all files in the | project's =:base-dir= are published relative to this URL and will | create the feed's links pointing to the appropriate locations. | | If you prefer an ID for the feed that is distinct from the feed's URL, | you can provide the ID with the =:feed-id= property. | | The name of the feed can be set by the =:sitemap-file= property and | defaults to =sitemap.atom=. | | For example, this minimal project definition will publish a combined | feed for all entries found in the project's files | | #+begin_src emacs-lisp | ("sitemap-feed" |:base-directory "~/project/webpage/" |:base-extension "org" |:publishing-directory "~/www/" |:auto-index t |:publishing-url "http://example.org/"; |:sitemap-function org-atom-publish-feed-sitemap) | #+end_src ` So, the minimal definition requires :publishing-url, :sitemap-function, and :auto-index to turn on the sitemap. Does this makes the sitemap publishing process somewhat clearer? Best, -- David [1] http://github.com/dmj/dmj-org-mode/raw/org-atom/lisp/org-atom.el -- OpenPGP... 0x99ADB83B5A4478E6 Jabber dmj...@jabber.org Email. dm...@ictsoc.de pgptT2z7C6lx4.pgp Description: PGP signature ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [ANN] Org to Atom, revisited
David, I love the idea of this project, and I really hope it makes it into org proper! Unfortunately I haven't been able to get the sitemap/index feed feature in this or an older version to work for me. Can you add more details in Section 4.2? It mentions org-atom-publish-org-as-atom-index but it's not in http://github.com/dmj/dmj-org-mode/raw/org-atom/lisp/org-atom.el. In the old version I think you had to put something like this the project-alist :index-function org-atom-publish-feed-index Is that still necessary? What about :auto-index t? Maybe explain how to publish the sitemap? Does it just happen when you publish the project? Maybe an example? TIA Scott On Tue, Jun 15, 2010 at 10:51 AM, David Maus wrote: > > The Org to Atom exporter I've preliminary announce some weeks ago > entered a state I consider to be stable and consistent enough to be > included into Org mode. > > It provides export, publishing and a sitemap functions that let you > create an Atom feed for a web page project based on (multiple) Org > mode files. An example that shows the support of inline images in > feed entry content can be found [here]. > > [here]: http://ictsoc.de/code/org-atom/example.atom > > * Download and installation > > The Org to Atom exporter is maintained in a copy of Org mode's git > repository in branch "org-atom" located at > > git://github.com/dmj/dmj-org-mode.git > > You can download the most recent version at > > [http://github.com/dmj/dmj-org-mode/raw/org-atom/lisp/org-atom.el] > > To use the exporter you need a recent version of atom-syndication.el, > an elisp implementation of the Atom Syndication Format. You can get > atom-syndication.el from github, too: > > git://github.com/dmj/atom-syndication.git > > * Usage > > Please see the almost complete documentation below or read via web at > > [http://ictsoc.de/code/org-atom.html] > > * Backward incompatibility > > If you have used an older version of the exporter you need to revise > your configuration due to incompatible changes. Most notably: > > - in-buffer options and publishing properties have be (re)renamed > to start with #+FEED and :feed instead of #+ATOM and :atom; > > - support for the atom:category element is temporarily removed; > > - some default values have changed: > > - content is not published by default > > - names of the atom:updated and atom:published property default to > atom_updated and atom_published > > * Things yet to be done > > Besides support of even more atom elements (e.g. use tags for the > atom:category element), the exporter would require a proper > documentation for the Org mode manual, and of course some real-world > testing. Thus I'm interested not just in bugs, glitches, > inconsistencies, and complains about the exporter but some feedback > about the present documentation, too. > > * Documentation > > Publish Atom feeds based on Org files > = > > Date: 2010-06-15 18:49:21 CEST > > Table of Contents > = > 1 Exporting an Org file to Atom > 1.1 In-buffer options > 1.2 Headline properties > 1.3 Export settings > 1.4 Example > 2 Publish feeds for a web page project > 2.1 Publish a feed for each file in the project > 2.2 Publish a combined feed for project files > > > 1 Exporting an Org file to Atom > > > An Atom feed consists of a head with feed meta data (e.g. feed title > and description) and one or more feed entries. The exporter maps Org > mode subtrees to Atom feed entries and requires special in-buffer > options with feed as well as headline properties with entry specific > meta data. > > 1.1 In-buffer options > == > > An Atom feed is identified by a globally unique identifier, preferably > a UUID. Such an identifier must be present in a Org file supposed to > get exported or published to Atom in the =#+FEED_ID= in-buffer option. > > If you do not use a UUID, the value of this in-buffer option must be a > proper IRI, like for example a URL that identifies this particular > feed. > > To be able to properly reference feed entry content and the feed > itself[1], at least the URL of the feed must be given > by the =#+FEED_URL=. By default Org assumes the published content > available in the same place like the feed with the name of the Org > file and the extension defined in =org-export-html-extension=. > > For example a feed for the file =example.org= with the in-buffer > option =#+FEED_URL= set to =http://example.tld/feed.atom= is expected > to reference content located on the URL > =http://example.tld/example.html=. > > If you indent to use different URLs for the feed and the referenced > content, you can set the content URL manually by providing the > in-buffer option =#+FEED_CONTENT_URL=. > > Prospective feed entries are found by using the TAGS/PROP/TODO query > specified in the =#+FEED_MAP_
Re: [Orgmode] [ANN] Org to Atom, revisited
On 06/18/2010 09:03 AM, David Maus wrote: Olivier Schwander wrote: [here]: http://ictsoc.de/code/org-atom/example.atom Is there the source of this feed somewhere ? It would be nice to have a self sufficient example. I've uploaded the source of the example feed to http://ictsoc.de/code/org-atom/example.org But it's really as straightforward as the simple example in the documentation. * Download and installation Maybe it would be useful to have the emacs lisp fragment users need to put in their .emacs file ? And add this part to the "Download and install" section of the online manual. I'll put more detailed install instructions there as soon as there is a decision about including org-atom into Org or not (yet). 1.2 Headline properties A headline that matches the TAGS/PROP/TODO query for feed entries requires at least two headline properties to be present: The =ID= property with a unique identifier of the headline (preferable a UUID) and a property called =atom_published= containing a time stamp with the date an entry should be considered to be published. If these two properties are not present, they are automatically created using Org's default method to create ID properties[2] and current time and date for the publishing date[3] Maybe it should be better to extract timestamp from the usual timestamp below headlines, like this one: * Some title [2010-06-16 mer. 14:19] or * DONE Some title CLOSED: [2010-06-16 mer. 14:19] Actually, with this solution, it would be better to remove the timestamp used from the export, since it will displayed by the reader. The problem is, that the Atom specification requires an entry to have at least a atom:updated element. Thus there must be timestamp somewhere. Binding the timestamp to a special position in Org mode markup would limit the functionality of the exporter. However: I understand that it could be reasonable to not use a property, but an already present timestamp. What about something like this: The name of the published and updated property can be customized. It can either be a string with the property name or the symbol 'timestamp_ia. If it is this symbol, the exporter uses the first inactive timestamp of a headline. If the headline does not have an inactive timestamp, the exporter throws an error. This would be a welcome addition. I would use it, and perhaps it would entice RMS to adopt Org Mode as well. It's pretty close to what he uses for his political notes: http://www.stallman.org/archives/2010-mar-jun.html 1.3 Export settings content: turn on/off publishing content When content is t, the headline is exported both in title and in content, is this a feature or a bug ? If it's a feature, it should be nice to have an option to disable it. Hah! Good catch. Never paid attention to this. Just pushed a commit that removes the title in the content element. Thanks for the comment and suggestions. -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber dmj...@jabber.org Email. dm...@ictsoc.de ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode Org Mode gets better all the time. Thanks again. - Terry ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [ANN] Org to Atom, revisited
Olivier Schwander wrote: >> [here]: http://ictsoc.de/code/org-atom/example.atom >Is there the source of this feed somewhere ? It would be nice to have a >self sufficient example. I've uploaded the source of the example feed to http://ictsoc.de/code/org-atom/example.org But it's really as straightforward as the simple example in the documentation. >> * Download and installation >Maybe it would be useful to have the emacs lisp fragment users need to >put in their .emacs file ? And add this part to the "Download and >install" section of the online manual. I'll put more detailed install instructions there as soon as there is a decision about including org-atom into Org or not (yet). >> 1.2 Headline properties >> >> >> A headline that matches the TAGS/PROP/TODO query for feed entries >> requires at least two headline properties to be present: The =ID= >> property with a unique identifier of the headline (preferable a UUID) >> and a property called =atom_published= containing a time stamp with >> the date an entry should be considered to be published. If these two >> properties are not present, they are automatically created using Org's >> default method to create ID properties[2] and current time and date for >> the publishing >> date[3] >Maybe it should be better to extract timestamp from the usual timestamp >below headlines, like this one: >* Some title > [2010-06-16 mer. 14:19] >or >* DONE Some title > CLOSED: [2010-06-16 mer. 14:19] >Actually, with this solution, it would be better to remove the timestamp >used from the export, since it will displayed by the reader. The problem is, that the Atom specification requires an entry to have at least a atom:updated element. Thus there must be timestamp somewhere. Binding the timestamp to a special position in Org mode markup would limit the functionality of the exporter. However: I understand that it could be reasonable to not use a property, but an already present timestamp. What about something like this: The name of the published and updated property can be customized. It can either be a string with the property name or the symbol 'timestamp_ia. If it is this symbol, the exporter uses the first inactive timestamp of a headline. If the headline does not have an inactive timestamp, the exporter throws an error. >> 1.3 Export settings >> >> content: turn on/off publishing content >When content is t, the headline is exported both in title and in >content, is this a feature or a bug ? If it's a feature, it should be >nice to have an option to disable it. Hah! Good catch. Never paid attention to this. Just pushed a commit that removes the title in the content element. Thanks for the comment and suggestions. -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber dmj...@jabber.org Email. dm...@ictsoc.de pgpYbWBGrWdoa.pgp Description: PGP signature ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [ANN] Org to Atom, revisited
Le 15 Jun 2010 18:51, David Maus a écrit: > > The Org to Atom exporter I've preliminary announce some weeks ago > entered a state I consider to be stable and consistent enough to be > included into Org mode. Great work, I work it will really improve web publishing ability of org-mode. Some remarks below: > [here]: http://ictsoc.de/code/org-atom/example.atom Is there the source of this feed somewhere ? It would be nice to have a self sufficient example. > * Download and installation Maybe it would be useful to have the emacs lisp fragment users need to put in their .emacs file ? And add this part to the "Download and install" section of the online manual. > * Documentation > Table of Contents > = > 1 Exporting an Org file to Atom There is no Install section here, but there is one in the online version. > 1.2 Headline properties > > > A headline that matches the TAGS/PROP/TODO query for feed entries > requires at least two headline properties to be present: The =ID= > property with a unique identifier of the headline (preferable a UUID) > and a property called =atom_published= containing a time stamp with > the date an entry should be considered to be published. If these two > properties are not present, they are automatically created using Org's > default method to create ID properties[2] and current time and date for > the publishing > date[3] Maybe it should be better to extract timestamp from the usual timestamp below headlines, like this one: * Some title [2010-06-16 mer. 14:19] or * DONE Some title CLOSED: [2010-06-16 mer. 14:19] Actually, with this solution, it would be better to remove the timestamp used from the export, since it will displayed by the reader. > 1.3 Export settings > > content: turn on/off publishing content When content is t, the headline is exported both in title and in content, is this a feature or a bug ? If it's a feature, it should be nice to have an option to disable it. Cheers, Olivier ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [ANN] Org to Atom, revisited
David, This is really great work, and I'm excited about using it for my own site. Hopefully this will be included in the official Org mode soon. Thank you for this. - Terry On 06/15/2010 09:51 AM, David Maus wrote: The Org to Atom exporter I've preliminary announce some weeks ago entered a state I consider to be stable and consistent enough to be included into Org mode. It provides export, publishing and a sitemap functions that let you create an Atom feed for a web page project based on (multiple) Org mode files. An example that shows the support of inline images in feed entry content can be found [here]. [here]: http://ictsoc.de/code/org-atom/example.atom * Download and installation The Org to Atom exporter is maintained in a copy of Org mode's git repository in branch "org-atom" located at git://github.com/dmj/dmj-org-mode.git You can download the most recent version at [http://github.com/dmj/dmj-org-mode/raw/org-atom/lisp/org-atom.el] To use the exporter you need a recent version of atom-syndication.el, an elisp implementation of the Atom Syndication Format. You can get atom-syndication.el from github, too: git://github.com/dmj/atom-syndication.git * Usage Please see the almost complete documentation below or read via web at [http://ictsoc.de/code/org-atom.html] * Backward incompatibility If you have used an older version of the exporter you need to revise your configuration due to incompatible changes. Most notably: - in-buffer options and publishing properties have be (re)renamed to start with #+FEED and :feed instead of #+ATOM and :atom; - support for the atom:category element is temporarily removed; - some default values have changed: - content is not published by default - names of the atom:updated and atom:published property default to atom_updated and atom_published * Things yet to be done Besides support of even more atom elements (e.g. use tags for the atom:category element), the exporter would require a proper documentation for the Org mode manual, and of course some real-world testing. Thus I'm interested not just in bugs, glitches, inconsistencies, and complains about the exporter but some feedback about the present documentation, too. * Documentation Publish Atom feeds based on Org files = Date: 2010-06-15 18:49:21 CEST Table of Contents = 1 Exporting an Org file to Atom 1.1 In-buffer options 1.2 Headline properties 1.3 Export settings 1.4 Example 2 Publish feeds for a web page project 2.1 Publish a feed for each file in the project 2.2 Publish a combined feed for project files 1 Exporting an Org file to Atom An Atom feed consists of a head with feed meta data (e.g. feed title and description) and one or more feed entries. The exporter maps Org mode subtrees to Atom feed entries and requires special in-buffer options with feed as well as headline properties with entry specific meta data. 1.1 In-buffer options == An Atom feed is identified by a globally unique identifier, preferably a UUID. Such an identifier must be present in a Org file supposed to get exported or published to Atom in the =#+FEED_ID= in-buffer option. If you do not use a UUID, the value of this in-buffer option must be a proper IRI, like for example a URL that identifies this particular feed. To be able to properly reference feed entry content and the feed itself[1], at least the URL of the feed must be given by the =#+FEED_URL=. By default Org assumes the published content available in the same place like the feed with the name of the Org file and the extension defined in =org-export-html-extension=. For example a feed for the file =example.org= with the in-buffer option =#+FEED_URL= set to =http://example.tld/feed.atom= is expected to reference content located on the URL =http://example.tld/example.html=. If you indent to use different URLs for the feed and the referenced content, you can set the content URL manually by providing the in-buffer option =#+FEED_CONTENT_URL=. Prospective feed entries are found by using the TAGS/PROP/TODO query specified in the =#+FEED_MAP_ENTRIES= option. If present, the exporter uses the in-buffer options =#+TITLE= and =#+DESCRIPTION= for the feed title and description. If no title is given, the exporter uses the file name. If you want the feed title or description to be different than title and description of the published HTML file, you can use the in-buffer options =#+FEED_TITLE= and =#+FEED_DESCRIPTION=. Atom feeds are required to have an associated author of a feed and its entries. Exporting an Org file to Atom thus always uses the author specified with the =#+AUTHOR= option as the name of the author of a feed. If this option is not present, Org falls back to use
Re: [Orgmode] [ANN] Org to Atom, revisited
Wow, David, This is cool stuff. ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode