DiscoTOC - table des matières automatique

Nous ciblons les titres enfants immédiats pour exclure les titres dans les citations ou les onebox et d’autres éléments dans la table des matières. Sinon, nous devrions les exclure individuellement, ce qui peut être fastidieux.

6 « J'aime »

Salut,

Comment pouvons-nous mettre le titre du tableau en gras et le sous-titre en police normale ?

1 « J'aime »

Bonjour ! Vous devez le faire avec CSS.

1 « J'aime »

Merci, mais je n’ai pas d’expérience en CSS, existe-t-il un modèle prêt à l’emploi ?

1 « J'aime »

Vous devriez pouvoir ajouter quelque chose comme ceci à la section CSS du thème de votre site :

.d-toc-heading > li > a {
  font-weight: bold;
}

…ce qui ressemblerait à ceci :

3 « J'aime »

DiscoTOC est un excellent composant, merci beaucoup.
Y a-t-il une possibilité de faire fonctionner cela en combinaison avec le

Plugin ?

5 « J'aime »

Ça fonctionne bien merci, mais comment puis-je ajouter cette police en gras pour les sous-sous-polices ?

par ex :
police principale
sous-police
sous-sous-police
sous-sous-sous-police

puisque j’ai 4 niveaux de sous-polices dans le contexte.

Merci

1 « J'aime »

Désolé, je ne suis pas sûr de comprendre - voulez-vous la même police pour tous les liens dans la table des matières ? Si c’est le cas, vous pourriez probablement utiliser quelque chose comme ceci :

#d-toc a {
  font-weight: bold;
}

Si vous souhaitez des styles différents pour différents niveaux de titres, vous aurez besoin de quelque chose d’un peu plus compliqué :

// Style pour les titres de premier niveau
.d-toc-heading > li > a {
  font-weight: bold;
}

// Style pour les titres de deuxième niveau
.d-toc-heading > li > ul > li > a {
  color: red;
}

// Style pour les titres de troisième niveau
.d-toc-heading > li > ul > li > ul > li > a {
  color: green;
}

// etc.

Notez que cela est assez étroitement lié à l’implémentation du composant de thème, donc si cela change un jour, vous devrez peut-être mettre à jour ces règles.

4 « J'aime »

Merci beaucoup, c’est ce que je veux.

2 « J'aime »

Il n’est actuellement pas prévu de prendre en charge les pages publiées. Il est pris en charge avec le plugin docs.

1 « J'aime »

Quelqu’un a-t-il un problème avec DiscoTOC affiché en mode bureau tout en étant en :iphone: vue mobile ?

Nous avons eu le problème sur 2.7.x et même après la mise à jour 2.8, il persiste, voir ici :
https://forum.cannabisanbauen.net/docs?topic=2272

1 « J'aime »

Excusez-moi ! Joe
Aujourd’hui, j’ai mis à jour Discourse, mon DiscoToc s’affiche entièrement à droite mais l’écran est cassé.
J’ai mis à jour le composant de thème Disco Toc le plus récent.
Pouvez-vous continuer à résoudre ce problème.

https://nganhangbatdongsan. com/t/bang-gia-xem-data-nha-chinh-chu/63389

Merci !

1 « J'aime »

Ce n’est donc pas un problème de DiscoTOC, c’est parce que vous avez également le plugin layouts qui prend de la place.

3 « J'aime »

Le même problème persiste ; j’ai dû supprimer l’ancienne version de DiscoTOC qui s’installait/fonctionnait au moins, car elle n’est pas compatible avec la dernière version de Discourse.

Le résumé de /log est :

Aws::S3::Errors::InvalidArgument (Unsupported value for canned acl 'public-read')
lib/s3_helper.rb:74:in `upload'
lib/file_store/s3_store.rb:116:in `store_file'
lib/file_store/s3_store.rb:30:in `store_upload'
lib/upload_creator.rb:212:in `block (2 levels) in create_for'
lib/upload_creator.rb:211:in `open'
lib/upload_creator.rb:211:in `block in create_for'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
lib/upload_creator.rb:64:in `create_for'
app/models/remote_theme.rb:164:in `block in update_from_remote'
app/models/remote_theme.rb:160:in `each'
app/models/remote_theme.rb:160:in `update_from_remote'
app/models/remote_theme.rb:93:in `import_theme'
app/controllers/admin/themes_controller.rb:104:in `import'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

Et la trace :

