Como escapar da formatação de caracteres no Slack?

92

O Slack usa vários caracteres para sua própria formatação de redução.

Como posso inserir uma mensagem com esses caracteres reservados escapados?

Por exemplo, é possível enviar uma mensagem exatamente como esta:

* Eu não quero que isso seja ousado *

BadHorsie
fonte
26
Eu gostaria de poder rebaixar todas as respostas aqui.
Richard Simões
1
Você não pode? @ RichardSimões
technophyle 30/01
1
Precisa de mais pontos!
Richard Simões
7
É por isso que o slack precisa sair do alto e usar um mecanismo de redução adequado .
Qix
NOTA: a única solução de trabalho é o comentário acima do meu comentário da resposta de
leclercdumombasin

Respostas:

35

Solução

Copie e cole o texto abaixo e altere a palavra nos asteriscos para suas próprias necessidades:

*bold*­

Não será renderizado como texto em negrito quando você postar sua mensagem do Slack. Nota: Existem caracteres ocultos em ambos os lados dos asteriscos que impedirão o Slack de formatar suas palavras entre os asteriscos.


Explicação

Essa é uma variação da resposta do ShaneB que parece funcionar melhor. Em vez de adicionar espaço (invisível) ao lado "anexado" do asterisco:

There is *|no|* spoon            // '|' = vertical tab

considere remover o espaço no lado "desanexado" inserindo não espaço (invisível):

There is |*no*| spoon            // '|' = e.g. soft hyphen (­, U+00AD)

Isso "incorpora" o asterisco e, portanto, o torna inativo. O hífen suave parece ser um bom personagem aqui.

leclercdumombasin
fonte
2
Muito bom. Acredito que esta seja a nova melhor resposta que fornece o resultado exato desejado. Editei sua postagem para fornecer uma solução simples de copiar / colar para pessoas que talvez não entendam como implementá-la.
BadHorsie
1
Aparentemente, você não precisa do caracter "tímido" dos dois lados, apenas um lado é suficiente.
Kelvin
1
| * bold * | é todos os im recebendo
Adrian Bartholomew
3
@AdrianBartholomew Em vez do canal, |você precisa inserir o caractere unicode (U + 00AD). No Linux, mantendo pressionada a tecla SHIFT + CTRL, pressione ue, em seguida, as teclas ad. No Windows, mantendo pressionada a tecla ALT, digite as teclas 0173. Mais informações sobre entrada unicode você pode encontrar em en.wikipedia.org/wiki/Unicode_input
SubOptimal
O comentário acima é a única solução de trabalho para técnicos que usam o Slack !!!
sjngm
18

Acabei de testar e um único back-tick escapará dos próximos caracteres de formatação pelo restante da mensagem.

`*I don't want this to be bold*`

Isso será formatado como código

