Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
spec:dfn-patterns [2013/07/30 11:45] – [Manually Specifying the Definition Type] tabatkinsspec:dfn-patterns [2013/07/30 15:20] – [Exporting Definitions] tabatkins
Line 10: Line 10:
  
 Some types of definitions are part of some higher construct.  This should be indicated with a ''data-dfn-for'' attribute on the definition or a container. Some types of definitions are part of some higher construct.  This should be indicated with a ''data-dfn-for'' attribute on the definition or a container.
 +
 +"dfn" type definitions (ones that don't fit into any other category) aren't exported for cross-referencing by default.  If you intend them to be linkable by other specs, indicate it with a ''data-export'' attribute.
  
 Getting this metadata right is easy and helps with auto-crossreferencing (in Tab's preprocessor) and automatically generated documentation (in Shepherd), so please get it right. Getting this metadata right is easy and helps with auto-crossreferencing (in Tab's preprocessor) and automatically generated documentation (in Shepherd), so please get it right.
Line 45: Line 47:
 In many cases, the definition type can be automatically inferred.  In others, you may have to manually mark up the type using any of several methods, whichever is most convenient. In many cases, the definition type can be automatically inferred.  In others, you may have to manually mark up the type using any of several methods, whichever is most convenient.
  
-The following methods are listed in order of convenience to use, but in *reverse* order of power.  That is, the very last method (manually specifying the type) wins out over everything else, and the very first method (inferring type from contents) will only be used if all the others fail.+The following methods are listed in order of convenience to use, but in **reverse** order of power.  That is, the very last method (manually specifying the type) wins out over everything else, and the very first method (inferring type from contents) will only be used if all the others fail.
  
 ==== Inferring <dfn> Type From Contents ==== ==== Inferring <dfn> Type From Contents ====
Line 149: Line 151:
  
 If using Tab's preprocessor, you may instead use a simple ''for'' attribute on the ''<dfn>'', or a ''dfn-for'' attribute on a container.  As well, Tab's preprocessor automatically enforces the use of "for" indicators, flagging an error if they're missing.  (TODO: Rather, it will soon. Haven't coded it up quite yet.) If using Tab's preprocessor, you may instead use a simple ''for'' attribute on the ''<dfn>'', or a ''dfn-for'' attribute on a container.  As well, Tab's preprocessor automatically enforces the use of "for" indicators, flagging an error if they're missing.  (TODO: Rather, it will soon. Haven't coded it up quite yet.)
 +
 +===== Exporting Definitions =====
 +
 +Definitions have a concept of being "exported" from a spec, which makes them available for automatic cross-referencing.  Most types of definitions are //automatically// exported, with no additional effort from you.  The only exception is "dfn" type definitions - to make these available for cross-referencing, you must add a ''data-export'' attribute to them or an ancestor.
 +
 +For example, the Flexbox spec contains a definition like ''<dfn>flex item</dfn>'' This isn't auto-detected as any of the other types, so it (correctly) gets the type "dfn" As it stands, though, this definition can't be auto-linked from any other spec.  To make that happen, it needs to be written as ''<dfn data-export>flex item</dfn>'' (or in Tab's preprocessor, ''<dfn export>flex item</dfn>'').
 +
 +Conversely, if you want to *block* a particular definition from being exported (because it's only meaningful locally), add a ''data-noexport'' attribute to the definition or an ancestor.
 +
 +If using Tab's preprocessor, you may instead just use an ''export'' or ''noexport'' attribute.
 
spec/dfn-patterns.txt · Last modified: 2014/12/09 15:48 by 127.0.0.1
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki