{"users":[{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta.discourse.org/discourse/{size}/148734_2.png","admin":true,"trust_level":4},{"id":135392,"username":"NateDhaliwal","name":"Nate Dhaliwal","avatar_template":"/user_avatar/meta.discourse.org/natedhaliwal/{size}/313494_2.png","flair_name":"plugin_authors","flair_url":"plug","flair_bg_color":"dddddd","flair_color":"111111","flair_group_id":48,"trust_level":3},{"id":113000,"username":"chapoi","name":"","avatar_template":"/user_avatar/meta.discourse.org/chapoi/{size}/537252_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":135971,"username":"microhit","name":"","avatar_template":"/user_avatar/meta.discourse.org/microhit/{size}/447960_2.png","trust_level":2},{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","trust_level":3},{"id":20815,"username":"marcospreviato","name":"Marcos P","avatar_template":"/user_avatar/meta.discourse.org/marcospreviato/{size}/54766_2.png","trust_level":2},{"id":32,"username":"codinghorror","name":"Jeff Atwood","avatar_template":"/user_avatar/meta.discourse.org/codinghorror/{size}/110067_2.png","admin":true,"trust_level":2},{"id":17969,"username":"Pad_Pors","name":"Pad Pors","avatar_template":"/user_avatar/meta.discourse.org/pad_pors/{size}/52016_2.png","trust_level":2},{"id":72263,"username":"denvergeeks","name":"","avatar_template":"/user_avatar/meta.discourse.org/denvergeeks/{size}/327671_2.png","trust_level":2},{"id":12933,"username":"gdpelican","name":"James Kiesel","avatar_template":"/user_avatar/meta.discourse.org/gdpelican/{size}/81308_2.png","trust_level":2},{"id":13378,"username":"angus","name":"Angus McLeod","avatar_template":"/user_avatar/meta.discourse.org/angus/{size}/341715_2.png","flair_name":"support-experts","flair_url":"https://global.discourse-cdn.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.discourse.org/frank.manuel/{size}/203348_2.png","trust_level":2},{"id":6548,"username":"michaeld","name":"Michael - Communiteq","avatar_template":"/user_avatar/meta.discourse.org/michaeld/{size}/1594_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.discourse.org/yan_rudenko/{size}/493431_2.png","trust_level":1},{"id":78445,"username":"Don","name":"","avatar_template":"/user_avatar/meta.discourse.org/don/{size}/228726_2.png","flair_name":"VolunteerMods","flair_url":"https://global.discourse-cdn.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"primary_group_name":"VolunteerMods","trust_level":4},{"id":83631,"username":"Jagster","name":"Jakke Flemming","avatar_template":"/user_avatar/meta.discourse.org/jagster/{size}/192154_2.png","trust_level":3},{"id":102688,"username":"valsha","name":"KingPin","avatar_template":"/user_avatar/meta.discourse.org/valsha/{size}/230631_2.png","trust_level":2},{"id":103767,"username":"Usman_Shahid","name":"Usman Shahid","avatar_template":"/user_avatar/meta.discourse.org/usman_shahid/{size}/232411_2.png","trust_level":2},{"id":57788,"username":"nathank","name":"Nathan Kershaw","avatar_template":"/user_avatar/meta.discourse.org/nathank/{size}/290039_2.png","flair_name":"support-advocates","flair_url":"https://global.discourse-cdn.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.discourse.org/jordan-violet/{size}/281428_2.png","trust_level":2},{"id":27384,"username":"merefield","name":"Robert","avatar_template":"/user_avatar/meta.discourse.org/merefield/{size}/176214_2.png","trust_level":3},{"id":23968,"username":"david","name":"David Taylor","avatar_template":"/user_avatar/meta.discourse.org/david/{size}/157490_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":3},{"id":3,"username":"supermathie","name":"Michael Brown","avatar_template":"/user_avatar/meta.discourse.org/supermathie/{size}/507518_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":3},{"id":8722,"username":"Falco","name":"Falco","avatar_template":"/user_avatar/meta.discourse.org/falco/{size}/179432_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":4},{"id":40288,"username":"pirhoo","name":"Pierre Romera Zhang","avatar_template":"/user_avatar/meta.discourse.org/pirhoo/{size}/527677_2.png","trust_level":2},{"id":144959,"username":"gabriel","name":"Gabriel Grubba","avatar_template":"/user_avatar/meta.discourse.org/gabriel/{size}/367911_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":2},{"id":15209,"username":"pfaffman","name":"Jay Pfaffman","avatar_template":"/user_avatar/meta.discourse.org/pfaffman/{size}/120154_2.png","flair_name":"support-experts","flair_url":"https://global.discourse-cdn.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.discourse.org/alexander/{size}/497634_2.png","flair_name":"support-enthusiasts","flair_url":"https://global.discourse-cdn.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.discourse.org/ondrej/{size}/198804_2.png","trust_level":2},{"id":101949,"username":"kinetiksoft","name":"","avatar_template":"/user_avatar/meta.discourse.org/kinetiksoft/{size}/229578_2.png","trust_level":2},{"id":141342,"username":"martyn_thomas","name":"Martyn Thomas","avatar_template":"/user_avatar/meta.discourse.org/martyn_thomas/{size}/344874_2.png","trust_level":2},{"id":67228,"username":"영광_임","name":"영광 임","avatar_template":"/user_avatar/meta.discourse.org/영광_임/{size}/148997_2.png","trust_level":2},{"id":125384,"username":"SwanseN21","name":"Sean Monsanto","avatar_template":"/user_avatar/meta.discourse.org/swansen21/{size}/283233_2.png","trust_level":1},{"id":139561,"username":"SinisterSpatula","name":"","avatar_template":"/user_avatar/meta.discourse.org/sinisterspatula/{size}/332339_2.png","trust_level":1},{"id":139330,"username":"elle7","name":"Laura White","avatar_template":"/user_avatar/meta.discourse.org/elle7/{size}/331525_2.png","trust_level":1},{"id":79292,"username":"honeymoose","name":"HoneyMoose","avatar_template":"/user_avatar/meta.discourse.org/honeymoose/{size}/198718_2.png","trust_level":2},{"id":119102,"username":"Lhc_fl","name":"Linca","avatar_template":"/user_avatar/meta.discourse.org/lhc_fl/{size}/268115_2.png","trust_level":2},{"id":138598,"username":"wayway_way","name":"wayway way","avatar_template":"/user_avatar/meta.discourse.org/wayway_way/{size}/327018_2.png","trust_level":2},{"id":14617,"username":"scavin","name":"scavin","avatar_template":"/user_avatar/meta.discourse.org/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":13093,"username":"pacharanero","name":"Marcus Baw","avatar_template":"/user_avatar/meta.discourse.org/pacharanero/{size}/500583_2.png","flair_name":"VolunteerMods","flair_url":"https://global.discourse-cdn.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"primary_group_name":"VolunteerMods","trust_level":4},{"id":34674,"username":"Johani","name":"Joe","avatar_template":"/user_avatar/meta.discourse.org/johani/{size}/176920_2.png","trust_level":2},{"id":98881,"username":"Luke_Cousins","name":"Luke Cousins","avatar_template":"/user_avatar/meta.discourse.org/luke_cousins/{size}/223644_2.png","trust_level":2},{"id":29613,"username":"Timothy_Vail","name":"Timothy Vail","avatar_template":"/user_avatar/meta.discourse.org/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.discourse.org/michael_mccrae/{size}/143362_2.png","trust_level":1},{"id":129042,"username":"SimonBiggs","name":"Simon Biggs","avatar_template":"/user_avatar/meta.discourse.org/simonbiggs/{size}/292760_2.png","trust_level":2},{"id":109684,"username":"f1r4s","name":"Eddie","avatar_template":"/user_avatar/meta.discourse.org/f1r4s/{size}/245347_2.png","trust_level":2},{"id":13042,"username":"Stephen","name":"Stephen","avatar_template":"/user_avatar/meta.discourse.org/stephen/{size}/95011_2.png","flair_name":"support-experts","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":124068,"username":"wendellverli","name":"Wendell Fernandes","avatar_template":"/user_avatar/meta.discourse.org/wendellverli/{size}/280396_2.png","trust_level":2},{"id":19473,"username":"neo","name":"R.Zhang","avatar_template":"/user_avatar/meta.discourse.org/neo/{size}/156675_2.png","trust_level":2},{"id":62294,"username":"Heliosurge","name":"Dan DeMontmorency","avatar_template":"/user_avatar/meta.discourse.org/heliosurge/{size}/571810_2.png","trust_level":2},{"id":67026,"username":"PaulinaMX","name":"ForosMX","avatar_template":"/user_avatar/meta.discourse.org/paulinamx/{size}/210473_2.png","trust_level":2},{"id":102068,"username":"jayarr","name":"JR","avatar_template":"/user_avatar/meta.discourse.org/jayarr/{size}/230949_2.png","trust_level":2},{"id":26605,"username":"LeoDavidson","name":"Leo Davidson","avatar_template":"/user_avatar/meta.discourse.org/leodavidson/{size}/119574_2.png","trust_level":2},{"id":1995,"username":"zogstrip","name":"","avatar_template":"/user_avatar/meta.discourse.org/zogstrip/{size}/512781_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":2},{"id":8571,"username":"tobiaseigen","name":"Tobias Eigen","avatar_template":"/user_avatar/meta.discourse.org/tobiaseigen/{size}/539204_2.png","trust_level":2},{"id":28866,"username":"schungx","name":"Stephen Chung","avatar_template":"/user_avatar/meta.discourse.org/schungx/{size}/70989_2.png","trust_level":2},{"id":5795,"username":"mattdm","name":"Matthew Miller","avatar_template":"/user_avatar/meta.discourse.org/mattdm/{size}/216484_2.png","trust_level":2},{"id":85965,"username":"JonathanShaw","name":"Jonathan Shaw","avatar_template":"/user_avatar/meta.discourse.org/jonathanshaw/{size}/532672_2.png","trust_level":2},{"id":35474,"username":"Canapin","name":"Coin-coin le Canapin","avatar_template":"/user_avatar/meta.discourse.org/canapin/{size}/119591_2.png","trust_level":3},{"id":33297,"username":"Heather_Dudley","name":"Heather Dudley","avatar_template":"/user_avatar/meta.discourse.org/heather_dudley/{size}/151925_2.png","trust_level":2},{"id":96216,"username":"Johnny_McIvor","name":"Johnny McIvor","avatar_template":"/user_avatar/meta.discourse.org/johnny_mcivor/{size}/218747_2.png","trust_level":2},{"id":12801,"username":"bartv","name":"Bart ","avatar_template":"/user_avatar/meta.discourse.org/bartv/{size}/130052_2.png","trust_level":2},{"id":71403,"username":"raghukamath","name":"Raghavendra Kamath","avatar_template":"/user_avatar/meta.discourse.org/raghukamath/{size}/160330_2.png","trust_level":2},{"id":66204,"username":"fzngagan","name":"Faizaan Gagan","avatar_template":"/user_avatar/meta.discourse.org/fzngagan/{size}/259349_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":3},{"id":84866,"username":"anon89147131","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/a/a8b319/{size}.png","trust_level":0},{"id":75906,"username":"neounix","name":"Dark Matter","avatar_template":"/user_avatar/meta.discourse.org/neounix/{size}/215617_2.png","trust_level":2},{"id":74650,"username":"zcuric","name":"Zdravko","avatar_template":"/user_avatar/meta.discourse.org/zcuric/{size}/292837_2.png","trust_level":2},{"id":23163,"username":"j.jaffeux","name":"Joffrey Jaffeux","avatar_template":"/user_avatar/meta.discourse.org/j.jaffeux/{size}/60297_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":2},{"id":39022,"username":"Judith","name":"Judith Meyer","avatar_template":"/user_avatar/meta.discourse.org/judith/{size}/289903_2.png","trust_level":2},{"id":38013,"username":"Gulshan_Kumar","name":"Gulshan Kumar","avatar_template":"/user_avatar/meta.discourse.org/gulshan_kumar/{size}/119562_2.png","trust_level":2},{"id":6626,"username":"riking","name":"Kane York","avatar_template":"/user_avatar/meta.discourse.org/riking/{size}/170938_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},{"id":2,"username":"neil","name":"Neil Lalonde","avatar_template":"/user_avatar/meta.discourse.org/neil/{size}/102150_2.png","trust_level":2}],"primary_groups":[{"id":276,"name":"VolunteerMods"},{"id":47,"name":"team"}],"flair_groups":[{"id":48,"name":"plugin_authors","flair_url":"plug","flair_bg_color":"dddddd","flair_color":"111111"},{"id":47,"name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":142,"name":"support-experts","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":276,"name":"VolunteerMods","flair_url":"https://global.discourse-cdn.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":""},{"id":148,"name":"support-advocates","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":151,"name":"support-enthusiasts","flair_url":"https://global.discourse-cdn.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,"filter":"latest","more_topics_url":"/c/wiki/developers/179?page=1","per_page":30,"top_tags":[{"id":478,"name":"如何操作","slug":"how-to"},{"id":274,"name":"插件指南","slug":"plugin-guides"},{"id":150,"name":"开发人员安装","slug":"dev-install"},{"id":479,"name":"解释","slug":"explanation"},{"id":330,"name":"rest-api","slug":"rest-api"},{"id":482,"name":"参考","slug":"reference"},{"id":820,"name":"主题指南","slug":"theme-guides"},{"id":16,"name":"翻译","slug":"translation"},{"id":2,"name":"徽章","slug":"badges"},{"id":813,"name":"内容","slug":"content"},{"id":814,"name":"定制","slug":"customization"},{"id":278,"name":"开发","slug":"development"},{"id":484,"name":"教程","slug":"tutorial"},{"id":618,"name":"用户自定义字段","slug":"user-custom-fields"}],"topics":[{"fancy_title":"开发者指数","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":"Discourse 开发环境设置：(outdated) Guide to Setting Up Discourse Development Environment - GitHub Codespace\nNSFW 内容模糊：Our solution for blurring NSFW content\n特定语言的代码块：Setup Code blocks that stand out, per-language backgrounds\n主&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":287,"like_count":4,"has_summary":false,"last_poster_username":"Discourse","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"主题组件/插件（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":"2026-09-05T03:10:02.518Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"在创建主题组件（Theme Component）时，我通常需要四处翻找以获取各种导入语句，所以我决定将它们整理汇总并放在这里。\n与 Ember 相关\n\n\n\n\n名称\n导入\n用法\n\n\n\n\n组件\nimport&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":278,"like_count":12,"has_summary":false,"last_poster_username":"chapoi","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":135392,"primary_group_id":null,"flair_group_id":48},{"extras":"latest","description":"最新發帖人","user_id":113000,"primary_group_id":null,"flair_group_id":47}]},{"fancy_title":"自定义 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":"https://global.discourse-cdn.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: 本指南介绍如何自定义 Discourse 中子分类框的外观，包括调整特色主题样式、修改“框”样式以及管理分类描述的截断…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1021,"height":257,"url":"https://global.discourse-cdn.com/meta/original/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37.png"},{"max_width":800,"max_height":800,"width":800,"height":201,"url":"https://global.discourse-cdn.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_800x201.png"},{"max_width":600,"max_height":600,"width":600,"height":151,"url":"https://global.discourse-cdn.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_600x151.png"},{"max_width":400,"max_height":400,"width":400,"height":100,"url":"https://global.discourse-cdn.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_400x100.png"},{"max_width":300,"max_height":300,"width":300,"height":75,"url":"https://global.discourse-cdn.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_300x75.png"},{"max_width":200,"max_height":200,"width":200,"height":50,"url":"https://global.discourse-cdn.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_200x50.png"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"},{"id":814,"name":"定制","slug":"customization"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":1548,"like_count":1,"has_summary":false,"last_poster_username":"Moin","category_id":179,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":135971,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":95552,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"在您的论坛中设置一个工具提示","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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01.png"},{"max_width":400,"max_height":400,"width":360,"height":400,"url":"https://global.discourse-cdn.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_360x400.png"},{"max_width":300,"max_height":300,"width":270,"height":300,"url":"https://global.discourse-cdn.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_270x300.png"},{"max_width":200,"max_height":200,"width":180,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_180x200.png"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":3271,"like_count":23,"has_summary":false,"last_poster_username":"denvergeeks","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":20815,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":32,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":17969,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":72263,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"在插件中覆盖现有的Discourse方法","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":"如何操作","slug":"how-to"},{"id":274,"name":"插件指南","slug":"plugin-guides"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":5001,"like_count":65,"has_summary":false,"last_poster_username":"TimFelix","category_id":179,"op_like_count":35,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":12933,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"頻繁發帖人","user_id":88244,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":6548,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":185178,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"用户自定义字段验证实现","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":"这篇文档是为未来可能需要为自定义插件创建特定于验证用户自定义字段的开发人员准备的。\n撰写时使用的是 Discourse 版本 3.6.0.beta3-latest（当前提交 a7326abf15），s…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":618,"name":"用户自定义字段","slug":"user-custom-fields"},{"id":278,"name":"开发","slug":"development"}],"tags_descriptions":{},"views":136,"like_count":1,"has_summary":false,"last_poster_username":"Yan_Rudenko","category_id":179,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":183669,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"自定义新主题按钮","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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804.gif"},{"max_width":400,"max_height":400,"width":400,"height":152,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_400x152.gif"},{"max_width":300,"max_height":300,"width":300,"height":114,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_300x114.gif"},{"max_width":200,"max_height":200,"width":200,"height":76,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_200x76.gif"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":2505,"like_count":24,"has_summary":false,"last_poster_username":"nathank","category_id":179,"op_like_count":10,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"頻繁發帖人","user_id":83631,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":102688,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":103767,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":57788,"primary_group_id":null,"flair_group_id":148}]},{"fancy_title":"在插件中使用 .erb 模板","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":"我最近一直在提供有关如何使用 Discourse 中的 .erb 模板的建议，并注意到这里元上关于此主题的细节不多，因此我想在此开始创建关于此主题的维基。本维基假定您知道什么是 .erb 模板及其在 Discourse 和更广泛的 Rails 中的功能。如果您想了解更多关于该背景的详细信息，请先阅读此内容。 \n\n\n服务器插件插口 (Server plugin outlets)\n服务器插件插口的工作方式与客户端插件插口类似，尽管只有少数几&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":184,"like_count":8,"has_summary":false,"last_poster_username":"angus","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":13378,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"预加载数据并处理 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":"在使用 Discourse rails 应用程序时，无论是构建插件还是向 discourse/discourse 提交拉取请求，都会遇到 N+1 查询问题。本主题将介绍如何通过数据预加载来解决这些问题，并保持 Discourse 的高性能。 \nRails 中的 N+1 查询问题\n首先，如果您还不熟悉 N+1 查询问题以及 Rails 如何解决它们，请参阅指南的这一部分。 \n\n主题\n加载主题时需要注意的 N+1 问题是加载与帖子关联的表。&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":194,"like_count":4,"has_summary":false,"last_poster_username":"angus","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":13378,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"（过时）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":"https://global.discourse-cdn.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":"使用 GitHub Codespaces 进行开发\nGitHub Codespace 是一个很好的开发选项。它很棒，因为它托管在云端，我可以轻松确保在此处进行开发的每个人都拥有相同的环境，无需处理本地 docker 安装，可以轻松地将我的本地开发实例公开可用，而且使用新技术也很有趣。 \n我目前正在重新学习开发，并决定在学习 Discourse 开发的同时学习 GitHub Codespaces，因此我为任何希望在 GitHub Co&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1920,"height":1552,"url":"https://global.discourse-cdn.com/meta/original/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":827,"url":"https://global.discourse-cdn.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_1024x827.png"},{"max_width":800,"max_height":800,"width":800,"height":646,"url":"https://global.discourse-cdn.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_800x646.png"},{"max_width":600,"max_height":600,"width":600,"height":485,"url":"https://global.discourse-cdn.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_600x485.png"},{"max_width":400,"max_height":400,"width":400,"height":323,"url":"https://global.discourse-cdn.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_400x323.png"},{"max_width":300,"max_height":300,"width":300,"height":242,"url":"https://global.discourse-cdn.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_300x242.png"},{"max_width":200,"max_height":200,"width":200,"height":161,"url":"https://global.discourse-cdn.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_200x161.png"}],"tags":[{"id":150,"name":"开发人员安装","slug":"dev-install"}],"tags_descriptions":{"开发人员安装":"为开发安装 Discourse 的说明和问题"},"views":1186,"like_count":29,"has_summary":false,"last_poster_username":"david","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":83098,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":135392,"primary_group_id":null,"flair_group_id":48},{"extras":null,"description":"頻繁發帖人","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":23968,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"开始使用 Postman 与 Discourse API","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":"https://global.discourse-cdn.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":"摘要\nPostman 是一个方便的工具，用于轻松构建和测试 API 请求。 \n使用 Discourse 进行配置\n\n\n打开 Postman 后，点击 “创建工作区”： \n\n  \n\n\n\n选择“空白工作区”并点击“下一步”。 \n\n\n标题为“Discourse API”并选择“创建”： \n  \n\n\n点击“集合”： \n  \n\n\n点击“导入”： \n  \n\n\n粘贴 https://docs.discourse.org/openapi.json（这是&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":633,"height":181,"url":"https://global.discourse-cdn.com/meta/original/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e.png"},{"max_width":600,"max_height":600,"width":600,"height":171,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_600x171.png"},{"max_width":400,"max_height":400,"width":400,"height":114,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_400x114.png"},{"max_width":300,"max_height":300,"width":300,"height":85,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_300x85.png"},{"max_width":200,"max_height":200,"width":200,"height":57,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_200x57.png"}],"tags":[],"tags_descriptions":{},"views":280,"like_count":8,"has_summary":false,"last_poster_username":"supermathie","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":3,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"在插件中添加一个自定义的每用户设置","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":"如何操作","slug":"how-to"},{"id":274,"name":"插件指南","slug":"plugin-guides"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":4948,"like_count":120,"has_summary":false,"last_poster_username":"merefield","category_id":179,"op_like_count":33,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":12933,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"頻繁發帖人","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"最近發文者","user_id":40288,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"使用 `create-discourse-plugin` gem 自动化 Discourse 插件设置","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":"https://global.discourse-cdn.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:  此插件现已与 Discourse 核心捆绑在一起。无需使用此 gem。 \n创建新插件，请使用： \nrake plugin:create[plugin-name] \n\n自从我开始开发 Discourse 插件以来，我一直觉得整体设置可以更简单。我们在创建插件时应该有更好的整体开发体验。 \n本着这种精神，我利用业余时间创建了这个名为 create-discourse-plugin 的 gem。 \n它有什么作用？\n它会根据您&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":690,"height":278,"url":"https://global.discourse-cdn.com/meta/original/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17.png"},{"max_width":600,"max_height":600,"width":600,"height":241,"url":"https://global.discourse-cdn.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_600x241.png"},{"max_width":400,"max_height":400,"width":400,"height":161,"url":"https://global.discourse-cdn.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_400x161.png"},{"max_width":300,"max_height":300,"width":300,"height":120,"url":"https://global.discourse-cdn.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_300x120.png"},{"max_width":200,"max_height":200,"width":200,"height":80,"url":"https://global.discourse-cdn.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_200x80.png"}],"tags":[],"tags_descriptions":{},"views":589,"like_count":52,"has_summary":false,"last_poster_username":"pfaffman","category_id":179,"op_like_count":16,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":144959,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"最近發文者","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"最新發帖人","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"自定义提及颜色","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":"https://global.discourse-cdn.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":"受 此主题 和 Discord 角色自定义颜色的启发，我编写了这段非常简单的代码，它为群组和用户的提及添加了 data-mention，这样就可以通过 CSS 设置不同的颜色（而不是“通用颜色”）：smile: \n目前的代码是 JQuery，但将来我也会将其更改为 Vanilla JavaScript：sweat_smile: \n\n要应用它，只需将代码粘贴到你的主题或组件的头部： \n&lt;script type=&quot;text/discours&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":112,"height":31,"url":"https://global.discourse-cdn.com/meta/original/3X/6/c/6cacf59bada15e604aa436a0ada30f6c52adaf14.png"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":1965,"like_count":15,"has_summary":false,"last_poster_username":"martyn_thomas","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":73340,"primary_group_id":null,"flair_group_id":151},{"extras":null,"description":"頻繁發帖人","user_id":63814,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":101949,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":141342,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"学习如何为Discourse开始搭建东西，如果你是新手（就像我一样）","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":"解释","slug":"explanation"}],"tags_descriptions":{},"views":30131,"like_count":319,"has_summary":false,"last_poster_username":"elle7","category_id":179,"op_like_count":238,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"頻繁發帖人","user_id":67228,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":125384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":139561,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":139330,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":":cn: Installing the Discourse development environment on Ubuntu 在 Ubuntu 上安装 Discourse 开发环境","fancy_title_localized":false,"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":"https://global.discourse-cdn.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: 本指南只针对 Discourse 开发环境的配置，如果你需要在生产环境中安装 Discourse ，请访问页面：Install Discourse in production with the official supported instructions 中的内容。 \n\n\n:information_source:   有关开发环境的设置英文原文，请参考：Set up a local Discourse Dev&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":"https://global.discourse-cdn.com/meta/original/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df.png"},{"max_width":600,"max_height":600,"width":600,"height":326,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_600x326.png"},{"max_width":400,"max_height":400,"width":400,"height":217,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_400x217.png"},{"max_width":300,"max_height":300,"width":300,"height":163,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_300x163.png"},{"max_width":200,"max_height":200,"width":200,"height":108,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_200x108.png"}],"tags":[{"id":150,"name":"开发人员安装","slug":"dev-install"}],"tags_descriptions":{"开发人员安装":"为开发安装 Discourse 的说明和问题"},"views":2151,"like_count":6,"has_summary":false,"last_poster_username":"scavin","category_id":179,"op_like_count":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":79292,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":119102,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":138598,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":14617,"primary_group_id":null,"flair_group_id":50}]},{"fancy_title":"将Discourse插件打包成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 已开始将一些 Discourse 插件打包成 Ruby gems，首先是我们的订阅客户端。 \n\n\n我们的订阅客户端仍然是一个单独的插件，现在加载这个 gem，但它的后端现在完全打包成了一个 gem，并且该单独的插件将很快被完全弃用。这是一个关于如何为更适合打包成 gem 的插件做同样事情的简要介绍。 \n如何使用 gem\n首先，你需要了解如何使用 Ruby gems。如果你以前从未创建过 gem，我建议你在尝试将 Dis&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"如何操作","slug":"how-to"},{"id":274,"name":"插件指南","slug":"plugin-guides"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":702,"like_count":19,"has_summary":false,"last_poster_username":"merefield","category_id":179,"op_like_count":14,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"最近發文者","user_id":45577,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"可插入的、集中维护的文本/Markdown 片段","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":"参考","slug":"reference"}],"tags_descriptions":{},"views":3839,"like_count":37,"has_summary":false,"last_poster_username":"denvergeeks","category_id":179,"op_like_count":3,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"頻繁發帖人","user_id":34674,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":98881,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":72263,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"在discourse上设置智能聊天机器人🤖","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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211.gif"},{"max_width":1024,"max_height":1024,"width":1024,"height":516,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_1024x516.gif"},{"max_width":800,"max_height":800,"width":800,"height":403,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_800x403.gif"},{"max_width":600,"max_height":600,"width":600,"height":302,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_600x302.gif"},{"max_width":400,"max_height":400,"width":400,"height":201,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_400x201.gif"},{"max_width":300,"max_height":300,"width":300,"height":151,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_300x151.gif"},{"max_width":200,"max_height":200,"width":200,"height":100,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_200x100.gif"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":9343,"like_count":70,"has_summary":false,"last_poster_username":"SimonBiggs","category_id":179,"op_like_count":38,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":29613,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":36855,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":66060,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":72263,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":129042,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"为标记的主题添加版权保护","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":"你好， \n我们的许多会员都有优质话题、博客文章等。不幸的是，其他人会窃取这些内容（并将其公开到其他网站，冒充自己的内容，而不注明任何来源），即使作者明确说明。“我只在此网站上撰写，请勿窃取。如果您想使用此内容，请先与我联系。”我们不得不采取一些措施，因为我们的作者只是因为创作新优质内容而感到沮丧。我们不想将论坛设为封闭（私有），因为许多访客都在论坛外阅读这些内容。 \n我们知道这是互联网，无法对版权内容提供 100% 的解决方案，但我们可&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":1937,"like_count":43,"has_summary":false,"last_poster_username":"wendellverli","category_id":179,"op_like_count":18,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"頻繁發帖人","user_id":109684,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":13042,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"最新發帖人","user_id":124068,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"自定义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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd.gif"},{"max_width":400,"max_height":400,"width":400,"height":140,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_400x140.gif"},{"max_width":300,"max_height":300,"width":300,"height":105,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_300x105.gif"},{"max_width":200,"max_height":200,"width":200,"height":70,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_200x70.gif"}],"tags":[{"id":482,"name":"参考","slug":"reference"}],"tags_descriptions":{},"views":2955,"like_count":82,"has_summary":false,"last_poster_username":"Don","category_id":179,"op_like_count":25,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"原始發帖人、最新發帖人","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"頻繁發帖人","user_id":19473,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":62294,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":67026,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":102068,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"设置突出显示的代码块，不同语言的背景","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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557.png"},{"max_width":600,"max_height":600,"width":600,"height":185,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_600x185.png"},{"max_width":400,"max_height":400,"width":400,"height":123,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_400x123.png"},{"max_width":300,"max_height":300,"width":300,"height":92,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_300x92.png"},{"max_width":200,"max_height":200,"width":200,"height":61,"url":"https://global.discourse-cdn.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_200x61.png"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":3364,"like_count":30,"has_summary":false,"last_poster_username":"schungx","category_id":179,"op_like_count":20,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":26605,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":1995,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"最近發文者","user_id":8571,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":28866,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"通过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":"当然，包含的徽章……很不错。它们没有任何问题。但是，如果你想要更多呢？如果你想_超越预定义的符号集_呢？当然，有一个管理页面可以让你上传它们。但是如果你想制作大量的徽章呢？ \n好消息！你可以通过 API 来实现。这里是用 Python 代码展示它是如何工作的。（而且它最后还会授予徽章，以防万一。） \n即使你不是 Python 程序员，这段代码也应该很容易阅读。如果你愿意，甚至可以用 curl 在命令行中复制它。 \n这期望你的 API 密&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":478,"name":"如何操作","slug":"how-to"},{"id":2,"name":"徽章","slug":"badges"}],"tags_descriptions":{"rest-api":"关于向 Discourse 发出外部请求的主题","如何操作":"操作指南包含解决特定问题的步骤","徽章":""},"views":2040,"like_count":12,"has_summary":false,"last_poster_username":"mattdm","category_id":179,"op_like_count":7,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":5795,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"在主题组件中重定向现有路由","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":"如何操作","slug":"how-to"},{"id":820,"name":"主题指南","slug":"theme-guides"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":1449,"like_count":8,"has_summary":false,"last_poster_username":"JonathanShaw","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":85965,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"自定义加载图标","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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/5/9/59a6848d38aaa5c6fbfb78ff9fe35c48f757c0fc.png"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":3308,"like_count":37,"has_summary":false,"last_poster_username":"Johnny_McIvor","category_id":179,"op_like_count":26,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"最近發文者","user_id":33297,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":96216,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"我们对模糊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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":382,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_1024x382.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":298,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_800x298.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":223,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_600x223.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":149,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_400x149.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":111,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_300x111.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":74,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_200x74.jpeg"}],"tags":[{"id":479,"name":"解释","slug":"explanation"},{"id":813,"name":"内容","slug":"content"}],"tags_descriptions":{},"views":10548,"like_count":83,"has_summary":false,"last_poster_username":"codinghorror","category_id":179,"op_like_count":55,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":12801,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":71403,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":66204,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"最近發文者","user_id":84866,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":32,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"使用 Node-Red 和 Telegram 监控 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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9.png"},{"max_width":1024,"max_height":1024,"width":575,"height":1024,"url":"https://global.discourse-cdn.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_575x1024.png"},{"max_width":800,"max_height":800,"width":449,"height":800,"url":"https://global.discourse-cdn.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_449x800.png"},{"max_width":600,"max_height":600,"width":337,"height":600,"url":"https://global.discourse-cdn.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_337x600.png"},{"max_width":400,"max_height":400,"width":224,"height":400,"url":"https://global.discourse-cdn.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_224x400.png"},{"max_width":300,"max_height":300,"width":168,"height":300,"url":"https://global.discourse-cdn.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_168x300.png"},{"max_width":200,"max_height":200,"width":112,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_112x200.png"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":2581,"like_count":4,"has_summary":false,"last_poster_username":"neounix","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":75906,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"在主题中使用 Ember.PromiseProxyMixin","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":"如何操作","slug":"how-to"},{"id":820,"name":"主题指南","slug":"theme-guides"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":1419,"like_count":9,"has_summary":false,"last_poster_username":"j.jaffeux","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"原始發帖人","user_id":74650,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"最新發帖人","user_id":23163,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"使用 API 为外部群组创建受限制的类别","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":"rest-api","slug":"rest-api"},{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"rest-api":"关于向 Discourse 发出外部请求的主题","如何操作":"操作指南包含解决特定问题的步骤"},"views":1343,"like_count":5,"has_summary":false,"last_poster_username":"Judith","category_id":179,"op_like_count":5,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"原始發帖人、最新發帖人","user_id":39022,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"在搜索引擎结果（SERPs）中显示Discourse页面的星级评分","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":"https://global.discourse-cdn.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":"https://global.discourse-cdn.com/meta/original/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774.png"},{"max_width":400,"max_height":400,"width":400,"height":194,"url":"https://global.discourse-cdn.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_400x194.png"},{"max_width":300,"max_height":300,"width":300,"height":145,"url":"https://global.discourse-cdn.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_300x145.png"},{"max_width":200,"max_height":200,"width":200,"height":97,"url":"https://global.discourse-cdn.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_200x97.png"}],"tags":[{"id":478,"name":"如何操作","slug":"how-to"}],"tags_descriptions":{"如何操作":"操作指南包含解决特定问题的步骤"},"views":3932,"like_count":39,"has_summary":false,"last_poster_username":"Gulshan_Kumar","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"原始發帖人、最新發帖人","user_id":38013,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"頻繁發帖人","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"頻繁發帖人","user_id":6626,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":30818,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"最近發文者","user_id":2,"primary_group_id":null,"flair_group_id":null}]}]}}