aws-sdk-core (3.121.2) lib/seahorse/client/plugins/raise_response_errors.rb:17:in `call'
aws-sdk-s3 (1.96.1) lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in `call'
aws-sdk-s3 (1.96.1) lib/aws-sdk-s3/plugins/dualstack.rb:36:in `call'
aws-sdk-s3 (1.96.1) lib/aws-sdk-s3/plugins/accelerate.rb:50:in `call'
aws-sdk-core (3.121.2) lib/aws-sdk-core/plugins/jsonvalue_converter.rb:22:in `call'
aws-sdk-core (3.121.2) lib/aws-sdk-core/plugins/idempotency_token.rb:19:in `call'
aws-sdk-core (3.121.2) lib/aws-sdk-core/plugins/param_converter.rb:26:in `call'
aws-sdk-core (3.121.2) lib/seahorse/client/plugins/request_callback.rb:71:in `call'
aws-sdk-core (3.121.2) lib/aws-sdk-core/plugins/response_paging.rb:12:in `call'
aws-sdk-core (3.121.2) lib/seahorse/client/plugins/response_target.rb:24:in `call'
aws-sdk-core (3.121.2) lib/seahorse/client/request.rb:72:in `send_request'
aws-sdk-s3 (1.96.1) lib/aws-sdk-s3/client.rb:11274:in `put_object'
aws-sdk-s3 (1.96.1) lib/aws-sdk-s3/object.rb:1329:in `put'
lib/s3_helper.rb:74:in `upload'
lib/file_store/s3_store.rb:116:in `store_file'
lib/file_store/s3_store.rb:30:in `store_upload'
lib/upload_creator.rb:212:in `block (2 levels) in create_for'
lib/upload_creator.rb:211:in `open'
lib/upload_creator.rb:211:in `block in create_for'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
lib/upload_creator.rb:64:in `create_for'
app/models/remote_theme.rb:164:in `block in update_from_remote'
app/models/remote_theme.rb:160:in `each'
app/models/remote_theme.rb:160:in `update_from_remote'
app/models/remote_theme.rb:93:in `import_theme'
app/controllers/admin/themes_controller.rb:104:in `import'
actionpack (6.1.4.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:228:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:117:in `block in run_callbacks'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
i18n (1.10.0) lib/i18n.rb:328:in `with_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:126:in `block in run_callbacks'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:137:in `run_callbacks'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `block in instrument'
activesupport (6.1.4.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `instrument'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:33:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
activerecord (6.1.4.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:165:in `process'
actionview (6.1.4.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.3.4) lib/mini_profiler/profiling_methods.rb:111:in `block in profile_method'
actionpack (6.1.4.1) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.1.4.1) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:49:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
actionpack (6.1.4.1) lib/action_dispatch/http/permissions_policy.rb:22:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.10.1) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.1.4.1) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.1.4.1) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/host_authorization.rb:92:in `call'
rack-mini-profiler (2.3.4) lib/mini_profiler/profiler.rb:393:in `call'
message_bus (4.2.0) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:202:in `call'
railties (6.1.4.1) lib/rails/engine.rb:539:in `call'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `<main>'

L’URL du résumé de l’environnement était : REQUEST_URI /admin/themes/import - donc je suis à peu près sûr d’avoir la bonne erreur.

Peut-être que j’ai involontairement configuré les choses d’une manière non standard. J’ai configuré Backblaze (API S3) dans app.yml avec DISCOURSE_USE_S3 commenté, mais tous les autres paramètres S3 saisis. DISCOURSE_BACKUP_LOCATION est défini sur S3. L’objectif était de conserver les téléchargements d’images locaux, etc., mais que les sauvegardes aillent sur Backblaze. Aucun des paramètres S3 ne semble être activé dans les pages Web d’administration. Les sauvegardes apparaissent sur Backblaze, et je peux toujours ajouter des images, etc., donc je suppose que tout va bien.

Des suggestions sont appréciées !

1 « J'aime »

Ce n’est pas un problème de DiscoTOC. Veuillez rechercher Backblaze ici sur meta pour voir si vous pouvez trouver une solution à votre problème. (Et si vous n’en trouvez pas, n’hésitez pas à ouvrir un sujet de support distinct.)

2 « J'aime »

Nous rencontrons une erreur après la mise à niveau de Discourse :

Screenshot from 2022-02-25 18-35-43

edit : oh non, désolé. c’est sur une instance qui n’est pas mise à jour. C’est probablement à cause de ça.

3 « J'aime »

Pour aider les autres, j’ai eu du mal à ajouter une table des matières à un article apparemment correctement formaté et elle n’apparaissait pas. J’ai finalement vérifié l’historique des modifications :

Selection_022

Déplacer la balise sur une nouvelle ligne (et la réduire à une seule instance) a résolu le problème.

3 « J'aime »

Bonjour, je rencontre le problème suivant.
Si les titres sont en chinois, le lien de la table des matières ne peut pas pointer vers le bon emplacement.
Par exemple, KeepZotero 防止 Zotero 被關掉 - 綜合討論 - TW Community
Cliquer sur les 2e à 5e liens de la table des matières de droite décale toujours vers la deuxième position du titre et non vers la position correspondante.
Si vous cliquez sur le lien à gauche du titre, cela fonctionne et le lien ressemble à ${topic-url}#h-4
Est-ce le même problème que celui mentionné dans Bug of DiscoTOC with Chinese Headings - bug - Discourse Meta ?

3 « J'aime »

Je crois que c’est la même chose

3 « J'aime »

J’ai essayé votre correctif sur mon site et il fonctionne correctement.
Prévoyez-vous de créer une pull request ?

2 « J'aime »