Links em destaque no Banner

:information_source: Summary Banner Featured Links allows you to create a banner of links.
:eyeglasses: Preview Theme Creator
:hammer_and_wrench: Repository GitHub - Arkshine/discourse-banner-featured-links
:question: Install Guide How to install a theme or theme component
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Summary

Banner Featured Links allows you to create a banner of links.
It provides a wide range of customization options.

It’s a feature inspired by the fantastic “Meta Branded” Discourse theme.

Features

The default look – it uses the theme color.
image

The button can be styled separately:
image

You can place the links at various places via the plugin outlet setting.
A list of common locations is provided in the description.

:information_source: I recommend using the Developer Toolbar theme component to see where the plugin outlets are located!

For example, if you want to mimic the Meta Brand theme, use the search-banner-below-input outlet. It assumes you have installed the Search Banner component.

Details

The current style can be achieved with the following settings:

I encourage you to try your style!

Settings

General

Name Description
links Text links to be displayed in the header.
show_for_members Display the links for logged-in users.
show_for_anon Display the links for anonymous users.
display_on_mobile Display the links on mobile devices.
display_on_desktop Display the links on desktop computers.
display on homepage Displays the links on the homepage.
url must contain Enter paths that should display the banner. Add * to the end of the path as a wildcard.
plugin outlet The location to display the links.
Common Locationsabove-main-containerabove-site-headerafter-headerbefore-header-panelbefore-list-areabefore-topic-listbelow-site-headerheader-list-container-bottomtopic-above-post-stream
Search Banner component:
search-banner-below-headlinesearch-banner-below-input

links setting:

Name Description
Icon The FontAwesome icon or emoji to display for the links.
Shortcuts
Windows: Win + .
Mac: Cmd + Ctrl + Space
ChromeOS: Launch + Shift + Space
Title The title of the link.
URL The URL to link to.
Target Opens the linked document:
_blank: in a new window or tab (this is the default)
_self: in the same frame as it was clicked
_parent: in the parent frame
_top: in the full body of the window.

You can also style per-button. It will overwrite the global style.

