Direktivy copy
, cut
a paste
jsou poskytovány modulem cutpaste.
Pomocí těchto direktiv můžete ukládat a opětovně vyvolávat části stránky:
[[!cut id=jméno text="text"]]
si zapamatuje text, který je možné později vyvolat zadaným identifikátorem. Vyjmutý text se ve stránce nezobrazí.[[!copy id=jméno text="text"]]
si zapamatuje text, který je možné později vyvolat zadaným identifikátorem. Zkopírovaný text se ve stránce zobrazí.[[!paste id=jméno]]
se nahradí dříve zapamatovaným textem.
Kopírovaný/vkládaný text může obsahovat libovolné wiki značky, včetně
dalšího volání direktiv cut
, copy
a paste
.
Text si nemusíte zapamatovat před tím, než jej použijete. Direktiva cut
může následovat až za direktivou paste
, která využívá její text. To se
hodí v případech, kdy chcete zachovat přirozený tok textu, ale potřebujete
do něj vložit větší text, jako třeba anotaci. Například:
[[!toggleable id="cut" text="[[!paste id=cutlongdesc]]"]]
[[!toggleable id="copy" text="[[!paste id=copylongdesc]]"]]
[[!toggleable id="paste" text="[[!paste id=pastelongdesc]]"]]
[...o něco později...]
[[!cut id=cutlongdesc text="""
blá, blá, blá
"""]]
[[!cut id=copylongdesc text="""
blá, blá, blá
"""]]
[[!cut id=pastelongdesc text="""
blá, blá, blá
"""]]
To by potenciálně mohlo vést k zacyklení, ale ikiwiki je chytrá a nekonečné smyčky přeruší.
Protože můžete vkládat text bez použití dvojitých uvozovek, můžete použít copy a paste pro vnořování direktiv, které vyžadují víceřádkové parametry.
[[!toggleable id=foo text="""
[[!toggleable id=bar text="[[!paste id=baz]]"]]
"""]]
[[!cut id=baz text="""
víceřádkový parametr!
"""]]