mirror of
https://gitlab.unicamp.br/infimecc_drupal11_modules/site_tools.git
synced 2026-05-03 17:00:40 -03:00
Adiciona extensão Twig com ícones SVG de plataformas acadêmicas
Cria AcademicIconsExtension com a função site_tools_academic_icon(name), que retorna o SVG inline dos ícones Lattes (CNPq #005195), ORCID e MathSciNet como Markup seguro, dispensando |raw nos templates. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
31
README.md
31
README.md
@@ -7,6 +7,7 @@ Módulo Drupal com ferramentas utilitárias reutilizáveis para outros módulos
|
||||
- **Menu de configuração "Local Modules"**: Fornece uma seção centralizada em `/admin/config/local-modules` para configurações de módulos desenvolvidos internamente.
|
||||
- **Bloco Share Links**: Bloco de compartilhamento em redes sociais extensível via hooks.
|
||||
- **Condição de visibilidade "Usuário da página é o usuário logado"**: Restringe a exibição de qualquer bloco à situação em que o usuário autenticado é o mesmo da rota `/user/{id}`.
|
||||
- **Extensão Twig `site_tools_academic_icon`**: Função Twig para renderizar ícones SVG de plataformas acadêmicas (Lattes, ORCID, MathSciNet).
|
||||
|
||||
## Sub-módulos
|
||||
|
||||
@@ -117,6 +118,36 @@ O plugin `PageUserIsCurrentUser` adiciona uma condição de visibilidade reutili
|
||||
|
||||
Quando ativada, o bloco só é exibido se o usuário autenticado tiver o mesmo ID que o parâmetro `{id}` da rota `/user/{id}`. A opção **"Negar a condição"** inverte o comportamento (exibe para todos exceto o dono).
|
||||
|
||||
## Extensão Twig: ícones de plataformas acadêmicas
|
||||
|
||||
A função `site_tools_academic_icon(name)` retorna o SVG inline do ícone solicitado como marcação segura (sem necessidade de `|raw`).
|
||||
|
||||
### Ícones disponíveis
|
||||
|
||||
| Nome | Plataforma | Cor |
|
||||
|------|------------|-----|
|
||||
| `lattes` | Plataforma Lattes (CNPq) | `#005195` |
|
||||
| `orcid` | ORCID | `#a6ce39` |
|
||||
| `mathscinet` | MathSciNet (AMS) | `#0f4f96` |
|
||||
|
||||
### Uso em templates Twig
|
||||
|
||||
```twig
|
||||
{{ site_tools_academic_icon('lattes') }}
|
||||
{{ site_tools_academic_icon('orcid') }}
|
||||
{{ site_tools_academic_icon('mathscinet') }}
|
||||
```
|
||||
|
||||
O SVG já inclui `aria-hidden="true"` e `focusable="false"`. Para acessibilidade, envolva o ícone em um `<a>` com `aria-label`:
|
||||
|
||||
```twig
|
||||
<a href="https://lattes.cnpq.br/{{ lattes_id }}"
|
||||
target="_blank" rel="noopener noreferrer"
|
||||
aria-label="{{ 'Currículo Lattes'|t }}">
|
||||
{{ site_tools_academic_icon('lattes') }}
|
||||
</a>
|
||||
```
|
||||
|
||||
## Sub-módulo: site_tools_msc_2020
|
||||
|
||||
Widget de campo (`FieldWidget`) para seleção hierárquica de termos do vocabulário **MSC 2020** (Mathematics Subject Classification), com até 3 níveis em cascata via AJAX.
|
||||
|
||||
Reference in New Issue
Block a user