All of these links are just links, no need for separate theme functions.

Their specialized use-case can be indicated through theme function sub-patterns; e.g., 'link__menu', 'link__menu_task', 'link__menu_action'.

Comments

sun’s picture

Title: Merge theme_menu_link/_local_task/_local_action() theme functions into theme_link() » Merge theme_menu_link() theme functions into theme_link()
Issue tags: +Twig

#1777332: Replace theme_menu_link() and menu-tree.html.twig with a single Twig template handles local tasks/actions already, so removing those from the goals/task list here.

jenlampton’s picture

Title: Merge theme_menu_link() theme functions into theme_link() » Replace theme_menu_link() theme functions with l()

Since all these things are just links, they do not need to be run through the theme layer at all. Updating title.
see #1833906: Remove theme_link() from core

jenlampton’s picture

Title: Replace theme_menu_link() theme functions with l() » Merge theme_menu_link/_local_task/_local_action() theme functions into theme_link()
Status: Active » Postponed

Okay, so maybe it's too soon to remove theme_link from core. But I also think its too soon to make any other functions depend on theme_link - just incase we do end up deciding to remove it. Can we postpone this and wait till our Theme Component Library starts to take shape? :)

sun’s picture

As discussed in #1833920: [META] Markup Utility Functions, I think this should actually be merged and marked as duplicate of:

#1777332: Replace theme_menu_link() and menu-tree.html.twig with a single Twig template

All of these are lists, containing links, but the outer thing is a list.

Unfortunately, that means we're again blocked on #891112: Replace theme_item_list()'s 'data' items with render elements (which still looks RTBC to me)

thedavidmeister’s picture

Status: Postponed » Closed (won't fix)

theme_link() has been removed from core.

jenlampton’s picture

Status: Closed (won't fix) » Closed (duplicate)

Actually, let's mark this as a dupe of #1595614: [meta] Remove all the theme functions and templates in core that simply output a link. Replace with #type 'link' render arrays
Since that's where we are removing these functons :)