Você pode postar um link para o seu site? Suspeito que o problema seja devido ao estilo do seu tema.
Aqui está o meu link:
https://whois.nhachinhchu.org/t/bang-gia-xem-data-nha-chinh-chu/63389
Desculpe interromper a discussão em andamento. Encontrei algo que não tenho certeza se já foi relatado.
Se a postagem tiver um link em um cabeçalho, o número de cliques também é mostrado na entrada do TOC:
Desde esta atualização, estou vendo um erro nas páginas do discourse-docs que têm um sumário. Por exemplo, nesta página no Meta (esta página no Meta), o sumário não é exibido e vejo um erro nas ferramentas de desenvolvedor do meu navegador:
No meu site, também vejo um banner na parte superior da página dizendo “As postagens podem não ser exibidas corretamente porque um dos decoradores de conteúdo de postagem no seu site gerou um erro. Verifique as ferramentas de desenvolvedor do navegador para mais informações.”
Obrigado @simonk, acabei de (há 2 minutos!) mesclar uma correção para esse problema. Por favor, atualize o componente no seu site e me diga se o banner no seu próprio site está persistindo.
Obrigado pela resposta! O erro desapareceu, mas o índice (ToC) não é exibido na versão discourse-docs da página. Antes da atualização de ontem, o índice era exibido na versão discourse-docs da página, bem como na versão “normal”.
(Isso não é urgente para mim - eu implantei a atualização em um site de staging, não em produção, então não importa que não esteja funcionando corretamente)
Editar: Estou executando a versão 2.8.0.beta11 (42c71789f9), se isso fizer alguma diferença.
Sim, entendo o que você quer dizer. Infelizmente, minhas alterações no TOC usam um ponto de acesso na visualização do tópico que está faltando na documentação. Vou investigar isso.
Fiz mais algumas alterações no componente hoje, elas devem resolver os problemas levantados por @mentalstring e @simonk. No seu caso, Simon, você precisa de uma reconstrução completa porque também precisa puxar uma atualização para o plugin de documentação.
@huynhthai824 é muito provável que seu problema seja resolvido assim que você atualizar o componente.
Muito obrigado, estou muito feliz, meu problema foi resolvido.
Obrigado novamente..
Após uma reconstrução completa, posso confirmar que o índice (ToC) aparece corretamente na página discourse-docs - muito obrigado ![]()
Vejo que você também restringiu o índice a 2 níveis. Dado o espaço horizontal, acho isso razoável, mas significa que os títulos de terceiro nível são exibidos no índice no mesmo nível de aninhamento de seus pais.
ou seja, no momento, este texto:
# Primeiro Título
## Primeiro Subtítulo
### Filho do Primeiro Subtítulo
### Filho do Primeiro Subtítulo
## Segundo Subtítulo
### Filho do Segundo Subtítulo
### Filho do Segundo Subtítulo
# Segundo Título
Produz este índice:
Eu me pergunto se seria melhor que os títulos de terceiro nível e abaixo fossem excluídos do índice completamente?
Além disso, a estrutura DOM não parece bem correta - cada item de segundo nível é um <ul> com um único <li> dentro dele:
Boa observação. Não tenho certeza com que frequência usamos 3+ níveis, mas é possível reintroduzi-los, não deve ser muito complicado.
Boa observação, novamente. Este foi um pequeno erro, deve ser corrigido assim que esta PR for mesclada.
Se você estiver com vontade de fazer solicitações de recursos, talvez a profundidade máxima possa ser controlada por meio de uma configuração… ![]()
Na minha experiência, o recurso de Sumário (ToC) só funciona na primeira postagem, mas não nas postagens subsequentes. Isso está correto? Se sim, minha observação pode ser tratada como uma solicitação de recurso? Aliás, o Sumário (ToC), mesmo na primeira postagem, é uma adição muito boa. R
Olá a todos, tenho um problema desde a última atualização neste ótimo componente de tema, mas apenas no celular. Quando clico no botão do índice, o slider com o índice completo não abre.
Se eu usar uma janela muito pequena no desktop, este botão e slider funcionam muito bem. Então, pode ser um problema apenas no Android.
Aqui está o log no meu fórum atualizado (Discourse e TOC):
Message
Uncaught TypeError: Cannot read properties of null (reading 'classList')
Url: https://iunctis.fr/theme-javascripts/671f772e071bd55050592ff8541b659afe421259.js?__ws=iunctis.fr
Line: 36
Column: 49
Window Location: https://iunctis.fr/t/le-mensuel-01-decembre-2021/9591
Backtrace
TypeError: Cannot read properties of null (reading 'classList')
at n.showTOCOverlay (https://iunctis.fr/theme-javascripts/671f772e071bd55050592ff8541b659afe421259.js?__ws=iunctis.fr:36:49)
at e.n._join (https://iunctis.fr/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js:36:412333)
at e.n.join (https://iunctis.fr/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js:36:409358)
at h (https://iunctis.fr/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js:36:273784)
at https://iunctis.fr/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js:36:65110
at a (https://iunctis.fr/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js:36:260923)
at https://iunctis.fr/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js:36:65054
at n._triggerAction (https://iunctis.fr/assets/application-945e3f0cb654a8c23b30e86f5e955be5599a8330d68ce75e97b8228ad45ff6fd.js:1:1254524)
at n.click (https://iunctis.fr/assets/application-945e3f0cb654a8c23b30e86f5e955be5599a8330d68ce75e97b8228ad45ff6fd.js:1:1254160)
Env
HTTP HOSTS: iunctis.fr
Se eu usar um user agent do Android na minha versão do Firefox para desktop, recebo este erro se clicar no botão neste fórum:
Uncaught TypeError: document.querySelector(...) is null
showTOCOverlay 4916e6ed2a984e00537fe797b799637f1a801ffe.js:374
_join _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4033
join _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:3999
p _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2870
An _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:1147
o _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2785
An _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:1147
_triggerAction _application-2646ad3bbed41e42bb77806dc41fbea2.js:489
click _application-2646ad3bbed41e42bb77806dc41fbea2.js:488
trigger _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2560
n _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2422
_run _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4034
_join _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4033
join _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:3999
p _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2870
handleEvent _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2574
o _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2785
handleEvent _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2574
handleEvent _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2499
setupHandler _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2524
dispatch _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:347
handle _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:342
add _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:342
Oe _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:339
each _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:123
each _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:116
Oe _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:339
on _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:358
initialize _application-2646ad3bbed41e42bb77806dc41fbea2.js:3354
initialize _application-2646ad3bbed41e42bb77806dc41fbea2.js:62
runInstanceInitializers _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2730
each _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4074
walk _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4064
each _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4056
topsort _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4056
_runInitializer _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2733
runInstanceInitializers _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2730
_bootSync _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2604
didBecomeReady _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2623
invoke _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:3963
flush _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:3955
flush _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:3969
_end _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4032
end _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:3988
_run _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4034
_join _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:4033
join _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:3999
p _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2870
bind _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:2873
u _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:272
c _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:273
setTimeout handler*a/\u003c _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:274
l _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:265
fireWith _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:266
fire _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:266
l _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:265
fireWith _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:266
ready _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:283
z _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:283
EventListener.handleEvent* _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:283
\u003canonymous\u003e _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:109
\u003canonymous\u003e _vendor-64dba8b874ef11bbef3b2bce2fbcf6cc.js:109
4916e6ed2a984e00537fe797b799637f1a801ffe.js:374:18
No meu celular, tenho o Chrome versão 97.0.4692 se isso ajudar.
Sou o único a experimentar isso?
Esta é uma regressão recente devido a uma alteração no núcleo, tenho uma correção pronta em FIX: Restore outlet in mobile views by pmusaraj · Pull Request #15683 · discourse/discourse · GitHub, assim que for mesclada, você poderá reconstruir seu site e o problema será corrigido. Desculpe por isso.
Na semana passada, também reintroduzi o terceiro nível de recuo para cabeçalhos no componente, como mencionado por Simon acima.
Estou hesitando em adicionar uma configuração aqui, a grande, grande maioria dos casos de uso não precisa dela. E, o componente também tem classes para cada nível, então se você quiser ocultar o 4º e o 5º nível, você pode fazer isso com este css:
li.d-toc-h4, li.d-toc-h5 {
display:none;
}
Está mesclado e funcionando bem, obrigado!
Notei que a <div> no topo de um tópico introduziu uma margem extra. Por exemplo:
Adicionei isso ao meu tema, o que parece corrigir o problema:
// Os elementos do ToC no topo da postagem introduzem espaço indesejado.
// O Discourse define a margem superior do primeiro filho na postagem como zero,
// mas isso não funciona quando o ToC é o primeiro filho. Em vez disso,
// definiremos a margem superior do elemento seguinte ao ToC como zero.
div[data-theme-toc="true"] + * {
margin-top: 0px;
}
Talvez algo assim precise ser adicionado ao componente?
Boa observação, adicionei essa regra CSS neste PR: UX: Keep core's top margin for first item in OP by pmusaraj · Pull Request #30 · discourse/DiscoTOC · GitHub
Já resolvi este problema no passado movendo o código de incorporação para o final da postagem. Parece um pouco improvisado, mas funciona.
Tenho posts que têm DIVs extras em seus corpos. Por exemplo, On Storytelling - Workbench - Podcaster Community
O DIV que aciona a geração do TOC está dentro de um DIV… e o TOC percebe isso. Mas outros cabeçalhos, dentro de DIVs, não parecem ser notados pelo TOC.
…não é a melhor captura de tela. Esse é um H2 em um DIV arbitrário/apenas para estilo que não aparece no TOC.
…o que não é mostrado é o <div> que aciona o TOC, que está dentro do DIV com o par de atributos/valores malucos…
atualizado horas depois para adicionar: Talvez apenas “:scope h1,” etc. em vez de exigir que os cabeçalhos sejam filhos imediatos do escopo?
…também, isso foi mencionado em março de 21, DiscoTOC - automatic table of contents - #255







