emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* "Tag hierarchy" idea
@ 2011-03-21 23:09 John Tait
  2011-03-22  0:57 ` Matt Lundin
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: John Tait @ 2011-03-21 23:09 UTC (permalink / raw)
  To: emacs-orgmode

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

Hi all

This is my first post. First, I'd like to thank all the org-mode developers
for a great tool.

I'm a technical editor. I am facinated by the pros and cons of structured
documents with regard to their ease of use and power. I think that they are
probably far too restrictive and cumbersome (looking at you, DITA) for the
average technical document. Nevertheless, the idea of modular documents is
an appealing one to me. I like conditional text features (e.g. in LyX).

In org-mode, I really really love selective export (include/exclude tags)
and using #+INCLUDE: for including other files. This gives me enormous
flexibility, with zero DITA pain.

May I propose an additional feature? I haven't seen anything like it
published anywhere, though maybe I am using the incorrect search terms. (I
am getting enormous vertigo and time-travel sickness reading up on Lisp,
XML, DITA, etc.)

It's a pretty basic idea, but I hope you can take a moment to weigh up its
potential.

We could assign tags to hierarchies of other tags.


#+TAG-NEST: (colour(red green blue))
#+TAG-NEST: (type(colour size))
#+TAG-NEST: (car(type price))

or maybe like this. I'd leave it up to someone with actual programming
experience and a logical mind (my productive programming was PASCAL in 1991)
to suggest a rigorous system that makes sense.

#+TAG-NEST: colour > red:green:blue
#+TAG-NEST: type > colour:size
#+TAG-NEST: car > type:price

The point of this would be that selecting, say, "colour" as a tag would
bring along "red", "green", and "blue" along with it. The tag "type" would
bring "colour", "red", "green", "blue" and "size" with it.

The power of this would be that hierarchies could be adjusted and
manipulated as necessary.

Since there is no one definitive way to tag real world objects and ideas
into nice nested boxes (thanks, AI research), we could adjust any tag
hierarchies to suit experience and changing priorities. Even hierarchies
could just be thrown away without affecting existing tags too much, since
tagged headings could just be selected/excluded as usual.

This way, we can use concept hierarchies as the disposable conveniences that
they are, without getting locked into them. Looking at stuff like XSLT
transformation for XML, that'd be worth avoiding.

Maybe there is some logical lispy reason why this couldn't work, but I hope
this is worthy of your consideration.

John

------

While I am here (sorry), I couldn't get #+FILETAGS: to work in org-version
7.4.

For example, if I export a file (to html) File1.org  with
"#+EXPORT_EXCLUDE_TAGS: john", and then I include File2.org, I can see
File2.org included as part the export of File1 as expected. If I then set
"#+FILETAGS: :john:" in File2, I'd expect File2 to now be excluded, but it
still appears. If I then tag a File2 heading as say "* Heading :john:", then
it won't appear in the File1 export, as expected. Am I missing something?

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-03-24 22:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-21 23:09 "Tag hierarchy" idea John Tait
2011-03-22  0:57 ` Matt Lundin
     [not found]   ` <AANLkTikwOWJdqKrZDE+JUzezEpvfNQ537xRgtzYgssAd@mail.gmail.com>
2011-03-22 14:17     ` Matt Lundin
2011-03-22  4:08 ` Jambunathan K
2011-03-22  8:27 ` Christian Moe
2011-03-22 13:57   ` John Tait
2011-03-24 11:34     ` Jambunathan K
2011-03-24 22:27       ` John Tait

Code repositories for project(s) associated with this public 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).