`*I don't want this to be bold*

Isso será formatado normalmente, mas os dois asteriscos aparecerão em vez de deixar o texto em negrito.

pkoepke
fonte
3
Interessante. Quero dizer, acho que isso é uma espécie de "hack", porque você está simplesmente criando uma seção de código corrompida, mas isso também deixa o backtick indesejado.
BadHorsie
Sim, não é perfeito e pode ser um hack sem suporte.
pkoepke
13
mas e quanto a escapar do backtick?
George Mauer
14

ATUALIZAÇÃO !: (07-12-2017)

Parece que o Google atualizou os controles do navegador Chrome (e possivelmente outros) para mostrar espaços reservados para muitos caracteres de controle ASCII comuns, INCLUINDO o caractere Vertical Tab! Essa alteração fez com que minha Solução original abaixo quebrasse, agora mostrando quadrados de "caractere desconhecido" ou, em alguns casos, espaços em branco, onde antes era ininterrupta na maioria dos casos de uso (principalmente no Slack!). Para não temer, há uma correção simples!

CORRECÇÃO: Em vez de usar uma guia vertical (caractere hexadecimal 0x0B ), AGORA use um caractere de alimentação de formulário (caractere hexadecimal 0x0C )!

Solução: Copie o texto fixo abaixo para Slack e Edit:

There is once again *no* spoon

Ou use qualquer conversor hex para ascii (ou seja: ASCII para hex ) para converter isso:

2a 0c 68 61 78 0c 2a

Pessoalmente, acho que é sempre mais fácil e mais compatível usar uma solução de faixa ASCII em vez de tentar o destino com uma solução Unicode, como na resposta de leclercdumombasin. No entanto, no que diz respeito à usabilidade, a resposta da leclercdumombasin é elegante, pois você pode simplesmente copiar e colar o hífen suave e marcar as palavras que deseja permanecer não formatadas com apenas um caractere oculto. A principal diferença entre os dois é que minha solução usa caracteres que permanecerão ocultos se copiados / colados em um editor de texto simples, enquanto a solução de hífen suave em meus testes se converte em um hífen de aparência padrão em editores de texto simples comuns.

TL; DR: Agora você tem DUAS soluções de trabalho pelo preço de uma!


POSTO ORIGINAL:

Eu tive que concordar com Richard Simões acima, nenhuma dessas respostas realmente forneceu uma solução real. Embora todos estejam corretos em um sentido, não existe um método intencionalmente construído para lidar com esse caso de uso, seria necessário algum tipo de hack. ... E como nenhum dos hacks fornecidos até agora são aceitáveis, peguei um hotpocket e algumas fitas de Xena e parti para provar que meu kung-fu era forte.

Resultado: meu kung-fu estava forte.

Solução: Use o caractere de tabulação vertical .

Como mencionado acima, você pode usar um espaço para separar os asteriscos da palavra ou frase em que estão, assim:

These * spaces * will keep it from becoming bold.

Esta, na minha opinião, já era a melhor resposta, mas ainda acrescenta os espaços desagradáveis. Portanto, se você usasse a Guia Vertical (VT), seria suficiente separar o asterisco, sem adicionar espaço adicional entre os asteriscos e as palavras que eles cercam.

Aqui estão as informações dos personagens, embora não tenha certeza de como o StackExchange e / ou o seu navegador individual exibirão isso. Se o converter automaticamente em um espaço, ou algo semelhante, consulte abaixo um método alternativo:

Vertical Tab (between quotes): ""
Decimal: 11
Hex: 0x0b

E em uma frase como você usaria no Slack, onde eu testei com sucesso, independentemente de como ele funciona aqui (basta copiar / colar no Slack):

There is *no* spoon.

A maneira mais fácil de trabalhar com hacks de caracteres não imprimíveis como esse é salvar a sequência em um arquivo de texto como hexadecimal; sempre que precisar usá-los, posso abrir rapidamente uma nova guia, google 'hex to ascii' , copie / cole através de qualquer conversor. Eu também recomendo usar um editor de texto que tenha a opção de mostrar caracteres de espaço em branco. Aqui está uma string em hexadecimal para usar, basta converter em ascii e substituir 'hax' pelo que você deseja digitar:

2a0b6861780b2a
ShaneB
fonte
1
Meu tipo de cara. Bom trabalho. Quero dizer, solução louca, mas legal. Deixei essa questão em aberto por quase um ano ... essa é a única solução real aqui.
21416 BadHorsie
1
Interessante. Isso funciona até para aspas - onde os espaços não funcionam.
Michał Politowski
No Slack for Mac mais recente, a palavra não ficou em negrito, mas o resultado final ainda tem os espaços desagradáveis ​​entre os asteriscos e a palavra que eles cercam.
Kelvin #
@ Kelvin - experimente as edições mais recentes que mencionei acima ou tente o método de hífen suave mencionado na outra resposta.
ShaneB
7

Há apenas uma maneira de conseguir o que você deseja: Use um bot para criar mensagens usando a API do Slack . Aqui está uma página com um exemplo mostrando como fazer exatamente o que você deseja.


Mas se você, o humano, estiver digitando usando o cliente Slack, como outros já disseram, não há como produzir uma sequência de texto cercada por asteriscos. Se você não deseja aplicar outros tipos de formatação (como code), veja alguns compromissos que o aproximam do que você deseja:

espaços (acho isso mais legível de qualquer maneira)

* I don't want this to be bold *

barra invertida principal ou sublinhado

\*I don't want this to be bold*

_*I don't want this to be bold*

jsejcksn
fonte
3

Há um caractere Unicode, "Combinando Grapheme Joiner" (͏Unicode: U + 034F, UTF-8: CD 8F) que, se inserido logo antes de um dos caracteres especiais do Slack, de certa forma, nerfs detecta os caracteres especiais do Slack:

I don't want *this* to be bold
             ^- Insert it before this asterisk

este truque O hack parece escapar do caractere a seguir, permitindo que asteriscos, til, sublinhados e (para mim o mais importante de tudo) colchetes angulares principais sejam digitados sem que o Slack os use como códigos de formatação.

Percebo que este é um truque obsceno: é relativamente fácil em um Mac, mas não posso falar pelos meus camaradas do Windows, seja isso fácil ou não.

PS: Eu tentei vários outros caracteres Unicode, incluindo backspace, espaço fino, espaço de cabelo, espaço de largura zero, e assim por diante, mas Slack retira-los, pelo menos quando eles estão a 1ª caractere em uma linha (que torna a digitação algo como > 9,000!como um comentário impossível no Slack, porque se torna uma citação em bloco).

Dave Land
fonte
1
Isso funciona. Isso também pode ser configurado em aplicativos como o Keyboard Maestro ou Typinator no macOS ou o AutoHotKey no Windows, facilitando a inserção do "Combining Grapheme Joiner" usando uma macro de teclado curta ou uma tecla de atalho.
Ville
2

Talvez use o caractere Unicode U + 066D (٭) quando você quer dizer o caractere *?

A solução acima na qual o colaborador recomenda o uso do caractere de tabulação vertical funcionou para mim até incluir também a marcação que usava a sintaxe .. , quando não o fez.

cjac
fonte
Solução limpa e simples.
BadHorsie 26/01
Também funciona para os outros caracteres possíveis que você pode incorporar, por exemplo, iniciando uma linha com>, use ›. (U + 203A)
Phil
1

Os ticks de costas simples farão isso, os ticks de costas triplos farão com que o texto seja bloqueado . . . mas qualquer um irá formatá-lo como código. Conforme confirmado por este tweet do Slack .

`*I don't want this to be bold*`
Tom Woodward
fonte
9
Eu sei que backticks simples o formatam como código, sou desenvolvedor e os uso muito, mas não é o que eu quero. Não é o mesmo que escapar de um personagem. Eu quero a mensagem não formatada; o estilo do código está formatado.
21915 BadHorsie
2
Desculpe, não é o que você quer. Eu falhei com várias outras opções \, / <, <! etc. Este tweet parece indicar que simplesmente não existe.
Tom Woodward
Na verdade, é uma questão de perspectiva se o estilo do código é "formatado" e o estilo padrão não. Ambos são formatados, apenas com diferentes famílias de fontes. "Estilo padrão" não é necessariamente "não formatado". A questão é confusa, na melhor das hipóteses, porque o exemplo na linha final mostra o texto em um formato monoespaço com fundo cinza, que é o que o Slack faz quando você usa backticks.
LarsH
1

Outra opção é dobrar um dos asteriscos.

*cough**e **cough*ambos trabalham para mim nos meus testes.

Matt
fonte
1

Para escapar de um caractere especial, fe * ou @, digite os seguintes caracteres antes do caractere que queremos escapar:

Mantenha pressionado:

<ctrl><shift>

Pressione e solte, um após o outro, os seguintes caracteres:

u a d

Liberação:

<ctrl><shift>

Por um momento, veremos sublinhado: uAD que em breve se tornará invisível.

Agora você pode digitar o caractere especial.


Esta resposta é dada por @Suboptimal em um comentário.

Tentei responder a ele, mas os comentários não permitem a formatação necessária.

Se ele postar esta resposta, terei prazer em votá-la e removê-la.

salvador
fonte
-1

Você pode inserir um Hash com um espaço, depois o texto e usar o backspace para conectar os dois.

Ou seja,

Comece com ...... # SlackIsGreat

Em seguida, coloque o cursor no 'S "e pressione backspace.

Eric
fonte
2
Eu não acho que é isso que o OP está buscando, honestamente.
jonsca