Name Description
Width The width of the button.
Font The font of the button.
Rounding The amount of rounding to apply to the button.
Background The background color of the button.
Background Hover` The background color of the button when hovered.
Color` The text color of the button.
Color Hover` The text color of the button when hovered.
Border The border of the button.
Border Hover The border of the button when hovered.
Shadow The shadow of the button.
CSS Classname A custom CSS class to apply to the button.
Useful if you want to style the button differently and the settings are not enough.
You can target with .banner-featured-links__link.your-classname {}

Global Styling

Customize the default spacing and look of the links.
You can overwrite the button styling for each link individually.

Buttons Wrapper Styling

Customize the container of the links.

Name Description
buttons wrapper max width The maximum width of the buttons wrapper.
buttons wrapper margin The margin of the buttons wrapper.
mobile buttons wrapper max width The maximum width of the buttons wrapper on mobile.
mobile buttons wrapper margin The margin of the buttons wrapper on mobile.

Buttons Spacing & Text Font

Customize the spacing of the buttons and the font size of the text.

Name Description
buttons justify How to distribute space between and around links.
buttons gap The gap between the buttons.
buttons font The font of the buttons.
mobile buttons justify How to distribute space between and around links on mobile.
mobile buttons gap The gap between the buttons on mobile.
mobile buttons direction The direction of the buttons on mobile.
mobile buttons font The fpnt of the buttons on mobile.

Button Styling

Customize the default look of the buttons.

Name Description
button width The width of the button.
button padding The padding of the button.
button rounding The amount of rounding to apply to the button.
button background The background color of the button.
button background hover The background color of the button when hovered.
button color The text color of the button.
button colo hover The text color of the button when hover.
button border The border of the button.
button border hover The border of the button when hovered.
button shadow The shadow of the button.

Advanced Customization

You can use the following CSS to customize further:

.banner-featured-links {
  &__wrapper {

  }

  &__wrapper-links {

  }

  &__link {

  }
}

If you provide a customization per button, you can provide a class name in the CSS Classname setting.

Then, you can target this way:

.banner-featured-links {
  &__link.myclass {

  }
}

Useful links

Credits

  • Discourse for the idea, inspired by the amazing Meta Branded theme.
  • Don and nolo – They made an initial version; I took some of their ideas.
19 curtidas

Um comentário meta para melhorar uma introdução de componente de boa qualidade: uma captura de tela de um celular. Isso economizaria tempo ao escolher entre utilidade, prós e contras.

2 curtidas

Isso foi inspirado no tema Meta Branded?

Eu acho que sim :wink:

3 curtidas

Devo ter lido muito rápido - eu estava olhando a seção ‘Créditos’ :laughing:

3 curtidas

Sem problemas. Atualizei a seção de créditos para torná-la mais clara. Obrigado!

3 curtidas

Fiz um pequeno ajuste se você instalou o componente pela primeira vez. :+1:
Meu último commit renomeou uma configuração, mas os valores padrão não foram atualizados.
Graças a @manuel por relatar o problema!

5 curtidas

Olá @Arkshine, muito obrigado por este plugin!

Estou usando há um tempo, mas depois de adicionar outro botão hoje, ele quebrou todo o fórum, então agora está assim:

Você sabe por que isso pode ter acontecido?

2 curtidas

Ei, isso significa que se você remover este botão, ele não quebrará?

Bem, tive que entrar em contato com a equipe do Discourse para desativar o plugin, então tudo voltou ao normal, sim.

Agora estou meio hesitante em restaurar as configurações antigas para testar a teoria :sweat_smile:

2 curtidas

Entendi, sem problemas. Desculpe por isso! Você é o primeiro a ter esse problema. \nVocê ainda se lembra quais valores inseriu para o botão? Se eu conseguir reproduzir, isso seria útil!

2 curtidas

Claro, muito obrigado pela ajuda!

Isso é realmente estranho, pois fiz alterações não muito tempo atrás e funcionou perfeitamente.

Removi um dos botões e adicionei o novo:

Aqui estão os logs, se ajudar

[{“url”:“Topics tagged new-widget Widgets”,“target”:“_self”,“button_color_hover”:“#197bff”},{“url”:“Topics tagged In-Progress Progress”,“target”:“_self”,“button_color_hover”:“#197bff”},{“url”:“CSS Codes - Elfsight Community Codes”,“target”:“_self”,“button_color_hover”:“#197bff”},{“url”:“Ask the Community - Elfsight Community Recaps”,“target”:“_self”},{“icon”:“:trophy:”,“text”:"Join our Champion Program! ",“url”:“Elfsight Champion Program: Help us grow our community forum! - Announcements - Elfsight Community”}]

Anterior: [{“url”=>“Topics tagged new-widget”, “icon”=>“:fire:”, “text”=>“New Widgets”, “target”=>“_self”, “button_color_hover”=>“#197bff”}, {“url”=>“Topics tagged In-Progress”, “icon”=>“”, “text”=>“In Progress”, “target”=>“_self”, “button_color_hover”=>“#197bff”}, {“url”=>“CSS Codes - Elfsight Community”, “icon”=>“”, “text”=>“CSS Codes”, “target”=>“_self”, “button_color_hover”=>“#197bff”}, {“url”=>“Ask the Community - Elfsight Community”, “icon”=>“”, “text”=>“Support”, “target”=>“_self”, “button_color_hover”=>“#197bff”}, {“url”=>“Elfsight Champion Program: Help us grow our community forum! - Announcements - Elfsight Community”, “icon”=>“:trophy:”, “text”=>“Join our Champion Program! “, “target”=>”_self”}]

3 curtidas

Graças à ajuda de @Helga_Razinkova no PM, consegui reproduzir o problema.
Enviei uma correção :+1:.

Em resumo, o componente não esperava que as configurações fossem atualizadas através do Editor de Configurações e, com um campo icon ausente, ocorreu um erro.

2 curtidas

Isto é brilhante! É tão abrangente e personalizável; parece que você pensou em praticamente tudo.

Notei um pequeno bug em que os ícones não estão visíveis às vezes.

É assim que meus links ficam:
image

É assim que acontece quando você:

  1. Usa o Chrome (não tentei em outros navegadores, desculpe)
  2. Navega para longe de uma página com os Links em Destaque do Banner
  3. Retorna à página usando o botão ‘Voltar’ do navegador

image

Você pode demonstrar isso sozinho em ehealthforum.nz

4 curtidas

Obrigado Nathan! Eu enviei uma correção. Me avise se ainda acontecer!

4 curtidas

Maravilhoso!!! Tudo corrigido.

Encontrei outro bug de UX menor (mas preocupante):

O texto nos botões ainda é capturado pela pseudo classe :visited, o que significa que a cor do texto se comporta de forma estranha ao passar o mouse depois que cada link foi visitado.

Este é o estado sem hover:

image

Este é o estado com hover antes de visitar (tanto o ícone quanto o texto mudam)
image

Este é o estado com hover depois de visitar (observe que o ícone muda, mas o texto não)
image

3 curtidas

@nathank Você pode tentar atualizar e ver se está melhor?

2 curtidas

Isso foi com uma instância atualizada. Houve um pequeno PR no Search Banner, mas nenhum neste TC para aplicar. Independentemente disso, fiz uma reconstrução. Ainda está lá!

Não aparece no modo anônimo, imagino que porque ele não salva meu status de visitado.

4 curtidas

Isso é compatível com o Tema AIR para servir no topo da página da Comunidade com botões que levam ao WordPress?