Twig Metrics
1872 ms
Render time
311
Template calls
82
Block calls
6
Macro calls
Render time includes sub-requests rendering time (if any).
Rendered Templates
Rendering Call Graph
main 1872.04ms/100% └ entry/single.html.twig 1871.10ms/100% │ └ base.html.twig 1870.98ms/100% │ └ entry/single.html.twig::block(title) │ │ └ base.html.twig::block(title) │ └ entry/single.html.twig::block(description) │ └ entry/single.html.twig::block(title) │ │ └ base.html.twig::block(title) │ └ entry/single.html.twig::block(description) │ └ entry/single.html.twig::block(image) 28.18ms/2% │ └ base.html.twig::block(stylesheets) │ └ base.html.twig::block(javascripts) │ └ entry/single.html.twig::block(header_nav) │ └ layout/_header.html.twig 5.08ms/0% │ │ └ layout/_header_bread.html.twig │ │ └ layout/_header_nav.html.twig │ └ entry/single.html.twig::block(mainClass) │ └ entry/single.html.twig::block(body) 1665.09ms/89% │ │ └ components/_cached.html.twig 47.35ms/3% │ │ │ └ components/entry.html.twig 47.25ms/3% │ │ │ └ components/user_inline.html.twig │ │ │ └ components/date.html.twig │ │ │ └ components/date_edited.html.twig │ │ │ └ components/vote.html.twig │ │ │ └ components/boost.html.twig 1.15ms/0% │ │ │ └ entry/_menu.html.twig 1.53ms/0% │ │ └ components/_cached.html.twig 53.66ms/3% │ │ │ └ components/entries_cross.html.twig │ │ └ layout/_flash.html.twig │ │ └ entry/comment/_options.html.twig │ │ └ entry/comment/_form_comment.html.twig 11.90ms/1% │ │ │ └ form_div_layout.html.twig::block(form_start) │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ └ components/editor_toolbar.html.twig │ │ │ └ form_div_layout.html.twig::block(form_row) │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ └ form_div_layout.html.twig::block(form_label) │ │ │ │ └ form_div_layout.html.twig::block(form_errors) │ │ │ │ └ form_div_layout.html.twig::block(textarea_widget) │ │ │ │ │ └ form_div_layout.html.twig::block(widget_attributes) │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ └ form_div_layout.html.twig::block(form_help) │ │ │ └ layout/_form_media.html.twig │ │ │ │ └ form_div_layout.html.twig::block(form_row) │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ └ form_div_layout.html.twig::block(form_label) │ │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ │ └ form_div_layout.html.twig::block(form_label_content) │ │ │ │ │ └ form_div_layout.html.twig::block(form_errors) │ │ │ │ │ └ form_div_layout.html.twig::block(form_widget) │ │ │ │ │ │ └ form_div_layout.html.twig::block(form_widget_simple) │ │ │ │ │ │ └ form_div_layout.html.twig::block(widget_attributes) │ │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ └ form_div_layout.html.twig::block(form_help) │ │ │ │ └ form_div_layout.html.twig::block(form_row) │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ └ form_div_layout.html.twig::block(form_label) │ │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ │ └ form_div_layout.html.twig::block(form_label_content) │ │ │ │ │ └ form_div_layout.html.twig::block(form_errors) │ │ │ │ │ └ form_div_layout.html.twig::block(url_widget) │ │ │ │ │ │ └ form_div_layout.html.twig::block(form_widget_simple) │ │ │ │ │ │ └ form_div_layout.html.twig::block(widget_attributes) │ │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ └ form_div_layout.html.twig::block(form_help) │ │ │ │ └ form_div_layout.html.twig::block(form_row) │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ └ form_div_layout.html.twig::block(form_label) │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ └ form_div_layout.html.twig::block(form_label_content) │ │ │ │ └ form_div_layout.html.twig::block(form_errors) │ │ │ │ └ form_div_layout.html.twig::block(textarea_widget) │ │ │ │ │ └ form_div_layout.html.twig::block(widget_attributes) │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ └ form_div_layout.html.twig::block(form_help) │ │ │ └ form_div_layout.html.twig::block(form_row) 9.29ms/0% │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ └ form_div_layout.html.twig::block(form_label) │ │ │ │ └ form_div_layout.html.twig::block(form_errors) │ │ │ │ └ form_div_layout.html.twig::block(choice_widget) 9.20ms/0% │ │ │ │ │ └ form_div_layout.html.twig::block(choice_widget_collapsed) 9.20ms/0% │ │ │ │ │ └ form_div_layout.html.twig::block(widget_attributes) │ │ │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ │ └ form/lang_select.html.twig::block(choice_widget_options) │ │ │ │ │ └ form/lang_select.html.twig::block(choice_widget_options) 9.13ms/0% │ │ │ │ └ form_div_layout.html.twig::block(form_help) │ │ │ └ form_div_layout.html.twig::block(button_row) │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ │ └ form_div_layout.html.twig::block(submit_widget) │ │ │ │ └ form_div_layout.html.twig::block(button_widget) │ │ │ │ └ form_div_layout.html.twig::block(button_attributes) │ │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ │ └ form_div_layout.html.twig::block(form_end) │ │ │ └ form_div_layout.html.twig::block(form_rest) │ │ │ └ form_div_layout.html.twig::block(hidden_row) │ │ │ └ form_div_layout.html.twig::block(hidden_widget) │ │ │ └ form_div_layout.html.twig::block(form_widget_simple) │ │ │ └ form_div_layout.html.twig::block(widget_attributes) │ │ │ └ form_div_layout.html.twig::block(attributes) │ │ └ entry/comment/_list.html.twig 1548.90ms/83% │ │ │ └ components/entry_comment.html.twig 248.92ms/13% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig 2.99ms/0% │ │ │ │ └ components/boost.html.twig 8.36ms/0% │ │ │ │ └ entry/comment/_menu.html.twig 22.08ms/1% │ │ │ │ └ components/_cached.html.twig 180.80ms/10% │ │ │ │ └ components/entry_comments_nested.html.twig 177.04ms/9% │ │ │ │ └ components/entry_comment.html.twig 98.01ms/5% │ │ │ │ │ └ components/user_inline.html.twig 1.57ms/0% │ │ │ │ │ └ components/date.html.twig │ │ │ │ │ └ components/date_edited.html.twig │ │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ │ └ components/vote.html.twig 2.40ms/0% │ │ │ │ │ └ components/boost.html.twig 3.80ms/0% │ │ │ │ │ └ entry/comment/_menu.html.twig 8.95ms/0% │ │ │ │ │ └ components/_cached.html.twig 55.98ms/3% │ │ │ │ │ └ components/entry_comments_nested.html.twig 55.44ms/3% │ │ │ │ │ └ components/entry_comment.html.twig 53.09ms/3% │ │ │ │ │ └ components/user_inline.html.twig │ │ │ │ │ └ components/date.html.twig │ │ │ │ │ └ components/date_edited.html.twig │ │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ │ └ components/vote.html.twig │ │ │ │ │ └ components/boost.html.twig 7.15ms/0% │ │ │ │ │ └ entry/comment/_menu.html.twig 6.54ms/0% │ │ │ │ │ └ components/_cached.html.twig 13.84ms/1% │ │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ │ └ components/entry_comment.html.twig 75.57ms/4% │ │ │ │ └ components/user_inline.html.twig 4.09ms/0% │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 23.46ms/1% │ │ │ │ └ components/_cached.html.twig 14.05ms/1% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 112.42ms/6% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 1.31ms/0% │ │ │ │ └ components/_cached.html.twig 64.57ms/3% │ │ │ │ └ components/entry_comments_nested.html.twig 53.82ms/3% │ │ │ │ └ components/entry_comment.html.twig 53.27ms/3% │ │ │ │ └ components/user_inline.html.twig 4.41ms/0% │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 1.38ms/0% │ │ │ │ └ components/_cached.html.twig 27.80ms/1% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 55.81ms/3% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig 1.53ms/0% │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 1.38ms/0% │ │ │ │ └ components/_cached.html.twig 11.78ms/1% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 55.59ms/3% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig 10.42ms/1% │ │ │ │ └ entry/comment/_menu.html.twig 1.37ms/0% │ │ │ │ └ components/_cached.html.twig 23.83ms/1% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 75.39ms/4% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 1.32ms/0% │ │ │ │ └ components/_cached.html.twig 36.70ms/2% │ │ │ │ └ components/entry_comments_nested.html.twig 30.37ms/2% │ │ │ │ └ components/entry_comment.html.twig 29.84ms/2% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig 4.76ms/0% │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 5.05ms/0% │ │ │ │ └ components/_cached.html.twig 2.39ms/0% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 283.53ms/15% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 1.34ms/0% │ │ │ │ └ components/_cached.html.twig 246.68ms/13% │ │ │ │ └ components/entry_comments_nested.html.twig 233.38ms/12% │ │ │ │ └ components/entry_comment.html.twig 232.77ms/12% │ │ │ │ └ components/user_inline.html.twig 7.12ms/0% │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig 2.37ms/0% │ │ │ │ └ components/boost.html.twig 46.52ms/2% │ │ │ │ └ entry/comment/_menu.html.twig 36.90ms/2% │ │ │ │ └ components/_cached.html.twig 67.41ms/4% │ │ │ │ └ components/entry_comments_nested.html.twig 63.47ms/3% │ │ │ │ └ components/entry_comment.html.twig 62.84ms/3% │ │ │ │ └ components/user_inline.html.twig 14.86ms/1% │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig 12.34ms/1% │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig 10.89ms/1% │ │ │ │ └ entry/comment/_menu.html.twig 1.41ms/0% │ │ │ │ └ components/_cached.html.twig 11.14ms/1% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 175.22ms/9% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig 5.88ms/0% │ │ │ │ └ entry/comment/_menu.html.twig 2.37ms/0% │ │ │ │ └ components/_cached.html.twig 91.37ms/5% │ │ │ │ └ components/entry_comments_nested.html.twig 81.40ms/4% │ │ │ │ └ components/entry_comment.html.twig 80.54ms/4% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig 1.07ms/0% │ │ │ │ └ entry/comment/_menu.html.twig 21.19ms/1% │ │ │ │ └ components/_cached.html.twig 3.40ms/0% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 184.83ms/10% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 31.23ms/2% │ │ │ │ └ components/_cached.html.twig 117.68ms/6% │ │ │ │ └ components/entry_comments_nested.html.twig 100.98ms/5% │ │ │ │ └ components/entry_comment.html.twig 100.39ms/5% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig 12.12ms/1% │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig 7.73ms/0% │ │ │ │ └ entry/comment/_menu.html.twig 1.37ms/0% │ │ │ │ └ components/_cached.html.twig 71.89ms/4% │ │ │ │ └ components/entry_comments_nested.html.twig 69.50ms/4% │ │ │ │ └ components/entry_comment.html.twig 68.98ms/4% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 9.58ms/1% │ │ │ │ └ components/_cached.html.twig 37.40ms/2% │ │ │ │ └ components/entry_comments_nested.html.twig 36.63ms/2% │ │ │ │ └ components/entry_comment.html.twig 35.84ms/2% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 1.40ms/0% │ │ │ │ └ components/_cached.html.twig 3.44ms/0% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 293.56ms/16% │ │ │ └ components/user_inline.html.twig │ │ │ └ components/date.html.twig │ │ │ └ components/date_edited.html.twig │ │ │ └ components/user_avatar.html.twig │ │ │ └ components/vote.html.twig │ │ │ └ components/boost.html.twig │ │ │ └ entry/comment/_menu.html.twig 1.35ms/0% │ │ │ └ components/_cached.html.twig 265.29ms/14% │ │ │ └ components/entry_comments_nested.html.twig 258.54ms/14% │ │ │ └ components/entry_comment.html.twig 117.55ms/6% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig │ │ │ │ └ components/boost.html.twig 8.78ms/0% │ │ │ │ └ entry/comment/_menu.html.twig 1.88ms/0% │ │ │ │ └ components/_cached.html.twig 84.90ms/5% │ │ │ │ └ components/entry_comments_nested.html.twig 60.12ms/3% │ │ │ │ └ components/entry_comment.html.twig 59.46ms/3% │ │ │ │ └ components/user_inline.html.twig │ │ │ │ └ components/date.html.twig │ │ │ │ └ components/date_edited.html.twig │ │ │ │ └ components/user_avatar.html.twig │ │ │ │ └ components/vote.html.twig 7.50ms/0% │ │ │ │ └ components/boost.html.twig │ │ │ │ └ entry/comment/_menu.html.twig 25.51ms/1% │ │ │ │ └ components/_cached.html.twig 6.79ms/0% │ │ │ │ └ components/entry_comments_nested.html.twig │ │ │ └ components/entry_comment.html.twig 124.55ms/7% │ │ │ └ components/user_inline.html.twig 23.79ms/1% │ │ │ └ components/date.html.twig │ │ │ └ components/date_edited.html.twig │ │ │ └ components/user_avatar.html.twig │ │ │ └ components/vote.html.twig │ │ │ └ components/boost.html.twig 7.69ms/0% │ │ │ └ entry/comment/_menu.html.twig 24.95ms/1% │ │ │ └ components/_cached.html.twig 54.24ms/3% │ │ │ └ components/entry_comments_nested.html.twig 48.37ms/3% │ │ │ └ components/entry_comment.html.twig 47.63ms/3% │ │ │ └ components/user_inline.html.twig │ │ │ └ components/date.html.twig │ │ │ └ components/date_edited.html.twig │ │ │ └ components/user_avatar.html.twig │ │ │ └ components/vote.html.twig │ │ │ └ components/boost.html.twig │ │ │ └ entry/comment/_menu.html.twig 18.83ms/1% │ │ │ └ components/_cached.html.twig 9.06ms/0% │ │ │ └ components/entry_comments_nested.html.twig │ │ └ entry/_options_activity.html.twig │ └ base.html.twig::block(sidebar) 164.16ms/9% │ │ └ entry/single.html.twig::block(sidebar_top) │ │ └ entry/single.html.twig::block(header_nav) │ │ └ layout/_sidebar.html.twig 164.06ms/9% │ │ └ layout/_options_theme.html.twig │ │ └ layout/_options_font_size.html.twig │ │ └ layout/_options_appearance.html.twig 85.89ms/5% │ │ │ └ components/_settings_row_enum.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_user_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_user_settings_row_switch.html.twig │ │ │ └ components/_user_settings_row_switch.html.twig │ │ │ └ components/_user_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ │ └ components/_settings_row_enum.html.twig │ │ │ └ components/_settings_row_switch.html.twig │ │ └ layout/_header_bread.html.twig │ │ └ layout/_header_nav.html.twig │ │ └ entry/_info.html.twig 1.96ms/0% │ │ │ └ components/user_actions.html.twig │ │ │ └ components/date.html.twig │ │ └ components/magazine_box.html.twig 45.55ms/2% │ │ │ └ components/magazine_sub.html.twig │ │ │ └ components/date.html.twig │ │ │ └ components/user_inline.html.twig 9.86ms/1% │ │ │ └ components/magazine_box.html.twig::macro(meta_item) │ │ │ └ components/magazine_box.html.twig::macro(meta_item) │ │ │ └ components/magazine_box.html.twig::macro(meta_item) │ │ │ └ components/magazine_box.html.twig::macro(meta_item) │ │ │ └ components/magazine_box.html.twig::macro(meta_item) │ │ │ └ components/magazine_box.html.twig::macro(meta_item) │ │ └ magazine/_moderators_sidebar.html.twig │ │ └ components/_cached.html.twig │ │ └ components/_cached.html.twig │ │ └ components/_cached.html.twig 2.03ms/0% │ │ └ components/_cached.html.twig 1.20ms/0% │ │ └ components/_cached.html.twig 8.78ms/0% │ │ └ components/_cached.html.twig │ └ layout/_footer.html.twig 1.35ms/0% │ └ layout/_topbar.html.twig 5.61ms/0% │ └ components/_cached.html.twig 4.71ms/0% │ └ components/featured_magazines.html.twig └ @WebProfiler/Profiler/toolbar_js.html.twig └ @WebProfiler/Profiler/toolbar.html.twig │ └ @WebProfiler/Profiler/cancel.html.twig::block(toolbar) │ └ @WebProfiler/Profiler/toolbar_item.html.twig └ @WebProfiler/Profiler/toolbar.css.twig