As funcionalidades do RTE são disponibilizadas por meio de uma série de plug-ins, cada um com a propriedade features. Você pode configurar a propriedade features para ativar ou desativar um ou mais recursos do RTE. Este artigo descreve como configurar especificamente os plug-ins RTE.
Para obter detalhes sobre as outras configurações do RTE, consulte Configurar o Editor de Rich Text.
Ao trabalhar com o CRXDE Lite, é recomendável salvar as alterações regularmente usando Salvar tudo.
Para ativar um plug-in, siga estas etapas. Algumas etapas são necessárias somente quando você configura um plug-in pela primeira vez, pois os nós correspondentes não existem.
Por padrão, os plug-ins format
, link
, list
, justify
e control
e todos os seus recursos estão habilitados no RTE.
O nó rtePlugins respectivo é conhecido como <rtePlugins-node> para evitar a duplicação neste artigo.
Usando o CRXDE Lite, localize o componente de texto para o seu projeto.
Crie o nó pai de <rtePlugins-node>
se ele não existir, antes de configurar qualquer plug-in RTE:
Dependendo do seu componente, os nós principais são:
config: .../text/cq:editConfig/cq:inplaceEditing/config
.../text/cq:editConfig/cq:inplaceEditing/inplaceEditingTextConfig
text: .../text/dialog/items/tab1/items/text
São do tipo: jcr:PrimaryType cq:Widget
Ambas têm a seguinte propriedade:
name
String
./text
Dependendo da interface para a qual você está configurando, crie um nó <rtePlugins-node>
, se ele não existir:
rtePlugins
nt:unstructured
Crie um nó para cada plug-in que você deseja ativar:
nt:unstructured
Depois de ativar um plug-in, siga estas diretrizes para configurar a propriedade features
.
Ativar todos os recursos |
Ativar alguns recursos específicos | Desativar todos os recursos |
|
---|---|---|---|
Nome | feições | feições | feições |
Tipo | Sequência de caracteres | String[] (multi-string; defina Tipo como String e clique em Multi in CRXDE Lite) | Sequência de caracteres |
Valor | * (um asterisco) |
definido como um ou mais valores de recurso | - |
O plug-in findreplace
não precisa de nenhuma configuração. Funciona fora da caixa.
Ao usar a funcionalidade de substituição, a string de substituição a ser substituída deve ser inserida ao mesmo tempo que a string de localização. No entanto, você ainda pode clicar em localizar para procurar a string antes de substituí-la. Se a string de substituição for inserida após clicar em Localizar, a pesquisa será redefinida para o início do texto.
A caixa de diálogo localizar e substituir fica transparente quando a localização é clicada e se torna opaca quando a substituição é clicada. Isso permite que o autor reveja o texto que o autor substituirá. Se os usuários clicarem em substituir tudo, a caixa de diálogo será fechada e exibirá o número de substituições feitas.
Ao usar o RTE, os autores podem colar o conteúdo em um dos três modos a seguir:
Modo de navegador: Cole o texto usando a implementação de colagem padrão do navegador. Não é um método recomendado, pois pode introduzir marcações indesejadas.
Modo de texto simples: Cole o conteúdo da área de transferência como texto sem formatação. Remove todos os elementos de estilo e formatação do conteúdo copiado antes de inserir AEM componente.
Modo MS Word: Cole o texto, incluindo tabelas, com a formatação ao copiar do MS Word. Não há suporte para copiar e colar texto de outra fonte, como uma página da Web ou o MS Excel, e a formatação apenas parcial é mantida.
Você pode fornecer alguns, todos ou nenhum desses três ícones aos seus autores na barra de ferramentas do RTE:
Colar (Ctrl+V): Pode ser pré-configurado para corresponder a um dos três modos Colar acima.
Colar como texto: Fornece funcionalidade de modo de texto simples.
Colar do Word: Fornece a funcionalidade do modo MS Word.
Para configurar o RTE para exibir os ícones necessários, siga estas etapas.
Navegue até o seu componente; por exemplo:
/apps/<myProject>/components/text
Navegue até o nó rtePlugins/edit
. Consulte ativar um plug-in se o nó não existir.
Crie a propriedade features
no nó edit
e adicione um ou mais dos recursos. Salve todas as alterações.
Você pode pré-configurar o comportamento do ícone Colar (Ctrl+V), usando as seguintes etapas. Essa configuração também define o comportamento do atalho de teclado Ctrl+V que os Autores usam para colar o conteúdo.
A configuração permite os três tipos de casos de uso a seguir:
Cole o texto usando a implementação de colagem padrão do navegador. Não é um método recomendado, pois pode introduzir marcações indesejadas. Configurado usando browser
abaixo.
Cole o conteúdo da área de transferência como texto sem formatação. Remove todos os elementos de estilo e formatação do conteúdo copiado antes de inserir AEM componente. Configurado usando plaintext
abaixo.
Cole o texto, incluindo tabelas, com a formatação ao copiar do MS Word. Não há suporte para copiar e colar texto de outra fonte, como uma página da Web ou o MS Excel, e a formatação apenas parcial é mantida. Configurado usando wordhtml
abaixo.
No componente, navegue até o nó <rtePlugins-node>/edit
. Crie os nós se eles não existirem. Para obter mais informações, consulte ativar um plug-in.
No nó edit
crie uma propriedade usando os seguintes detalhes:
defaultPasteMode
String
browser
, plaintext
ou wordhtml
.O modo colar como Microsoft Word (paste-wordhtml
) pode ser configurado ainda mais para que você possa definir explicitamente quais estilos são permitidos ao colar em AEM de outro programa, como o Microsoft Word.
Por exemplo, se apenas formatos em negrito e listas forem permitidos ao colar em AEM, você poderá filtrar os outros formatos. Isso é chamado de filtragem de colagem configurável, que pode ser feita para ambos:
Para links, também é possível definir os protocolos que são automaticamente aceitos.
Para configurar quais formatos são permitidos ao colar texto em AEM de outro programa:
No componente, navegue até o nó <rtePlugins-node>/edit
. Crie os nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
Crie um nó no nó edit
para manter as regras de colagem HTML:
htmlPasteRules
nt:unstructured
Crie um nó em htmlPasteRules
, para manter detalhes dos formatos básicos permitidos:
allowBasics
nt:unstructured
Para controlar os formatos individuais aceitos, crie uma ou mais das seguintes propriedades no nó allowBasics
:
bold
italic
underline
anchor
(para links e âncoras nomeadas)image
Todas as propriedades são de Type Boolean
, portanto, no Valor apropriado, você pode selecionar ou remover a marca de seleção para ativar ou desativar a funcionalidade.
Se não estiver explicitamente definido, o valor padrão de true será usado e o formato será aceito.
Outros formatos também podem ser definidos usando uma variedade de outras propriedades ou nós, também aplicados ao nó htmlPasteRules
:
Propriedade | Tipo | Descrição |
allowBlockTags | Sequência de caracteres[] | Define a lista de tags de bloqueio permitidas. As possíveis tags de bloqueio incluem (entre outras):
|
fallbackBlockTag | Sequência de caracteres | Define a tag de bloco usada para qualquer bloco que tenha uma tag de bloco não incluída em allowBlockTags. p suficiente na maioria dos casos. |
tabela | nt:unstructured | Define o comportamento ao colar tabelas. Esse nó deve ter a propriedade Se
|
list | nt:não estruturado | Define o comportamento ao colar listas. Deve ter a propriedade Se
|
Exemplo de uma estrutura htmlPasteRules
válida:
"htmlPasteRules": {
"allowBasics": {
"italic": true,
"link": true
},
"allowBlockTags": [
"p", "h1", "h2", "h3"
],
"list": {
"allow": false,
"ignoreMode": "paragraph"
},
"table": {
"allow": true,
"ignoreMode": "paragraph"
}
}
Os autores podem aplicar estilos para alterar a aparência de uma parte do texto. Os estilos são baseados em classes CSS pré-definidas na folha de estilos CSS. O conteúdo estilizado é delimitado por tags span
que usam o atributo class
para fazer referência à classe CSS. Por exemplo:
<span class=monospaced>Monospaced Text Here</span>
Quando o plug-in Estilos é ativado pela primeira vez, nenhum Estilo padrão está disponível. A lista pop-up está vazia. Para fornecer estilos aos autores, faça o seguinte:
Para configurações posteriores (re)digamos para adicionar mais estilos, siga apenas as instruções para fazer referência a uma nova folha de estilos e especificar os estilos adicionais.
Os estilos também podem ser definidos para tabelas ou células de tabela. Essas configurações exigem procedimentos separados.
Isso é feito ao ativar o plug-in de estilos.
No componente, navegue até o nó <rtePlugins-node>/styles
. Crie os nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
Crie a propriedade features
no nó styles
:
features
String
*
(asterisco)Salve todas as alterações.
Quando o plug-in Estilos estiver ativado, a lista suspensa Estilo será exibida na caixa de diálogo de edição. No entanto, a lista está vazia, pois nenhum Estilo está configurado.
Em seguida, especifique os locais das folhas de estilos que deseja referenciar:
Navegue até o nó raiz do componente de texto, por exemplo /apps/<myProject>/components/text
.
Adicione a propriedade externalStyleSheets
ao nó pai de <rtePlugins-node>
:
externalStyleSheets
String[]
(multi-string; clique em Multiin CRXDE)É possível adicionar referências a folhas de estilos adicionais a qualquer momento.
Salve todas as alterações.
Ao usar o RTE em uma caixa de diálogo (Interface clássica), talvez você queira especificar folhas de estilos otimizadas para edição de rich text. Devido a restrições técnicas, o contexto CSS é perdido no editor, portanto, você pode querer emular esse contexto para melhorar a experiência WYSIWYG.
O Editor de Rich Text usa um elemento DOM de container com uma ID CQrte
que pode ser usada para fornecer estilos diferentes para exibição e edição:
#CQ td {
// defines the style for viewing }
#CQrte td {
// defines the style for editing }
Na definição do componente, navegue até o nó <rtePlugins-node>/styles
, conforme criado em Ativando o seletor suspenso de estilo.
No nó styles
, crie um novo nó (também chamado styles
) para manter a lista disponível:
styles
cq:WidgetCollection
Crie um novo nó no nó styles
para representar um estilo individual:
nt:unstructured
Adicione a propriedade cssName
a este nó para fazer referência à classe CSS:
cssName
String
cssClass
em vez de .cssClass
)Adicione a propriedade text
ao mesmo nó; isso define o texto mostrado na caixa de seleção:
text
String
Salve as alterações.
Repita as etapas acima para cada estilo necessário.
Qualquer texto criado no RTE é colocado dentro de uma tag de bloco, sendo o padrão <p>
. Ao ativar o plug-in paraformat
, você especifica tags de bloco adicionais que podem ser atribuídas a parágrafos, usando uma lista de seleção suspensa. Os formatos de parágrafo determinam o tipo de parágrafo atribuindo a tag de bloco correta. O autor pode selecioná-los e atribuí-los usando o seletor de Formato. As tags de bloco de exemplo incluem, entre outras, o parágrafo padrão <p> e os cabeçalhos <h1>, <h2> e assim por diante.
Esse plug-in não é adequado para conteúdo com estrutura complexa, como listas ou tabelas.
Se uma tag de bloco, por exemplo, uma tag <hr>, não puder ser atribuída a um parágrafo, não será um caso de uso válido para um plug-in paraformat.
Quando o plug-in Formatos de parágrafo estiver ativado pela primeira vez, nenhum Formato de parágrafo padrão estará disponível. A lista pop-up está vazia. Para fornecer aos autores Formatos de parágrafo, faça o seguinte:
Para configurações posteriores (re)digamos para adicionar mais formatos, siga somente a parte relevante das instruções.
Primeiro, ative o plug-in paraformat:
No componente, navegue até o nó <rtePlugins-node>/paraformat
. Crie os nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
Crie a propriedade features
no nó paraformat
:
features
String
*
(asterisco)Se o plug-in não for configurado mais, os seguintes formatos padrão serão ativados:
<p>
)<h1>
)<h2>
)<h3>
)Ao configurar os formatos de parágrafo do RTE, não remova a tag de parágrafo <p> como uma opção de formatação. Se a tag <p> for removida, o autor do conteúdo não poderá selecionar a opção Formatos de parágrafo, mesmo que haja outros formatos configurados.
Os formatos de parágrafo podem ser disponibilizados para seleção por meio de:
Na definição do componente, navegue até o nó <rtePlugins-node>/paraformat
, conforme criado em Ativando o seletor suspenso de formato.
No nó paraformat
, crie um novo nó para manter a lista de formatos:
formats
cq:WidgetCollection
Crie um novo nó no nó formats
, isso contém detalhes para um formato individual:
nt:unstructured
Para esse nó, adicione a propriedade para definir a tag de bloco usada:
Nome tag
Tipo String
ValorA tag de bloco para o formato; por exemplo: p, h1, h2, etc.
Não é necessário digitar as chaves delimitadoras.
Para que o mesmo nó adicione outra propriedade, para que o texto descritivo apareça na lista suspensa:
description
String
Salve as alterações.
Repita as etapas para cada formato necessário.
Se você definir formatos personalizados, os formatos padrão (<p>
, <h1>
, <h2>
e <h3>
) serão removidos. Recrie o formato <p>
, pois ele é o formato padrão.
Em uma instalação padrão do AEM, quando o plug-in misctools
estiver ativado para caracteres especiais (specialchars
), uma seleção padrão estará disponível imediatamente para uso; por exemplo, os símbolos de direitos autorais e marcas registradas.
Você pode configurar o RTE para disponibilizar sua própria seleção de caracteres; definindo caracteres distintos ou uma sequência inteira.
Adicionar seus próprios caracteres especiais substitui a seleção padrão. Se necessário, (re)defina esses caracteres em sua própria seleção.
No componente, navegue até o nó <rtePlugins-node>/misctools
. Crie os nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
Crie a propriedade features
no nó misctools
:
Nome features
Tipo String[]
Valor specialchars
(ou String / *
se estiver aplicando todos os recursos para este plug-in)
Em misctools
crie um nó para manter as configurações de caracteres especiais:
specialCharsConfig
nt:unstructured
Em specialCharsConfig
, crie outro nó para manter a lista de caracteres:
chars
nt:unstructured
Em chars
, adicione um novo nó para manter uma definição de caractere individual:
nt:unstructured
Para esse nó, adicione a seguinte propriedade:
entity
String
&189;
para a fração metade.Salve as alterações.
Depois que a propriedade é salva, o caractere representado é exibido no CRXDE. Veja o exemplo da metade abaixo. Repita as etapas acima para disponibilizar caracteres mais especiais para os autores.
No CRXDE, adicione um único caractere a ser disponibilizado na barra de ferramentas do RTE
Use as etapas de 1 a 3 de Definindo um caractere único.
Em chars
, adicione um novo nó para manter a definição do intervalo de caracteres:
nt:unstructured
Neste nó (nomeado de acordo com seu intervalo de caracteres especial), adicione as duas propriedades a seguir:
Salve as alterações.
Por exemplo, definir um intervalo de 9998 - 10000 fornece os seguintes caracteres.
No CRXDE, defina um intervalo de caracteres a ser disponibilizado no RTE
Caracteres especiais disponíveis no RTE são exibidos aos autores em uma janela pop-up
Os estilos são normalmente aplicados no texto, mas um conjunto separado de Estilos também pode ser aplicado em uma tabela ou em algumas células da tabela. Esses Estilos estão disponíveis para os autores na caixa do seletor Estilo na caixa de diálogo Propriedades da célula ou Propriedades da tabela. Os estilos estão disponíveis ao editar uma tabela em um componente de Texto (ou derivado) e não no componente de Tabela padrão.
Você pode definir estilos para tabelas e células somente para a interface clássica.
A cópia e colagem de tabelas no componente RTE ou a partir dele depende do navegador. Não há suporte imediato para todos os navegadores. Você pode obter resultados variados dependendo da estrutura da tabela e do navegador. Por exemplo, ao copiar e colar uma tabela em um componente RTE no Mozilla Firefox na interface clássica e na interface de usuário de toque, o layout da tabela não é preservado.
No componente, navegue até o nó <rtePlugins-node>/table
. Crie os nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
Crie a propriedade features
no nó table
:
features
String
*
(asterisco)Se você não quiser ativar todos os recursos da tabela, poderá criar a propriedade features
como:
String[]
table
permitir a edição de propriedades de tabelas; incluindo os estilos.cellprops
para permitir a edição de propriedades de células, incluindo os estilos.Defina o local das folhas de estilos CSS para referenciá-las. Consulte Especificar o local da folha de estilos, pois é o mesmo que ao definir estilos para texto. O local pode ser definido se você tiver definido outros estilos.
No nó table
, crie os seguintes novos nós (conforme necessário):
Para definir estilos para a tabela inteira (disponível em Propriedades da tabela):
tableStyles
cq:WidgetCollection
Para definir estilos para células individuais (disponível em Propriedades da célula):
cellStyles
cq:WidgetCollection
Crie um novo nó (sob o nó tableStyles
ou cellStyles
, conforme apropriado) para representar um estilo individual:
nt:unstructured
Neste nó, crie as propriedades:
Definição do estilo CSS a ser referenciado
cssName
String
.
em vez de cssClass
.cssClass
)Definição de um texto descritivo a ser exibido no seletor suspenso
text
String
Salve todas as alterações.
Repita as etapas acima para cada estilo necessário.
Às vezes, você pode criar tabelas de dados sem texto visual em um cabeçalho de coluna, assumindo que a finalidade do cabeçalho é implícita pela relação visual da coluna com outras colunas. Nesse caso, é necessário fornecer texto interno oculto dentro da célula do cabeçalho para permitir que leitores de tela e outras tecnologias de assistência ajudem os leitores com várias necessidades a compreender a finalidade da coluna.
Para melhorar a acessibilidade em tais cenários, o RTE suporta células de cabeçalho ocultas. Além disso, fornece configurações relacionadas a cabeçalhos ocultos em tabelas. Essas configurações permitem aplicar estilos CSS em cabeçalhos ocultos nos modos de edição e pré-visualização. Para ajudar os autores a identificar cabeçalhos ocultos no modo de edição, inclua os seguintes parâmetros no código:
hiddenHeaderEditingCSS
: Especifica o nome da classe CSS aplicada na célula de cabeçalho oculto, quando o RTE é editado.hiddenHeaderEditingStyle
: Especifica uma string de estilo que é aplicada na célula de cabeçalho oculto quando o RTE é editado.Se você especificar o CSS e a string de estilo no código, a classe CSS terá precedência sobre a string de estilo e poderá substituir quaisquer alterações de configuração feitas pela string de estilo.
Para ajudar os autores a aplicar o CSS em cabeçalhos ocultos no modo de pré-visualização, você pode incluir os seguintes parâmetros no código:
hiddenHeaderClassName
: Especifica o nome da classe CSS aplicada na célula de cabeçalho oculta no modo de pré-visualização.hiddenHeaderStyle
: Especifica uma string de estilo que é aplicada na célula de cabeçalho oculto no modo de pré-visualização.Se você especificar o CSS e a string de estilo no código, a classe CSS terá precedência sobre a string de estilo e poderá substituir quaisquer alterações de configuração feitas pela string de estilo.
Quando o plug-in de verificação ortográfica é ativado, o RTE usa dicionários para cada idioma apropriado. Estes são então selecionados de acordo com o idioma do site, tirando a propriedade de idioma da subárvore ou extraindo o idioma do URL; por exemplo. a ramificação /en/
é verificada como inglês, a ramificação /de/
como alemão.
A mensagem Spell checking failed
é exibida se uma verificação for feita para um idioma que não está instalado. Os dicionários padrão estão localizados em /libs/cq/spellchecker/dictionaries
, juntamente com os arquivos readme apropriados. Não modifique os arquivos.
Uma instalação padrão AEM inclui os dicionários para inglês americano (en_us
) e inglês britânico (en_gb
). Para adicionar mais dicionários, siga estas etapas.
Navegue até a página https://extensions.openoffice.org/.
Execute um dos procedimentos a seguir para encontrar um dicionário de sua escolha de idioma:
Baixe o arquivo com as definições de ortografia. Extraia o conteúdo do arquivo em seu sistema de arquivos.
Somente os dicionários no formato MySpell
para OpenOffice.org v2.0.1 ou anterior são suportados. Como os dicionários agora são arquivos de arquivamento, recomenda-se verificar o arquivo após o download.
Localize os arquivos .aff e .dic. Mantenha o nome do arquivo em minúsculas. Por exemplo, de_de.aff
e de_de.dic
.
Carregue os arquivos .aff e .dic no repositório em /apps/cq/spellchecker/dictionaries
.
O verificador ortográfico do RTE está disponível sob demanda. Ele não é executado automaticamente à medida que você start digitar um texto. Para executar o verificador ortográfico, clique em Verificador ortográfico na barra de ferramentas. O RTE verifica a ortografia das palavras e realça as palavras com erro ortográfico.
Se você incorporar qualquer alteração sugerida pelo verificador ortográfico, o estado do texto muda e as palavras com erros ortográficos não serão mais destacadas. Para executar o verificador ortográfico, toque/clique novamente no botão Verificador ortográfico.
O RTE permite que os autores desfaçam ou refaçam algumas últimas edições. Por padrão, 50 edições são armazenadas no histórico. Você pode configurar esse valor conforme necessário.
No componente, navegue até o nó <rtePlugins-node>/undo
. Crie esses nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
No nó undo
, crie a propriedade:
Nome maxUndoSteps
Tipo Long
Avalie o número de etapas de desfazer que você deseja salvar no histórico.
Salve as alterações.
Quando o caractere de tabulação é pressionado dentro de qualquer texto, é inserido um número predefinido de espaços; por padrão, são três espaços sem quebra e um espaço. Para definir o tamanho da guia:
No componente, navegue até o nó <rtePlugins-node>/keys
. Crie os nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
No nó keys
, crie a propriedade:
tabSize
String
Salve as alterações.
Quando o recuo está ativado (padrão), é possível definir o tamanho do recuo:
O tamanho do travessão só é aplicado aos parágrafos (blocos) do texto; não afeta o recuo das listas reais.
No componente, navegue até o nó <rtePlugins-node>/lists
. Crie esses nós se eles não existirem. Para obter mais detalhes, consulte ativar um plug-in.
No nó lists
crie o parâmetro identSize
:
identSize
Long
Você pode definir a altura do espaço editável mostrado na caixa de diálogo do componente:
No nó ../items/text
na definição da caixa de diálogo do componente, crie uma nova propriedade:
height
Long
Isso não altera a altura da janela de diálogo.
Salve as alterações.
Isso só se aplica ao uso do RTE em uma caixa de diálogo (não na edição no local na interface clássica).
Ao adicionar links em AEM, é possível definir:
Para configurar como os links são adicionados em AEM de outro programa, defina as regras HTML.
Usando o CRXDE Lite, localize o componente de texto para o seu projeto.
Crie um novo nó no mesmo nível de <rtePlugins-node>
, ou seja, crie o nó sob o nó pai de <rtePlugins-node>
:
htmlRules
nt:unstructured
O nó ../items/text
tem a propriedade:
xtype
String
richtext
A localização do nó ../items/text
pode variar, dependendo da estrutura da caixa de diálogo; dois exemplos incluem:
/apps/myProject>/components/text/dialog/items/text
/apps/<myProject>/components/text/dialog/items/panel/items/text
Em htmlRules
, crie um novo nó.
links
nt:unstructured
No nó links
, defina as propriedades conforme necessário:
Estilo CSS para links internos:
cssInternal
String
cssClass
em vez de .cssClass
)Estilo CSS para links externos
cssExternal
String
cssClass
em vez de .cssClass
)Matriz de protocolos válidos. Os protocolos suportados são http://
, https://
, file://
e mailto:
.
protocols
String[]
defaultProtocol (propriedade do tipo String): Protocolo a ser usado se o usuário não especificou um explicitamente.
defaultProtocol
String
Definição de como tratar o atributo de público alvo de um link. Criar um novo nó:
targetConfig
nt:unstructured
No nó targetConfig
: defina as propriedades necessárias:
Especifique o modo de público alvo:
Nome mode
Tipo String
)
Valor(es) :
auto
: significa que é escolhido um público alvo automático
(especificado pela propriedade targetExternal
para links externos ou targetInternal
para links internos).
manual
: não aplicável neste contexto
blank
: não aplicável neste contexto
O público alvo para links internos:
targetInternal
String
auto
)O público alvo para links externos:
targetExternal
String
auto
).Salve todas as alterações.