@pitaj Seems that every should work fine ... should but it doesn't. I don't know if it's a bug or if I am stupid. Would be awesome if you could take a look. 
theme.js
is defined in plugin.json
. Also the hooks are defined.
"main": "./lib/theme.js",
"hooks": [
{
"hook": "filter:widgets.getAreas",
"method": "defineWidgetAreas"
},
{
"hook": "filter:middleware.renderHeader",
"method": "filterMiddlewareRenderHeader"
}
]
in theme.js
I have the method defineWidgetAreas
.
Theme.defineWidgetAreas = function(areas, callback) {
areas = areas.concat([{
'name': 'MOTD',
'template': 'home.tpl',
'location': 'motd'
},
{
'name': 'Homepage Footer',
'template': 'home.tpl',
'location': 'footer'
},
{
'name': 'Category Sidebar',
'template': 'category.tpl',
'location': 'sidebar'
},
{
'name': 'Category Header',
'template': 'category.tpl',
'location': 'header'
},
{
'name': 'Topic Footer',
'template': 'topic.tpl',
'location': 'footer'
}
]);
callback(null, areas);
};
If ^ this is right. It should work or should't?
My other method is working too:
// To make thumbnail available to the header
Theme.filterMiddlewareRenderHeader = async function(hookData) {
if (hookData.templateValues.template.name === 'topic') {
hookData.templateValues.thumb = hookData.data.thumb;
}
return hookData;
};
But still the same result as in main post here. 
I also noticed, that I can't enable quickreply for my theme even though it should be inherited from persona? Or am I wrong?
You do not need to redefine all templates for your theme. If the template file does not exist in your current theme, NodeBB will inherit templates from the baseTheme that you have defined in your theme.json (or if undefined, it will inherit from nodebb-theme-personaโs templates).
CC: docs.nodebb.org/development/themes/
Additional Info:
I use npm link
for my plugins.