{"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":138497,"username":"ToddZ","name":"","avatar_template":"/user_avatar/meta.discourse.org/toddz/{size}/328350_2.png","trust_level":4},{"id":135392,"username":"NateDhaliwal","name":"Nate Dhaliwal","avatar_template":"/user_avatar/meta.discourse.org/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":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}/523407_2.png","trust_level":3},{"id":7229,"username":"DavidGNavas","name":"David García-Navas","avatar_template":"/user_avatar/meta.discourse.org/davidgnavas/{size}/68313_2.png","trust_level":2},{"id":8571,"username":"tobiaseigen","name":"Tobias Eigen","avatar_template":"/user_avatar/meta.discourse.org/tobiaseigen/{size}/539204_2.png","trust_level":3},{"id":6626,"username":"riking","name":"Kane York","avatar_template":"/user_avatar/meta.discourse.org/riking/{size}/170938_2.png","trust_level":2},{"id":21555,"username":"BenLeong","name":"Ben Leong","avatar_template":"/user_avatar/meta.discourse.org/benleong/{size}/60951_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":13093,"username":"pacharanero","name":"Marcus Baw","avatar_template":"/user_avatar/meta.discourse.org/pacharanero/{size}/500583_2.png","trust_level":4},{"id":24426,"username":"enigmaty","name":"","avatar_template":"/user_avatar/meta.discourse.org/enigmaty/{size}/65626_2.png","trust_level":2},{"id":60917,"username":"mesatenista","name":"Edmar Holanda","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/m/5f9b8f/{size}.png","trust_level":1},{"id":84520,"username":"OdysLam","name":"Odysseas Lamtzidis","avatar_template":"/user_avatar/meta.discourse.org/odyslam/{size}/194433_2.png","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://d11a6trkgmumsb.cloudfront.net/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":145010,"username":"Twissell","name":"","avatar_template":"/user_avatar/meta.discourse.org/twissell/{size}/366765_2.png","trust_level":1},{"id":129914,"username":"dlambert","name":"Derek","avatar_template":"/user_avatar/meta.discourse.org/dlambert/{size}/295355_2.png","trust_level":1},{"id":12454,"username":"Richie","name":"Richie Rich","avatar_template":"/user_avatar/meta.discourse.org/richie/{size}/115110_2.png","trust_level":2},{"id":89208,"username":"kynic","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/k/b487fb/{size}.png","trust_level":2},{"id":37716,"username":"Mr.X_Mr.X","name":"","avatar_template":"/user_avatar/meta.discourse.org/mr.x_mr.x/{size}/126610_2.png","trust_level":2},{"id":189531,"username":"jesse_c","name":"Jesse","avatar_template":"/user_avatar/meta.discourse.org/jesse_c/{size}/545099_2.png","trust_level":0},{"id":181081,"username":"stephtara","name":"Stephanie Booth","avatar_template":"/user_avatar/meta.discourse.org/stephtara/{size}/517827_2.png","trust_level":3},{"id":15019,"username":"5minpause","name":"5minpause","avatar_template":"/user_avatar/meta.discourse.org/5minpause/{size}/116074_2.png","trust_level":1},{"id":75906,"username":"neounix","name":"Dark Matter","avatar_template":"/user_avatar/meta.discourse.org/neounix/{size}/215617_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":2377,"username":"mcdanlj","name":"Michael K Johnson","avatar_template":"/user_avatar/meta.discourse.org/mcdanlj/{size}/131829_2.png","trust_level":2},{"id":7720,"username":"rahim123","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/r/df705f/{size}.png","trust_level":2},{"id":63143,"username":"Ed_S","name":"Ed S","avatar_template":"/user_avatar/meta.discourse.org/ed_s/{size}/134015_2.png","trust_level":3},{"id":13375,"username":"markersocial","name":"","avatar_template":"/user_avatar/meta.discourse.org/markersocial/{size}/170136_2.png","trust_level":2},{"id":16697,"username":"mpalmer","name":"Matt Palmer","avatar_template":"/user_avatar/meta.discourse.org/mpalmer/{size}/45740_2.png","trust_level":2},{"id":108275,"username":"markcoley","name":"Mark Coley","avatar_template":"/user_avatar/meta.discourse.org/markcoley/{size}/242366_2.png","trust_level":1},{"id":109684,"username":"f1r4s","name":"Eddie","avatar_template":"/user_avatar/meta.discourse.org/f1r4s/{size}/245347_2.png","trust_level":2},{"id":32726,"username":"gwmngilfen","name":"Greg","avatar_template":"/user_avatar/meta.discourse.org/gwmngilfen/{size}/302925_2.png","trust_level":2},{"id":8722,"username":"Falco","name":"Falco","avatar_template":"/user_avatar/meta.discourse.org/falco/{size}/179432_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":4},{"id":109156,"username":"Stigin","name":"Stigin","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/s/49beb7/{size}.png","trust_level":1},{"id":16290,"username":"bekircem","name":"","avatar_template":"/user_avatar/meta.discourse.org/bekircem/{size}/44582_2.png","trust_level":2},{"id":117867,"username":"Fabrice","name":"","avatar_template":"/user_avatar/meta.discourse.org/fabrice/{size}/265087_2.png","trust_level":2},{"id":129813,"username":"shyguy","name":"","avatar_template":"/user_avatar/meta.discourse.org/shyguy/{size}/295079_2.png","trust_level":2},{"id":15568,"username":"fefrei","name":"Felix Freiberger","avatar_template":"/user_avatar/meta.discourse.org/fefrei/{size}/119538_2.png","trust_level":2},{"id":24453,"username":"ewanly","name":"EW 👌","avatar_template":"/user_avatar/meta.discourse.org/ewanly/{size}/62854_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":17621,"username":"jomaxro","name":"Joshua Rosenfeld","avatar_template":"/user_avatar/meta.discourse.org/jomaxro/{size}/126216_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":15291,"username":"philh","name":"","avatar_template":"/user_avatar/meta.discourse.org/philh/{size}/532740_2.png","trust_level":2},{"id":20815,"username":"marcospreviato","name":"Marcos P","avatar_template":"/user_avatar/meta.discourse.org/marcospreviato/{size}/54766_2.png","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":135057,"username":"fokx","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/f/958977/{size}.png","trust_level":2},{"id":182632,"username":"dodger","name":"dodger","avatar_template":"/user_avatar/meta.discourse.org/dodger/{size}/522280_2.png","trust_level":1},{"id":182437,"username":"lion","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/l/57b2e6/{size}.png","trust_level":1},{"id":63814,"username":"ondrej","name":"","avatar_template":"/user_avatar/meta.discourse.org/ondrej/{size}/198804_2.png","trust_level":3},{"id":43913,"username":"ganncamp","name":"G  Ann Campbell","avatar_template":"/user_avatar/meta.discourse.org/ganncamp/{size}/106199_2.png","trust_level":2},{"id":4263,"username":"mcwumbly","name":"Dave McClure","avatar_template":"/user_avatar/meta.discourse.org/mcwumbly/{size}/103861_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"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://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":27495,"username":"thaidb","name":"thaidb","avatar_template":"/user_avatar/meta.discourse.org/thaidb/{size}/68488_2.png","trust_level":2},{"id":4457,"username":"Lee_Ars","name":"Lee_Ars","avatar_template":"/user_avatar/meta.discourse.org/lee_ars/{size}/1597_2.png","trust_level":2},{"id":10365,"username":"brahn","name":"Brahn","avatar_template":"/user_avatar/meta.discourse.org/brahn/{size}/109267_2.png","trust_level":2},{"id":141713,"username":"jayme","name":"Jayme ","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/j/b38774/{size}.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://d11a6trkgmumsb.cloudfront.net/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_group_id":148,"trust_level":4},{"id":12933,"username":"gdpelican","name":"James Kiesel","avatar_template":"/user_avatar/meta.discourse.org/gdpelican/{size}/81308_2.png","trust_level":2},{"id":66606,"username":"spirobel","name":"","avatar_template":"/user_avatar/meta.discourse.org/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.discourse.org/angus/{size}/341715_2.png","flair_name":"support-experts","flair_url":"https://d11a6trkgmumsb.cloudfront.net/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":185178,"username":"TimFelix","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/919ad9/{size}.png","trust_level":1},{"id":183536,"username":"DevTeVe","name":"DevTek Ve","avatar_template":"/user_avatar/meta.discourse.org/devteve/{size}/487601_2.png","trust_level":3},{"id":82960,"username":"manuel","name":"Manuel Kostka","avatar_template":"/user_avatar/meta.discourse.org/manuel/{size}/468169_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":149251,"username":"LosHunterros","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/l/c6cbf5/{size}.png","trust_level":1},{"id":185381,"username":"MikeP","name":"Michael Pearce","avatar_template":"/user_avatar/meta.discourse.org/mikep/{size}/530282_2.png","trust_level":1},{"id":143698,"username":"Shauny","name":"Shaun Robinson","avatar_template":"/user_avatar/meta.discourse.org/shauny/{size}/362012_2.png","trust_level":2},{"id":94563,"username":"shuaiZend","name":"Shuai Zend","avatar_template":"/user_avatar/meta.discourse.org/shuaizend/{size}/215714_2.png","trust_level":1},{"id":83631,"username":"Jagster","name":"Jakke Flemming","avatar_template":"/user_avatar/meta.discourse.org/jagster/{size}/192154_2.png","trust_level":2},{"id":16295,"username":"cogdog","name":"Alan Levine","avatar_template":"/user_avatar/meta.discourse.org/cogdog/{size}/116536_2.png","trust_level":2},{"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":171937,"username":"alltiagocom","name":"Tiago","avatar_template":"/user_avatar/meta.discourse.org/alltiagocom/{size}/492709_2.png","trust_level":2},{"id":184333,"username":"Jhustle","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/{size}.png","trust_level":0}],"primary_groups":[{"id":47,"name":"team"}],"flair_groups":[{"id":73,"name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111"},{"id":142,"name":"support-experts","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":47,"name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":148,"name":"support-advocates","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":48,"name":"plugin_authors","flair_url":"plug","flair_bg_color":"dddddd","flair_color":"111111"}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/wiki/177?page=1","per_page":30,"top_tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":297,"name":"китайский-перевод","slug":"chinese-translation"},{"id":66,"name":"wordpress","slug":"wordpress"},{"id":824,"name":"install","slug":"install"},{"id":199,"name":"видео","slug":"video"},{"id":482,"name":"ссылка","slug":"reference"},{"id":479,"name":"объяснение","slug":"explanation"},{"id":60,"name":"sso","slug":"sso"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"},{"id":24,"name":"docker","slug":"docker"},{"id":65,"name":"миграции","slug":"migrations"},{"id":39,"name":"email","slug":"email"},{"id":274,"name":"руководства-по-плагинам","slug":"plugin-guides"},{"id":803,"name":"activitypub","slug":"activitypub"},{"id":543,"name":"ии","slug":"ai"},{"id":55,"name":"резервные-копии","slug":"backups"},{"id":230,"name":"интеграция-чата","slug":"chat-integration"},{"id":330,"name":"rest-api","slug":"rest-api"},{"id":72,"name":"s3","slug":"s3"},{"id":814,"name":"customization","slug":"customization"},{"id":150,"name":"dev-install","slug":"dev-install"},{"id":263,"name":"discourseconnect","slug":"discourseconnect"},{"id":825,"name":"domains","slug":"domains"},{"id":817,"name":"tasks","slug":"tasks"},{"id":16,"name":"перевод","slug":"translation"},{"id":484,"name":"учебник","slug":"tutorial"},{"id":5,"name":"неподдерживаемая-установк","slug":"unsupported-install"},{"id":107,"name":"webhooks","slug":"webhooks"},{"id":46,"name":"cdn","slug":"cdn"},{"id":827,"name":"cloudflare","slug":"cloudflare"},{"id":813,"name":"content","slug":"content"}],"topics":[{"fancy_title":"Индекс администраторов","fancy_title_localized":true,"locale":"en","id":322712,"title":"Administrators Index","slug":"administrators-index","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2024-08-21T13:33:48.536Z","last_posted_at":"2024-08-21T13:33:48.621Z","bumped":true,"bumped_at":"2026-04-02T23:13:19.128Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Общие руководства\n\nВосстановление Lounge: Восстановление автоматической категории Lounge\nНастройка условий использования: Некоторые заметки о настройке стандартных условий использования\nНижний колонтитул уведомлений по электронной почте: Настройка нижнего колонтитула уведомлений по эл…","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":479,"like_count":8,"has_summary":false,"last_poster_username":"Discourse","category_id":178,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"General guides and translations for Discourse administrators, including customization, plugins, and integrations, with links to resources on topics such as gamification, webhooks, and Chinese language support.","is_nested_view":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":"Восстановление автоматической категории Lounge","fancy_title_localized":true,"locale":"en","id":397689,"title":"Re-creating the automatic Lounge category","slug":"re-creating-the-automatic-lounge-category","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2026-03-05T03:37:24.474Z","last_posted_at":"2026-03-05T05:57:33.937Z","bumped":true,"bumped_at":"2026-04-02T23:05:53.554Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: В этом руководстве описаны два способа воссоздания функциональности категории Lounge, которая ранее предоставлялась по умолчанию и до сих пор встречается в некоторых установках Discourse.\n:person_raising_hand: Требуемый уровень доступа пользователя: Администратор…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":105,"like_count":10,"has_summary":false,"last_poster_username":"ToddZ","category_id":178,"op_like_count":6,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A guide proposes two methods to recreate the Lounge category for Trust Level 3 users, with the author noting minor formatting habits regarding lowercase sub-headers.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":138497,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"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://d11a6trkgmumsb.cloudfront.net/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://d11a6trkgmumsb.cloudfront.net/original/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37.png"},{"max_width":800,"max_height":800,"width":800,"height":201,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_800x201.png"},{"max_width":600,"max_height":600,"width":600,"height":151,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_600x151.png"},{"max_width":400,"max_height":400,"width":400,"height":100,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_400x100.png"},{"max_width":300,"max_height":300,"width":300,"height":75,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_300x75.png"},{"max_width":200,"max_height":200,"width":200,"height":50,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_200x50.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":814,"name":"customization","slug":"customization"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":1376,"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.","is_nested_view":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":"Create a Network chart of your forum - data visualization","fancy_title_localized":false,"locale":"en","id":37426,"title":"Create a Network chart of your forum - data visualization","slug":"create-a-network-chart-of-your-forum-data-visualization","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/3/9/39b31332ba376814335437f8ca011aad6ecc4995.png","created_at":"2016-01-04T17:13:02.758Z","last_posted_at":"2026-03-26T19:49:25.668Z","bumped":true,"bumped_at":"2026-03-26T19:49:25.668Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Thanks to the Data Explorer Plugin and the query that @riking created, we have a great visualization of the interaction in our :discourse: instance. \n \nYou can also play with it. \nIt’s easy to do it: \n1 - Install Data Ex&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":661,"height":518,"url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/3/9/39b31332ba376814335437f8ca011aad6ecc4995.png"},{"max_width":600,"max_height":600,"width":600,"height":470,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/9/39b31332ba376814335437f8ca011aad6ecc4995_2_600x470.png"},{"max_width":400,"max_height":400,"width":400,"height":313,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/9/39b31332ba376814335437f8ca011aad6ecc4995_2_400x313.png"},{"max_width":300,"max_height":300,"width":300,"height":235,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/9/39b31332ba376814335437f8ca011aad6ecc4995_2_300x235.png"},{"max_width":200,"max_height":200,"width":200,"height":156,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/9/39b31332ba376814335437f8ca011aad6ecc4995_2_200x156.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":821,"name":"reporting","slug":"reporting"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":6693,"like_count":27,"has_summary":false,"last_poster_username":"merefield","category_id":178,"op_like_count":19,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares a method to visualize forum interactions using the Data Explorer plugin and Google Fusion Tables, while another participant references a related community network visualization discussion.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":7229,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":8571,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":6626,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":21555,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка Discourse MCP в OpenCode CLI","fancy_title_localized":true,"locale":"en","id":398378,"title":"Discourse MCP Setup in OpenCode CLI","slug":"discourse-mcp-setup-in-opencode-cli","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-03-13T14:33:29.472Z","last_posted_at":"2026-03-13T14:33:29.548Z","bumped":true,"bumped_at":"2026-03-13T16:09:31.736Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Это руководство содержит проверенные инструкции по установке Discourse MCP в OpenCode CLI. Если вы используете другой клиент MCP, я также написал руководства для Codex CLI.\n\nИСПОЛЬЗУЙТЕ СВОЙ LLM! LLM отлично справляются с выполнением инструкций...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":543,"name":"ии","slug":"ai"},{"id":1087,"name":"mcp","slug":"mcp"},{"id":968,"name":"user-api","slug":"user-api"}],"tags_descriptions":{},"views":337,"like_count":3,"has_summary":false,"last_poster_username":"pacharanero","category_id":181,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user provides tested instructions for installing the Discourse MCP into OpenCode CLI, detailing prerequisites, the three-component architecture, API key generation, configuration file setup, and support for multiple forum instances.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":13093,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Migrate a NodeBB forum with MongoDB to Discourse","fancy_title_localized":false,"locale":"en","id":126553,"title":"Migrate a NodeBB forum with MongoDB to Discourse","slug":"migrate-a-nodebb-forum-with-mongodb-to-discourse","posts_count":19,"reply_count":11,"highest_post_number":23,"image_url":null,"created_at":"2019-08-22T17:33:06.337Z","last_posted_at":"2026-03-08T14:39:08.041Z","bumped":true,"bumped_at":"2026-03-08T14:39:08.041Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"As you properly know, NodeBB supports two DB backends, Redis and MongoDB. Discourse importer script supports them both. In this tutorial, we will learn how to migrate NodeBB with MongoDB as DB backend. We will be using N&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":5827,"like_count":29,"has_summary":false,"last_poster_username":"Twissell","category_id":180,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user resolved a NodeBB to Discourse migration error by modifying the import script to handle missing posts and sort data chronologically, with community members suggesting added logging for better debugging.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":24426,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":60917,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":84520,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Последний автор","user_id":145010,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка Discourse MCP в OpenAI Codex CLI","fancy_title_localized":true,"locale":"en","id":397662,"title":"Discourse MCP Setup in OpenAI Codex CLI","slug":"discourse-mcp-setup-in-openai-codex-cli","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-03-04T21:49:40.243Z","last_posted_at":"2026-03-04T21:49:40.379Z","bumped":true,"bumped_at":"2026-03-04T21:49:40.379Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я экспериментировал с Discourse MCP, но обнаружил, что существующая документация в Meta по его использованию не содержит ничего для Codex CLI, и было немного запутанно разобраться, какие части документации...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":543,"name":"ии","slug":"ai"},{"id":1087,"name":"mcp","slug":"mcp"},{"id":968,"name":"user-api","slug":"user-api"}],"tags_descriptions":{},"views":233,"like_count":4,"has_summary":false,"last_poster_username":"pacharanero","category_id":181,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shared a tested guide for integrating Discourse MCP with Codex CLI, detailing configuration steps and enabling write features, while another contributor provided an alternative configuration example for the Antigravity tool.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":13093,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка AWS SES для исходящей, bounce и входящей почты","fancy_title_localized":true,"locale":"en","id":263604,"title":"Configuring AWS SES for outgoing, bounce, and incoming email","slug":"configuring-aws-ses-for-outgoing-bounce-and-incoming-email","posts_count":13,"reply_count":3,"highest_post_number":13,"image_url":null,"created_at":"2023-05-02T22:18:25.324Z","last_posted_at":"2026-02-26T03:11:21.833Z","bumped":true,"bumped_at":"2026-02-26T03:11:21.833Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я решил поделиться конфигурацией, которую я разработал для использования AWS SES для исходящей, отклонённой и входящей почты. В сервисе SES есть свои тонкости, и потребовалось немало проб и ошибок, чтобы понять, как он работает...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":39,"name":"email","slug":"email"},{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":2843,"like_count":13,"has_summary":false,"last_poster_username":"jesse_c","category_id":180,"op_like_count":9,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users successfully implemented AWS SES for Discourse using Lambda, with one confirming compatibility with Python 3.14 and sharing updated layer build commands for deployment.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":129914,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":12454,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":89208,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":37716,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":189531,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка тем без кнопки «Редактировать код»","fancy_title_localized":true,"locale":"en","id":329601,"title":"Customizing themes without an Edit code button","slug":"customizing-themes-without-an-edit-code-button","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/3/0/a/30a3bdd097573a7aea636864b876b095d364cc27.png","created_at":"2024-10-06T23:23:48.112Z","last_posted_at":"2026-02-25T10:48:12.767Z","bumped":true,"bumped_at":"2026-02-25T10:48:12.767Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Иногда вы можете захотеть настроить тему Discourse, но обнаружите, что нет раздела «Пользовательский код» с кнопкой «Редактировать код». Это часто случается с удалёнными темами (темами, установленными из внешнего источника)…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":741,"height":744,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/3/0/a/30a3bdd097573a7aea636864b876b095d364cc27.png"},{"max_width":600,"max_height":600,"width":597,"height":600,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/0/a/30a3bdd097573a7aea636864b876b095d364cc27_2_597x600.png"},{"max_width":400,"max_height":400,"width":398,"height":400,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/0/a/30a3bdd097573a7aea636864b876b095d364cc27_2_398x400.png"},{"max_width":300,"max_height":300,"width":298,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/0/a/30a3bdd097573a7aea636864b876b095d364cc27_2_298x300.png"},{"max_width":200,"max_height":200,"width":199,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/0/a/30a3bdd097573a7aea636864b876b095d364cc27_2_199x200.png"}],"tags":[{"id":814,"name":"customization","slug":"customization"}],"tags_descriptions":{},"views":358,"like_count":15,"has_summary":false,"last_poster_username":"stephtara","category_id":178,"op_like_count":15,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The discussion explains how to customize Discourse themes without an Edit code button by using custom components, and addresses a follow-up question about adding footer content to specific pages or categories using this method.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":181081,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Move from standalone container to separate web and data containers","fancy_title_localized":false,"locale":"en","id":29413,"title":"Move from standalone container to separate web and data containers","slug":"move-from-standalone-container-to-separate-web-and-data-containers","posts_count":139,"reply_count":116,"highest_post_number":148,"image_url":null,"created_at":"2015-05-29T14:12:22.726Z","last_posted_at":"2026-02-24T00:32:38.549Z","bumped":true,"bumped_at":"2026-02-24T00:32:38.549Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: This is an advanced setup. Don’t follow this unless you are experienced with Linux server administration and Docker. You also need to pay close attention to commits to discourse_docker to make sure you notice &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":24,"name":"docker","slug":"docker"},{"id":492,"name":"два-контейнера","slug":"two-container"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":25669,"like_count":254,"has_summary":true,"last_poster_username":"Canapin","category_id":180,"op_like_count":43,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The discussion centers on the removal of the --two-container option from the discourse-install script, sparking debate over reduced convenience for advanced users, concerns about support burden, and perceived unequal treatment between paid and self-hosting users, while acknowledging that two-container setups remain technically supported.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":15019,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":75906,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":35474,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Конфигурация развертывания дискурса с мнением от MKJ","fancy_title_localized":true,"locale":"en","id":193355,"title":"MKJ's Opinionated Discourse Deployment Configuration","slug":"mkjs-opinionated-discourse-deployment-configuration","posts_count":40,"reply_count":28,"highest_post_number":40,"image_url":null,"created_at":"2021-06-09T23:34:00.917Z","last_posted_at":"2026-02-16T19:56:58.881Z","bumped":true,"bumped_at":"2026-02-16T19:56:58.881Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я уже несколько лет управляю форумом Discourse с большим количеством контента и множеством изображений. Maker Forums содержит более 100 ГБ изображений и более 400 000 сообщений, значительная часть из которых была импортирована&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":479,"name":"объяснение","slug":"explanation"},{"id":824,"name":"install","slug":"install"}],"tags_descriptions":{},"views":6968,"like_count":108,"has_summary":false,"last_poster_username":"mcdanlj","category_id":180,"op_like_count":54,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users are troubleshooting Transparent Huge Pages (THP) configuration on Linux systems for Discourse, confirming that sysctl settings may not persist without proper priority or overrides, despite no apparent conflicting files.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":2377,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":7720,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":63143,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":13375,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Customize direct-delivery Postfix configuration","fancy_title_localized":false,"locale":"en","id":118759,"title":"Customize direct-delivery Postfix configuration","slug":"customize-direct-delivery-postfix-configuration","posts_count":20,"reply_count":8,"highest_post_number":20,"image_url":null,"created_at":"2019-05-27T04:32:28.414Z","last_posted_at":"2026-02-14T23:28:15.998Z","bumped":true,"bumped_at":"2026-02-14T23:28:15.998Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"If you have a mail receiver container which requires customised Postfix configuration, this is the topic for you.  Herein are described the steps required to set Postfix main.cf configuration variables to whatever your h&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":4985,"like_count":20,"has_summary":false,"last_poster_username":"gwmngilfen","category_id":180,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user asks if the mail-receiver container can support multiple domains for incoming mail and Let's Encrypt certificates, seeking clarification on configuration flexibility beyond the default setup.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":16697,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":108275,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":109684,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Последний автор","user_id":32726,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Установка Discourse на домашнем интернете с помощью Cloudflare Tunnel","fancy_title_localized":true,"locale":"en","id":211297,"title":"Install Discourse on a residential internet with Cloudflare Tunnel","slug":"install-discourse-on-a-residential-internet-with-cloudflare-tunnel","posts_count":69,"reply_count":43,"highest_post_number":72,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_1024x512.png","created_at":"2021-12-07T14:02:07.164Z","last_posted_at":"2026-02-06T15:27:59.821Z","bumped":true,"bumped_at":"2026-02-06T15:27:59.821Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Поскольку теперь Discourse поддерживает работу на Raspberry Pi, запуск небольшого экземпляра в домашней лаборатории станет распространенным сценарием. Однако многие бытовые провайдеры блокируют входящий трафик на порты 80/443, что &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1200,"height":600,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":512,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_1024x512.png"},{"max_width":800,"max_height":800,"width":800,"height":400,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_800x400.png"},{"max_width":600,"max_height":600,"width":600,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_600x300.png"},{"max_width":400,"max_height":400,"width":400,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_400x200.png"},{"max_width":300,"max_height":300,"width":300,"height":150,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_300x150.png"},{"max_width":200,"max_height":200,"width":200,"height":100,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/b/3/f/b3f0eb49548dfd0986084517deeb172c3dbecd40_2_200x100.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":824,"name":"install","slug":"install"},{"id":318,"name":"рука","slug":"arm"},{"id":739,"name":"raspberry-pi","slug":"raspberry-pi"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":8511,"like_count":163,"has_summary":true,"last_poster_username":"Falco","category_id":180,"op_like_count":38,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The discussion addresses setting up Discourse on a Raspberry Pi using Cloudflare Tunnel to bypass ISP port restrictions, with a focus on resolving 443 errors by disabling email setup via DISCOURSE_SKIP_EMAIL_SETUP if not needed.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":109156,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":16290,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":117867,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":129813,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Add an offline page to display when Discourse is rebuilding or starting up","fancy_title_localized":false,"locale":"en","id":45238,"title":"Add an offline page to display when Discourse is rebuilding or starting up","slug":"add-an-offline-page-to-display-when-discourse-is-rebuilding-or-starting-up","posts_count":143,"reply_count":119,"highest_post_number":163,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75.png","created_at":"2016-06-04T08:41:48.125Z","last_posted_at":"2026-02-03T11:01:35.205Z","bumped":true,"bumped_at":"2026-02-03T11:01:35.205Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: This guide is intended for advanced users, who are already using nginx outside the docker container. By following this guide you make your setup more complicated and will lose some speed benefits like HTTP2 if&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":317,"height":328,"url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75.png"},{"max_width":300,"max_height":300,"width":289,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75_2_289x300.png"},{"max_width":200,"max_height":200,"width":193,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/9/0/9065d42ce76d3b600e84f1c694f932a9a1938b75_2_193x200.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"},{"id":271,"name":"настройка","slug":"configuring"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":244521,"like_count":340,"has_summary":true,"last_poster_username":"merefield","category_id":180,"op_like_count":100,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss alternative, simpler methods to handle offline pages during Discourse rebuilds, such as using plugins or container bootstrapping to reduce downtime and complexity.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":15568,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":24453,"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":17621,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Последний автор","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка боковой панели по умолчанию для ваших пользователей","fancy_title_localized":true,"locale":"en","id":347764,"title":"Configuring the default sidebar for your users","slug":"configuring-the-default-sidebar-for-your-users","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/7/f/4/7f4ed72896403abf8b7670f46a655ea316b0e802.png","created_at":"2025-01-17T23:01:22.584Z","last_posted_at":"2025-01-18T01:59:06.495Z","bumped":true,"bumped_at":"2026-01-29T14:47:30.573Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Боковая панель обеспечивает быстрый доступ к важным разделам вашего сайта Discourse. Хотя пользователи могут настроить свою собственную боковую панель в соответствии со своими предпочтениями, продуманная настройка по умолчанию особенно помогает новым пользователям и в&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":266,"height":445,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/7/f/4/7f4ed72896403abf8b7670f46a655ea316b0e802.png"},{"max_width":400,"max_height":400,"width":239,"height":400,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/7/f/4/7f4ed72896403abf8b7670f46a655ea316b0e802_2_239x400.png"},{"max_width":300,"max_height":300,"width":179,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/7/f/4/7f4ed72896403abf8b7670f46a655ea316b0e802_2_179x300.png"},{"max_width":200,"max_height":200,"width":119,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/7/f/4/7f4ed72896403abf8b7670f46a655ea316b0e802_2_119x200.png"}],"tags":[{"id":483,"name":"боковая-панель","slug":"sidebar"}],"tags_descriptions":{},"views":583,"like_count":16,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":178,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"NateDhaliwal expresses appreciation for the new documentation on admin sidebar customization, noting it addresses long-sought guidance for managing default sidebar configurations for users.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Настройка Amazon S3 от AWS для хранения и Cloudfront для CDN","fancy_title_localized":true,"locale":"en","id":392369,"title":"Configuring AWS's Amazon S3 for storage and Cloudfront for CDNs","slug":"configuring-awss-amazon-s3-for-storage-and-cloudfront-for-cdns","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-12-30T03:58:29.998Z","last_posted_at":"2026-01-13T17:22:50.447Z","bumped":true,"bumped_at":"2026-01-13T17:56:03.694Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Начало работы\nВам потребуется:\n\nЭкземпляр Discourse с доступом к app.yml\nАккаунт AWS\n\nСтратегия именования\nЕсть множество мест, где можно допустить ошибки. Используйте стратегию соглашений об именовании, которая имеет смысл для вас и, возможно, для других&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":72,"name":"s3","slug":"s3"},{"id":46,"name":"cdn","slug":"cdn"}],"tags_descriptions":{},"views":148,"like_count":1,"has_summary":false,"last_poster_username":"philh","category_id":180,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Philh revised the CloudFront setup by using a custom origin with subdomain.yourdomain.tld instead of a temporary S3 bucket, simplifying distribution configuration while maintaining caching and security settings.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":15291,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Setup a ToolTip in your Forum","fancy_title_localized":false,"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://d11a6trkgmumsb.cloudfront.net/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://d11a6trkgmumsb.cloudfront.net/original/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01.png"},{"max_width":400,"max_height":400,"width":360,"height":400,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_360x400.png"},{"max_width":300,"max_height":300,"width":270,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_270x300.png"},{"max_width":200,"max_height":200,"width":180,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_180x200.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":3168,"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.","is_nested_view":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 без Docker","fancy_title_localized":true,"locale":"en","id":351194,"title":"Deploy Discourse without Docker","slug":"deploy-discourse-without-docker","posts_count":34,"reply_count":19,"highest_post_number":36,"image_url":null,"created_at":"2025-02-08T03:56:12.775Z","last_posted_at":"2026-01-08T17:05:01.166Z","bumped":true,"bumped_at":"2026-01-08T17:05:01.166Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Хотя развертывание Discourse по официальной инструкции установки более удобно и безопасно, я хочу углубиться в работу контейнера и узнать, как его можно развернуть в Linux без Docker. Я хочу поделиться пошаго&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":5,"name":"неподдерживаемая-установк","slug":"unsupported-install"},{"id":481,"name":"расширенная-настройка","slug":"advanced-setup"}],"tags_descriptions":{},"views":1454,"like_count":17,"has_summary":false,"last_poster_username":"lion","category_id":180,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares a detailed guide on deploying Discourse on Linux without Docker, including system setup, dependencies, configuration, and a script for installation, emphasizing manual steps and potential risks.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":135057,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":182632,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":182437,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Как написать эффективный запрос на новую функцию: пошаговое руководство","fancy_title_localized":true,"locale":"en","id":327385,"title":"Writing an effective feature request, a step by step guide","slug":"writing-an-effective-feature-request-a-step-by-step-guide","posts_count":4,"reply_count":2,"highest_post_number":6,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/8/9/8/898f1e84b2954e2445a84e543c97c9737351ac2e.png","created_at":"2024-09-20T08:52:16.199Z","last_posted_at":"2024-10-01T19:12:29.950Z","bumped":true,"bumped_at":"2026-01-05T10:06:08.645Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Резюме\nДанный раздел документации посвящён написанию запроса на новую функцию в Discourse: пошаговое руководство.\nШаг 1: Перед началом\nИтак, у вас есть отличная идея для новой функции в Discourse? Это замечательно! Вот как вы можете поделиться &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":775,"height":163,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/8/9/8/898f1e84b2954e2445a84e543c97c9737351ac2e.png"},{"max_width":600,"max_height":600,"width":600,"height":126,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/8/9/8/898f1e84b2954e2445a84e543c97c9737351ac2e_2_600x126.png"},{"max_width":400,"max_height":400,"width":400,"height":84,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/8/9/8/898f1e84b2954e2445a84e543c97c9737351ac2e_2_400x84.png"},{"max_width":300,"max_height":300,"width":300,"height":63,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/8/9/8/898f1e84b2954e2445a84e543c97c9737351ac2e_2_300x63.png"},{"max_width":200,"max_height":200,"width":200,"height":42,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/8/9/8/898f1e84b2954e2445a84e543c97c9737351ac2e_2_200x42.png"}],"tags":[],"tags_descriptions":{},"views":630,"like_count":28,"has_summary":false,"last_poster_username":"mcwumbly","category_id":181,"op_like_count":17,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Writing effective feature requests involves searching existing discussions, creating informative titles, and tagging topics to help the Discourse team identify areas for improvement.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":63814,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":43913,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":4263,"primary_group_id":47,"flair_group_id":47}]},{"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":"2025-12-26T12:19:50.196Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Обычно, создавая компонент темы, я вынужден искать импорты для разных вещей, поэтому я решил собрать их все и разместить здесь.\n\nСвязанные с Ember\n\nИмя | Импорт | Использование\n--- | --- | ---\nComponent | import ... | ...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":161,"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.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Последний автор","user_id":113000,"primary_group_id":null,"flair_group_id":47}]},{"fancy_title":"Запуск Discourse и WordPress (Docker) на одном VPS с использованием Nginx в качестве обратного прокси","fancy_title_localized":true,"locale":"en","id":392094,"title":"Running Discourse with WordPress (Docker) on a single VPS using Nginx Reverse Proxy","slug":"running-discourse-with-wordpress-docker-on-a-single-vps-using-nginx-reverse-proxy","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-12-24T16:14:24.554Z","last_posted_at":"2025-12-24T16:14:24.630Z","bumped":true,"bumped_at":"2025-12-24T16:14:24.630Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Введение\n\nПо умолчанию установка Discourse «в автономном режиме» привязывается к портам 80 и 443. Чтобы разместить на том же сервере другое приложение, например WordPress, необходимо перенастроить Discourse так, чтобы он прослушивал внутренний порт и ис…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":66,"name":"wordpress","slug":"wordpress"}],"tags_descriptions":{},"views":90,"like_count":2,"has_summary":false,"last_poster_username":"thaidb","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse must be reconfigured to use internal ports with Nginx reverse proxy to coexist with WordPress on a single VPS, enabling shared SSL and centralized traffic management.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":27495,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Некоторые уроки работы с wp-discourse и Cloudflare","fancy_title_localized":true,"locale":"en","id":391942,"title":"Some wp-discourse + cloudflare lessons learned","slug":"some-wp-discourse-cloudflare-lessons-learned","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_1024x567.png","created_at":"2025-12-22T18:06:12.689Z","last_posted_at":"2025-12-22T18:06:12.802Z","bumped":true,"bumped_at":"2025-12-22T18:06:12.802Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Несколько уроков, связанных с настройкой, которые я усвоил за последние месяцы при работе с Discourse, wp-discourse и Cloudflare. Делюсь этим на случай, если кому-то это окажется полезным. \nСреда: \n\nDiscourse и WordPress размещены на sepa&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":2190,"height":1214,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":567,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_1024x567.png"},{"max_width":800,"max_height":800,"width":800,"height":443,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_800x443.png"},{"max_width":600,"max_height":600,"width":600,"height":332,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_600x332.png"},{"max_width":400,"max_height":400,"width":400,"height":221,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_400x221.png"},{"max_width":300,"max_height":300,"width":300,"height":166,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_300x166.png"},{"max_width":200,"max_height":200,"width":200,"height":110,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/d/2/0d2c8d563a23447e3f6175e1073d52f614b627eb_2_200x110.png"}],"tags":[{"id":252,"name":"wp-discourse","slug":"wp-discourse"}],"tags_descriptions":{},"views":89,"like_count":2,"has_summary":false,"last_poster_username":"Lee_Ars","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares lessons learned from integrating Discourse with WordPress using wp-discourse, Cloudflare, and AWS, focusing on solving API rate-limiting issues via VPC host file adjustments and resolving comment display race conditions with a custom mu-plugin and cache-clearing strategy.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":4457,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Set up Let’s Encrypt with multiple domains / redirects","fancy_title_localized":false,"locale":"en","id":56685,"title":"Set up Let’s Encrypt with multiple domains / redirects","slug":"set-up-let-s-encrypt-with-multiple-domains-redirects","posts_count":113,"reply_count":142,"highest_post_number":188,"image_url":null,"created_at":"2017-02-01T02:21:03.592Z","last_posted_at":"2025-12-16T02:52:10.263Z","bumped":true,"bumped_at":"2025-12-16T02:52:10.263Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"NOTE: @pfaffman says: This page needs to be cleaned up. There is now a new ENV setting that will let you add more hostnames. In your app.yml under your DISCOURSE_HOSTNAME line (it can go many places but that one makes se&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":709,"name":"letsencrypt","slug":"letsencrypt"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":19778,"like_count":214,"has_summary":true,"last_poster_username":"philh","category_id":180,"op_like_count":48,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss using DISCOURSE_HOSTNAME_ALIASES in app.yml to add multiple domains for Let's Encrypt certificates, confirming it resolves redirect and certificate errors, with clarification on correct usage and issues related to AWS CDN and rate limiting.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":10365,"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":141713,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":57788,"primary_group_id":null,"flair_group_id":148},{"extras":"latest","description":"Последний автор","user_id":15291,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Override existing Discourse methods in plugins","fancy_title_localized":false,"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":4852,"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.","is_nested_view":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":66606,"primary_group_id":null,"flair_group_id":48},{"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":"latest","description":"Последний автор","user_id":185178,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse AI: руководство по интеграции бота Discord","fancy_title_localized":true,"locale":"en","id":390391,"title":"Discourse AI: Discord Bot Integration Guide","slug":"discourse-ai-discord-bot-integration-guide","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_1024x472.png","created_at":"2025-12-04T10:07:23.079Z","last_posted_at":"2025-12-04T10:07:23.174Z","bumped":true,"bumped_at":"2025-12-04T10:28:33.211Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Отказ от ответственности: \nЯ не являюсь создателем интеграции и не могу оказывать поддержку по ней, кроме как в рамках дружеской помощи сообщества на добровольной основе. Я просто ещё один пользователь, который хотел настроить это на своём сайте и не нашёл чёткого способа&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":3452,"height":1594,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":472,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_1024x472.png"},{"max_width":800,"max_height":800,"width":800,"height":369,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_800x369.png"},{"max_width":600,"max_height":600,"width":600,"height":277,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_600x277.png"},{"max_width":400,"max_height":400,"width":400,"height":184,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_400x184.png"},{"max_width":300,"max_height":300,"width":300,"height":138,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_300x138.png"},{"max_width":200,"max_height":200,"width":200,"height":92,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/8/1/481cdd154f62f2998b6f48618d71c6e0d1b1d002_2_200x92.png"}],"tags":[],"tags_descriptions":{},"views":737,"like_count":2,"has_summary":false,"last_poster_username":"DevTeVe","category_id":180,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse AI integrates with Discord via webhooks and progressive edits to simulate live streaming responses without hosting a separate bot, using slash commands registered manually via API.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":183536,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Настройка тестового сервера","fancy_title_localized":true,"locale":"en","id":225951,"title":"Set up a staging server","slug":"set-up-a-staging-server","posts_count":33,"reply_count":32,"highest_post_number":35,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c.png","created_at":"2022-05-03T05:24:53.285Z","last_posted_at":"2024-11-30T11:12:02.918Z","bumped":true,"bumped_at":"2025-12-01T19:58:33.852Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Существует несколько приёмов, которые могут помочь при настройке тестового сервера. \nЧто такое тестовый сервер?\nТестовый сервер — это, по сути, копия рабочего сайта. Он также размещается на сервере и функционирует идентично&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":852,"height":556,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c.png"},{"max_width":800,"max_height":800,"width":800,"height":522,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_800x522.png"},{"max_width":600,"max_height":600,"width":600,"height":391,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_600x391.png"},{"max_width":400,"max_height":400,"width":400,"height":261,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_400x261.png"},{"max_width":300,"max_height":300,"width":300,"height":195,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_300x195.png"},{"max_width":200,"max_height":200,"width":200,"height":130,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c_2_200x130.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":6044,"like_count":98,"has_summary":false,"last_poster_username":"manuel","category_id":180,"op_like_count":32,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users encounter issues while seeding test data on a staging server, with errors related to environment restrictions, and seek solutions to resolve database command limitations in a multisite setup.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":57788,"primary_group_id":null,"flair_group_id":148},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":12454,"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":82960,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Настройка единого входа (SSO) с WP Discourse и DiscourseConnect","fancy_title_localized":true,"locale":"en","id":223494,"title":"Configure single sign-on (SSO) with WP Discourse and DiscourseConnect","slug":"configure-single-sign-on-sso-with-wp-discourse-and-discourseconnect","posts_count":20,"reply_count":17,"highest_post_number":22,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/8/2/82659d0e798ad365af992d79e897a33aa8a5eda0.png","created_at":"2022-04-06T13:15:15.387Z","last_posted_at":"2025-11-24T11:46:16.942Z","bumped":true,"bumped_at":"2025-11-24T11:46:16.942Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Плагин WP Discourse позволяет настроить DiscourseConnect в WordPress, чтобы ваши пользователи могли использовать свою учетную запись WordPress для входа в Discourse или свою учетную запись Discourse для входа в WordPress. Прежде чем вы сможете настроить Discourse&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":705,"height":138,"url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/8/2/82659d0e798ad365af992d79e897a33aa8a5eda0.png"},{"max_width":600,"max_height":600,"width":600,"height":117,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/8/2/82659d0e798ad365af992d79e897a33aa8a5eda0_2_600x117.png"},{"max_width":400,"max_height":400,"width":400,"height":78,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/8/2/82659d0e798ad365af992d79e897a33aa8a5eda0_2_400x78.png"},{"max_width":300,"max_height":300,"width":300,"height":58,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/8/2/82659d0e798ad365af992d79e897a33aa8a5eda0_2_300x58.png"},{"max_width":200,"max_height":200,"width":200,"height":39,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/8/2/82659d0e798ad365af992d79e897a33aa8a5eda0_2_200x39.png"}],"tags":[{"id":478,"name":"как-сделать","slug":"how-to"},{"id":66,"name":"wordpress","slug":"wordpress"},{"id":263,"name":"discourseconnect","slug":"discourseconnect"},{"id":60,"name":"sso","slug":"sso"},{"id":199,"name":"видео","slug":"video"}],"tags_descriptions":{"как-сделать":"Руководства содержат шаги для решения конкретной проблемы"},"views":5962,"like_count":21,"has_summary":false,"last_poster_username":"angus","category_id":178,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users are troubleshooting SSO setup issues between WordPress and Discourse, including redirect problems and handling anonymized users that auto-recreate accounts, with recommendations to ban recreated accounts or adjust WordPress roles.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":149251,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":185381,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":143698,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Блок комментариев WP Discourse","fancy_title_localized":true,"locale":"en","id":249790,"title":"WP Discourse Comments Block","slug":"wp-discourse-comments-block","posts_count":17,"reply_count":10,"highest_post_number":17,"image_url":null,"created_at":"2022-12-24T07:43:20.433Z","last_posted_at":"2025-11-13T19:03:41.941Z","bumped":true,"bumped_at":"2025-11-13T19:03:41.941Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Начиная с версии 2.4.7, плагин WP Discourse включает блок «Комментарии Discourse» для редактора блоков. Блок «Комментарии Discourse» является основным способом добавления комментариев Discourse в темы с поддержкой блоков, такие как Twenty Twenty One и др.","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":66,"name":"wordpress","slug":"wordpress"},{"id":199,"name":"видео","slug":"video"}],"tags_descriptions":{},"views":1010,"like_count":12,"has_summary":false,"last_poster_username":"cogdog","category_id":178,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user expresses surprise at discovering the Discourse Comments block feature in the WP Discourse Plugin, which was previously overlooked despite its inclusion in version 2.4.7 for use in block-enabled themes.","is_nested_view":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":94563,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":83631,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":16295,"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), с&hellip;","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":86,"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.","is_nested_view":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":"Используйте rclone для синхронизации с Dropbox (2025)","fancy_title_localized":true,"locale":"en","id":378430,"title":"Use rclone to sync to Dropbox (2025)","slug":"use-rclone-to-sync-to-dropbox-2025","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2025-08-13T13:29:00.757Z","last_posted_at":"2025-11-11T00:00:27.259Z","bumped":true,"bumped_at":"2025-11-11T00:00:27.259Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Администраторы и модераторы: пожалуйста, при необходимости переместите эту тему в другое место или отредактируйте её.\n\nНиже приведены подробные пошаговые инструкции о том, как я установил rclone и настроил всё для резервного копирования моего Discourse в Drop...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":55,"name":"резервные-копии","slug":"backups"}],"tags_descriptions":{},"views":775,"like_count":5,"has_summary":false,"last_poster_username":"alltiagocom","category_id":180,"op_like_count":5,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The user provides a detailed guide on installing rclone and configuring it to back up Discourse to Dropbox, including steps for authentication and setup, while emphasizing the importance of multiple backups for safety.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":171937,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":184333,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":35474,"primary_group_id":null,"flair_group_id":null}]}]}}