{"users":[{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/discourse/{size}/148734_2.png","admin":true,"trust_level":4},{"id":135971,"username":"microhit","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/microhit/{size}/447960_2.png","trust_level":2},{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/moin/{size}/554653_2.png","trust_level":3},{"id":20815,"username":"marcospreviato","name":"Marcos P","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/marcospreviato/{size}/54766_2.png","trust_level":2},{"id":32,"username":"codinghorror","name":"Jeff Atwood","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/codinghorror/{size}/110067_2.png","admin":true,"trust_level":2},{"id":17969,"username":"Pad_Pors","name":"Pad Pors","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pad_pors/{size}/52016_2.png","trust_level":2},{"id":72263,"username":"denvergeeks","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/denvergeeks/{size}/327671_2.png","trust_level":2},{"id":135392,"username":"NateDhaliwal","name":"Nate Dhaliwal","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/natedhaliwal/{size}/313494_2.png","flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"trust_level":3},{"id":113000,"username":"chapoi","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/chapoi/{size}/537252_2.png","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":12933,"username":"gdpelican","name":"James Kiesel","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gdpelican/{size}/81308_2.png","trust_level":2},{"id":66606,"username":"spirobel","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/spirobel/{size}/170908_2.png","flair_name":"plugin_authors","flair_url":"plug","flair_bg_color":"dddddd","flair_color":"111111","flair_group_id":48,"trust_level":2},{"id":13378,"username":"angus","name":"Angus McLeod","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/angus/{size}/341715_2.png","flair_name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":88244,"username":"frank.manuel","name":"Frank Manuel","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/frank.manuel/{size}/203348_2.png","trust_level":2},{"id":185178,"username":"TimFelix","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/919ad9/{size}.png","trust_level":1},{"id":183669,"username":"Yan_Rudenko","name":"Yan Rudenko","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/yan_rudenko/{size}/493431_2.png","trust_level":1},{"id":78445,"username":"Don","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/don/{size}/228726_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":102688,"username":"valsha","name":"KingPin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/valsha/{size}/230631_2.png","trust_level":2},{"id":83631,"username":"Jagster","name":"Jakke Flemming","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jagster/{size}/192154_2.png","trust_level":3},{"id":103767,"username":"Usman_Shahid","name":"Usman Shahid","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/usman_shahid/{size}/232411_2.png","trust_level":2},{"id":57788,"username":"nathank","name":"Nathan Kershaw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/nathank/{size}/290039_2.png","flair_name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_group_id":148,"trust_level":4},{"id":83098,"username":"jordan-violet","name":"Jordan Violet","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jordan-violet/{size}/281428_2.png","trust_level":2},{"id":142927,"username":"Rick_Jing","name":"Rick Jing","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/rick_jing/{size}/354677_2.png","trust_level":2},{"id":23968,"username":"david","name":"David Taylor","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/david/{size}/157490_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":3,"username":"supermathie","name":"Michael Brown","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/supermathie/{size}/507518_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":8722,"username":"Falco","name":"Falco","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/falco/{size}/179432_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":4},{"id":27384,"username":"merefield","name":"Robert","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/merefield/{size}/176214_2.png","trust_level":3},{"id":144959,"username":"gabriel","name":"Gabriel Grubba","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gabriel/{size}/367911_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":15209,"username":"pfaffman","name":"Jay Pfaffman","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pfaffman/{size}/120154_2.png","flair_name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":73340,"username":"Alexander","name":"Alexander Barrios","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/alexander/{size}/497634_2.png","flair_name":"support-enthusiasts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/1/3/13f5d8d7e56be8a6a1ea3de009b985a548aec8d4.svg","flair_bg_color":"FFFFFF","flair_group_id":151,"trust_level":2},{"id":63814,"username":"ondrej","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ondrej/{size}/198804_2.png","trust_level":3},{"id":101949,"username":"kinetiksoft","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/kinetiksoft/{size}/229578_2.png","trust_level":2},{"id":141342,"username":"martyn_thomas","name":"Martyn Thomas","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/martyn_thomas/{size}/344874_2.png","trust_level":2},{"id":67228,"username":"영광_임","name":"영광 임","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/영광_임/{size}/148997_2.png","trust_level":2},{"id":68923,"username":"Luke_Clancy","name":"Luke Clancy","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/luke_clancy/{size}/166703_2.png","trust_level":1},{"id":125384,"username":"SwanseN21","name":"Sean Monsanto","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/swansen21/{size}/283233_2.png","trust_level":1},{"id":139330,"username":"elle7","name":"Laura White","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/elle7/{size}/331525_2.png","trust_level":1},{"id":79292,"username":"honeymoose","name":"HoneyMoose","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/honeymoose/{size}/198718_2.png","trust_level":2},{"id":119102,"username":"Lhc_fl","name":"Linca","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/lhc_fl/{size}/268115_2.png","trust_level":2},{"id":138598,"username":"wayway_way","name":"wayway way","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/wayway_way/{size}/327018_2.png","trust_level":2},{"id":14617,"username":"scavin","name":"scavin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/scavin/{size}/115938_2.png","flair_name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111","flair_group_id":50,"trust_level":2},{"id":45577,"username":"hawm","name":"Hawm","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/h/f07891/{size}.png","trust_level":2},{"id":34674,"username":"Johani","name":"Joe","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/johani/{size}/176920_2.png","trust_level":2},{"id":13093,"username":"pacharanero","name":"Marcus Baw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pacharanero/{size}/500583_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":98881,"username":"Luke_Cousins","name":"Luke Cousins","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/luke_cousins/{size}/223644_2.png","trust_level":2},{"id":29613,"username":"Timothy_Vail","name":"Timothy Vail","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/timothy_vail/{size}/90872_2.png","trust_level":2},{"id":36855,"username":"William04GamerA","name":"William","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/w/90db22/{size}.png","trust_level":2},{"id":66060,"username":"Michael_McCrae","name":"Michael McCrae","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/michael_mccrae/{size}/143362_2.png","trust_level":1},{"id":55682,"username":"Muwonge_Ronald","name":"Muwonge Ronald","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/muwonge_ronald/{size}/160546_2.png","trust_level":2},{"id":129042,"username":"SimonBiggs","name":"Simon Biggs","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/simonbiggs/{size}/292760_2.png","trust_level":2},{"id":109684,"username":"f1r4s","name":"Eddie","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/f1r4s/{size}/245347_2.png","trust_level":2},{"id":124068,"username":"wendellverli","name":"Wendell Fernandes","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/wendellverli/{size}/280396_2.png","trust_level":2},{"id":62294,"username":"Heliosurge","name":"Dan DeMontmorency","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/heliosurge/{size}/131899_2.png","trust_level":3},{"id":19473,"username":"neo","name":"R.Zhang","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/neo/{size}/156675_2.png","trust_level":2},{"id":102068,"username":"jayarr","name":"JR","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jayarr/{size}/230949_2.png","trust_level":2},{"id":67026,"username":"PaulinaMX","name":"ForosMX","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/paulinamx/{size}/210473_2.png","trust_level":2},{"id":26605,"username":"LeoDavidson","name":"Leo Davidson","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/leodavidson/{size}/119574_2.png","trust_level":2},{"id":1995,"username":"zogstrip","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/zogstrip/{size}/512781_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":8571,"username":"tobiaseigen","name":"Tobias Eigen","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/tobiaseigen/{size}/539204_2.png","trust_level":2},{"id":28866,"username":"schungx","name":"Stephen Chung","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/schungx/{size}/70989_2.png","trust_level":2},{"id":5795,"username":"mattdm","name":"Matthew Miller","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/mattdm/{size}/216484_2.png","trust_level":2},{"id":85965,"username":"JonathanShaw","name":"Jonathan Shaw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jonathanshaw/{size}/532672_2.png","trust_level":2},{"id":35474,"username":"Canapin","name":"Coin-coin le Canapin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/canapin/{size}/119591_2.png","trust_level":3},{"id":33297,"username":"Heather_Dudley","name":"Heather Dudley","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/heather_dudley/{size}/151925_2.png","trust_level":2},{"id":96216,"username":"Johnny_McIvor","name":"Johnny McIvor","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/johnny_mcivor/{size}/218747_2.png","trust_level":2},{"id":12801,"username":"bartv","name":"Bart ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/bartv/{size}/130052_2.png","trust_level":2},{"id":71403,"username":"raghukamath","name":"Raghavendra Kamath","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/raghukamath/{size}/160330_2.png","trust_level":2},{"id":66204,"username":"fzngagan","name":"Faizaan Gagan","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/fzngagan/{size}/259349_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":75906,"username":"neounix","name":"Dark Matter","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/neounix/{size}/215617_2.png","trust_level":2},{"id":74650,"username":"zcuric","name":"Zdravko","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/zcuric/{size}/292837_2.png","trust_level":2},{"id":23163,"username":"j.jaffeux","name":"Joffrey Jaffeux","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/j.jaffeux/{size}/60297_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":39022,"username":"Judith","name":"Judith Meyer","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/judith/{size}/289903_2.png","trust_level":2},{"id":38013,"username":"Gulshan_Kumar","name":"Gulshan Kumar","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gulshan_kumar/{size}/119562_2.png","trust_level":2},{"id":6626,"username":"riking","name":"Kane York","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/riking/{size}/170938_2.png","trust_level":2},{"id":2,"username":"neil","name":"Neil Lalonde","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/neil/{size}/102150_2.png","trust_level":2},{"id":30818,"username":"PoojaPatel","name":"Pooja Patel","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/p/edb3f5/{size}.png","trust_level":2}],"primary_groups":[{"id":276,"name":"VolunteerMods"},{"id":47,"name":"team"}],"flair_groups":[{"id":73,"name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111"},{"id":47,"name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":48,"name":"plugin_authors","flair_url":"plug","flair_bg_color":"dddddd","flair_color":"111111"},{"id":142,"name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":276,"name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":""},{"id":148,"name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":151,"name":"support-enthusiasts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/1/3/13f5d8d7e56be8a6a1ea3de009b985a548aec8d4.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":50,"name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111"}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/wiki/developers/179?page=1","per_page":30,"top_tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"},{"id":150,"name":"inst-dev","slug":"dev-install"},{"id":479,"name":"explication","slug":"explanation"},{"id":330,"name":"api-rest","slug":"rest-api"},{"id":482,"name":"référence","slug":"reference"},{"id":820,"name":"guides-thématiques","slug":"theme-guides"},{"id":16,"name":"traduction","slug":"translation"},{"id":2,"name":"badges","slug":"badges"},{"id":813,"name":"contenu","slug":"content"},{"id":814,"name":"personnalisation","slug":"customization"},{"id":278,"name":"développement","slug":"development"},{"id":484,"name":"tutoriel","slug":"tutorial"},{"id":618,"name":"champs-personnalisu00e9s-","slug":"user-custom-fields"}],"topics":[{"fancy_title":"Index des développeurs","fancy_title_localized":true,"locale":"en","id":322723,"title":"Developer Index","slug":"developer-index","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2024-08-21T14:15:42.960Z","last_posted_at":"2024-08-21T14:15:43.057Z","bumped":true,"bumped_at":"2024-08-21T14:15:43.057Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Configuration de l’environnement de développement Discourse : (outdated) Guide to Setting Up Discourse Development Environment - GitHub Codespace\nFloutage du contenu NSFW : Our solution for blurring NSFW content\nBlocs d&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":259,"like_count":3,"has_summary":false,"last_poster_username":"Discourse","category_id":179,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Collection of links to various Discourse development guides, including environment setup, plugin creation, customization, and API usage, covering topics from beginner guides to advanced plugin development and theme customization.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Personnalisation des boîtes de sous-catégories dans Discourse","fancy_title_localized":true,"locale":"en","id":239691,"title":"Customizing subcategory boxes in Discourse","slug":"customizing-subcategory-boxes-in-discourse","posts_count":3,"reply_count":1,"highest_post_number":6,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37.png","created_at":"2022-09-21T19:19:52.577Z","last_posted_at":"2026-04-02T21:45:10.074Z","bumped":true,"bumped_at":"2026-04-02T21:45:10.074Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: Ce guide explique comment personnaliser l'apparence des boîtes de sous-catégories dans Discourse, notamment en ajustant les styles des sujets en vedette, en modifiant le style « Boîtes » et en gérant la troncature des descriptions de catégorie…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1021,"height":257,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37.png"},{"max_width":800,"max_height":800,"width":800,"height":201,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_800x201.png"},{"max_width":600,"max_height":600,"width":600,"height":151,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_600x151.png"},{"max_width":400,"max_height":400,"width":400,"height":100,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_400x100.png"},{"max_width":300,"max_height":300,"width":300,"height":75,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_300x75.png"},{"max_width":200,"max_height":200,"width":200,"height":50,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_200x50.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":814,"name":"personnalisation","slug":"customization"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":1448,"like_count":1,"has_summary":false,"last_poster_username":"Moin","category_id":179,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user questions why topics remain visible on mobile despite desktop customizations, to which another member responds that separate mobile-specific settings likely control this behavior.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":135971,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":95552,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configurez un tooltip dans votre forum","fancy_title_localized":true,"locale":"en","id":45792,"title":"Setup a ToolTip in your Forum","slug":"setup-a-tooltip-in-your-forum","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01.png","created_at":"2016-06-16T23:09:01.116Z","last_posted_at":"2026-01-12T16:59:30.521Z","bumped":true,"bumped_at":"2026-01-12T16:59:30.521Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi, this is my first post sharing a resource to help this wonderful community. \nI want to help them create simple forms a tooltip for your forum making it modern and clean, ok lets do it! \nFirst what is tooltip? A toolti&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":377,"height":418,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01.png"},{"max_width":400,"max_height":400,"width":360,"height":400,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_360x400.png"},{"max_width":300,"max_height":300,"width":270,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_270x300.png"},{"max_width":200,"max_height":200,"width":180,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_180x200.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":3189,"like_count":23,"has_summary":false,"last_poster_username":"denvergeeks","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares CSS code to create tooltips for forums, while another suggests using a theme component instead, noting hover-based tooltips don’t work well on mobile devices.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":20815,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":32,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":17969,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":72263,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Liste courante des imports pour les composants/plugins de thème (JS)","fancy_title_localized":true,"locale":"en","id":382493,"title":"Common list of imports for Theme Components/plugins (JS)","slug":"common-list-of-imports-for-theme-components-plugins-js","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2025-09-13T03:13:05.568Z","last_posted_at":"2025-12-26T12:19:50.196Z","bumped":true,"bumped_at":"2025-12-26T12:19:50.196Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Je me retrouve habituellement à chercher des importations pour différentes choses lorsque je crée un composant de thème, alors j'ai décidé d'en compiler un tas et de les mettre ici.\nLié à Ember\n\nNom\nImportation\nUtilisation\n\nComposant\nimport...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":189,"like_count":12,"has_summary":false,"last_poster_username":"chapoi","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users appreciate the compiled list of Ember and Discourse imports for theme components, noting VS Code's autocomplete often suggests incorrect paths, making such references helpful.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Auteur le plus récent","user_id":113000,"primary_group_id":null,"flair_group_id":47}]},{"fancy_title":"Remplacer les méthodes Discourse existantes dans les plugins","fancy_title_localized":true,"locale":"en","id":83389,"title":"Override existing Discourse methods in plugins","slug":"override-existing-discourse-methods-in-plugins","posts_count":9,"reply_count":5,"highest_post_number":13,"image_url":null,"created_at":"2018-03-20T11:37:16.168Z","last_posted_at":"2025-12-10T17:36:56.810Z","bumped":true,"bumped_at":"2025-12-10T17:36:56.810Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I’ve been running into a bunch of instances recently of needing to override existing ruby methods from plugins, and thought I’d share my best practices here. \nOverriding an instance method\nclass ::TopicQuery\n  module Bab&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":4890,"like_count":65,"has_summary":false,"last_poster_username":"TimFelix","category_id":179,"op_like_count":35,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A discussion on overriding existing Discourse methods in plugins, focusing on techniques for instance methods, class methods, and scopes, with a recent example showing how to override a singleton class method using prepend in a module.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":12933,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":66606,"primary_group_id":null,"flair_group_id":48},{"extras":null,"description":"Auteur fréquent","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Auteur fréquent","user_id":88244,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":185178,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Implémentation de la validation des champs personnalisés utilisateur","fancy_title_localized":true,"locale":"en","id":388179,"title":"User custom fields validation implementation","slug":"user-custom-fields-validation-implementation","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-11-11T20:10:06.292Z","last_posted_at":"2025-11-11T20:10:06.361Z","bumped":true,"bumped_at":"2025-11-11T20:10:06.361Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Ceci est un article destiné aux futurs développeurs qui pourraient en avoir besoin pour créer des plugins personnalisés spécifiquement pour la validation des champs personnalisés des utilisateurs.\nRédigé alors que la version de Discourse est 3.6.0.beta3-latest (commit actuel a7326abf15), s&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":618,"name":"champs-personnalisu00e9s-","slug":"user-custom-fields"},{"id":278,"name":"développement","slug":"development"}],"tags_descriptions":{},"views":108,"like_count":1,"has_summary":false,"last_poster_username":"Yan_Rudenko","category_id":179,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A developer shares a guide for implementing unique value validation on Discourse user custom fields via a custom plugin, addressing lack of documentation and core API usage.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":183669,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Personnaliser le bouton Nouveau Sujet","fancy_title_localized":true,"locale":"en","id":197848,"title":"Customize the New Topic button","slug":"customize-the-new-topic-button","posts_count":12,"reply_count":4,"highest_post_number":13,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804.gif","created_at":"2021-07-22T11:34:47.602Z","last_posted_at":"2025-06-10T22:58:15.707Z","bumped":true,"bumped_at":"2025-06-10T22:58:15.707Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nI just want to share with you how I make our new topic button. Little CSS :slight_smile: \nI use for this color variables. (tertiary, secondary and primary-medium) \nNew Topic button \n \nOpen Draft button \n \n\n#creat&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":542,"height":206,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804.gif"},{"max_width":400,"max_height":400,"width":400,"height":152,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_400x152.gif"},{"max_width":300,"max_height":300,"width":300,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_300x114.gif"},{"max_width":200,"max_height":200,"width":200,"height":76,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_200x76.gif"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":2403,"like_count":24,"has_summary":false,"last_poster_username":"nathank","category_id":179,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss customizing the New Topic button's appearance and text via CSS and theme components, with solutions shared for styling, hover effects, and text changes through site texts or I18n translations.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Auteur fréquent","user_id":102688,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":83631,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":103767,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":57788,"primary_group_id":null,"flair_group_id":148}]},{"fancy_title":"Travailler avec des templates .erb dans un plugin","fancy_title_localized":true,"locale":"en","id":345777,"title":"Working with .erb templates in a plugin","slug":"working-with-erb-templates-in-a-plugin","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-01-06T09:12:26.736Z","last_posted_at":"2025-01-06T09:12:26.795Z","bumped":true,"bumped_at":"2025-04-13T11:08:29.684Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"J’ai récemment donné quelques conseils sur la façon de travailler avec des modèles .erb dans Discourse et j’ai remarqué qu’il n’y avait pas beaucoup de détails à ce sujet ici sur meta, j’ai donc pensé à créer ce wiki sur&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":135,"like_count":8,"has_summary":false,"last_poster_username":"angus","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Angus initiated a wiki to explain working with .erb templates in Discourse plugins, covering server outlets, HTML builders, and template overriding, assuming prior Rails knowledge.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":13378,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Préchargement des données et gestion des problèmes de requêtes N+1","fancy_title_localized":true,"locale":"en","id":347688,"title":"Preloading data and dealing with N+1 Query problems","slug":"preloading-data-and-dealing-with-n-1-query-problems","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-01-17T14:41:19.061Z","last_posted_at":"2025-01-17T14:41:19.129Z","bumped":true,"bumped_at":"2025-01-17T15:17:12.872Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Lorsque vous travaillez avec l’application Rails Discourse, que ce soit pour créer un plugin ou pour faire une pull request à discourse/discourse, vous rencontrerez des problèmes de requêtes N+1 dans plusieurs contextes.&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":156,"like_count":4,"has_summary":false,"last_poster_username":"angus","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Encountering N+1 query problems in Discourse rails application requires handling data preloading, addressed through eager loading associations and utilizing hooks like TopicView's on_preload method.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":13378,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"(désuet) Guide pour configurer l&rsquo;environnement de développement Discourse - GitHub Codespace","fancy_title_localized":true,"locale":"en","id":307231,"title":"(outdated) Guide to Setting Up Discourse Development Environment - GitHub Codespace","slug":"outdated-guide-to-setting-up-discourse-development-environment-github-codespace","posts_count":9,"reply_count":3,"highest_post_number":9,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_1024x827.png","created_at":"2024-05-08T10:44:56.543Z","last_posted_at":"2024-11-14T12:20:09.118Z","bumped":true,"bumped_at":"2024-11-14T12:20:09.118Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Développement avec GitHub Codespaces\nGitHub Codespace est une excellente option de développement. C’est formidable car il est hébergé dans le cloud, je peux facilement m’assurer que tout le monde qui développe ici a le&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1920,"height":1552,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":827,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_1024x827.png"},{"max_width":800,"max_height":800,"width":800,"height":646,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_800x646.png"},{"max_width":600,"max_height":600,"width":600,"height":485,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_600x485.png"},{"max_width":400,"max_height":400,"width":400,"height":323,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_400x323.png"},{"max_width":300,"max_height":300,"width":300,"height":242,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_300x242.png"},{"max_width":200,"max_height":200,"width":200,"height":161,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_200x161.png"}],"tags":[{"id":150,"name":"inst-dev","slug":"dev-install"}],"tags_descriptions":{"inst-dev":"Instructions et problèmes liés à l'installation de Discourse pour le développ..."},"views":991,"like_count":29,"has_summary":false,"last_poster_username":"david","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse core updated with devcontainer configuration, simplifying development environment setup on GitHub Codespaces, rendering manual steps obsolete, as stated in official docs.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":83098,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":142927,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":null,"description":"Auteur fréquent","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":23968,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Commencer à utiliser Postman avec l&rsquo;API Discourse","fancy_title_localized":true,"locale":"en","id":333669,"title":"Getting started using Postman with the Discourse API","slug":"getting-started-using-postman-with-the-discourse-api","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e.png","created_at":"2024-10-30T17:49:40.542Z","last_posted_at":"2024-10-30T17:49:40.683Z","bumped":true,"bumped_at":"2024-10-30T18:54:31.965Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Résumé\nPostman est un moyen de construire et de tester facilement des requêtes auprès d’une API. \nConfiguration avec Discourse\n\n\nAprès avoir ouvert Postman, cliquez sur Create Workspace : \n\n  \n\n\n\nChoisissez Blank workspa&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":633,"height":181,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e.png"},{"max_width":600,"max_height":600,"width":600,"height":171,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_600x171.png"},{"max_width":400,"max_height":400,"width":400,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_400x114.png"},{"max_width":300,"max_height":300,"width":300,"height":85,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_300x85.png"},{"max_width":200,"max_height":200,"width":200,"height":57,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_200x57.png"}],"tags":[],"tags_descriptions":{},"views":209,"like_count":7,"has_summary":false,"last_poster_username":"supermathie","category_id":179,"op_like_count":7,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Postman is used to construct and test API requests; configuring it with Discourse API involves creating a workspace, importing the API, and adding authentication via variables and pre-request scripts.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":3,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Ajouter un paramètre personnalisé par utilisateur dans un plugin","fancy_title_localized":true,"locale":"en","id":94048,"title":"Add a custom per-user setting in a plugin","slug":"add-a-custom-per-user-setting-in-a-plugin","posts_count":28,"reply_count":16,"highest_post_number":29,"image_url":null,"created_at":"2018-08-06T20:39:54.293Z","last_posted_at":"2023-12-20T18:49:07.515Z","bumped":true,"bumped_at":"2024-09-12T12:50:45.252Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I just went through this process and experienced a bunch of trial and error, so I thought I’d document my findings to help the next developer to come along. \nThe things I needed: \n\n\nRegister your custom field type (mine &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":4630,"like_count":120,"has_summary":false,"last_poster_username":"merefield","category_id":179,"op_like_count":33,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss adding custom per-user settings in a plugin, highlighting the required steps, potential issues with Ruby 3.x, and the possibility of a simpler registration method, while also exploring the display of custom fields in user profiles and cards.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":12933,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Auteur fréquent","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Auteur fréquent","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Auteur le plus récent","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Automatiser la configuration du plugin Discourse avec la gem `create-discourse-plugin`","fancy_title_localized":true,"locale":"en","id":315013,"title":"Automating Discourse Plugin Setup with `create-discourse-plugin` gem","slug":"automating-discourse-plugin-setup-with-create-discourse-plugin-gem","posts_count":8,"reply_count":4,"highest_post_number":8,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17.png","created_at":"2024-07-04T13:53:41.649Z","last_posted_at":"2024-08-27T18:26:52.104Z","bumped":true,"bumped_at":"2024-08-27T18:34:01.374Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":mega:  Ce plugin est désormais inclus dans le cœur de Discourse. Il n’est plus nécessaire d’utiliser cette gem. \nPour créer un nouveau plugin, utilisez : \nrake plugin:create[plugin-name] \n\nDepuis que j’ai commencé à dé&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":690,"height":278,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17.png"},{"max_width":600,"max_height":600,"width":600,"height":241,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_600x241.png"},{"max_width":400,"max_height":400,"width":400,"height":161,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_400x161.png"},{"max_width":300,"max_height":300,"width":300,"height":120,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_300x120.png"},{"max_width":200,"max_height":200,"width":200,"height":80,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_200x80.png"}],"tags":[],"tags_descriptions":{},"views":493,"like_count":52,"has_summary":false,"last_poster_username":"pfaffman","category_id":179,"op_like_count":16,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The `create-discourse-plugin` gem has been deprecated as its functionality has been integrated into Discourse core via a new rake task, `rake plugin:create`, which now provides an official, git-based solution for plugin creation without relying on GitHub CLI.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":144959,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Auteur fréquent","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Auteur le plus récent","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Personnaliser les couleurs des mentions","fancy_title_localized":true,"locale":"en","id":219023,"title":"Customize mention colors","slug":"customize-mention-colors","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/c/6cacf59bada15e604aa436a0ada30f6c52adaf14.png","created_at":"2022-02-22T03:59:40.782Z","last_posted_at":"2023-12-13T17:04:32.023Z","bumped":true,"bumped_at":"2023-12-13T17:04:32.023Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Inspiré par ce sujet, et les couleurs personnalisées des rôles Discord, j’ai écrit ce code très simple qui ajoute un data-mention aux mentions de groupes et d’utilisateurs, de cette façon pour pouvoir placer différentes &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":112,"height":31,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/c/6cacf59bada15e604aa436a0ada30f6c52adaf14.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":1880,"like_count":15,"has_summary":false,"last_poster_username":"martyn_thomas","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users request adjustments to color mentions of everyone belonging to a specific group, and to identify users not in a group, building on the initial code that allows custom colors for individual mentions via CSS.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":73340,"primary_group_id":null,"flair_group_id":151},{"extras":null,"description":"Auteur fréquent","user_id":63814,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":101949,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":141342,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Découvrez comment commencer à construire des choses pour Discourse si vous êtes débutant (comme moi)","fancy_title_localized":true,"locale":"en","id":45954,"title":"Learn how to start building stuff for Discourse if you're newbie (like myself)","slug":"learn-how-to-start-building-stuff-for-discourse-if-youre-newbie-like-myself","posts_count":15,"reply_count":6,"highest_post_number":26,"image_url":null,"created_at":"2016-06-17T15:22:19.799Z","last_posted_at":"2023-10-15T20:19:53.785Z","bumped":true,"bumped_at":"2023-10-15T20:19:53.785Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"There are a few ‘how to start’ guides for working with Discourse already and a wealth of useful info on meta, but I thought it might help to give an insight to the mental processes of starting from little, if any, prior &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":479,"name":"explication","slug":"explanation"}],"tags_descriptions":{},"views":29849,"like_count":319,"has_summary":false,"last_poster_username":"elle7","category_id":179,"op_like_count":238,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A beginner's guide to building Discourse plugins is shared, emphasizing learning basics like widgets, Ember.js, and code structure, with community members confirming its usefulness and noting updates to code references and tools.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Auteur fréquent","user_id":67228,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":68923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":125384,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":139330,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Installation de l&rsquo;environnement de développement Discourse sur Ubuntu","fancy_title_localized":true,"locale":"zh_CN","id":248481,"title":":cn: Installing the Discourse development environment on Ubuntu 在 Ubuntu 上安装 Discourse 开发环境","slug":"installing-the-discourse-development-environment-on-ubuntu-ubuntu-discourse","posts_count":6,"reply_count":3,"highest_post_number":9,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df.png","created_at":"2022-12-10T14:06:22.413Z","last_posted_at":"2023-10-13T06:20:08.282Z","bumped":true,"bumped_at":"2023-10-13T06:20:08.282Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: Ce guide est uniquement destiné à la configuration de l’environnement de développement Discourse. Si vous souhaitez installer Discourse dans un environnement de production, veuillez consulter : Install Disco&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🇨🇳 Installing the Discourse development environment on Ubuntu 在 Ubuntu 上安装 Discourse 开发环境","thumbnails":[{"max_width":null,"max_height":null,"width":690,"height":375,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df.png"},{"max_width":600,"max_height":600,"width":600,"height":326,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_600x326.png"},{"max_width":400,"max_height":400,"width":400,"height":217,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_400x217.png"},{"max_width":300,"max_height":300,"width":300,"height":163,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_300x163.png"},{"max_width":200,"max_height":200,"width":200,"height":108,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_200x108.png"}],"tags":[{"id":150,"name":"inst-dev","slug":"dev-install"}],"tags_descriptions":{"inst-dev":"Instructions et problèmes liés à l'installation de Discourse pour le développ..."},"views":2029,"like_count":6,"has_summary":false,"last_poster_username":"scavin","category_id":179,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Clarification provided on setting up a Discourse development environment in Ubuntu, specifically regarding creating a user with the same name as the Ubuntu system username, with users expressing gratitude for the clarification.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":79292,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":119102,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":138598,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":14617,"primary_group_id":null,"flair_group_id":50}]},{"fancy_title":" empaqueter un plugin Discourse en tant que gem","fancy_title_localized":true,"locale":"en","id":273036,"title":"Package a Discourse plugin as a gem","slug":"package-a-discourse-plugin-as-a-gem","posts_count":5,"reply_count":3,"highest_post_number":5,"image_url":null,"created_at":"2023-07-27T11:41:29.486Z","last_posted_at":"2023-07-27T16:59:01.681Z","bumped":true,"bumped_at":"2023-07-27T16:59:01.681Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Pavilion a commencé à empaqueter certains plugins Discourse sous forme de gems ruby, en commençant par notre client d’abonnement. \n\n\nNotre client d’abonnement est toujours un plugin séparé qui charge maintenant cette gem,&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":274,"name":"guides-de-plugin","slug":"plugin-guides"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":628,"like_count":19,"has_summary":false,"last_poster_username":"merefield","category_id":179,"op_like_count":14,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Packaging a Discourse plugin as a gem is suitable for backend components, but not for theme-related frontend code, which requires separate handling.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Auteur fréquent","user_id":45577,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Extraits de texte/Markdown insérables, maintenus centralement","fancy_title_localized":true,"locale":"en","id":97246,"title":"Insertable, centrally maintained text/markdown snippets","slug":"insertable-centrally-maintained-text-markdown-snippets","posts_count":10,"reply_count":1,"highest_post_number":10,"image_url":null,"created_at":"2018-09-15T07:17:42.016Z","last_posted_at":"2023-07-23T05:28:29.561Z","bumped":true,"bumped_at":"2023-07-23T07:03:44.781Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I was wondering if there was any way I could define a string of text in a single place and insert it within posts with a single, short reference. \nIt’s a bit like the out of the box Admin -&gt; Customize -&gt; Text Content, bu&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":482,"name":"référence","slug":"reference"}],"tags_descriptions":{},"views":3729,"like_count":37,"has_summary":false,"last_poster_username":"denvergeeks","category_id":179,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss implementing insertable, centrally managed text/markdown snippets in Discourse, with proposed solutions including a trigger string expanding to markdown, a composer button, or a plugin with configurable snippets.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":34674,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Auteur fréquent","user_id":98881,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":72263,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configurer un chatbot intelligent sur discourse :robot:","fancy_title_localized":true,"locale":"en","id":82632,"title":"Set up a smart chatbot on discourse :robot:","slug":"set-up-a-smart-chatbot-on-discourse","posts_count":15,"reply_count":8,"highest_post_number":16,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_1024x516.gif","created_at":"2018-03-09T16:50:11.492Z","last_posted_at":"2023-02-09T00:52:36.718Z","bumped":true,"bumped_at":"2023-02-09T00:52:36.718Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nAfter weeks of tinkering, I finally managed to set up an AI bot, similar to discobot but one that learns and is more responsive.  Here is how I did it for anyone interested in setting it up.  There is quite a few&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"Set up a smart chatbot on discourse 🤖","thumbnails":[{"max_width":null,"max_height":null,"width":1200,"height":605,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211.gif"},{"max_width":1024,"max_height":1024,"width":1024,"height":516,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_1024x516.gif"},{"max_width":800,"max_height":800,"width":800,"height":403,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_800x403.gif"},{"max_width":600,"max_height":600,"width":600,"height":302,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_600x302.gif"},{"max_width":400,"max_height":400,"width":400,"height":201,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_400x201.gif"},{"max_width":300,"max_height":300,"width":300,"height":151,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_300x151.gif"},{"max_width":200,"max_height":200,"width":200,"height":100,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_200x100.gif"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":9163,"like_count":70,"has_summary":false,"last_poster_username":"SimonBiggs","category_id":179,"op_like_count":38,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user seeks clarification on the setup guide for a smart chatbot on Discourse, indicating potential difficulties in following the instructions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":29613,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":36855,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":66060,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":55682,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":129042,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Ajouter une protection du droit d&rsquo;auteur aux sujets étiquetés","fancy_title_localized":true,"locale":"en","id":208970,"title":"Add copyright protection to tagged topics","slug":"add-copyright-protection-to-tagged-topics","posts_count":15,"reply_count":10,"highest_post_number":15,"image_url":null,"created_at":"2021-11-12T12:28:40.116Z","last_posted_at":"2022-12-17T14:46:39.178Z","bumped":true,"bumped_at":"2022-12-17T14:46:39.178Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Bonjour, \nBeaucoup de nos membres ont des sujets de qualité, des articles de blog, etc. Malheureusement, d’autres les volent (et les publient sur d’autres sites comme étant les leurs sans aucune source) même si l’auteur &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":1851,"like_count":43,"has_summary":false,"last_poster_username":"wendellverli","category_id":179,"op_like_count":18,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A copyright protection solution for tagged topics has been implemented and packaged into a Theme Component, with additional features to disable video downloads and right-click context menus, addressing concerns from users and improving content protection.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Auteur fréquent","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":109684,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":83631,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":124068,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Réactions personnalisées sur Discourse","fancy_title_localized":true,"locale":"en","id":198043,"title":"Custom Discourse Reactions","slug":"custom-discourse-reactions","posts_count":14,"reply_count":7,"highest_post_number":14,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd.gif","created_at":"2021-07-24T02:06:56.491Z","last_posted_at":"2022-05-29T15:40:23.040Z","bumped":true,"bumped_at":"2022-05-29T15:40:23.040Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nI made some CSS modification on Discourse Reactions Plugin. So it looks much like Facebook reaction buttons. \nThese for 6 reaction buttons including the default which is on my site is :heart: . \nCOMMON / SCSS \nPl&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":502,"height":176,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd.gif"},{"max_width":400,"max_height":400,"width":400,"height":140,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_400x140.gif"},{"max_width":300,"max_height":300,"width":300,"height":105,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_300x105.gif"},{"max_width":200,"max_height":200,"width":200,"height":70,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_200x70.gif"}],"tags":[{"id":482,"name":"référence","slug":"reference"}],"tags_descriptions":{},"views":2885,"like_count":82,"has_summary":false,"last_poster_username":"Don","category_id":179,"op_like_count":25,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Custom Discourse Reactions are now available as a theme component, offering easier use, fixes, and settings, including reaction label, picker and panel rounding, and options to hide user lists and who liked sections.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Créateur du sujet, Auteur le plus récent","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Auteur fréquent","user_id":62294,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":19473,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":102068,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":67026,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configurez des blocs de code qui ressortent, avec des arrières-plans spécifiques à chaque langage","fancy_title_localized":true,"locale":"en","id":57255,"title":"Setup Code blocks that stand out, per-language backgrounds","slug":"setup-code-blocks-that-stand-out-per-language-backgrounds","posts_count":3,"reply_count":6,"highest_post_number":3,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557.png","created_at":"2017-02-11T23:23:52.641Z","last_posted_at":"2017-10-17T14:10:29.316Z","bumped":true,"bumped_at":"2022-02-10T22:45:23.062Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Here’s a really quick and easy CSS change that may benefit forums where people post code in a few different languages. \nAt least with the languages we use, Discourse does a great job of guessing which language code is in&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":716,"height":221,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557.png"},{"max_width":600,"max_height":600,"width":600,"height":185,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_600x185.png"},{"max_width":400,"max_height":400,"width":400,"height":123,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_400x123.png"},{"max_width":300,"max_height":300,"width":300,"height":92,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_300x92.png"},{"max_width":200,"max_height":200,"width":200,"height":61,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_200x61.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":3309,"like_count":30,"has_summary":false,"last_poster_username":"schungx","category_id":179,"op_like_count":20,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users suggest improvements to the code block design, proposing to extract the language name from the class instead of using images, or using CSS to add the language text via `:before` or `:after` pseudo-elements.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":26605,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":1995,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Auteur fréquent","user_id":8571,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":28866,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Créez un badge personnalisé avec une image via l&rsquo;API","fancy_title_localized":true,"locale":"en","id":210616,"title":"Create a custom badge with an image through the API","slug":"create-a-custom-badge-with-an-image-through-the-api","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2021-12-01T00:14:48.335Z","last_posted_at":"2021-12-05T19:41:55.739Z","bumped":true,"bumped_at":"2021-12-07T01:28:19.597Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Bien sûr, les badges inclus sont… sympas. Il n’y a rien de mal à cela. Mais, que faire si vous en voulez plus ? Que faire si vous voulez aller au-delà de l’ensemble de symboles prédéfini ? Bien sûr, il y a une page d’adm&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"api-rest","slug":"rest-api"},{"id":478,"name":"comment-faire","slug":"how-to"},{"id":2,"name":"badges","slug":"badges"}],"tags_descriptions":{"api-rest":"Sujets sur la réalisation d'une requête externe à Discourse","comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm...","badges":""},"views":1988,"like_count":12,"has_summary":false,"last_poster_username":"mattdm","category_id":179,"op_like_count":7,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Creating custom badges through the API no longer requires a global admin key, but instead specific API key permissions, and uploading images requires \"upload\" permission in a separate section from badges API permissions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":5795,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Redirige une route existante dans un composant de thème","fancy_title_localized":true,"locale":"en","id":201900,"title":"Redirect an existing route in a theme component","slug":"redirect-an-existing-route-in-a-theme-component","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2021-08-27T12:33:37.464Z","last_posted_at":"2021-08-27T12:33:37.625Z","bumped":true,"bumped_at":"2021-08-27T12:33:37.625Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"To redirect an existing Discourse route in a theme component, you can use api.modifyClass to modify the route class. \nMore information can be found in the Ember documentation on routing redirection. Here’s an example: \n&lt;s&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":820,"name":"guides-thématiques","slug":"theme-guides"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":1408,"like_count":8,"has_summary":false,"last_poster_username":"JonathanShaw","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Use `api.modifyClass` to modify a Discourse route class, enabling redirection in a theme component, with options to load data asynchronously using promise returns for conditional redirect decisions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":85965,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Personnaliser l&rsquo;icône de chargement","fancy_title_localized":true,"locale":"en","id":165743,"title":"Customize the loading icon","slug":"customize-the-loading-icon","posts_count":8,"reply_count":4,"highest_post_number":10,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/59a6848d38aaa5c6fbfb78ff9fe35c48f757c0fc.png","created_at":"2020-09-29T15:37:30.454Z","last_posted_at":"2021-06-16T18:12:06.469Z","bumped":true,"bumped_at":"2021-06-16T18:12:06.469Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Customize the loading icon\nNote that it changes the main loading icon, but not the small loading icon (composer, search menu, etc). \n\n\nEdit your current theme or create a new theme component. \n\n\nGo in &lt;/head&gt; and paste t&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":61,"height":52,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/59a6848d38aaa5c6fbfb78ff9fe35c48f757c0fc.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":3231,"like_count":37,"has_summary":false,"last_poster_username":"Johnny_McIvor","category_id":179,"op_like_count":26,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users explore customizing the Discourse loading icon, with one successfully replacing the small spinner globally, while others inquire about using GIFs or static images, with the current limitation being no GIF support.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Auteur fréquent","user_id":33297,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":96216,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Notre solution pour flouter le contenu NSFW","fancy_title_localized":true,"locale":"en","id":124584,"title":"Our solution for blurring NSFW content","slug":"our-solution-for-blurring-nsfw-content","posts_count":10,"reply_count":9,"highest_post_number":22,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_1024x382.jpeg","created_at":"2019-08-01T07:38:30.472Z","last_posted_at":"2020-11-14T22:56:30.466Z","bumped":true,"bumped_at":"2020-11-14T22:56:30.466Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"At the Blender Artists forum we have a faily liberal content policy where we allow nudity and violence (up to a point). While most members are fine with this kind of content, there are of course audiences and situations &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1586,"height":592,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":382,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_1024x382.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":298,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_800x298.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":223,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_600x223.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":149,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_400x149.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":111,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_300x111.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":74,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_200x74.jpeg"}],"tags":[{"id":479,"name":"explication","slug":"explanation"},{"id":813,"name":"contenu","slug":"content"}],"tags_descriptions":{},"views":10391,"like_count":83,"has_summary":false,"last_poster_username":"codinghorror","category_id":179,"op_like_count":55,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discussion on implementing NSFW content blurring continues, with proposed solutions for mobile and hover issues, including click-based reveal and potential plugin development, as well as custom modifications for alternative use cases.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":12801,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":71403,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":66204,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Auteur le plus récent","user_id":32,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Utilisez Node-Red et Telegram pour surveiller le statut de Discourse","fancy_title_localized":true,"locale":"en","id":157229,"title":"Use Node-Red and Telegram to Monitor Discourse Status","slug":"use-node-red-and-telegram-to-monitor-discourse-status","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_575x1024.png","created_at":"2020-07-09T07:17:02.690Z","last_posted_at":"2020-07-09T07:17:02.864Z","bumped":true,"bumped_at":"2020-07-09T07:17:02.864Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Please note that this is a different application than sending Discourse application notifications using the Discourse Telegram Notifications plugin.   This NR application is for monitoring the server, Docker and the Dis&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":750,"height":1334,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9.png"},{"max_width":1024,"max_height":1024,"width":575,"height":1024,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_575x1024.png"},{"max_width":800,"max_height":800,"width":449,"height":800,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_449x800.png"},{"max_width":600,"max_height":600,"width":337,"height":600,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_337x600.png"},{"max_width":400,"max_height":400,"width":224,"height":400,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_224x400.png"},{"max_width":300,"max_height":300,"width":168,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_168x300.png"},{"max_width":200,"max_height":200,"width":112,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_112x200.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":2546,"like_count":4,"has_summary":false,"last_poster_username":"neounix","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Neounix shares a Node-Red and Telegram setup for monitoring a Discourse server, Docker, and application, providing real-time alerts and checks, with plans for future expansion of Docker and Discourse monitoring functions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":75906,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Utiliser Ember.PromiseProxyMixin dans un thème","fancy_title_localized":true,"locale":"en","id":147231,"title":"Use Ember.PromiseProxyMixin in a theme","slug":"use-ember-promiseproxymixin-in-a-theme","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2020-04-08T08:21:39.507Z","last_posted_at":"2020-04-08T10:01:08.796Z","bumped":true,"bumped_at":"2020-04-08T10:01:08.796Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Recently the Ember.PromiseProxyMixin was added to ember modules in the discourse core. \nhttps://github.com/discourse/discourse/pull/9312 \nIt’s very useful Ember mixin which allows you to make async requests and to work e&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"comment-faire","slug":"how-to"},{"id":820,"name":"guides-thématiques","slug":"theme-guides"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":1362,"like_count":9,"has_summary":false,"last_poster_username":"j.jaffeux","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse now includes Ember.PromiseProxyMixin, allowing easier work with Promises in components, with potential for theme and plugin development, and plans to explore and simplify its application in the Discourse codebase.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Créateur du sujet","user_id":74650,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Auteur le plus récent","user_id":23163,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Utilisez l&rsquo;API pour créer des catégories restreintes pour des groupes externes","fancy_title_localized":true,"locale":"en","id":139107,"title":"Use the API to create restricted categories for external groups","slug":"use-the-api-to-create-restricted-categories-for-external-groups","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2020-01-19T18:31:12.605Z","last_posted_at":"2020-01-19T18:31:12.721Z","bumped":true,"bumped_at":"2020-01-19T18:31:12.721Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"If you have a community site that also (but not exclusively) uses Discourse, you may want to provide a restricted subforum for each of your groups, for example as a workspace. Here’s how, in Ruby: \n\n\nEnsure that your API&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"api-rest","slug":"rest-api"},{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"api-rest":"Sujets sur la réalisation d'une requête externe à Discourse","comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":1289,"like_count":5,"has_summary":false,"last_poster_username":"Judith","category_id":179,"op_like_count":5,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Create restricted subforums for external groups in Discourse by authenticating API calls as an admin, creating a group, and programmatically generating a subforum accessible only to that group.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Créateur du sujet, Auteur le plus récent","user_id":39022,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Afficher les évaluations par étoiles pour les pages Discourse dans les résultats des moteurs de recherche (SERPs)","fancy_title_localized":true,"locale":"en","id":84316,"title":"Display star ratings for Discourse pages in search engine results (SERPs)","slug":"display-star-ratings-for-discourse-pages-in-search-engine-results-serps","posts_count":14,"reply_count":7,"highest_post_number":14,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774.png","created_at":"2018-04-01T09:23:45.361Z","last_posted_at":"2019-04-26T10:31:01.659Z","bumped":true,"bumped_at":"2019-04-26T10:31:01.659Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Displaying star rating with Discourse is easy. I am happy to share, It can be done in simple few steps \nProcess \n\n\nSetup Google Tag Manager for your Discourse Application \n  \n\n\nAdd a new HTML Tag containing JSON-LD marku&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":555,"height":270,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774.png"},{"max_width":400,"max_height":400,"width":400,"height":194,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_400x194.png"},{"max_width":300,"max_height":300,"width":300,"height":145,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_300x145.png"},{"max_width":200,"max_height":200,"width":200,"height":97,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_200x97.png"}],"tags":[{"id":478,"name":"comment-faire","slug":"how-to"}],"tags_descriptions":{"comment-faire":"Les guides pratiques contiennent des étapes à suivre pour résoudre un problèm..."},"views":3818,"like_count":39,"has_summary":false,"last_poster_username":"Gulshan_Kumar","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse's Google Tag Manager (GTM) support has been updated to add code to the head, resolving an issue with displaying star ratings in search engine results pages (SERPs) using GTM and JSON-LD markup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Créateur du sujet, Auteur le plus récent","user_id":38013,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":6626,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Auteur fréquent","user_id":2,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Auteur fréquent","user_id":30818,"primary_group_id":null,"flair_group_id":null}]}]}}