Widgets: botões de navegação

O elemento personalizado <devsite-nav-buttons> permite que um grupo de botões seja recarregado a página atual com um parâmetro de string de consulta diferente.

Demonstração

Java sample code

Uso

Para usar, crie um elemento <devsite-nav-buttons> com um atributo name e coloque vários elementos button com diferentes atributos value dentro deles. Para cada grupo de botões, selecione um como padrão adicionando um default. ao elemento.

<devsite-nav-buttons name="language">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Em um arquivo Markdown (.md), verifique se o elemento personalizado está encapsulado com um elemento HTML padrão, como section, div ou p:

<div>
  <devsite-nav-buttons name="language">
    <button value="java" default>Java example</button>
    <button value="python">Python example</button>
    <button value="go">Go example</button>
  </devsite-nav-buttons>
</div>

Em seguida, você pode usar tags dinâmicas que examinam os parâmetros da string de consulta para determinar qual conteúdo exibir para o usuário.

{% dynamic if request.query_string.language == "python" %}
Python sample code
{% dynamic elif request.query_string.language == "go" %}
Go sample code
{% dynamic else %}
Java sample code
{% dynamic endif %}

Vinculação na página com um ID

Como regra geral, é melhor colocar o elemento <devsite-nav-buttons> perto de na parte superior da página, pois ao clicar em qualquer um de seus botões os usuários são levados a um novo URL e recarrega a página. Se você estiver usando o elemento no meio de uma página e/ou quiser que a localização do elemento na página possa ser adicionada aos favoritos, você deve especificar um id exclusivo no elemento, que anexará uma âncora nomeada ao e faça a página rolar até o local do elemento quando ela for carregada.

<devsite-nav-buttons name="language" id="code-examples">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Opções de parâmetro de URL

Por padrão, depois que um usuário clica em um dos botões, o valor do botão é salvo. em localStorage. O valor selecionado é adicionado automaticamente à barra de endereço como um parâmetro de URL em outras páginas com elementos <devsite-nav-buttons> que usam os mesmos campos name e value.

Remova o parâmetro de URL do botão padrão

Para substituir o comportamento padrão e remover o parâmetro de URL quando o Clique no botão default, adicione param="reset" ao elemento:

<devsite-nav-buttons name="language" param="reset">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Sempre mostrar um parâmetro de URL para o botão padrão

Quando um usuário visita uma página com um elemento <devsite-nav-buttons> pela primeira vez horário, o botão default é destacado e não há alteração no endereço até que um botão seja clicado.

Para fazer a barra de endereço ser atualizada com o parâmetro de URL do botão default, faça o seguinte: e garantir que sempre haja um parâmetro de URL nas páginas com um <devsite-nav-buttons>, adicione param="always" a ele:

<devsite-nav-buttons name="language" param="always">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Estilo do botão

Por padrão, os botões no elemento <devsite-nav-buttons> têm "chip". estilização. Para aumentar ou diminuir o impacto visual dos botões, adicione um atributo type com um valor de filled ou text, que vai definir o estilo de cada button.

Estilo do botão com type="filled" :

<devsite-nav-buttons name="language" type="filled">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>

Estilo do botão com type="text" :

<devsite-nav-buttons name="language" type="text">
  <button value="java" default>Java example</button>
  <button value="python">Python example</button>
  <button value="go">Go example</button>
</devsite-nav-buttons>