Ho appena controllato e il codice funziona ancora. Tutte le note che ho menzionato sono ancora valide.
Ho cercato di individuare tutte le aree in cui il nome completo dell’utente veniva utilizzato come attributo title del suo avatar. Il codice seguente dovrebbe coprire tutte le aree, supponendo che hide_user_profiles_from_public e prioritize_username_in_ux siano abilitati. Purtroppo, si basa sull’override di un paio di template, ma questi non cambiano molto spesso. Ho incluso i link ai file su GitHub nel caso in cui tu voglia verificare se è necessario aggiornare qualche parte del codice. L’unica modifica che ho apportato è stata aggiungere o modificare il namePath in modo che utilizzi il nome utente invece del nome completo.
<script type="text/discourse-plugin" version="0.8">
api.reopenWidget("poster-name", {
html(attrs) {
let contents = this._super(attrs);
if(contents.length == 2 && api.getCurrentUser()) {
return contents.shift();
}
return contents;
}
});
api.reopenWidget("post-avatar", {
html(attrs) {
attrs.name = "";
return this._super(attrs);
}
});
api.reopenWidget("topic-map-summary", {
html(attrs, state) {
attrs.createdByName = "";
attrs.lastPostName = "";
return this._super(attrs, state);
}
});
api.reopenWidget("topic-participant", {
html(attrs, state) {
attrs.name = "";
return this._super(attrs, state);
}
});
</script>
<!-- https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/user-info.hbs -->
<script type="text/x-handlebars" data-template-name="components/user-info">
<div class="user-image">
<div class="user-image-inner">
<a href="{{unbound userPath}}" data-user-card="{{unbound user.username}}">{{avatar user namePath="user.username" imageSize="large"}}</a>
{{#if user.primary_group_name}}
{{avatar-flair
flairURL=user.primary_group_flair_url
flairBgColor=user.primary_group_flair_bg_color
flairColor=user.primary_group_flair_color
groupName=user.primary_group_name}}
{{/if}}
</div>
</div>
<div class="user-detail">
<div class='name-line'>
<span class="username"><a href="{{unbound userPath}}" data-user-card="{{unbound user.username}}">{{format-username user.username}}</a></span>
<span class="name">{{unbound name}}</span>
</div>
<div class="title">{{unbound user.title}}</div>
{{#if hasBlock}}
<div class='details'>
{{yield}}
</div>
{{/if}}
</div>
</script>
<!-- https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/list/posters-column.raw.hbs -->
<script type="text/x-handlebars" data-template-name="list/posters-column.raw">
<td class='posters'>
{{#each posters as |poster|}}
<a href="{{poster.user.path}}" data-user-card="{{poster.user.username}}" class="{{poster.extraClasses}}">{{avatar poster avatarTemplatePath="user.avatar_template" usernamePath="user.username" namePath="user.username" imageSize="small"}}</a>
{{/each}}
</td>
</script>
<!-- https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/latest-topic-list-item.hbs -->
<script type="text/x-handlebars" data-template-name="components/latest-topic-list-item">
<div class='topic-poster'>
{{#user-link user=topic.lastPoster}}
{{avatar topic.lastPoster namePath="topic.lastPoster" imageSize="large"}}
{{/user-link}}
</div>
<div class='main-link'>
<div class='top-row'>
{{raw "topic-status" topic=topic}}
{{topic-link topic}}
{{#if topic.featured_link}}
{{topic-featured-link topic}}
{{/if}}
{{topic-post-badges newPosts=topic.totalUnread unseen=topic.unseen url=topic.lastUnreadUrl}}
</div>
<div class='bottom-row'>
{{category-link topic.category}}
{{discourse-tags topic mode="list"}}
</div>
</div>
<div class='topic-stats'>
{{raw "list/posts-count-column" topic=topic tagName="div"}}
<div class="topic-last-activity">
<a href="{{topic.lastPostUrl}}" title="{{topic.bumpedAtTitle}}">{{format-date topic.bumpedAt format="tiny" noTitle="true"}}</a>
</div>
</div>
</script>
Questo non dovrebbe essere considerato un metodo sicuro al 100%, ma manterrà le informazioni fuori dalla vista di chiunque non stia cercando attivamente di trovarle.
Prima o poi sarebbe bello avere questa funzionalità come comportamento di base ogni volta che prioritize_username_in_ux è abilitato.
@DavidO, hai letto Beginner's guide to using Discourse Themes? Se hai creato un componente tema e aggiunto il codice alla sezione comune <head>, assicurati di aggiungere il componente al tuo tema principale.