Feature Proposal: Allow multiple STARTINCLUDE and STOPINCLUDE tags
Motivation
It would be usefull to modularize a page, giving the ability to name STARTINCLUDE tags so other pages can INCLUDE them by name.
Description
By giving STARTINCLUDE and STOPINCLUDE the ability to associate user defined names, any page using an INCLUDE could call in specific portions of a page by calling that name as well. The syntax would be straight forward: STARTINCLUDE{ThisName}
Stuff goes here.
STOPINCLUDE{ThisName}
INCLUDE{Main.PageName#ThisName}
This would allow stacking of stuff to be included.
--
CraigMonson - 13 Dec 2005
Impact and Available Solutions
Note: Patch is attached as
https://twiki.org/p/pub/Codev/MultipleStartincludeStopinclude/twiki-foo-bar-patch.diff. The patch is against the
TWikiAlphaRelease of
15 Feb 2004.
Documentation
If necessary, user documentation of new features introduced by this proposal.
Examples
This is a page with a list of stuff. It can be broken up into different lists and should allow
other pages the ability to include different portions of the page.
---+++++ PageName
%STARTINCLUDE{MyFullList}%
%STARTINCLUDE{MyPrimaryList}%
* List item 1
* List item 2
* List item 3
%STOPINCLUDE{MyPrimaryList}%
%STARTINCLUDE{MySecondaryList}%
* List item 4
* List item 5
* List item 6
%STOPINCLUDE{MySecondaryList}%
%STOPINCLUDE{MyFullList}%
Any portion of the list can be INCLUDEd by using:
%INCLUDE{PageName#MyFullList}%
or
%INCLUDE{PageName#MyPrimaryList}%
Implementation
Any comments on how the feature is implemented or could be improved
Discussion:
The upcoming
DakarRelease has a function which is almost identical to your feature request: Instead of having named %STARTINCLUDE% and %STOPINCLUDE% it offers named %SECTION{...}% and %ENDSECTION% tags.
The %INCLUDE% directive is being extended by a new
section
operand which, like your
#anchor
, selects one of the named sections.
The solution in
DakarRelease does not have named %ENDSECTION% directives, so there's only
one level of nesting (!
Warning: Can't find topic "".""
without a
section
takes everything between %STARTINCLUDE% and %STOPINCLUDE%, and %INCLUDE{}% with a
section
takes the named component).
See
http://develop.twiki.org/~develop/cgi-bin/view/TWiki/TWikiVariables#VarSECTION for a description of the syntax.
--
HaraldJoerg - 14 Dec 2005
Oh, it
has an %ENDSECTION% directive:
http://develop.twiki.org/~develop/cgi-bin/view/TWiki/TWikiVariables#VarENDSECTION
The
DakarRelease already includes exactly the feature that has been proposed here.
--
MichaelDaum - 14 Dec 2005
Sweet! Thanks for your incredibly quick response!
--
CraigMonson - 14 Dec 2005