Claro. Fico feliz se a informação puder ser útil. Gostaria de reiterar minha declaração anterior:
No entanto, ficaria feliz em estar errado sobre isso
.
- Copie o seguinte código C++:
#include <iostream> int main() { std::cout << __FILE__; } - Abra o compositor de postagens.
- Coloque o compositor no modo “editor de rich text”.
- Cole o conteúdo copiado no compositor.
O conteúdo está corrompido:
#include
int main() {
std::cout << FILE;
}
(observe que o <iostream> foi suprimido por se assemelhar a uma tag HTML não suportada, e o __FILE__ foi tratado como marcação em negrito)
Isso pode ser visto como erro do usuário, pois poderia ser evitado acionando um bloco de código antes de colar o conteúdo não em prosa. No entanto, poderíamos esperar que o fluxo de trabalho alternativo de aplicar formatação de bloco de código retroativamente ao conteúdo colado seria igualmente válido (como é ao usar o editor Markdown).
Equipamento
- Qualquer placa Arduino (seja oficial ou de terceiros)
Instruções
- Instale o Arduino IDE 2.3.6, que pode ser baixado na página “Software” do site do Arduino:
https://www.arduino.cc/en/software/#ide-download-section - Inicie o Arduino IDE.
- Selecione File > New Sketch nos menus do Arduino IDE.
- Substitua o conteúdo do novo sketch pelo seguinte código:
void setup() { Serial.begin(9600); while (!Serial) {} // Aguarda a porta serial ser aberta. delay(500); // Algumas placas requerem um delay após a inicialização da porta serial. Serial.println("foo"); Serial.println("bar"); } void loop() {} - Selecione Tools > Serial Monitor nos menus do Arduino IDE para abrir a visualização Serial Monitor, se ela ainda não estiver aberta.
- Selecione “9600” no menu da taxa de baud na visualização Serial Monitor.
- Faça o upload do sketch para sua placa Arduino.
- Selecione a saída serial do campo na visualização Serial Monitor.
- Copie o conteúdo selecionado.
- Abra o compositor de postagens do Discourse.
- Coloque o compositor no modo “editor de rich text”.
- Cole o conteúdo copiado no compositor.
Cada linha do conteúdo copiado é colocada em um bloco de código separado:
foo
bar
Se você inspecionar o conteúdo da área de transferência, verá que, além do conteúdo esperado do tipo “text/plain”:
foo
bar
Ele também contém o seguinte conteúdo do tipo “text/html”:
<div style="color: rgb(78, 91, 97); font-family: monospace; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: nowrap; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; position: absolute; left: 0px; top: 0px; height: 18px; width: 1862px;"><pre style="margin: 0px;">foo
</pre></div><div style="color: rgb(78, 91, 97); font-family: monospace; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: nowrap; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; position: absolute; left: 0px; top: 18px; height: 18px; width: 1862px;"><pre style="margin: 0px;">bar</pre></div>
Como o Serial Monitor do Arduino IDE 2.x envolve incorretamente cada linha do conteúdo copiado do tipo “text/html” em tags <pre>, a renderização de cada linha do conteúdo colado como um bloco de código separado pelo editor de rich text do Discourse é correta e esperada.
Assim como no outro problema que descrevi acima, a formatação inesperada pode ser evitada acionando proativamente a formatação de bloco de código antes de colar o conteúdo.