From dbea8f5dcefee08d75a02a141c50a7488d2f66f5 Mon Sep 17 00:00:00 2001 From: Mark Wolfman Date: Thu, 1 Jul 2021 22:29:42 -0500 Subject: [PATCH] Character sheet PDF's now have outline bookmarks. --- dungeonsheets/forms/druid_shapes_template.tex | 5 ++++- dungeonsheets/forms/features_template.tex | 8 +++++--- dungeonsheets/forms/infusions_template.tex | 5 +++-- dungeonsheets/forms/magic_items_template.tex | 8 +++++--- dungeonsheets/forms/spellbook_template.tex | 3 ++- dungeonsheets/forms/subclasses_template.tex | 8 +++++--- 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/dungeonsheets/forms/druid_shapes_template.tex b/dungeonsheets/forms/druid_shapes_template.tex index 7986113..1531fd6 100644 --- a/dungeonsheets/forms/druid_shapes_template.tex +++ b/dungeonsheets/forms/druid_shapes_template.tex @@ -1,7 +1,9 @@ +\pdfbookmark[0]{Known Beasts}{Known Beasts} \section*{Known Beasts} [% if use_dnd_decorations %] [% for shape in character.all_wild_shapes|sort(attribute='challenge_rating') %] + \pdfbookmark[1]{[[ shape.name ]]}{Known Beasts - [[ shape.name ]]} [% if not character.can_assume_shape(shape) %] \subsection*{Cannot assume form} [% endif %] @@ -42,6 +44,7 @@ [% else %] [% for shape in character.all_wild_shapes|sort(attribute='challenge_rating') %] + \pdfbookmark[1]{[[ shape.name ]]}{Known Beasts - [[ shape.name ]]} [% if not character.can_assume_shape(shape) %] {\color{mygrey} [% else %] @@ -94,4 +97,4 @@ } %\color [% endfor %] -[% endif %] \ No newline at end of file +[% endif %] diff --git a/dungeonsheets/forms/features_template.tex b/dungeonsheets/forms/features_template.tex index 3923343..be0e067 100644 --- a/dungeonsheets/forms/features_template.tex +++ b/dungeonsheets/forms/features_template.tex @@ -1,13 +1,15 @@ - \section*{Features} +\pdfbookmark[0]{Features}{Features} +\section*{Features} [% if use_dnd_decorations %] [% for feat in character.features %] + \pdfbookmark[1]{[[ feat.name ]]}{Features - [[ feat.name ]]} \DndFeatHeader{[[ feat.name ]]}[Source: [[ feat.source ]]] [[ feat.__doc__|rst_to_latex ]] [% endfor %] [% else %] [% for feat in character.features %] - + \pdfbookmark[1]{[[ feat.name ]]}{Features - [[ feat.name ]]} \subsection*{[[ feat.name ]]} \noindent @@ -20,4 +22,4 @@ [[ feat.__doc__|rst_to_latex ]] [% endfor %] -[% endif %] \ No newline at end of file +[% endif %] diff --git a/dungeonsheets/forms/infusions_template.tex b/dungeonsheets/forms/infusions_template.tex index 6590d9e..a9ce6ed 100644 --- a/dungeonsheets/forms/infusions_template.tex +++ b/dungeonsheets/forms/infusions_template.tex @@ -1,6 +1,7 @@ +\pdfbookmark[0]{Infusions}{Infusions} \section*{Infusions} [% for inf in character.infusions %] - + \pdfbookmark[1]{[[ inf.name ]]}{Infusions - [[ inf.name ]]} \subsection*{[[ inf.name ]]} [% if inf.prerequisite %]% @@ -18,4 +19,4 @@ [[ inf.__doc__ | rst_to_latex(top_heading_level=2) ]] -[% endfor %] \ No newline at end of file +[% endfor %] diff --git a/dungeonsheets/forms/magic_items_template.tex b/dungeonsheets/forms/magic_items_template.tex index 501be38..8b57d11 100644 --- a/dungeonsheets/forms/magic_items_template.tex +++ b/dungeonsheets/forms/magic_items_template.tex @@ -1,7 +1,9 @@ +\pdfbookmark[0]{Magic Items}{Magic Items} \section*{Magic Items} [% if use_dnd_decorations %] - [% for mitem in character.magic_items %] + [% for mitem in character.magic_items %] + \pdfbookmark[1]{[[ mitem.name ]]}{Magic Items - [[ mitem.name ]]} \DndItemHeader{[[ mitem.name ]]}{[% if mitem.item_type %][[ mitem.item_type ]], [[ mitem.rarity.lower() ]][% else %][[ mitem.rarity ]] item[% endif %][% if mitem.requires_attunement %] (requires attunement)[% endif %]} [% if mitem.needs_implementation %] % \textbf{**Not included in stats on Character Sheet} % @@ -11,7 +13,7 @@ [% endfor %] [% else %] [% for mitem in character.magic_items %] - + \pdfbookmark[1]{[[ mitem.name ]]}{Magic Items - [[ mitem.name ]]} \subsection*{[[ mitem.name ]]} \noindent @@ -25,4 +27,4 @@ [[ mitem.__doc__|rst_to_latex ]] [% endfor %] -[% endif %] \ No newline at end of file +[% endif %] diff --git a/dungeonsheets/forms/spellbook_template.tex b/dungeonsheets/forms/spellbook_template.tex index e1921d4..8367ec3 100644 --- a/dungeonsheets/forms/spellbook_template.tex +++ b/dungeonsheets/forms/spellbook_template.tex @@ -1,7 +1,8 @@ +\pdfbookmark[0]{Spells}{Spells} \section*{Spells} [% for spl in character.spells %] - + \pdfbookmark[1]{[[ spl.name ]]}{Spells - [[ spl.name ]]} [% if use_dnd_decorations %] \DndSpellHeader {[[ spl.name ]]} diff --git a/dungeonsheets/forms/subclasses_template.tex b/dungeonsheets/forms/subclasses_template.tex index 1f56f43..79f09d2 100644 --- a/dungeonsheets/forms/subclasses_template.tex +++ b/dungeonsheets/forms/subclasses_template.tex @@ -1,6 +1,8 @@ +\pdfbookmark[0]{Subclasses}{Subclasses} \section*{Subclasses} [% if use_dnd_decorations %] - [% for sc in character.subclasses if sc not in ['', None, 'None', 'none']%] + [% for sc in character.subclasses if sc not in ['', None, 'None', 'none']%] + \pdfbookmark[1]{[[ sc.name ]]}{Subclasses - [[ sc.name ]]} \DndFeatHeader{[[ sc.name ]]} % Would like to add source here [[ sc.__doc__ | rst_to_latex(top_heading_level=2) ]] @@ -8,10 +10,10 @@ [% endfor %] [% else %] [% for sc in character.subclasses if sc not in ['', None, 'None', 'none']%] - + \pdfbookmark[1]{[[ sc.name ]]}{Subclasses - [[ sc.name ]]} \subsection*{[[ sc.name ]]} [[ sc.__doc__ | rst_to_latex(top_heading_level=2) ]] [% endfor %] -[% endif %] \ No newline at end of file +[% endif %]